
    V|h[]                    3  S SK r S SKrS SKrSSKJrJrJrJrJr  1 Skr	Sq
 " S S\5      r " S S	\S
9r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S \5      r " S! S"\5      r " S# S$\5      r " S% S&\5      r " S' S(\5      r " S) S*\5      r " S+ S,\5      r " S- S.\5      r " S/ S0\5      r  " S1 S2\5      r! " S3 S4\!5      r" " S5 S6\5      r# " S7 S8\!5      r$ " S9 S:\5      r% " S; S<\5      r& " S= S>\5      r' " S? S@\'5      r( " SA SB\5      r) " SC SD\)5      r* " SE SF\)5      r+ " SG SH\5      r, " SI SJ\,5      r- " SK SL\,5      r. " SM SN\5      r/ " SO SP\5      r0 " SQ SR\5      r1 " SS ST\5      r2 " SU SV\25      r3 " SW SX\35      r4 " SY SZ\5      r5 " S[ S\\5      r6 " S] S^\65      r7 " S_ S`\65      r8 " Sa Sb\65      r9 " Sc Sd\65      r: " Se Sf\5      r; " Sg Sh\5      r< " Si Sj\5      r= " Sk Sl\5      r> " Sm Sn\5      r? " So Sp\5      r@ " Sq Sr\@5      rA " Ss St\@5      rB " Su Sv\5      rC " Sw Sx\5      rD " Sy Sz\D5      rE " S{ S|\D5      rF " S} S~\5      rG " S S\5      rH " S S\5      rI " S S\I5      rJ " S S\5      rK " S S\K5      rL " S S\L5      rM " S S\5      rN " S S\5      rO " S S\5      rP " S S\P5      rQ " S S\P5      rR " S S\P5      rS " S S\5      rT " S S\5      rU " S S\5      rV " S S\5      rW " S S\5      rX " S S\5      rY " S S\L5      rZ " S S\5      r[ " S S\[5      r\ " S S\[5      r] " S S\[5      r^ " S S\5      r_ " S S\5      r` " S S\5      ra " S S\5      rb " S S\5      rc " S S\5      rd " S S\5      re " S S\5      rf " S S\5      rg " S S\5      rh " S S\5      ri " S S\5      rj " S S\j5      rk " S S\5      rl " S S\j5      rm " S S\j5      rn " S S\5      ro " S S\o5      rp " S S\o5      rq " S S\5      rr " S S\5      rs " S S\5      rt " S S\5      ru " S S\5      rv " S S\5      rw " S S\w5      rx " S S\w5      ry " S S\5      rz " S S\5      r{ " S S\5      r| " S S\|5      r} " S S\|5      r~ " S S\~5      r " S S\}5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S GS \5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS	 GS
\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS \5      r " GS! GS"\5      r " GS# GS$\5      r " GS% GS&\5      r " GS' GS(\5      r " GS) GS*\5      r " GS+ GS,\5      r " GS- GS.\5      r " GS/ GS0\5      r " GS1 GS2\5      r " GS3 GS4\5      r " GS5 GS6\5      r " GS7 GS8\5      r " GS9 GS:\5      r " GS; GS<\5      r " GS= GS>\5      r " GS? GS@\5      r " GSA GSB\5      r " GSC GSD\5      r " GSE GSF\5      r " GSG GSH\5      r " GSI GSJ\5      r " GSK GSL\5      r " GSM GSN\5      r " GSO GSP\5      r " GSQ GSR\5      r " GSS GST\5      r " GSU GSV\5      r " GSW GSX\5      r " GSY GSZ\5      r " GS[ GS\\5      r " GS] GS^\5      r " GS_ GS`\5      r " GSa GSb\5      r " GSc GSd\5      r " GSe GSf\5      r " GSg GSh\5      r " GSi GSj\5      r " GSk GSl\5      r " GSm GSn\5      r " GSo GSp\5      r " GSq GSr\5      r " GSs GSt\5      r " GSu GSv\5      r " GSw GSx\5      r " GSy GSz\5      r " GS{ GS|\5      r " GS} GS~\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\'5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\25      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\25      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      r " GS GS\5      Gr  " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS G\5      Gr " GS GSG\5      Gr	 " GS GSG\5      Gr
 " GS GSG\
5      Gr " GS GSG\5      Gr " GS	 GS
G\5      Gr " GS GSG\
5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS \5      Gr " GS! GS"\5      Gr " GS# GS$\5      Gr " GS% GS&\5      Gr " GS' GS(\5      Gr " GS) GS*\5      Gr " GS+ GS,\5      Gr " GS- GS.\5      Gr " GS/ GS0\5      Gr  " GS1 GS2\5      Gr! " GS3 GS4\5      Gr" " GS5 GS6\5      Gr# " GS7 GS8\5      Gr$ " GS9 GS:\5      Gr% " GS; GS<\5      Gr& " GS= GS>\5      Gr' " GS? GS@\5      Gr( " GSA GSB\5      Gr) " GSC GSD\5      Gr* " GSE GSF\5      Gr+ " GSG GSH\5      Gr, " GSI GSJ\5      Gr- " GSK GSL\5      Gr. " GSM GSN\5      Gr/ " GSO GSP\5      Gr0 " GSQ GSR\5      Gr1 " GSS GST\5      Gr2 " GSU GSV\5      Gr3 " GSW GSX\5      Gr4 " GSY GSZ\5      Gr5 " GS[ GS\\5      Gr6 " GS] GS^\5      Gr7 " GS_ GS`G\75      Gr8 " GSa GSb\5      Gr9 " GSc GSd\5      Gr: " GSe GSf\5      Gr; " GSg GSh\5      Gr< " GSi GSj\5      Gr= " GSk GSlG\=5      Gr> " GSm GSn\5      Gr? " GSo GSp\5      Gr@ " GSq GSrG\@5      GrA " GSs GStG\@5      GrB " GSu GSv\5      GrC " GSw GSxG\C5      GrD " GSy GSzG\C5      GrE " GS{ GS|\5      GrF " GS} GS~\5      GrG " GS GSG\G5      GrH " GS GS\5      GrI " GS GS\5      GrJ " GS GS\5      GrK " GS GS\5      GrL " GS GS\5      GrM " GS GS\5      GrN " GS GS\5      GrO " GS GS\5      GrP " GS GS\5      GrQ " GS GS\35      GrR " GS GSG\R5      GrS " GS GS\5      GrT " GS GS\L5      GrU " GS GS\5      GrV " GS GS\5      GrW " GS GS\5      GrX " GS GS\5      GrY " GS GS\5      GrZ " GS GS\5      Gr[ " GS GS\5      Gr\ " GS GS\5      Gr] " GS GS\5      Gr^ " GS GS\5      Gr_ " GS GS\5      Gr` " GS GSG\`5      Gra " GS GSG\a5      Grb " GS GSG\`5      Grc " GS GSG\a5      Grd " GS GS\5      Gre " GS GSG\e5      Grf " GS GSG\e5      Grg " GS GS\5      Grh " GS GS\5      Gri " GS GS\5      Grj " GS GS\5      Grk " GS GSG\k5      Grl " GS GSG\k5      Grm " GS GS\5      Grn " GS GS\5      Gro " GS GS\K5      Grp " GS GS\5      Grq " GS GS\5      Grr " GS GS\5      Grs " GS GS\5      Grt " GS GS\5      Gru " GS GS\5      Grv " GS GS\5      Grw " GS GS\5      Grx " GS GS\5      Gry " GS GS\5      Grz " GS GSG\z5      Gr{ " GS GSG\z5      Gr| " GS GS\5      Gr} " GS GSG\}5      Gr~ " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS G\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS	 GS
G\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS \L5      Gr " GS! GS"\5      Gr " GS# GS$\5      Gr " GS% GS&\5      Gr " GS' GS(\5      Gr " GS) GS*\5      Gr " GS+ GS,\5      Gr " GS- GS.\5      Gr " GS/ GS0\5      Gr " GS1 GS2\L5      Gr " GS3 GS4\L5      Gr " GS5 GS6\L5      Gr " GS7 GS8\L5      Gr " GS9 GS:\K5      Gr " GS; GS<G\5      Gr " GS= GS>\L5      Gr " GS? GS@G\5      Gr " GSA GSB\5      Gr " GSC GSD\5      Gr " GSE GSFG\5      Gr " GSG GSH\5      Gr " GSI GSJG\5      Gr " GSK GSLG\5      Gr " GSM GSN\5      Gr " GSO GSP\5      Gr " GSQ GSR\5      Gr " GSS GSTG\5      Gr " GSU GSV\5      Gr " GSW GSX\5      Gr " GSY GSZ\5      Gr " GS[ GS\\5      Gr " GS] GS^\5      Gr " GS_ GS`\5      Gr " GSa GSb\5      Gr " GSc GSd\5      Gr " GSe GSf\5      Gr " GSg GShG\5      Gr " GSi GSjG\5      Gr " GSk GSl\5      Gr " GSm GSn\5      Gr " GSo GSpG\5      Gr " GSq GSrG\5      Gr " GSs GSt\5      Gr " GSu GSv\5      Gr " GSw GSx\5      Gr " GSy GSz\5      Gr " GS{ GS|\5      Gr " GS} GS~\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr  " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS \5      Gr " GS GS\5      Gr	 " GS GS\5      Gr
 " GS GS\5      Gr " GS GSG\5      Gr " GS	 GS
\5      Gr " GS GS\L5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\'5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS \5      Gr " GS! GS"\5      Gr " GS# GS$G\5      Gr " GS% GS&\5      Gr " GS' GS(\5      Gr " GS) GS*\5      Gr " GS+ GS,G\5      Gr " GS- GS.G\5      Gr " GS/ GS0\5      Gr  " GS1 GS2G\ 5      Gr! " GS3 GS4G\ 5      Gr" " GS5 GS6\5      Gr# " GS7 GS8\5      Gr$ " GS9 GS:\5      Gr% " GS; GS<G\%5      Gr& " GS= GS>G\&5      Gr' " GS? GS@G\%5      Gr( " GSA GSBG\&5      Gr) " GSC GSD\5      Gr* " GSE GSF\5      Gr+ " GSG GSH\5      Gr, " GSI GSJG\5      Gr- " GSK GSL\5      Gr. " GSM GSN\5      Gr/ " GSO GSP\5      Gr0 " GSQ GSR\5      Gr1 " GSS GST\5      Gr2 " GSU GSV\5      Gr3 " GSW GSX\5      Gr4 " GSY GSZ\5      Gr5 " GS[ GS\\5      Gr6 " GS] GS^\5      Gr7 " GS_ GS`G\75      Gr8 " GSa GSbG\85      Gr9 " GSc GSdG\85      Gr: " GSe GSfG\75      Gr; " GSg GShG\75      Gr< " GSi GSjG\85      Gr= " GSk GSlG\85      Gr> " GSm GSn\5      Gr? " GSo GSp\5      Gr@ " GSq GSr\5      GrA " GSs GSt\5      GrB " GSu GSv\5      GrC " GSw GSx\5      GrD " GSy GSz\5      GrE " GS{ GS|\5      GrF " GS} GS~\5      GrG " GS GS\5      GrH " GS GS\5      GrI " GS GSG\I5      GrJ " GS GSG\I5      GrK " GS GS\5      GrL " GS GS\5      GrM " GS GSG\M5      GrN " GS GSG\M5      GrO " GS GSG\M5      GrP " GS GS\5      GrQ " GS GS\5      GrR " GS GSG\R5      GrS " GS GSG\R5      GrT " GS GSG\R5      GrU " GS GSG\R5      GrV " GS GSG\R5      GrW " GS GS\5      GrX " GS GS\5      GrY " GS GS\5      GrZ " GS GSG\Z5      Gr[ " GS GSG\Z5      Gr\ " GS GS\L5      Gr] " GS GS\25      Gr^ " GS GS\5      Gr_ " GS GS\5      Gr` " GS GS\5      Gra " GS GS\5      Grb " GS GS\5      Grc " GS GS\5      Grd " GS GS\5      Gre " GS GS\5      Grf " GS GS\5      Grg " GS GS\5      Grh " GS GS\5      Gri " GS GSG\i5      Grj " GS GSG\i5      Grk " GS GS\5      Grl " GS GS\5      Grm " GS GS\5      Grn " GS GS\5      Gro " GS GS\5      Grp " GS GS\5      Grq " GS GS\5      Grr " GS GSG\=5      Grs " GS GS\5      Grt " GS GS\L5      Gru " GS GS\L5      Grv " GS GS\5      Grw " GS GS\5      Grx " GS GS\5      Gry " GS GSG\y5      Grz " GS GSG\y5      Gr{ " GS GS\5      Gr| " GS GSG\|5      Gr} " GS GSG\|5      Gr~ " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS \5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS	 GS
\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS \5      Gr " GS! GS"\5      Gr " GS# GS$\5      Gr " GS% GS&\5      Gr " GS' GS(\5      Gr " GS) GS*G\5      Gr " GS+ GS,G\5      Gr " GS- GS.G\5      Gr " GS/ GS0\5      Gr " GS1 GS2G\5      Gr " GS3 GS4G\5      Gr " GS5 GS6\5      Gr " GS7 GS8\5      Gr " GS9 GS:\5      Gr " GS; GS<G\5      Gr " GS= GS>G\5      Gr " GS? GS@\5      Gr " GSA GSB\5      Gr " GSC GSD\5      Gr " GSE GSF\5      Gr " GSG GSH\5      Gr " GSI GSJ\5      Gr " GSK GSL\5      Gr " GSM GSN\5      Gr " GSO GSPG\5      Gr " GSQ GSRG\5      Gr " GSS GSTG\5      Gr " GSU GSVG\5      Gr " GSW GSX\5      Gr " GSY GSZ\5      Gr " GS[ GS\\5      Gr " GS] GS^G\5      Gr " GS_ GS`G\5      Gr " GSa GSbG\5      Gr " GSc GSdG\5      Gr " GSe GSf\5      Gr " GSg GSh\5      Gr " GSi GSj\5      Gr " GSk GSl\5      Gr " GSm GSn\5      Gr " GSo GSpG\5      Gr " GSq GSrG\5      Gr " GSs GStG\5      Gr " GSu GSvG\5      Gr " GSw GSx\5      Gr " GSy GSz\5      Gr " GS{ GS|\5      Gr " GS} GS~\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\L5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr  " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS \5      Gr " GS GSG\5      Gr	 " GS GSG\5      Gr
 " GS GS\5      Gr " GS GS\5      Gr " GS	 GS
G\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS \5      Gr " GS! GS"\5      Gr " GS# GS$\5      Gr " GS% GS&G\5      Gr " GS' GS(\5      Gr " GS) GS*G\5      Gr " GS+ GS,G\5      Gr " GS- GS.G\5      Gr " GS/ GS0\5      Gr  " GS1 GS2\5      Gr! " GS3 GS4\5      Gr" " GS5 GS6\5      Gr# " GS7 GS8\5      Gr$ " GS9 GS:\5      Gr% " GS; GS<\5      Gr& " GS= GS>\5      Gr' " GS? GS@\5      Gr( " GSA GSB\5      Gr) " GSC GSDG\)5      Gr* " GSE GSFG\)5      Gr+ " GSG GSH\5      Gr, " GSI GSJ\5      Gr- " GSK GSLG\-5      Gr. " GSM GSNG\-5      Gr/ " GSO GSP\5      Gr0 " GSQ GSR\5      Gr1 " GSS GST\5      Gr2 " GSU GSV\5      Gr3 " GSW GSX\5      Gr4 " GSY GSZ\5      Gr5 " GS[ GS\\5      Gr6 " GS] GS^\5      Gr7 " GS_ GS`\5      Gr8 " GSa GSbG\85      Gr9 " GSc GSdG\85      Gr: " GSe GSfG\85      Gr; " GSg GSh\5      Gr< " GSi GSj\5      Gr= " GSk GSl\5      Gr> " GSm GSn\5      Gr? " GSo GSp\5      Gr@ " GSq GSr\5      GrA " GSs GSt\5      GrB " GSu GSv\5      GrC " GSw GSx\5      GrD " GSy GSz\5      GrE " GS{ GS|\5      GrF " GS} GS~G\F5      GrG " GS GSG\F5      GrH " GS GSG\F5      GrI " GS GSG\I5      GrJ " GS GSG\I5      GrK " GS GS\5      GrL " GS GS\5      GrM " GS GS\5      GrN " GS GS\5      GrO " GS GS\5      GrP " GS GS\5      GrQ " GS GS\5      GrR " GS GS\5      GrS " GS GS\5      GrT " GS GS\5      GrU " GS GS\5      GrV " GS GS\5      GrW " GS GSG\W5      GrX " GS GSG\5      GrY " GS GS\5      GrZ " GS GSG\Z5      Gr[ " GS GSG\Z5      Gr\ " GS GS\5      Gr] " GS GS\5      Gr^ " GS GS\5      Gr_ " GS GS\5      Gr` " GS GS\5      Gra " GS GSG\a5      Grb " GS GS\5      Grc " GS GSG\a5      Grd " GS GS\5      Gre " GS GS\5      Grf " GS GSG\f5      Grg " GS GSG\f5      Grh " GS GSG\f5      Gri " GS GS\5      Grj " GS GS\5      Grk " GS GS\5      Grl " GS GS\5      Grm " GS GS\5      Grn " GS GS\5      Gro " GS GS\5      Grp " GS GS\5      Grq " GS GSG\q5      Grr " GS GSG\q5      Grs " GS GS\5      Grt " GS GS\5      Gru " GS GSG\u5      Grv " GS GSG\u5      Grw " GS GS\5      Grx " GS GS\5      Gry " GS GS\5      Grz " GS GS\5      Gr{ " GS GS\5      Gr| " GS GS\5      Gr} " GS GS\5      Gr~ " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS \5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS	 GS
G\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS \5      Gr " GS! GS"\5      Gr " GS# GS$\5      Gr " GS% GS&\5      Gr " GS' GS(G\5      Gr " GS) GS*\5      Gr " GS+ GS,\5      Gr " GS- GS.G\5      Gr " GS/ GS0\5      Gr " GS1 GS2\5      Gr " GS3 GS4G\5      Gr " GS5 GS6G\5      Gr " GS7 GS8G\5      Gr " GS9 GS:G\5      Gr " GS; GS<\5      Gr " GS= GS>\5      Gr " GS? GS@\5      Gr " GSA GSBG\5      Gr " GSC GSDG\5      Gr " GSE GSF\5      Gr " GSG GSH\5      Gr " GSI GSJ\5      Gr " GSK GSL\5      Gr " GSM GSN\5      Gr " GSO GSPG\5      Gr " GSQ GSRG\5      Gr " GSS GSTG\5      Gr " GSU GSVG\5      Gr " GSW GSX\5      Gr " GSY GSZ\5      Gr " GS[ GS\\5      Gr " GS] GS^\5      Gr " GS_ GS`\5      Gr " GSa GSb\5      Gr " GSc GSd\5      Gr " GSe GSf\5      Gr " GSg GSh\5      Gr " GSi GSjG\5      Gr " GSk GSlG\5      Gr " GSm GSn\5      Gr " GSo GSpG\5      Gr " GSq GSr\5      Gr " GSs GStG\5      Gr " GSu GSv\5      Gr " GSw GSxG\5      Gr " GSy GSz\5      Gr " GS{ GS|\5      Gr " GS} GS~\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\35      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\25      Gr " GS GS\5      Gr " GS GS\25      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr  " GS GSG\ 5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS \5      Gr " GS GS\5      Gr	 " GS GS\5      Gr
 " GS GS\5      Gr " GS GSG\5      Gr " GS	 GS
\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS \5      Gr " GS! GS"\5      Gr " GS# GS$\5      Gr " GS% GS&G\5      Gr " GS' GS(\5      Gr " GS) GS*\5      Gr " GS+ GS,\5      Gr " GS- GS.G\5      Gr " GS/ GS0G\5      Gr  " GS1 GS2\5      Gr! " GS3 GS4G\5      Gr" " GS5 GS6\5      Gr# " GS7 GS8\5      Gr$ " GS9 GS:\5      Gr% " GS; GS<\5      Gr& " GS= GS>\5      Gr' " GS? GS@G\5      Gr( " GSA GSB\5      Gr) " GSC GSD\5      Gr* " GSE GSFG\*5      Gr+ " GSG GSHG\*5      Gr, " GSI GSJG\*5      Gr- " GSK GSL\5      Gr. " GSM GSNG\.5      Gr/ " GSO GSPG\.5      Gr0 " GSQ GSRG\.5      Gr1 " GSS GSTG\.5      Gr2 " GSU GSV\5      Gr3 " GSW GSX\5      Gr4 " GSY GSZ\5      Gr5 " GS[ GS\\5      Gr6 " GS] GS^\5      Gr7 " GS_ GS`G\75      Gr8 " GSa GSbG\75      Gr9 " GSc GSdG\75      Gr: " GSe GSfG\75      Gr; " GSg GShG\75      Gr< " GSi GSjG\75      Gr= " GSk GSlG\75      Gr> " GSm GSn\5      Gr? " GSo GSpG\?5      Gr@ " GSq GSrG\?5      GrA " GSs GStG\?5      GrB " GSu GSv\5      GrC " GSw GSxG\C5      GrD " GSy GSzG\C5      GrE " GS{ GS|\5      GrF " GS} GS~\5      GrG " GS GS\5      GrH " GS GS\5      GrI " GS GS\5      GrJ " GS GS\5      GrK " GS GS\5      GrL " GS GS\5      GrM " GS GSG\M5      GrN " GS GSG\M5      GrO " GS GS\5      GrP " GS GS\5      GrQ " GS GS\5      GrR " GS GS\5      GrS " GS GS\5      GrT " GS GS\5      GrU " GS GS\5      GrV " GS GS\5      GrW " GS GS\5      GrX " GS GS\5      GrY " GS GSG\Y5      GrZ " GS GSG\Y5      Gr[ " GS GS\5      Gr\ " GS GS\5      Gr] " GS GSG\]5      Gr^ " GS GSG\^5      Gr_ " GS GSG\^5      Gr` " GS GSG\]5      Gra " GS GS\5      Grb " GS GSG\b5      Grc " GS GS\5      Grd " GS GSG\d5      Gre " GS GSG\d5      Grf " GS GSG\b5      Grg " GS GSG\b5      Grh " GS GS\5      Gri " GS GS\5      Grj " GS GSG\j\5      Grk " GS GSG\j\5      Grl " GS GSG\j5      Grm " GS GSG\j5      Grn " GS GS\5      Gro " GS GS\5      Grp " GS GS\5      Grq " GS GS\5      Grr " GS GS\5      Grs " GS GS\5      Grt " GS GS\5      Gru " GS GS\5      Grv " GS GS\5      Grw " GS GSG\W5      Grx " GS GS\5      Gry " GS GS\5      Grz " GS GS\5      Gr{ " GS GS\5      Gr| " GS GS\5      Gr} " GS GSG\}5      Gr~ " GS GSG\}5      Gr " GS GSG\}5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS G	S \5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S	 G	S
\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S \5      Gr " G	S! G	S"\5      Gr " G	S# G	S$\5      Gr " G	S% G	S&G\G5      Gr " G	S' G	S(G\G5      Gr " G	S) G	S*G\G5      Gr " G	S+ G	S,\5      Gr " G	S- G	S.\5      Gr " G	S/ G	S0\5      Gr " G	S1 G	S2\5      Gr " G	S3 G	S4G\5      Gr " G	S5 G	S6G\5      Gr " G	S7 G	S8G\5      Gr " G	S9 G	S:\5      Gr " G	S; G	S<G\5      Gr " G	S= G	S>G\5      Gr " G	S? G	S@\5      Gr " G	SA G	SB\5      Gr " G	SC G	SDG\5      Gr " G	SE G	SFG\5      Gr " G	SG G	SHG\5      Gr " G	SI G	SJ\5      Gr " G	SK G	SL\5      Gr " G	SM G	SN\5      Gr " G	SO G	SP\5      Gr " G	SQ G	SR\5      Gr " G	SS G	ST\5      Gr " G	SU G	SVG\5      Gr " G	SW G	SXG\5      Gr " G	SY G	SZG\\5      Gr " G	S[ G	S\G\\5      Gr " G	S] G	S^G\5      Gr " G	S_ G	S`\5      Gr " G	Sa G	SbG\5      Gr " G	Sc G	SdG\5      Gr " G	Se G	Sf\5      Gr " G	Sg G	ShG\5      Gr " G	Si G	SjG\5      Gr " G	Sk G	SlG\5      Gr " G	Sm G	Sn\5      Gr " G	So G	SpG\5      Gr " G	Sq G	SrG\5      Gr " G	Ss G	StG\5      Gr " G	Su G	Sv\5      Gr " G	Sw G	Sx\5      Gr " G	Sy G	Sz\5      Gr " G	S{ G	S|G\5      Gr " G	S} G	S~\5      Gr " G	S G	S\5      Gr " G	S G	SG\5      Gr " G	S G	SG\5      Gr " G	S G	S\5      Gr " G	S G	SG\5      Gr " G	S G	SG\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	SG\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	SG\5      Gr " G	S G	SG\5      Gr " G	S G	S\5      Gr " G	S G	SG\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	SG\5      Gr " G	S G	SG\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	SG\5      Gr " G	S G	SG\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	SG\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	SG\5      Gr " G	S G	SG\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	SG\5      Gr " G	S G	SG\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr  " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	SG\5      Gr " G	S G	SG\5      Gr " G	S G	S\5      Gr " G	S G	S\5      Gr " G	S G	SG\5      Gr " G	S G
S G\5      Gr " G
S G
S\5      Gr	 " G
S G
S\5      Gr
 " G
S G
S\5      Gr " G
S G
S\5      Gr " G
S	 G
S
G\5      Gr " G
S G
SG\5      Gr " G
S G
SG\5      Gr " G
S G
SG\5      Gr " G
S G
SG\5      Gr " G
S G
SG\5      Gr " G
S G
SG\5      Gr " G
S G
S\5      Gr " G
S G
SG\5      Gr " G
S G
S\5      Gr " G
S G
SG\5      Gr " G
S G
S \5      Gr " G
S! G
S"\5      Gr " G
S# G
S$\5      Gr " G
S% G
S&\5      Gr " G
S' G
S(\5      Gr " G
S) G
S*\5      Gr " G
S+ G
S,\5      Gr " G
S- G
S.\5      Gr " G
S/ G
S0\5      Gr  " G
S1 G
S2G\ 5      Gr! " G
S3 G
S4\5      Gr" " G
S5 G
S6\5      Gr# " G
S7 G
S8\5      Gr$ " G
S9 G
S:G\ 5      Gr% " G
S; G
S<\5      Gr& " G
S= G
S>\5      Gr' " G
S? G
S@\5      Gr( " G
SA G
SBG\(5      Gr) " G
SC G
SD\5      Gr* " G
SE G
SFG\*5      Gr+ " G
SG G
SHG\(5      Gr, " G
SI G
SJG\*5      Gr- " G
SK G
SLG\(5      Gr. " G
SM G
SNG\*5      Gr/ " G
SO G
SP\5      Gr0 " G
SQ G
SR\5      Gr1 " G
SS G
STG\15      Gr2 " G
SU G
SVG\15      Gr3 " G
SW G
SXG\15      Gr4 " G
SY G
SZ\5      Gr5 " G
S[ G
S\\5      Gr6 " G
S] G
S^\5      Gr7 " G
S_ G
S`\5      Gr8 " G
Sa G
SbG\85      Gr9 " G
Sc G
SdG\85      Gr: " G
Se G
SfG\85      Gr; " G
Sg G
Sh\5      Gr< " G
Si G
SjG\<5      Gr= " G
Sk G
SlG\<5      Gr> " G
Sm G
SnG\<5      Gr? " G
So G
Sp\5      Gr@ " G
Sq G
Sr\5      GrA " G
Ss G
St\5      GrB " G
Su G
Sv\5      GrC " G
Sw G
SxG\5      GrD " G
Sy G
Sz\5      GrE " G
S{ G
S|\5      GrF " G
S} G
S~\5      GrG " G
S G
S\5      GrH " G
S G
SG\H5      GrI " G
S G
SG\H5      GrJ " G
S G
SG\H5      GrK " G
S G
SG\H5      GrL " G
S G
S\5      GrM " G
S G
S\5      GrN " G
S G
S\5      GrO " G
S G
S\5      GrP " G
S G
SG\P5      GrQ " G
S G
SG\P5      GrR " G
S G
SG\P5      GrS " G
S G
S\5      GrT " G
S G
SG\T5      GrU " G
S G
SG\T5      GrV " G
S G
SG\T5      GrW " G
S G
SG\T5      GrX " G
S G
S\5      GrY " G
S G
S\5      GrZ " G
S G
S\5      Gr[ " G
S G
S\5      Gr\ " G
S G
S\5      Gr] " G
S G
SG\]5      Gr^ " G
S G
SG\]5      Gr_ " G
S G
S\5      Gr` " G
S G
SG\`5      Gra " G
S G
SG\`5      Grb " G
S G
SG\}5      Grc " G
S G
S\5      Grd " G
S G
S\5      Gre " G
S G
S\5      Grf " G
S G
S\5      Grg " G
S G
S\5      Grh " G
S G
S\5      Gri " G
S G
SG\5      Grj " G
S G
SG\5      Grk " G
S G
SG\k5      Grl " G
S G
SG\k5      Grm " G
S G
SG\5      Grn " G
S G
S\5      Gro " G
S G
S\5      Grp " G
S G
SG\p5      Grq " G
S G
SG\p5      Grr " G
S G
S\5      Grs " G
S G
S\5      Grt " G
S G
S\5      Gru " G
S G
SG\u5      Grv " G
S G
SG\u5      Grw " G
S G
SG\w5      Grx " G
S G
SG\u5      Gry " G
S G
SG\y5      Grz " G
S G
S\5      Gr{ " G
S G
SG\u5      Gr| " G
S G
SG\|5      Gr} " G
S G
S\5      Gr~ " G
S G
SG\u5      Gr " G
S G
S\5      Gr " G
S G
S\5      Gr " G
S G
S\5      Gr " G
S G
S\5      Gr " G
S G
S\5      Gr " G
S G
S\5      Gr " G
S G
S\5      Gr " G
S G
SG\5      Gr " G
S GS \5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS	 GS
G\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS \5      Gr " GS! GS"\5      Gr " GS# GS$G\5      Gr " GS% GS&\5      Gr " GS' GS(\5      Gr " GS) GS*G\5      Gr " GS+ GS,\5      Gr " GS- GS.G\5      Gr " GS/ GS0G\5      Gr " GS1 GS2\5      Gr " GS3 GS4\5      Gr " GS5 GS6\5      Gr " GS7 GS8G\5      Gr " GS9 GS:\5      Gr " GS; GS<G\5      Gr " GS= GS>G\5      Gr " GS? GS@\5      Gr " GSA GSB\5      Gr " GSC GSD\5      Gr " GSE GSF\5      Gr " GSG GSH\5      Gr " GSI GSJ\5      Gr " GSK GSL\5      Gr " GSM GSN\5      Gr " GSO GSP\5      Gr " GSQ GSRG\5      Gr " GSS GSTG\5      Gr " GSU GSVG\5      Gr " GSW GSXG\5      Gr " GSY GSZG\5      Gr " GS[ GS\G\5      Gr " GS] GS^G\5      Gr " GS_ GS`G\5      Gr " GSa GSb\5      Gr " GSc GSd\5      Gr " GSe GSf\5      Gr " GSg GSh\5      Gr " GSi GSj\5      Gr " GSk GSl\5      Gr " GSm GSnG\5      Gr " GSo GSpG\5      Gr " GSq GSrG\5      Gr " GSs GSt\5      Gr " GSu GSv\5      Gr " GSw GSx\5      Gr " GSy GSz\5      Gr " GS{ GS|\5      Gr " GS} GS~G\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\L5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr  " GS GSG\ 5      Gr " GS GSG\ 5      Gr " GS GSG\ 5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS G\5      Gr " GS GS\5      Gr	 " GS GS\5      Gr
 " GS GS\5      Gr " GS GSG\5      Gr " GS	 GS
G\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS G\5      Gr " GS! GS"G\5      Gr " GS# GS$G\5      Gr " GS% GS&\5      Gr " GS' GS(\5      Gr " GS) GS*\5      Gr " GS+ GS,\5      Gr " GS- GS.\5      Gr " GS/ GS0G\5      Gr  " GS1 GS2G\5      Gr! " GS3 GS4G\5      Gr" " GS5 GS6G\5      Gr# " GS7 GS8\5      Gr$ " GS9 GS:\5      Gr% " GS; GS<\5      Gr& " GS= GS>\5      Gr' " GS? GS@\5      Gr( " GSA GSB\5      Gr) " GSC GSD\5      Gr* " GSE GSF\5      Gr+ " GSG GSH\5      Gr, " GSI GSJG\,5      Gr- " GSK GSLG\,5      Gr. " GSM GSNG\.5      Gr/ " GSO GSPG\,5      Gr0 " GSQ GSRG\05      Gr1 " GSS GSTG\,\5      Gr2 " GSU GSVG\.5      Gr3 " GSW GSXG\05      Gr4 " GSY GSZG\05      Gr5 " GS[ GS\G\05      Gr6 " GS] GS^\5      Gr7 " GS_ GS`\5      Gr8 " GSa GSb\5      Gr9 " GSc GSd\5      Gr: " GSe GSf\5      Gr; " GSg GSh\5      Gr< " GSi GSj\5      Gr= " GSk GSl\5      Gr> " GSm GSn\5      Gr? " GSo GSp\5      Gr@ " GSq GSrG\@5      GrA " GSs GStG\@5      GrB " GSu GSv\5      GrC " GSw GSx\5      GrD " GSy GSz\5      GrE " GS{ GS|\5      GrF " GS} GS~\5      GrG " GS GS\5      GrH " GS GS\5      GrI " GS GS\5      GrJ " GS GS\5      GrK " GS GS\5      GrL " GS GS\5      GrM " GS GSG\M5      GrN " GS GSG\N5      GrO " GS GSG\N5      GrP " GS GS\5      GrQ " GS GS\5      GrR " GS GS\5      GrS " GS GS\5      GrT " GS GS\5      GrU " GS GS\5      GrV " GS GS\5      GrW " GS GS\5      GrX " GS GSG\X5      GrY " GS GSG\X5      GrZ " GS GS\5      Gr[ " GS GSG\[5      Gr\ " GS GSG\[5      Gr] " GS GSG\[5      Gr^ " GS GSG\5      Gr_ " GS GS\5      Gr` " GS GS\5      Gra " GS GS\5      Grb " GS GS\5      Grc " GS GS\5      Grd " GS GS\5      Gre " GS GSG\e5      Grf " GS GSG\e5      Grg " GS GS\5      Grh " GS GS\5      Gri " GS GS\5      Grj " GS GSG\j5      Grk " GS GSG\j5      Grl " GS GSG\75      Grm " GS GS\5      Grn " GS GS\5      Gro " GS GS\35      Grp " GS GSG\5      Grq " GS GSG\q5      Grr " GS GSG\q5      Grs " GS GSG\q5      Grt " GS GS\5      Gru " GS GS\5      Grv " GS GS\L5      Grw " GS GS\5      Grx " GS GSG\5      Gry " GS GSG\5      Grz " GS GS\5      Gr{ " GS GS\5      Gr| " GS GS\5      Gr} " GS GS\5      Gr~ " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS G\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS	 GS
\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS \5      Gr " GS! GS"\5      Gr " GS# GS$G\5      Gr " GS% GS&G\5      Gr " GS' GS(\5      Gr " GS) GS*\5      Gr " GS+ GS,\5      Gr " GS- GS.G\5      Gr " GS/ GS0\5      Gr " GS1 GS2\5      Gr " GS3 GS4G\5      Gr " GS5 GS6G\5      Gr " GS7 GS8G\5      Gr " GS9 GS:G\5      Gr " GS; GS<G\5      Gr " GS= GS>\5      Gr " GS? GS@\5      Gr " GSA GSBG\5      Gr " GSC GSDG\5      Gr " GSE GSF\5      Gr " GSG GSH\5      Gr " GSI GSJ\5      Gr " GSK GSL\5      Gr " GSM GSNG\R5      Gr " GSO GSP\5      Gr " GSQ GSR\5      Gr " GSS GST\5      Gr " GSU GSVG\5      Gr " GSW GSXG\5      Gr " GSY GSZG\5      Gr " GS[ GS\\5      Gr " GS] GS^\L5      Gr " GS_ GS`\5      Gr " GSa GSb\5      Gr " GSc GSd\5      Gr " GSe GSf\5      Gr " GSg GShG\5      Gr " GSi GSjG\5      Gr " GSk GSl\5      Gr " GSm GSnG\5      Gr " GSo GSp\5      Gr " GSq GSr\5      Gr " GSs GSt\5      Gr " GSu GSvG\5      Gr " GSw GSx\5      Gr " GSy GSz\5      Gr " GS{ GS|\5      Gr " GS} GS~\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\N5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\e5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr  " GS GS\5      Gr " GS GS\L5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS G\5      Gr " GS GSG\5      Gr	 " GS GSG\5      Gr
 " GS GSG\5      Gr " GS GSG\5      Gr " GS	 GS
\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS \5      Gr " GS! GS"\5      Gr " GS# GS$G\5      Gr " GS% GS&G\5      Gr " GS' GS(G\5      Gr " GS) GS*\5      Gr " GS+ GS,G\5      Gr " GS- GS.\5      Gr " GS/ GS0\5      Gr  " GS1 GS2\5      Gr! " GS3 GS4\5      Gr" " GS5 GS6\5      Gr# " GS7 GS8G\5      Gr$ " GS9 GS:\5      Gr% " GS; GS<\5      Gr& " GS= GS>\5      Gr' " GS? GS@\5      Gr( " GSA GSB\5      Gr) " GSC GSD\5      Gr* " GSE GSFG\*5      Gr+ " GSG GSHG\*5      Gr, " GSI GSJG\*5      Gr- " GSK GSLG\-5      Gr. " GSM GSNG\.5      Gr/ " GSO GSPG\-5      Gr0 " GSQ GSRG\-5      Gr1 " GSS GSTG\.5      Gr2 " GSU GSVG\*5      Gr3 " GSW GSX\5      Gr4 " GSY GSZG\45      Gr5 " GS[ GS\G\4G\5      Gr6 " GS] GS^\5      Gr7 " GS_ GS`G\45      Gr8 " GSa GSbG\45      Gr9 " GSc GSdG\45      Gr: " GSe GSf\5      Gr; " GSg GSh\5      Gr< " GSi GSj\5      Gr= " GSk GSlG\=5      Gr> " GSm GSnG\=5      Gr? " GSo GSp\5      Gr@ " GSq GSr\5      GrA " GSs GSt\5      GrB " GSu GSv\5      GrC " GSw GSxG\5      GrD " GSy GSz\5      GrE " GS{ GS|\5      GrF " GS} GS~G\F5      GrG " GS GS\5      GrH " GS GS\5      GrI " GS GS\5      GrJ " GS GS\5      GrK " GS GS\5      GrL " GS GS\5      GrM " GS GS\5      GrN " GS GS\5      GrO " GS GSG\O5      GrP " GS GSG\O5      GrQ " GS GS\5      GrR " GS GS\5      GrS " GS GS\5      GrT " GS GS\5      GrU " GS GS\5      GrV " GS GS\5      GrW " GS GS\5      GrX " GS GS\5      GrY " GS GSG\Y5      GrZ " GS GS\5      Gr[ " GS GSG\[5      Gr\ " GS GS\5      Gr] " GS GSG\]5      Gr^ " GS GSG\]5      Gr_ " GS GSG\[5      Gr` " GS GSG\[5      Gra " GS GSG\G5      Grb " GS GS\5      Grc " GS GSG\5      Grd " GS GSG\5      Gre " GS GSG\e5      Grf " GS GSG\e5      Grg " GS GSG\}5      Grh " GS GSG\5      Gri " GS GS\5      Grj " GS GS\5      Grk " GS GS\5      Grl " GS GSG\l5      Grm " GS GSG\l5      Grn " GS GSG\l5      Gro " GS GS\5      Grp " GS GSG\p5      Grq " GS GS\5      Grr " GS GS\5      Grs " GS GS\5      Grt " GS GS\5      Gru " GS GSG\u5      Grv " GS GSG\u5      Grw " GS GS\5      Grx " GS GS\5      Gry " GS GSG\y5      Grz " GS GSG\y\25      Gr{ " GS GSG\y5      Gr| " GS GS\5      Gr} " GS GS\5      Gr~ " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS \5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS	 GS
G\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\75      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS G\5      Gr " GS! GS"\5      Gr " GS# GS$\5      Gr " GS% GS&G\Y5      Gr " GS' GS(G\Y5      Gr " GS) GS*G\Y5      Gr " GS+ GS,G\5      Gr " GS- GS.G\Y5      Gr " GS/ GS0G\5      Gr " GS1 GS2G\5      Gr " GS3 GS4G\Y5      Gr " GS5 GS6G\Y5      Gr " GS7 GS8G\5      Gr " GS9 GS:G\5      Gr " GS; GS<\5      Gr " GS= GS>\5      Gr " GS? GS@\5      Gr " GSA GSB\5      Gr " GSC GSD\5      Gr " GSE GSFG\5      Gr " GSG GSH\5      Gr " GSI GSJ\5      Gr " GSK GSLG\5      Gr " GSM GSNG\5      Gr " GSO GSP\5      Gr " GSQ GSR\5      Gr " GSS GSTG\5      Gr " GSU GSVG\5      Gr " GSW GSX\5      Gr " GSY GSZ\5      Gr " GS[ GS\\5      Gr " GS] GS^\5      Gr " GS_ GS`G\5      Gr " GSa GSb\5      Gr " GSc GSdG\5      Gr " GSe GSfG\5      Gr " GSg GShG\}5      Gr " GSi GSj\5      Gr " GSk GSl\5      Gr " GSm GSn\5      Gr " GSo GSp\5      Gr " GSq GSrG\5      Gr " GSs GStG\5      Gr " GSu GSv\5      Gr " GSw GSxG\5      Gr " GSy GSzG\5      Gr " GS{ GS|\5      Gr " GS} GS~\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\25      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\M5      Gr " GS GSG\M5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr  " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS \5      Gr " GS GS\5      Gr	 " GS GSG\	5      Gr
 " GS GSG\	5      Gr " GS GS\5      Gr " GS	 GS
\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS G\5      Gr " GS! GS"G\5      Gr " GS# GS$G\5      Gr " GS% GS&G\5      Gr " GS' GS(\5      Gr " GS) GS*\5      Gr " GS+ GS,\5      Gr " GS- GS.\5      Gr " GS/ GS0\5      Gr  " GS1 GS2\5      Gr! " GS3 GS4\5      Gr" " GS5 GS6\5      Gr# " GS7 GS8\5      Gr$ " GS9 GS:\5      Gr% " GS; GS<\5      Gr& " GS= GS>G\&5      Gr' " GS? GS@G\&5      Gr( " GSA GSBG\&5      Gr) " GSC GSD\5      Gr* " GSE GSFG\&5      Gr+ " GSG GSHG\&5      Gr, " GSI GSJG\&5      Gr- " GSK GSL\5      Gr. " GSM GSN\5      Gr/ " GSO GSP\5      Gr0 " GSQ GSRG\05      Gr1 " GSS GSTG\15      Gr2 " GSU GSVG\05      Gr3 " GSW GSXG\05      Gr4 " GSY GSZG\05      Gr5 " GS[ GS\G\55      Gr6 " GS] GS^G\05      Gr7 " GS_ GS`G\05      Gr8 " GSa GSbG\15      Gr9 " GSc GSdG\15      Gr: " GSe GSfG\05      Gr; " GSg GShG\55      Gr< " GSi GSjG\1\5      Gr= " GSk GSlG\1\5      Gr> " GSm GSnG\15      Gr? " GSo GSpG\05      Gr@ " GSq GSrG\55      GrA " GSs GStG\15      GrB " GSu GSvG\05      GrC " GSw GSxG\05      GrD " GSy GSzG\05      GrE " GS{ GS|\5      GrF " GS} GS~G\05      GrG " GS GSG\05      GrH " GS GSG\5      GrI " GS GSG\5      GrJ " GS GS\5      GrK " GS GSG\K5      GrL " GS GSG\K5      GrM " GS GS\5      GrN " GS GS\5      GrO " GS GSG\O5      GrP " GS GSG\O5      GrQ " GS GSG\O5      GrR " GS GSG\O5      GrS " GS GS\5      GrT " GS GS\5      GrU " GS GS\5      GrV " GS GS\5      GrW " GS GS\5      GrX " GS GSG\X5      GrY " GS GSG\X5      GrZ " GS GS\5      Gr[ " GS GS\5      Gr\ " GS GS\5      Gr] " GS GSG\]5      Gr^ " GS GSG\]5      Gr_ " GS GSG\]5      Gr` " GS GSG\]5      Gra " GS GSG\]5      Grb " GS GSG\]5      Grc " GS GSG\]5      Grd " GS GSG\]5      Gre " GS GSG\]5      Grf " GS GSG\]5      Grg " GS GS\5      Grh " GS GS\5      Gri " GS GS\5      Grj0 S\_S\_S\_S\_S\_S\_S\_S \_S"\_S$\_S&\_S(\_S*\_S,\_S.\_S0\ _S4\"_0 S6\#_S8\$_S:\%_S<\&_S@\(_SD\*_SF\+_SJ\-_SL\._SN\/_SP\0_SR\1_SX\4_SZ\5_S^\7_S`\8_Sb\9_E0 Sd\:_Sf\;_Sh\<_Sj\=_Sl\>_Sn\?_Sr\A_St\B_Sv\C_Sz\E_S|\F_S~\G_S\H_S\I_S\J_S\M_S\N_E0 S\O_S\Q_S\R_S\S_S\T_S\U_S\V_S\W_S\X_S\Y_S\Z_S\\_S\]_S\^_S\__S\`_S\a_E0 S\b_S\c_S\d_S\e_S\f_S\g_S\h_S\i_S\k_S\l_S\m_S\n_S\p_S\q_S\r_S\s_S\t_E0 S\u_S\v_S\x_S\y_S\z_S\{_S\}_S\~_S\_S\_S\_S\_S\_S\_S\_GS \_GS\_E0 GS\_GS
\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS \_GS"\_GS&\_GS(\_GS*\_GS,\_E0 GS.\_GS0\_GS4\_GS6\_GS8\_GS:\_GS<\_GS>\_GS@\_GSB\_GSD\_GSF\_GSJ\_GSN\_GSP\_GSR\_GST\_E0 GSV\_GSX\_GS\\_GS^\_GS`\_GSb\_GSd\_GSf\_GSh\_GSl\_GSn\_GSp\_GSt\_GSv\_GSx\_GS|\_GS~\_E0 GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_E0 GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_E0 GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GS\_GSG\ _GSG\_GSG\_GSG\_GSG\_E0 GSG\_GS G\_GSG\	_GSG\_GSG\_GS
G\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_GS"G\_E0 GS$G\_GS&G\_GS(G\_GS*G\_GS,G\_GS.G\_GS0G\ _GS2G\!_GS4G\"_GS6G\#_GS8G\$_GS:G\%_GS<G\&_GS>G\'_GS@G\(_GSBG\)_GSDG\*_E0 GSFG\+_GSHG\,_GSJG\-_GSLG\._GSNG\/_GSPG\0_GSRG\1_GSTG\2_GSVG\3_GSXG\4_GSZG\5_GS\G\6_GS`G\8_GSbG\9_GSdG\:_GSfG\;_GShG\<_E0 GSlG\>_GSnG\?_GSrG\A_GStG\B_GSxG\D_GSzG\E_GS|G\F_GSG\H_GSG\I_GSG\J_GSG\K_GSG\L_GSG\M_GSG\N_GSG\O_GSG\P_GSG\Q_E0 GSG\S_GSG\T_GSG\U_GSG\V_GSG\W_GSG\X_GSG\Y_GSG\Z_GSG\[_GSG\\_GSG\]_GSG\^_GSG\__GSG\b_GSG\c_GSG\d_GSG\f_E0 GSG\g_GSG\h_GSG\i_GSG\j_GSG\l_GSG\m_GSG\n_GSG\o_GSG\p_GSG\q_GSG\r_GSG\s_GSG\t_GSG\u_GSG\v_GSG\w_GSG\x_E0 GSG\y_GSG\{_GSG\|_GSG\~_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_GSG\_GSG\_GS
G\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_GS"G\_GS$G\_GS&G\_GS(G\_GS*G\_GS,G\_GS.G\_GS0G\_GS2G\_GS4G\_GS6G\_E0 GS8G\_GS<G\_GS>G\_GS@G\_GSBG\_GSFG\_GSJG\_GSLG\_GSNG\_GSPG\_GSTG\_GSVG\_GSXG\_GSZG\_GS\G\_GS^G\_GS`G\_E0 GSbG\_GSdG\_GSjG\_GSlG\_GSpG\_GSrG\_GStG\_GSvG\_GSxG\_GSzG\_GS|G\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\ _GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GS G\_GSG\	_GSG\
_GSG\_GS
G\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GS G\_GS$G\_GS&G\_GS(G\_GS,G\_GS.G\_GS2G\!_GS4G\"_GS6G\#_GS8G\$_GS>G\'_GS@G\(_GSBG\)_GSDG\*_GSFG\+_GSHG\,_GSJG\-_E0 GSLG\._GSNG\/_GSPG\0_GSRG\1_GSTG\2_GSVG\3_GSXG\4_GSZG\5_GS\G\6_GSbG\9_GSdG\:_GSfG\;_GShG\<_GSjG\=_GSlG\>_GSnG\?_GSpG\@_E0 GSrG\A_GStG\B_GSvG\C_GSxG\D_GSzG\E_GS|G\F_GS~G\G_GSG\H_GSG\J_GSG\K_GSG\L_GSG\N_GSG\O_GSG\P_GSG\Q_GSG\S_GSG\T_E0 GSG\U_GSG\V_GSG\W_GSG\X_GSG\Y_GSG\[_GSG\\_GSG\]_GSG\^_GSG\__GSG\`_GSG\a_GSG\b_GSG\c_GSG\d_GSG\e_GSG\f_E0 GSG\g_GSG\h_GSG\j_GSG\k_GSG\l_GSG\m_GSG\n_GSG\o_GSG\p_GSG\q_GSG\r_GSG\s_GSG\t_GSG\u_GSG\v_GSG\w_GSG\x_E0 GSG\z_GSG\{_GSG\}_GSG\~_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_GS"G\_GS$G\_GS&G\_GS*G\_GS,G\_GS.G\_GS2G\_E0 GS4G\_GS6G\_GS8G\_GS<G\_GS>G\_GS@G\_GSBG\_GSDG\_GSFG\_GSHG\_GSJG\_GSLG\_GSPG\_GSRG\_GSTG\_GSVG\_GSXG\_E0 GSZG\_GSbG\_GSdG\_GSfG\_GShG\_GSjG\_GSlG\_GSrG\_GStG\_GSvG\_GSxG\_GSzG\_GS|G\_GS~G\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\ _GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\	_GSG\
_GSG\_GS
G\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GS G\_GS"G\_GS$G\_GS&G\_GS*G\_GS,G\_GS.G\_GS0G\ _GS2G\!_GS4G\"_GS6G\#_GS8G\$_GS:G\%_GS<G\&_GS>G\'_GS@G\(_GSDG\*_E0 GSFG\+_GSHG\,_GSLG\._GSNG\/_GSPG\0_GSRG\1_GSTG\2_GSVG\3_GSXG\4_GSZG\5_GS\G\6_GS^G\7_GSbG\9_GSdG\:_GSfG\;_GShG\<_GSjG\=_E0 GSlG\>_GSnG\?_GSpG\@_GSrG\A_GStG\B_GSvG\C_GSxG\D_GSzG\E_GS~G\G_GSG\H_GSG\J_GSG\K_GSG\L_GSG\M_GSG\N_GSG\O_GSG\P_E0 GSG\Q_GSG\R_GSG\S_GSG\T_GSG\U_GSG\V_GSG\X_GSG\Y_GSG\[_GSG\\_GSG\]_GSG\^_GSG\__GSG\`_GSG\b_GSG\c_GSG\d_E0 GSG\e_GSG\g_GSG\h_GSG\i_GSG\j_GSG\k_GSG\l_GSG\m_GSG\n_GSG\o_GSG\p_GSG\r_GSG\s_GSG\t_GSG\v_GSG\w_GSG\x_E0 GSG\y_GSG\z_GSG\{_GSG\|_GSG\}_GSG\~_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_GSG\_GSG\_E0 GSG\_GS
G\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_GS"G\_GS$G\_GS(G\_GS*G\_GS,G\_E0 GS.G\_GS0G\_GS6G\_GS8G\_GS:G\_GS<G\_GS>G\_GSBG\_GSDG\_GSFG\_GSHG\_GSJG\_GSLG\_GSPG\_GSTG\_GSVG\_GSXG\_E0 GSZG\_GS\G\_GS^G\_GS`G\_GSbG\_GSdG\_GSfG\_GSjG\_GSlG\_GSnG\_GSpG\_GSrG\_GStG\_GSvG\_GSxG\_GSzG\_GS|G\_E0 GS~G\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GS G\_GSG\	_GSG\
_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_GS"G\_E0 GS&G\_GS(G\_GS*G\_GS.G\_GS0G\ _GS2G\!_GS4G\"_GS6G\#_GS8G\$_GS:G\%_GS<G\&_GS>G\'_GS@G\(_GSBG\)_GSFG\+_GSHG\,_GSJG\-_E0 GSNG\/_GSPG\0_GSRG\1_GSTG\2_GSVG\3_GSXG\4_GSZG\5_GS\G\6_GS`G\8_GSbG\9_GSdG\:_GSfG\;_GShG\<_GSjG\=_GSlG\>_GSpG\@_GSrG\A_E0 GStG\B_GSxG\D_GSzG\E_GS|G\F_GS~G\G_GSG\H_GSG\I_GSG\J_GSG\K_GSG\L_GSG\M_GSG\N_GSG\O_GSG\P_GSG\Q_GSG\R_GSG\S_E0 GSG\T_GSG\U_GSG\V_GSG\W_GSG\X_GSG\Z_GSG\[_GSG\\_GSG\__GSG\`_GSG\a_GSG\c_GSG\e_GSG\f_GSG\g_GSG\h_GSG\i_E0 GSG\k_GSG\l_GSG\m_GSG\n_GSG\o_GSG\p_GSG\q_GSG\r_GSG\s_GSG\t_GSG\u_GSG\v_GSG\w_GSG\x_GSG\y_GSG\z_GSG\{_E0 GSG\|_GSG\~_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_G	S G\_G	SG\_G	SG\_G	SG\_G	SG\_G	S
G\_G	SG\_E0 G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	S G\_G	S"G\_G	S$G\_G	S&G\_G	S(G\_G	S*G\_G	S,G\_G	S.G\_E0 G	S0G\_G	S4G\_G	S6G\_G	S8G\_G	S<G\_G	S>G\_G	S@G\_G	SDG\_G	SFG\_G	SHG\_G	SJG\_G	SLG\_G	SNG\_G	SPG\_G	SRG\_G	SVG\_G	SXG\_E0 G	SZG\_G	S\G\_G	S^G\_G	SbG\_G	SdG\_G	ShG\_G	SjG\_G	SlG\_G	SpG\_G	SrG\_G	StG\_G	SvG\_G	SxG\_G	S|G\_G	S~G\_G	SG\_G	SG\_E0 G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_E0 G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_E0 G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\_G	SG\ _G	SG\_G	SG\_G	SG\_G	SG\_E0 G	SG\_G
S G\_G
SG\	_G
SG\
_G
SG\_G
S
G\_G
SG\_G
SG\_G
SG\_G
SG\_G
SG\_G
SG\_G
SG\_G
SG\_G
S G\_G
S"G\_G
S$G\_E0 G
S&G\_G
S(G\_G
S*G\_G
S,G\_G
S.G\_G
S2G\!_G
S4G\"_G
S6G\#_G
S8G\$_G
S:G\%_G
S<G\&_G
S>G\'_G
SBG\)_G
SFG\+_G
SHG\,_G
SJG\-_G
SLG\._E0 G
SNG\/_G
SPG\0_G
STG\2_G
SVG\3_G
SXG\4_G
SZG\5_G
S\G\6_G
S^G\7_G
SbG\9_G
SdG\:_G
SfG\;_G
SjG\=_G
SlG\>_G
SnG\?_G
SpG\@_G
SrG\A_G
StG\B_E0 G
SvG\C_G
SxG\D_G
SzG\E_G
S|G\F_G
S~G\G_G
SG\I_G
SG\J_G
SG\K_G
SG\L_G
SG\M_G
SG\N_G
SG\O_G
SG\Q_G
SG\R_G
SG\S_G
SG\U_G
SG\V_E0 G
SG\W_G
SG\X_G
SG\Y_G
SG\Z_G
SG\[_G
SG\\_G
SG\]_G
SG\^_G
SG\__G
SG\a_G
SG\b_G
SG\c_G
SG\d_G
SG\e_G
SG\f_G
SG\g_G
SG\h_E0 G
SG\i_G
SG\j_G
SG\l_G
SG\m_G
SG\n_G
SG\o_G
SG\q_G
SG\r_G
SG\s_G
SG\t_G
SG\v_G
SG\w_G
SG\x_G
SG\y_G
SG\z_G
SG\{_G
SG\|_E0 G
SG\}_G
SG\~_G
SG\_G
SG\_G
SG\_G
SG\_G
SG\_G
SG\_G
SG\_G
SG\_G
SG\_GS G\_GSG\_GSG\_GSG\_GS
G\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_GS$G\_GS&G\_GS(G\_GS*G\_GS.G\_GS0G\_GS2G\_GS4G\_E0 GS6G\_GS8G\_GS<G\_GS>G\_GS@G\_GSBG\_GSDG\_GSFG\_GSHG\_GSJG\_GSLG\_GSNG\_GSTG\_GSVG\_GSXG\_GSZG\_GS\G\_E0 GS^G\_GS`G\_GSbG\_GSdG\_GSfG\_GShG\_GSjG\_GSnG\_GSpG\_GSrG\_GStG\_GSvG\_GSxG\_GSzG\_GS~G\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GS G\_GSG\	_GSG\
_GSG\_GS
G\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_E0 GS"G\_GS$G\_GS&G\_GS(G\_GS*G\_GS,G\_GS0G\ _GS2G\!_GS4G\"_GS6G\#_GS8G\$_GS:G\%_GS<G\&_GS>G\'_GS@G\(_GSBG\)_GSDG\*_E0 GSFG\+_GSJG\-_GSNG\/_GSRG\1_GSTG\2_GSVG\3_GSXG\4_GSZG\5_GS\G\6_GS^G\7_GS`G\8_GSbG\9_GSdG\:_GSfG\;_GShG\<_GSjG\=_GSlG\>_E0 GSnG\?_GSrG\A_GStG\B_GSvG\C_GSxG\D_GSzG\E_GS|G\F_GS~G\G_GSG\H_GSG\I_GSG\J_GSG\K_GSG\L_GSG\O_GSG\P_GSG\Q_GSG\R_E0 GSG\S_GSG\T_GSG\U_GSG\V_GSG\W_GSG\Y_GSG\Z_GSG\\_GSG\]_GSG\^_GSG\__GSG\`_GSG\a_GSG\b_GSG\c_GSG\d_GSG\f_E0 GSG\g_GSG\h_GSG\i_GSG\k_GSG\l_GSG\m_GSG\n_GSG\o_GSG\p_GSG\r_GSG\s_GSG\t_GSG\u_GSG\v_GSG\w_GSG\x_GSG\y_E0 GSG\z_GSG\{_GSG\|_GSG\}_GSG\~_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_GSG\_GSG\_GSG\_E0 GSG\_GS
G\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_GS$G\_GS&G\_GS(G\_GS*G\_GS,G\_E0 GS.G\_GS0G\_GS4G\_GS8G\_GS:G\_GS<G\_GS>G\_GSBG\_GSDG\_GSFG\_GSHG\_GSJG\_GSLG\_GSNG\_GSPG\_GSRG\_GSVG\_E0 GSXG\_GSZG\_GS\G\_GS^G\_GS`G\_GSbG\_GSdG\_GShG\_GSjG\_GSlG\_GSnG\_GSpG\_GSrG\_GSvG\_GSxG\_GSzG\_GS|G\_E0 GS~G\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\ _GSG\_GSG\_GSG\_GSG\_GSG\_GSG\	_GSG\
_GSG\_GSG\_GS
G\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GS G\_GS$G\_GS&G\_GS(G\_GS*G\_GS,G\_GS.G\_GS0G\ _GS2G\!_GS4G\"_GS6G\#_GS8G\$_GS:G\%_GS<G\&_E0 GS>G\'_GS@G\(_GSBG\)_GSFG\+_GSHG\,_GSNG\/_GSPG\0_GSRG\1_GSTG\2_GSVG\3_GSZG\5_GS\G\6_GS^G\7_GS`G\8_GSbG\9_GSdG\:_GSfG\;_E0 GShG\<_GSlG\>_GSnG\?_GSpG\@_GSrG\A_GStG\B_GSvG\C_GSxG\D_GSzG\E_GS|G\F_GS~G\G_GSG\H_GSG\I_GSG\J_GSG\K_GSG\L_GSG\M_E0 GSG\N_GSG\P_GSG\Q_GSG\R_GSG\S_GSG\T_GSG\U_GSG\V_GSG\W_GSG\X_GSG\Z_GSG\\_GSG\^_GSG\__GSG\`_GSG\a_GSG\b_E0 GSG\c_GSG\d_GSG\f_GSG\g_GSG\h_GSG\i_GSG\j_GSG\k_GSG\m_GSG\n_GSG\o_GSG\p_GSG\q_GSG\r_GSG\s_GSG\t_GSG\v_E0 GSG\w_GSG\x_GSG\z_GSG\{_GSG\|_GSG\}_GSG\~_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_GSG\_E0 GSG\_GSG\_GS
G\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_GS"G\_GS$G\_GS&G\_GS(G\_GS*G\_E0 GS,G\_GS.G\_GS0G\_GS2G\_GS4G\_GS6G\_GS8G\_GS:G\_GS<G\_GS>G\_GS@G\_GSBG\_GSFG\_GSHG\_GSLG\_GSNG\_GSPG\_E0 GSTG\_GSVG\_GSXG\_GSZG\_GS\G\_GS`G\_GSbG\_GSdG\_GSfG\_GShG\_GSjG\_GSlG\_GSnG\_GSpG\_GSrG\_GStG\_GSxG\_E0 GSzG\_GS|G\_GS~G\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_E0 GSG\_GSG\ _GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GSG\_GS G\_GSG\
_GSG\_GSG\_GS
G\_GSG\_GSG\_GSG\_E0 GSG\_GSG\_GSG\_GSG\_GS G\_GS"G\_GS$G\_GS&G\_GS(G\_GS*G\_GS,G\_GS.G\_GS0G\ _GS2G\!_GS4G\"_GS6G\#_GS8G\$_E0 GS:G\%_GS>G\'_GS@G\(_GSBG\)_GSDG\*_GSFG\+_GSHG\,_GSJG\-_GSLG\._GSNG\/_GSTG\2_GSVG\3_GSXG\4_GS\G\6_GS^G\7_GS`G\8_GSbG\9_E0 GSdG\:_GSfG\;_GShG\<_GSjG\=_GSlG\>_GSnG\?_GSpG\@_GSrG\A_GStG\B_GSvG\C_GSxG\D_GSzG\E_GS|G\F_GS~G\G_GSG\H_GSG\I_GSG\J_E0 GSG\L_GSG\M_GSG\N_GSG\P_GSG\Q_GSG\R_GSG\S_GSG\T_GSG\U_GSG\V_GSG\W_GSG\Y_GSG\Z_GSG\[_GSG\\_GSG\^_GSG\__EG\`G\aG\bG\cG\dG\eG\fG\gG\hG\iG\jGS.EGrkg(      N   )age_restrictedbug_reports_messageclasspropertyvariadicwrite_string>   get_testcasesextract_from_webpageget_webpage_testcasesFc                       \ rS rSrS rSrg)LazyLoadMetaClass   c                     SU R                   ;  a=  U[        ;  a3  [        (       d(  Sq[        SU R                   SU [        5        S35        [        U R                  U5      $ )N_real_classTz?WARNING: Falling back to normal extractor since lazy extractor z does not have attribute 
)__dict__ALLOWED_CLASSMETHODS_WARNEDr   __name__r   getattr
real_class)clsnames     Z/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/lazy_extractors.py__getattr__LazyLoadMetaClass.__getattr__   s_    - 44WWGZLL>)B4&I\I^H__ac ds~~t,,     N)r   
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r   r      s    -r   r   c                       \ rS rSr\S 5       rS rSrSrSr	Sr
SrSrSrSrSr\S 5       r\S 5       r\S	 5       r\S
 5       r\S 5       r\S 5       r\SSS.S j5       r\S 5       r\S 5       r\S 5       rSrg)LazyLoadExtractor   c                     SU R                   ;  a9  [        [        R                  " U R                  5      U R
                  5      U l        U R                  $ )Nr   )r   r   	importlibimport_module_moduler   r   r   s    r   r   LazyLoadExtractor.real_class   s9    ,%i&=&=ckk&JCLLYCOr   c                 t    U R                   R                  U R                   5      nUR                  " U0 UD6  U$ N)r   __new____init__)r   argskwargsinstances       r   r.   LazyLoadExtractor.__new__$   s2    >>))#..94*6*r   NTr   c                      U R                   SS $ )z>A string for getting the InfoExtractor with get_info_extractorN)r   r*   s    r   ie_keyLazyLoadExtractor.ie_key3   s     ||CR  r   c                 (    U R                  U5      SL$ )z8Receives a URL and returns True if suitable for this IE.N)_match_valid_urlr   urls     r   suitableLazyLoadExtractor.suitable8   s    
 ##C(44r   c                   ^ U R                   SL a  g SU R                  ;  a;  [        [        [        R
                  [        U R                   5      5      5      U l        [        [        S U4S jU R                   5       5      S 5      $ )NF_VALID_URL_REc              3   D   >#    U  H  oR                  T5      v   M     g 7fr-   )match).0regexr;   s     r   	<genexpr>5LazyLoadExtractor._match_valid_url.<locals>.<genexpr>H   s     !R@Qu++c"2"2@Q    )

_VALID_URLr   tuplemaprecompiler   r?   nextfilterr:   s    `r   r9   "LazyLoadExtractor._match_valid_url?   sb    >>U" #,,. %c"**hs~~6N&O PCF4!R@Q@Q!RSUYZZr   c                     U R                   $ )zGetter method for _WORKING.)_WORKINGr*   s    r   workingLazyLoadExtractor.workingJ   s     ||r   c                 R     U R                  U5      $ ! [        [        4 a     g f = fr-   )	_match_id
IndexErrorAttributeErrorr:   s     r   get_temp_idLazyLoadExtractor.get_temp_idO   s-    	==%%N+ 		s    &&c                 B    U R                  U5      R                  S5      $ )Nid)r9   groupr:   s     r   rT   LazyLoadExtractor._match_idV   s    ##C(..t44r   )markdownsearch_examplesc                   SnU R                   (       a.  U(       a  USU R                    S3-  nOUSU R                    S3-  nU R                  SL a  US-  nO#U R                  (       a  USU R                   3-  nU R                  (       ap  X0R                  (       a  S	OS S
U R                   S3-  nU(       aB  SnUSU R                   [        R                  " U5       S[        R                  " U5       S3-  nU R                  5       (       d  X1(       a  SOS-  nU(       a1  SR                  [        R                  " SSU R                  5      5      OU R                  nU(       a  U SU 3$ U$ )zDescription of the extractor z [*z*](## "netrc machine")z []Fz	 [HIDDEN] ;z "z	:" prefix)r`   510allz (e.g. ":z")z (**Currently broken**)z (Currently broken)z	 - **{}**z:(\w+:)u	   :​\g<1>)
_NETRC_MACHINEIE_DESC
SEARCH_KEYrandomchoicerQ   formatrJ   subIE_NAME)r   r]   r^   desc_COUNTSr   s         r   descriptionLazyLoadExtractor.descriptionZ   sI    #c0011GHH"S//022;;%KD[[a}%%D>>kksr2"S^^4DINND0(3>>"26==3I2J!FMMZiLjKkkmnn{{}}-?TTD Zb""266*os{{#STgjgrgr#'$q1T1r   c                 8    [        U R                  U5      (       + $ )zHTest whether the extractor is generally suitable for the given age limit)r   	age_limit)r   ru   s     r   is_suitableLazyLoadExtractor.is_suitables   s     "#--;;;r   c                 ,    [        U R                  5      $ r-   )boolrh   r*   s    r   supports_login LazyLoadExtractor.supports_loginx   s    C&&''r   c                 l    U R                  U5      (       a  SSS.R                  U R                  5      $ g)z=Returns whether the URL is of a single video, None if unknownTF)videoplaylistN)r<   get_RETURN_TYPEr:   s     r   is_single_video!LazyLoadExtractor.is_single_video|   s4     <<!u599#:J:JKK r   r   )r   r   r    r!   r   r   r.   r)   _ENABLEDrG   rP   ri   rh   rj   ru   r   classmethodr6   r<   r9   rQ   rW   rT   rr   rv   rz   r   r"   r   r   r   r$   r$      s    

 GHJHGNJIL! ! 5 5 [ [     5 5 %)4 2 20 < < ( ( L Lr   r$   )	metaclassc                       \ rS rSrSrg)LazyLoadSearchExtractor   r   N)r   r   r    r!   r"   r   r   r   r   r      s    r   r   c                   $    \ rS rSrSrSrSrSrSrg)ABCIE   yt_dlp.extractor.abcz
abc.net.auzShttps?://(?:www\.)?abc\.net\.au/(?:news|btn|listen)/(?:[^/?#]+/){1,4}(?P<id>\d{5,})r}   r   N	r   r   r    r!   r)   ro   rG   r   r"   r   r   r   r   r      s    $GGjJLr   r   c                   $    \ rS rSrSrSrSrSrSrg)
ABCIViewIE   r   zabc.net.au:iviewz=https?://iview\.abc\.net\.au/(?:[^/]+/)*video/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r   r      s    $G GSJLr   r   c                   $    \ rS rSrSrSrSrSrSrg)ABCIViewShowSeriesIE   r   zabc.net.au:iview:showseriesz@https?://iview\.abc\.net\.au/show/(?P<id>[^/]+)(?:/series/\d+)?$anyr   Nr   r   r   r   r   r      s    $G+GWJLr   r   c                   $    \ rS rSrSrSrSrSrSrg)ABCOTVSClipsIE   yt_dlp.extractor.abcotvszabcotvs:clipsz9https?://clips\.abcotvs\.com/(?:[^/]+/)*video/(?P<id>\d+)r}   r   Nr   r   r   r   r   r      s    (GGOJLr   r   c                   (    \ rS rSrSrSrSrSrSrSr	g)		ABCOTVSIE   r   abcotvszthttps?://(?P<site>abc(?:7(?:news|ny|chicago)?|11|13|30)|6abc)\.com(?:(?:/[^/]+)*/(?P<display_id>[^/]+))?/(?P<id>\d+)zABC Owned Television Stationsr}   r   N
r   r   r    r!   r)   ro   rG   ri   r   r"   r   r   r   r   r      s    (GG JJ-GLr   r   c                       \ rS rSrSrSrSrg)ACastBaseIE   yt_dlp.extractor.acast	ACastBaser   Nr   r   r    r!   r)   ro   r"   r   r   r   r   r          &GGr   r   c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )ACastChannelIE   r   zacast:channela  (?x)
                    https?://
                        (?:
                            (?:(?:www|shows)\.)?acast\.com/|
                            play\.acast\.com/s/
                        )
                        (?P<id>[^/#?]+)
                    r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ NF)ACastIEr<   superr   r;   	__class__s     r   r<   ACastChannelIE.suitable   (    ((--uH573CC3HHr   r   r   r   r    r!   r)   ro   rG   r   r   r<   r"   __classcell__r   s   @r   r   r      s.    &GG aJLI Ir   r   c                   $    \ rS rSrSrSrSrSrSrg)r      r   acasta-  (?x:
                    https?://
                        (?:
                            (?:(?:embed|www|shows)\.)?acast\.com/|
                            play\.acast\.com/s/
                        )
                        (?P<channel>[^/?#]+)/(?:episodes/)?(?P<id>[^/#?"]+)
                    )r}   r   Nr   r   r   r   r   r      s    &GG LJLr   r   c                   $    \ rS rSrSrSrSrSrSrg)	ADNBaseIE   yt_dlp.extractor.adnADNBaseAnimation Digital Networkanimationdigitalnetworkr   N)	r   r   r    r!   r)   ro   ri   rh   r"   r   r   r   r   r      s    $GG)G.Nr   r   c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
ADNIE   r   ADNz[https?://(?:www\.)?animationdigitalnetwork\.com/(?:(?P<lang>de)/)?video/[^/?#]+/(?P<id>\d+)r   r   r}   r   Nr   r   r    r!   r)   ro   rG   ri   rh   r   r"   r   r   r   r   r      s     $GGqJ)G.NLr   r   c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
ADNSeasonIE   r   	ADNSeasonzfhttps?://(?:www\.)?animationdigitalnetwork\.com/(?:(?P<lang>de)/)?video/(?P<id>\d+)[^/?#]*/?(?:$|[#?])r   r   r~   r   Nr   r   r   r   r   r      s     $GG|J)G.NLr   r   c                   $    \ rS rSrSrSrSrSrSrg)AMCNetworksIE   zyt_dlp.extractor.amcnetworksAMCNetworkszohttps?://(?:www\.)?(?:amc|bbcamerica|ifc|(?:we|sundance)tv)\.com/(?P<id>(?:movies|shows(?:/[^/?#]+)+)/[^/?#&]+)r}   r   Nr   r   r   r   r   r      s    ,GG EJLr   r   c                   $    \ rS rSrSrSrSrSrSrg)APAIE   zyt_dlp.extractor.apaAPAzk(?P<base_url>https?://[^/]+\.apa\.at)/embed/(?P<id>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})r}   r   Nr   r   r   r   r   r      s    $GG FJLr   r   c                   $    \ rS rSrSrSrSrSrSrg)ARDBetaMediathekIE   yt_dlp.extractor.ardARDMediathekz(?x)https?://
        (?:(?:beta|www)\.)?ardmediathek\.de/
        (?:[^/]+/)?
        (?:player|live|video)/
        (?:[^?#]+/)?
        (?P<id>[a-zA-Z0-9]+)
        /?(?:[?#]|$)r}   r   Nr   r   r   r   r   r      s    $GG PJLr   r   c                   $    \ rS rSrSrSrSrSrSrg)ARDIE   r   ARDzQ(?P<mainurl>https?://(?:www\.)?daserste\.de/(?:[^/?#&]+/)+(?P<id>[^/?#&]+))\.htmlr}   r   Nr   r   r   r   r   r      s    $GGgJLr   r   c                   $    \ rS rSrSrSrSrSrSrg)ARDMediathekCollectionIE   r   ARDMediathekCollectiona  (?x)https?://
        (?:(?:beta|www)\.)?ardmediathek\.de/
        (?:[^/?#]+/)?
        (?P<playlist>sendung|serie|sammlung)/
        (?:(?P<display_id>[^?#]+?)/)?
        (?P<id>[a-zA-Z0-9]+)
        (?:/(?P<season>\d+)(?:/(?P<version>OV|AD))?)?/?(?:[?#]|$)r~   r   Nr   r   r   r   r   r      s    $G&G `JLr   r   c                   $    \ rS rSrSrSrSrSrSrg)ATVAtIE   zyt_dlp.extractor.atvatATVAtz7https?://(?:www\.)?atv\.at/tv/(?:[^/]+/){2,3}(?P<id>.*)r}   r   Nr   r   r   r   r   r          &GGLJLr   r   c                        \ rS rSrSrSrSrSrg)AWAANIEi  yt_dlp.extractor.awaanAWAANzrhttps?://(?:www\.)?(?:awaan|dcndigital)\.ae/(?:#/)?show/(?P<show_id>\d+)/[^/]+(?:/(?P<id>\d+)/(?P<season_id>\d+))?r   Nr   r   r    r!   r)   ro   rG   r"   r   r   r   r   r     s    &GG KJr   r   c                       \ rS rSrSrSrSrg)AWAANBaseIEi  r   	AWAANBaser   Nr   r   r   r   r   r     r   r   r   c                   $    \ rS rSrSrSrSrSrSrg)AWAANLiveIEi  r   z
awaan:livezChttps?://(?:www\.)?(?:awaan|dcndigital)\.ae/(?:#/)?live/(?P<id>\d+)r}   r   Nr   r   r   r   r   r     s    &GGYJLr   r   c                   $    \ rS rSrSrSrSrSrSrg)AWAANSeasonIEi  r   zawaan:seasonzihttps?://(?:www\.)?(?:awaan|dcndigital)\.ae/(?:#/)?program/(?:(?P<show_id>\d+)|season/(?P<season_id>\d+))r~   r   Nr   r   r   r   r   r     s    &GG AJLr   r   c                   $    \ rS rSrSrSrSrSrSrg)AWAANVideoIEi  r   zawaan:videozmhttps?://(?:www\.)?(?:awaan|dcndigital)\.ae/(?:#/)?(?:video(?:/[^/]+)?|media|catchup/[^/]+/[^/]+)/(?P<id>\d+)r}   r   Nr   r   r   r   r   r     s    &GG DJLr   r   c                   (    \ rS rSrSrSrSrSrSrSr	g)	
AZMedienIEi%  zyt_dlp.extractor.azmedienAZMediena  (?x)
                    https?://
                        (?:www\.|tv\.)?
                        (?:
                            telezueri\.ch|
                            telebaern\.tv|
                            telem1\.ch|
                            tvo-online\.ch
                        )/
                        [^/?#]+/
                        (?P<id>
                            [^/?#]+-\d+
                        )
                        (?:
                            \#video=
                            (?P<kaltura_id>
                                [_0-9a-z]+
                            )
                        )?
                    zAZ Medien videosr}   r   Nr   r   r   r   r   r   %  s    )GG BJ GLr   r   c                   $    \ rS rSrSrSrSrSrSrg)	AbcNewsIEi-  yt_dlp.extractor.abcnewsabcnewszUhttps?://abcnews\.go\.com/(?:[^/]+/)+(?P<display_id>[0-9a-z-]+)/story\?id=(?P<id>\d+)r   r   Nr   r   r   r   r   r   -  s    (GGlJLr   r   c                       \ rS rSrSrSrSrg)AMPIEi4  zyt_dlp.extractor.ampAMPr   Nr   r   r   r   r   r   4      $GGr   r   c                   $    \ rS rSrSrSrSrSrSrg)AbcNewsVideoIEi9  r   zabcnews:videoa  (?x)
                    https?://
                        (?:
                            abcnews\.go\.com/
                            (?:
                                (?:[^/]+/)*video/(?P<display_id>[0-9a-z-]+)-|
                                video/(?:embed|itemfeed)\?.*?\bid=
                            )|
                            fivethirtyeight\.abcnews\.go\.com/video/embed/\d+/
                        )
                        (?P<id>\d+)
                    r}   r   Nr   r   r   r   r   r   9  s    (GG FJLr   r   c                        \ rS rSrSrSrSrSrg)AbemaTVBaseIEi@  yt_dlp.extractor.abematvAbemaTVBaseabematvr   Nr   r   r    r!   r)   ro   rh   r"   r   r   r   r   r   @      (GGNr   r   c                   (    \ rS rSrSrSrSrSrSrSr	g)		AbemaTVIEiF  r   AbemaTVzWhttps?://abema\.tv/(?P<type>now-on-air|video/episode|channels/.+?/slots)/(?P<id>[^?/]+)r   r}   r   N
r   r   r    r!   r)   ro   rG   rh   r   r"   r   r   r   r  r  F  s    (GGkJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AbemaTVTitleIEiN  r   AbemaTVTitlezVhttps?://abema\.tv/video/title/(?P<id>[^?/#]+)/?(?:\?(?:[^#]+&)?s=(?P<season>[^&#]+))?r   r~   r   Nr  r   r   r   r  r  N  s    (GGkJNLr   r  c                       \ rS rSrSrSrSrg)AcFunVideoBaseIEiV  yt_dlp.extractor.acfunAcFunVideoBaser   Nr   r   r   r   r
  r
  V  s    &GGr   r
  c                   $    \ rS rSrSrSrSrSrSrg)AcFunBangumiIEi[  r  AcFunBangumiz0https?://www\.acfun\.cn/bangumi/(?P<id>aa[_\d]+)r}   r   Nr   r   r   r   r  r  [      &GGFJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AcFunVideoIEib  r  
AcFunVideoz*https?://www\.acfun\.cn/v/ac(?P<id>[_\d]+)r}   r   Nr   r   r   r   r  r  b  s    &GG@JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AcademicEarthCourseIEii  zyt_dlp.extractor.academicearthzAcademicEarth:Coursez?https?://(?:www\.)?academicearth\.org/playlists/(?P<id>[^?#/]+)r~   r   Nr   r   r   r   r  r  i  s    .G$GTJLr   r  c                        \ rS rSrSrSrSrSrg)AdobeConnectIEip  zyt_dlp.extractor.adobeconnectAdobeConnectz.https?://\w+\.adobeconnect\.com/(?P<id>[\w-]+)r   Nr   r   r   r   r  r  p  s    -GGEJr   r  c                   $    \ rS rSrSrSrSrSrSrg)AdobeTVVideoIEiv  zyt_dlp.extractor.adobetvadobetvz,https?://video\.tv\.adobe\.com/v/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  v  s    (GGCJLr   r  c                       \ rS rSrSrSrSrg)AdobePassIEi}  zyt_dlp.extractor.adobepass	AdobePassr   Nr   r   r   r   r  r  }  s    *GGr   r  c                       \ rS rSrSrSrSrg)TurnerBaseIEi  zyt_dlp.extractor.turner
TurnerBaser   Nr   r   r   r   r   r         'GGr   r   c                   $    \ rS rSrSrSrSrSrSrg)AdultSwimIEi  zyt_dlp.extractor.adultswim	AdultSwimz^https?://(?:www\.)?adultswim\.com/videos/(?P<show_path>[^/?#]+)(?:/(?P<episode_path>[^/?#]+))?r   r   Nr   r   r   r   r$  r$    s    *GGsJLr   r$  c                   $    \ rS rSrSrSrSrSrSrg)AeonCoIEi  zyt_dlp.extractor.aeoncoAeonCoz1https?://(?:www\.)?aeon\.co/videos/(?P<id>[^/?]+)r}   r   Nr   r   r   r   r'  r'    s    'GGFJLr   r'  c                        \ rS rSrSrSrSrSrg)AfreecaTVBaseIEi  yt_dlp.extractor.afreecatvAfreecaTVBase	afreecatvr   Nr   r   r   r   r*  r*        *GG Nr   r*  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
AfreecaTVCatchStoryIEi  r+  zsoop:catchstoryzOhttps?://vod\.(?:sooplive\.co\.kr|afreecatv\.com)/player/(?P<id>\d+)/catchstoryzsooplive.co.kr catch storyr-  r~   r   Nr   r   r   r   r0  r0    s     *GGgJ*G NLr   r0  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
AfreecaTVIEi  r+  soopzdhttps?://vod\.(?:sooplive\.co\.kr|afreecatv\.com)/(?:PLAYER/STATION|player)/(?P<id>\d+)/?(?:$|[?#&])zsooplive.co.krr-  r}   r   Nr   r   r   r   r2  r2    s     *GG|JG NLr   r2  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
AfreecaTVLiveIEi  r+  z	soop:livezThttps?://play\.(?:sooplive\.co\.kr|afreecatv\.com)/(?P<id>[^/?#]+)(?:/(?P<bno>\d+))?zsooplive.co.kr livestreamsr-  r}   r   Nr   r   r   r   r5  r5    s     *GGlJ*G NLr   r5  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AfreecaTVUserIEi  r+  z	soop:userz^https?://ch\.(?:sooplive\.co\.kr|afreecatv\.com)/(?P<id>[^/?#]+)/vods/?(?P<slug_type>[^/?#]+)?r-  r~   r   Nr  r   r   r   r7  r7    s    *GGuJ NLr   r7  c                   $    \ rS rSrSrSrSrSrSrg)AirTVIEi  zyt_dlp.extractor.airtvAirTVz*https?://www\.air\.tv/watch\?v=(?P<id>\w+)r}   r   Nr   r   r   r   r9  r9    s    &GGAJLr   r9  c                   $    \ rS rSrSrSrSrSrSrg)AitubeKZVideoIEi  zyt_dlp.extractor.aitubeAitubeKZVideozBhttps?://aitube\.kz/(?:video|embed/)\?(?:[^\?]+)?id=(?P<id>[\w-]+)r}   r   Nr   r   r   r   r<  r<    s    'GGYJLr   r<  c                   $    \ rS rSrSrSrSrSrSrg)AlJazeeraIEi  zyt_dlp.extractor.aljazeera	AlJazeerazhttps?://(?P<base>\w+\.aljazeera\.\w+)/(?P<type>programs?/[^/]+|(?:feature|video|new)s)?/\d{4}/\d{1,2}/\d{1,2}/(?P<id>[^/?&#]+)r}   r   Nr   r   r   r   r?  r?    s    *GG ZJLr   r?  c                   $    \ rS rSrSrSrSrSrSrg)AliExpressLiveIEi  zyt_dlp.extractor.aliexpressAliExpressLivez/https?://live\.aliexpress\.com/live/(?P<id>\d+)r}   r   Nr   r   r   r   rB  rB    s    +GGEJLr   rB  c                   $    \ rS rSrSrSrSrSrSrg)
AllocineIEi  zyt_dlp.extractor.allocineAllocinezhttps?://(?:www\.)?allocine\.fr/(?:article|video|film)/(?:fichearticle_gen_carticle=|player_gen_cmedia=|fichefilm_gen_cfilm=|video-)(?P<id>[0-9]+)(?:\.html)?r}   r   Nr   r   r   r   rE  rE    s    )GG tJLr   rE  c                       \ rS rSrSrSrSrg)AllstarBaseIEi  yt_dlp.extractor.allstarAllstarBaser   Nr   r   r   r   rH  rH        (GGr   rH  c                   $    \ rS rSrSrSrSrSrSrg)	AllstarIEi  rI  AllstarzUhttps?://(?:www\.)?allstar\.gg/(?P<type>(?:clip|montage))\?(?P=type)=(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   rM  rM    s    (GGkJLr   rM  c                   $    \ rS rSrSrSrSrSrSrg)AllstarProfileIEi  rI  AllstarProfilezDhttps?://(?:www\.)?allstar\.gg/(?:profile\?user=|u/)(?P<id>[^/?#&]+)r~   r   Nr   r   r   r   rP  rP    s    (GGZJLr   rP  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AlphaPornoIEi  zyt_dlp.extractor.alphaporno
AlphaPornoz7https?://(?:www\.)?alphaporno\.com/videos/(?P<id>[^/]+)r   r}   r   N
r   r   r    r!   r)   ro   rG   ru   r   r"   r   r   r   rS  rS    s    +GGLJILr   rS  c                       \ rS rSrSrSrSrg)Alsace20TVBaseIEi  yt_dlp.extractor.alsace20tvAlsace20TVBaser   Nr   r   r   r   rW  rW        +GGr   rW  c                   $    \ rS rSrSrSrSrSrSrg)Alsace20TVEmbedIEi  rX  Alsace20TVEmbedz1https?://(?:www\.)?alsace20\.tv/emb/(?P<id>[\w]+)r}   r   Nr   r   r   r   r\  r\        +GGGJLr   r\  c                   $    \ rS rSrSrSrSrSrSrg)Alsace20TVIEi  rX  
Alsace20TVz@https?://(?:www\.)?alsace20\.tv/(?:[\w-]+/)+[\w-]+-(?P<id>[\w]+)r}   r   Nr   r   r   r   r`  r`        +GGXJLr   r`  c                   $    \ rS rSrSrSrSrSrSrg)AltCensoredChannelIEi  yt_dlp.extractor.altcensoredzaltcensored:channelzIhttps?://(?:www\.)?altcensored\.com/channel/(?!page|table)(?P<id>[^/?#]+)r~   r   Nr   r   r   r   rd  rd    s    ,G#G^JLr   rd  c                   $    \ rS rSrSrSrSrSrSrg)AltCensoredIEi  re  altcensoredzGhttps?://(?:www\.)?altcensored\.com/(?:watch\?v=|embed/)(?P<id>[^/?#]+)r}   r   Nr   r   r   r   rg  rg        ,GG]JLr   rg  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AluraIEi  yt_dlp.extractor.aluraAlurazShttps?://(?:cursos\.)?alura\.com\.br/course/(?P<course_name>[^/]+)/task/(?P<id>\d+)alurar}   r   Nr  r   r   r   rk  rk    s    &GGjJNLr   rk  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )AluraCourseIEi%  rl  AluraCoursez9https?://(?:cursos\.)?alura\.com\.br/course/(?P<id>[^/]+)aluracoursec                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )rk  r<   r   r   s     r   r<   AluraCourseIE.suitable+  r   r   r   r   r   r    r!   r)   ro   rG   rh   r   r<   r"   r   r   s   @r   rp  rp  %  s+    &GGOJ"NI Ir   rp  c                       \ rS rSrSrSrSrg)DPlayBaseIEi0  yt_dlp.extractor.dplay	DPlayBaser   Nr   r   r   r   rw  rw  0  r   r   rw  c                       \ rS rSrSrSrSrg)DiscoveryPlusBaseIEi5  rx  DiscoveryPlusBaser   Nr   r   r   r   r{  r{  5  s    &G!Gr   r{  c                   $    \ rS rSrSrSrSrSrSrg)AmHistoryChannelIEi:  rx  AmHistoryChannelz9https?://(?:www\.)?ahctv\.com/video/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   r~  r~  :  s    &G GNJLr   r~  c                   $    \ rS rSrSrSrSrSrSrg)AmadeusTVIEiA  zyt_dlp.extractor.amadeustv	AmadeusTVz7https?://(?:www\.)?amadeus\.tv/library/(?P<id>[\da-f]+)r}   r   Nr   r   r   r   r  r  A      *GGMJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AmaraIEiH  zyt_dlp.extractor.amaraAmaraz9https?://(?:www\.)?amara\.org/(?:\w+/)?videos/(?P<id>\w+)r}   r   Nr   r   r   r   r  r  H  s    &GGPJLr   r  c                       \ rS rSrSrSrSrg)AmazonMiniTVBaseIEiO  yt_dlp.extractor.amazonminitvAmazonMiniTVBaser   Nr   r   r   r   r  r  O      -G Gr   r  c                   $    \ rS rSrSrSrSrSrSrg)AmazonMiniTVIEiT  r  AmazonMiniTVza(?:https?://(?:www\.)?amazon\.in/minitv/tp/|amazonminitv:(?:amzn1\.dv\.gti\.)?)(?P<id>[a-f0-9-]+)r}   r   Nr   r   r   r   r  r  T  s    -GGyJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AmazonMiniTVSeasonIEi[  r  zamazonminitv:seasonz;amazonminitv:season:(?:amzn1\.dv\.gti\.)?(?P<id>[a-f0-9-]+)z-Amazon MiniTV Season, "minitv:season:" prefixr~   r   Nr   r   r   r   r  r  [      -G#GQJ=GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AmazonMiniTVSeriesIEic  r  zamazonminitv:seriesz;amazonminitv:series:(?:amzn1\.dv\.gti\.)?(?P<id>[a-f0-9-]+)z-Amazon MiniTV Series, "minitv:series:" prefixr~   r   Nr   r   r   r   r  r  c  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)AmazonReviewsIEik  yt_dlp.extractor.amazonAmazonReviewsz^https?://(?:www\.)?amazon\.(?:[a-z]{2,3})(?:\.[a-z]{2})?/gp/customer-reviews/(?P<id>[^/&#$?]+)r}   r   Nr   r   r   r   r  r  k  s    'GGtJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AmazonStoreIEir  r  AmazonStorezghttps?://(?:www\.)?amazon\.(?:[a-z]{2,3})(?:\.[a-z]{2})?/(?:[^/]+/)?(?:dp|gp/product)/(?P<id>[^/&#$?]+)r~   r   Nr   r   r   r   r  r  r  s    'GG}JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AmericasTestKitchenIEiy  $yt_dlp.extractor.americastestkitchenAmericasTestKitchenzhttps?://(?:www\.)?(?:americastestkitchen|cooks(?:country|illustrated))\.com/(?:cooks(?:country|illustrated)/)?(?P<resource_type>episode|videos)/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  y  s    4G#G sJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AmericasTestKitchenSeasonIEi  r  AmericasTestKitchenSeasonzhttps?://(?:www\.)?(?P<show>americastestkitchen|(?P<cooks>cooks(?:country|illustrated)))\.com(?:(?:/(?P<show2>cooks(?:country|illustrated)))?(?:/?$|(?<!ated)(?<!ated\.com)/episodes/browse/season_(?P<season>\d+)))r~   r   Nr   r   r   r   r  r    s    4G)G lJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AnchorFMEpisodeIEi  zyt_dlp.extractor.anchorfmAnchorFMEpisodezXhttps?://anchor\.fm/(?P<channel_name>\w+)/(?:embed/)?episodes/[\w-]+-(?P<episode_id>\w+)r}   r   Nr   r   r   r   r  r    s    )GGoJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AngelIEi  zyt_dlp.extractor.angelAngelzhttps?://(?:www\.)?angel\.com/watch/(?P<series>[^/?#]+)/episode/(?P<id>[\w-]+)/season-(?P<season_number>\d+)/episode-(?P<episode_number>\d+)/(?P<title>[^/?#]+)r}   r   Nr   r   r   r   r  r    s    &GG xJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AnimalPlanetIEi  rx  AnimalPlanetz@https?://(?:www\.)?animalplanet\.com/video/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   r  r    s    &GGUJLr   r  c                       \ rS rSrSrSrSrg)AntennaBaseIEi  yt_dlp.extractor.antennaAntennaBaser   Nr   r   r   r   r  r    rK  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	Ant1NewsGrArticleIEi  r  zant1newsgr:articlez:https?://(?:www\.)?ant1news\.gr/[^/]+/article/(?P<id>\d+)/zant1news.gr articlesr   r   Nr   r   r   r   r  r    s    (G"GPJ$GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	Ant1NewsGrEmbedIEi  r  zant1newsgr:embedzo(?:https?:)?//(?:[a-zA-Z0-9\-]+\.)?(?:antenna|ant1news)\.gr/templates/pages/player\?([^#]+&)?cid=(?P<id>[^#&]+)zant1news.gr embedded videosr}   r   Nr   r   r   r   r  r    s    (G G GJ+GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AntennaGrWatchIEi  r  zantenna:watchzJhttps?://(?P<netloc>(?:www\.)?(?:antenna|ant1news)\.gr)/watch/(?P<id>\d+)/z!antenna.gr and ant1news.gr videosr}   r   Nr   r   r   r   r  r    s    (GG`J1GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AnvatoIEi  zyt_dlp.extractor.anvatoAnvatoz/anvato:(?P<access_key_or_mcp>[^:]+):(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    'GGCJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AparatIEi  zyt_dlp.extractor.aparatAparatzVhttps?://(?:www\.)?aparat\.com/(?:v/|video/video/embed/videohash/)(?P<id>[a-zA-Z0-9]+)r}   r   Nr   r   r   r   r  r    s    'GGkJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AppleConnectIEi  zyt_dlp.extractor.appleconnectAppleConnectzChttps?://itunes\.apple\.com/\w{0,2}/?post/(?:id)?sa\.(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r    s    -GG[JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ApplePodcastsIEi  zyt_dlp.extractor.applepodcastsApplePodcastszQhttps?://podcasts\.apple\.com/(?:[^/]+/)?podcast(?:/[^/]+){1,2}.*?\bi=(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    .GGhJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AppleTrailersIEi  yt_dlp.extractor.appletrailersappletrailerszahttps?://(?:www\.|movie)?trailers\.apple\.com/(?:trailers|ca)/(?P<company>[^/]+)/(?P<movie>[^/]+)r~   r   Nr   r   r   r   r  r    s    .GGwJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AppleTrailersSectionIEi  r  zappletrailers:sectionzlhttps?://(?:www\.)?trailers\.apple\.com/#section=(?P<id>justadded|exclusive|justhd|mostpopular|moviestudios)r~   r   Nr   r   r   r   r  r    s    .G%G CJLr   r  c                        \ rS rSrSrSrSrSrg)ArcPublishingIEi  zyt_dlp.extractor.arcpublishingArcPublishingzNarcpublishing:(?P<org>[a-z]+):(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})r   Nr   r   r   r   r  r    s    .GGdJr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ArchiveOrgIEi  yt_dlp.extractor.archiveorgzarchive.orgzKhttps?://(?:www\.)?archive\.org/(?:details|embed)/(?P<id>[^?#]+)(?:[?].*)?$zarchive.org video and audior   r   Nr   r   r   r   r  r    s    +GG`J+GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ArnesIEi  zyt_dlp.extractor.arneszvideo.arnes.sizjhttps?://video\.arnes\.si/(?:[a-z]{2}/)?(?:watch|embed|api/(?:asset|public/video))/(?P<id>[0-9a-zA-Z]{12})zArnes Videor}   r   Nr   r   r   r   r  r    s    &GGJGLr   r  c                   (    \ rS rSrSrSrSS/rSrSrg)	Art19IEi  yt_dlp.extractor.art19Art19zxhttps?://(?:www\.)?art19\.com/shows/[^/#?]+/episodes/(?P<id>[\da-f]{8}-?[\da-f]{4}-?[\da-f]{4}-?[\da-f]{4}-?[\da-f]{12})zjhttps?://rss\.art19\.com/episodes/(?P<id>[\da-f]{8}-?[\da-f]{4}-?[\da-f]{4}-?[\da-f]{4}-?[\da-f]{12})\.mp3r}   r   Nr   r   r   r   r  r    s&    &GG T  VJ  KJLr   r  c                   (    \ rS rSrSrSrSS/rSrSrg)	Art19ShowIEi   r  	Art19ShowzIhttps?://(?:www\.)?art19\.com/shows/(?P<id>[\w-]+)(?:/embed)?/?(?:$|[#?])z3https?://rss\.art19\.com/(?P<id>[\w-]+)/?(?:$|[#?])r~   r   Nr   r   r   r   r  r     s#    &GG`  c[  \JLr   r  c                       \ rS rSrSrSrSrg)ArteTVBaseIEi  yt_dlp.extractor.arte
ArteTVBaser   Nr   r   r   r   r  r    s    %GGr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )ArteTVCategoryIEi  r  ArteTVCategoryz_https?://(?:www\.)?arte\.tv/(?P<lang>fr|de|en|es|it|pl)/videos/(?P<id>[\w-]+(?:/[\w-]+)*)/?\s*$r~   c                 z   >^ [        U4S j[        [        4 5       5      (       + =(       a    [        TU ]  T5      $ )Nc              3   D   >#    U  H  oR                  T5      v   M     g 7fr-   r<   rB   ier;   s     r   rD   ,ArteTVCategoryIE.suitable.<locals>.<genexpr>  s     L/KKK$$/KrF   )r   ArteTVIEArteTVPlaylistIEr   r<   r   s    `r   r<   ArteTVCategoryIE.suitable  s3     L:J/KLLL & %	'r   r   r   r   s   @r   r  r    s)    %GGwJL' 'r   r  c                   $    \ rS rSrSrSrSrSrSrg)ArteTVEmbedIEi  r  ArteTVEmbedzDhttps?://(?:www\.)?arte\.tv/player/v\d+/index\.php\?.*?\bjson_url=.+r}   r   Nr   r   r   r   r  r    s    %GG]JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)r  i   r  ArteTVa~  (?x)
                    (?:https?://
                        (?:
                            (?:www\.)?arte\.tv/(?P<lang>fr|de|en|es|it|pl)/videos|
                            api\.arte\.tv/api/player/v\d+/config/(?P<lang_2>fr|de|en|es|it|pl)
                        )
                    |arte://program)
                        /(?P<id>\d{6}-\d{3}-[AF]|LIVE)
                    r}   r   Nr   r   r   r   r  r     s    %GG aJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)r  i'  r  ArteTVPlaylistzOhttps?://(?:www\.)?arte\.tv/(?P<lang>fr|de|en|es|it|pl)/videos/(?P<id>RC-\d{6})r~   r   Nr   r   r   r   r  r  '  s    %GGeJLr   r  c                       \ rS rSrSrSrSrg)AsobiChannelBaseIEi.  yt_dlp.extractor.asobichannelAsobiChannelBaser   Nr   r   r   r   r  r  .  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AsobiChannelIEi3  r  asobichannelz:https?://asobichannel\.asobistore\.jp/watch/(?P<id>[\w-]+)ASOBI CHANNELr}   r   Nr   r   r   r   r  r  3  s    -GGPJGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AsobiChannelTagURLIEi;  r  zasobichannel:tagz=https?://asobichannel\.asobistore\.jp/tag/(?P<id>[a-z0-9-_]+)r  r~   r   Nr   r   r   r   r  r  ;  s    -G GRJGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AsobiStageIEiC  zyt_dlp.extractor.asobistage
AsobiStagezqhttps?://asobistage\.asobistore\.jp/event/(?P<id>(?P<event>\w+)/(?P<type>archive|player)/(?P<slug>\w+))(?:[?#]|$)u"   ASOBISTAGE (アソビステージ)r~   r   Nr   r   r   r   r  r  C  s    +GG IJ2GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AtScaleConfEventIEiK  zyt_dlp.extractor.atscaleconfAtScaleConfEventzAhttps?://(?:www\.)?atscaleconference\.com/events/(?P<id>[^/&$?]+)r~   r   Nr   r   r   r   r  r  K  s    ,G GVJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AtresPlayerIEiR  zyt_dlp.extractor.atresplayerAtresPlayerz[https?://(?:www\.)?atresplayer\.com/(?:[^/?#]+/){4}(?P<display_id>.+?)_(?P<id>[0-9a-f]{24})atresplayerr}   r   Nr  r   r   r   r  r  R  s    ,GGpJ"NLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AudiMediaIEiZ  zyt_dlp.extractor.audimedia	AudiMediazYhttps?://(?:www\.)?audi-mediacenter\.com/(?:en|de)/audimediatv/(?:video/)?(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r  Z  s    *GGnJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AudioBoomIEia  zyt_dlp.extractor.audioboom	AudioBoomz?https?://(?:www\.)?audioboom\.com/(?:boos|posts)/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  a      *GGTJLr   r  c                       \ rS rSrSrSrSrg)AudiodraftBaseIEih  yt_dlp.extractor.audiodraftAudiodraftBaser   Nr   r   r   r   r	  r	  h  rZ  r   r	  c                   $    \ rS rSrSrSrSrSrSrg)AudiodraftCustomIEim  r
  zAudiodraft:customz6https?://(?:[-\w]+)\.audiodraft\.com/entry/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  m  s    +G!GMJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AudiodraftGenericIEit  r
  zAudiodraft:genericzEhttps?://www\.audiodraft\.com/contests/[^/#]+#entries&eid=(?P<id>\d+)r}   r   Nr   r   r   r   r  r  t  s    +G"G[JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AudiomackAlbumIEi{  yt_dlp.extractor.audiomackzaudiomack:albumzIhttps?://(?:www\.)?audiomack\.com/(?:album/|(?=.+/album/))(?P<id>[\w/-]+)r~   r   Nr   r   r   r   r  r  {  s    *GG_JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)AudiomackIEi  r  	audiomackzGhttps?://(?:www\.)?audiomack\.com/(?:song/|(?=.+/song/))(?P<id>[\w/-]+)r}   r   Nr   r   r   r   r  r    s    *GG]JLr   r  c                       \ rS rSrSrSrSrg)AudiusBaseIEi  yt_dlp.extractor.audius
AudiusBaser   Nr   r   r   r   r  r    r"  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AudiusIEi  r  Audiusz_(?x)https?://(?:www\.)?(?:audius\.co/(?P<uploader>[\w\d-]+)(?!/album|/playlist)/(?P<title>\S+))z	Audius.cor}   r   Nr   r   r   r   r  r    s    'GGwJGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AudiusPlaylistIEi  r  zaudius:playlistzVhttps?://(?:www\.)?audius\.co/(?P<uploader>[\w\d-]+)/(?:album|playlist)/(?P<title>\S+)zAudius.co playlistsr~   r   Nr   r   r   r   r  r    s    'GGnJ#GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AudiusProfileIEi  r  zaudius:artistz6https?://(?:www)?audius\.co/(?P<id>[^\/]+)/?(?:[?#]|$)zAudius.co profile/artist pagesr~   r   Nr   r   r   r   r   r     s    'GGKJ.GLr   r   c                   $    \ rS rSrSrSrSrSrSrg)AudiusTrackIEi  r  zaudius:trackzE(?x)(?:audius:)(?:https?://(?:www\.)?.+/v1/tracks/)?(?P<track_id>\w+)z3Audius track ID or API link. Prepend with "audius:"r   N	r   r   r    r!   r)   ro   rG   ri   r"   r   r   r   r"  r"    s    'GGZJCGr   r"  c                   $    \ rS rSrSrSrSrSrSrg)AxsIEi  zyt_dlp.extractor.axszaxs.tvzJhttps?://(?:www\.)?axs\.tv/(?:channel/(?:[^/?#]+/)+)?video/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r%  r%    s    $GG_JLr   r%  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BBCCoUkArticleIEi  yt_dlp.extractor.bbczbbc.co.uk:articlezGhttps?://(?:www\.)?bbc\.co\.uk/programmes/articles/(?P<id>[a-zA-Z0-9]+)zBBC articlesr~   r   Nr   r   r   r   r'  r'    s    $G!G]JGLr   r'  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
	BBCCoUkIEi  r(  z	bbc.co.uka#  (?x)
                    https?://
                        (?:www\.)?bbc\.co\.uk/
                        (?:
                            programmes/(?!articles/)|
                            iplayer(?:/[^/]+)?/(?:episode/|playlist/)|
                            music/(?:clips|audiovideo/popular)[/#]|
                            radio/player/|
                            events/[^/]+/play/[^/]+/
                        )
                        (?P<id>(?:[pbml][\da-z]{7}|w[\da-z]{7,14}))(?!/(?:episodes|broadcasts|clips))
                    zBBC iPlayerbbcr}   r   Nr   r   r   r   r*  r*    s#    $GG G	JGNLr   r*  c                       \ rS rSrSrSrSrg)BBCCoUkIPlayerPlaylistBaseIEi  r(  BBCCoUkIPlayerPlaylistBaser   Nr   r   r   r   r-  r-    s    $G*Gr   r-  c                   $    \ rS rSrSrSrSrSrSrg)BBCCoUkIPlayerEpisodesIEi  r(  zbbc.co.uk:iplayer:episodesz[https?://(?:www\.)?bbc\.co\.uk/iplayer/episodes/(?P<id>(?:[pbml][\da-z]{7}|w[\da-z]{7,14}))r~   r   Nr   r   r   r   r0  r0    s    $G*GsJLr   r0  c                   $    \ rS rSrSrSrSrSrSrg)BBCCoUkIPlayerGroupIEi  r(  zbbc.co.uk:iplayer:groupzXhttps?://(?:www\.)?bbc\.co\.uk/iplayer/group/(?P<id>(?:[pbml][\da-z]{7}|w[\da-z]{7,14}))r~   r   Nr   r   r   r   r2  r2    s    $G'GpJLr   r2  c                       \ rS rSrSrSrSrg)BBCCoUkPlaylistBaseIEi  r(  BBCCoUkPlaylistBaser   Nr   r   r   r   r4  r4        $G#Gr   r4  c                   $    \ rS rSrSrSrSrSrSrg)BBCCoUkPlaylistIEi  r(  zbbc.co.uk:playlistzshttps?://(?:www\.)?bbc\.co\.uk/programmes/(?P<id>(?:[pbml][\da-z]{7}|w[\da-z]{7,14}))/(?:episodes|broadcasts|clips)r~   r   Nr   r   r   r   r8  r8    s    $G"G LJLr   r8  c                   J   ^  \ rS rSrSrSrSrSrSrSr	\
U 4S j5       rSrU =r$ )	BBCIEi  r(  r+  a  (?x)
        https?://(?:www\.)?(?:
            bbc\.(?:com|co\.uk)|
            bbcnewsd73hkzno2ini43t4gblxvycyac5aw4gnv7t2rccijh7745uqd\.onion|
            bbcweb3hytmzhn5d532owbu6oqadra5z3ar726vq5kgwwn6aucdccrad\.onion
        )/(?:[^/]+/)+(?P<id>[^/#?]+)BBCr   c                    >^ [         [        [        [        [        4n[        U4S jU 5       5      (       a  S$ [        TU ]  T5      $ )Nc              3   D   >#    U  H  oR                  T5      v   M     g 7fr-   r  r  s     r   rD   !BBCIE.suitable.<locals>.<genexpr>  s     C
"[[--
rF   F)r*  r'  r0  r2  r8  r   r   r<   )r   r;   
EXCLUDE_IEr   s    ` r   r<   BBCIE.suitable  sA    !13KMbduv
C
CCC 	,W%c*	,r   r   r   r   r    r!   r)   ro   rG   ri   rh   r   r   r<   r"   r   r   s   @r   r:  r:    s6    $GG `JGNL, ,r   r:  c                       \ rS rSrSrSrSrg)ZattooPlatformBaseIEi  yt_dlp.extractor.zattooZattooPlatformBaser   Nr   r   r   r   rC  rC        'G"Gr   rC  c                        \ rS rSrSrSrSrSrg)BBVTVBaseIEi  rD  	BBVTVBasebbvtvr   Nr   r   r   r   rH  rH        'GGNr   rH  c                   $    \ rS rSrSrSrSrSrSrg)BBVTVIEi  rD  BBVTVz(?x)https?://(?:www\.)?bbv\-tv\.net/(?:
        [^?#]+\?(?:[^#]+&)?program=(?P<vid2>\d+)
        |(?:program|watch)/[^/]+/(?P<vid1>\d+)
    )rJ  r   N	r   r   r    r!   r)   ro   rG   rh   r"   r   r   r   rM  rM    s    'GG jJNr   rM  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )BBVTVLiveIEi  rD  	BBVTVLivez(?x)https?://(?:www\.)?bbv\-tv\.net/(?:
        [^?#]+\?(?:[^#]+&)?channel=(?P<vid2>[^/?&#]+)
        |live/(?P<vid1>[^/?&#]+)
    )rJ  c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )rM  r<   r   r   s     r   r<   BBVTVLiveIE.suitable  r   r   r   ru  r   s   @r   rQ  rQ    s.    'GG _JNI Ir   rQ  c                   $    \ rS rSrSrSrSrSrSrg)BBVTVRecordingsIEi  rD  BBVTVRecordingszs(?x)https?://(?:www\.)?bbv\-tv\.net/(?:
        [^?#]+\?(?:[^#]+&)?recording=(?P<vid2>\d+)
        (?P<vid1>)
    )rJ  r   NrO  r   r   r   rV  rV    s    'GG OJNr   rV  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BFIPlayerIEi  zyt_dlp.extractor.bfiz
bfi:playerzDhttps?://player\.bfi\.org\.uk/[^/]+/film/watch-(?P<id>[\w-]+)-onlineFr}   r   N
r   r   r    r!   r)   ro   rG   rP   r   r"   r   r   r   rY  rY    s    $GG[JHLr   rY  c                       \ rS rSrSrSrSrg)BFMTVBaseIEi  yt_dlp.extractor.bfmtv	BFMTVBaser   Nr   r   r   r   r\  r\    r   r   r\  c                   $    \ rS rSrSrSrSrSrSrg)BFMTVArticleIEi$  r]  zbfmtv:articlezShttps?://(?:www\.|rmc\.)?bfmtv\.com/(?:[^/]+/)*[^/?&#]+_A[A-Z]-(?P<id>\d{12})\.htmlr   r   Nr   r   r   r   r`  r`  $  s    &GGkJLr   r`  c                   $    \ rS rSrSrSrSrSrSrg)BFMTVIEi+  r]  bfmtvzShttps?://(?:www\.|rmc\.)?bfmtv\.com/(?:[^/]+/)*[^/?&#]+_V[A-Z]-(?P<id>\d{12})\.htmlr}   r   Nr   r   r   r   rb  rb  +  s    &GGkJLr   rb  c                   $    \ rS rSrSrSrSrSrSrg)BFMTVLiveIEi2  r]  z
bfmtv:livez@https?://(?:www\.|rmc\.)?bfmtv\.com/(?P<id>(?:[^/]+/)?en-direct)r}   r   Nr   r   r   r   re  re  2  s    &GGVJLr   re  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
BRIEi9  zyt_dlp.extractor.brBRza(?P<base_url>https?://(?:www\.)?br(?:-klassik)?\.de)/(?:[a-z0-9\-_]+/)+(?P<id>[a-z0-9\-_]+)\.htmlFzBayerischer Rundfunkr}   r   Nr   r   r    r!   r)   ro   rG   rP   ri   r   r"   r   r   r   rg  rg  9  s     #GGyJH$GLr   rg  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BTArticleIEiB  yt_dlp.extractor.vgtvz
bt:articlez<https?://(?:www\.)?bt\.no/(?:[^/]+/)+(?P<id>[^/]+)-\d+\.htmlzBergens Tidende Articlesr}   r   Nr   r   r   r   rk  rk  B  s    %GGSJ(GLr   rk  c                   $    \ rS rSrSrSrSrSrSrg)	BTVPlusIEiJ  zyt_dlp.extractor.btvplusBTVPluszQhttps?://(?:www\.)?btvplus\.bg/produkt/(?:predavaniya|seriali|novini)/(?P<id>\d+)r}   r   Nr   r   r   r   rn  rn  J  s    (GGgJLr   rn  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BTVestlendingenIEiQ  rl  zbt:vestlendingenz>https?://(?:www\.)?bt\.no/spesial/vestlendingen/#!/(?P<id>\d+)zBergens Tidende - Vestlendingenr}   r   Nr   r   r   r   rq  rq  Q  s    %G GTJ/GLr   rq  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BYUtvIEiY  zyt_dlp.extractor.byutvBYUtvzihttps?://(?:www\.)?byutv\.org/(?:watch|player)/(?!event/)(?P<id>[0-9a-f-]+)(?:/(?P<display_id>[^/?#&]+))?Fr}   r   NrZ  r   r   r   rs  rs  Y  s    &GG~JHLr   rs  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BaiduVideoIEia  zyt_dlp.extractor.baidu
BaiduVideoz8https?://v\.baidu\.com/(?P<type>[a-z]+)/(?P<id>\d+)\.htmu   百度视频r~   r   Nr   r   r   r   rv  rv  a  s    &GGOJGLr   rv  c                       \ rS rSrSrSrSrg)BanByeBaseIEii  yt_dlp.extractor.banbye
BanByeBaser   Nr   r   r   r   ry  ry  i  r"  r   ry  c                   $    \ rS rSrSrSrSrSrSrg)BanByeChannelIEin  rz  BanByeChannelz:https?://(?:www\.)?banbye\.com/(?:en/)?channel/(?P<id>\w+)r~   r   Nr   r   r   r   r}  r}  n  s    'GGPJLr   r}  c                   $    \ rS rSrSrSrSrSrSrg)BanByeIEiu  rz  BanByez;https?://(?:www\.)?banbye\.com/(?:en/)?watch/(?P<id>[\w-]+)r   r   Nr   r   r   r   r  r  u  s    'GGQJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
BandcampIEi|  yt_dlp.extractor.bandcampBandcampzBhttps?://(?P<uploader>[^/]+)\.bandcamp\.com/track/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r  r  |      )GGWJLr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )BandcampAlbumIEi  r  zBandcamp:albumzHhttps?://(?:(?P<subdomain>[^.]+)\.)?bandcamp\.com/album/(?P<id>[^/?#&]+)r~   c                    > [         R                  U5      (       d  [        R                  U5      (       a  S$ [        TU ]  U5      $ r   )BandcampWeeklyIEr<   r  r   r   s     r   r<   BandcampAlbumIE.suitable  sB     $,,S11Z5H5H5M5M  	,W%c*	,r   r   r   r   s   @r   r  r    s)    )GG]JL, ,r   r  c                   $    \ rS rSrSrSrSrSrSrg)BandcampUserIEi  r  zBandcamp:userzEhttps?://(?!www\.)(?P<id>[^.]+)\.bandcamp\.com(?:/music)?/?(?:[#?]|$)r~   r   Nr   r   r   r   r  r    s    )GG[JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)r  i  r  zBandcamp:weeklyz=https?://(?:www\.)?bandcamp\.com/?\?(?:.*?&)?show=(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    )GGTJLr   r  c                       \ rS rSrSrSrSrg)BandlabBaseIEi  yt_dlp.extractor.bandlabBandlabBaser   Nr   r   r   r   r  r    rK  r   r  c                   (    \ rS rSrSrSrSS/rSrSrg)		BandlabIEi  r  BandlabzShttps?://(?:www\.)?bandlab.com/(?P<url_type>track|post|revision)/(?P<id>[\da-f_-]+)zThttps?://(?:www\.)?bandlab.com/(?P<url_type>embed)/\?(?:[^#]*&)?id=(?P<id>[\da-f-]+)r}   r   Nr   r   r   r   r  r    s#    (GGi  lE  FJLr   r  c                   (    \ rS rSrSrSrSS/rSrSrg)	BandlabPlaylistIEi  r  BandlabPlaylistzXhttps?://(?:www\.)?bandlab.com/(?:[\w]+/)?(?P<type>albums|collections)/(?P<id>[\da-f-]+)z[https?://(?:www\.)?bandlab.com/(?P<type>embed)/collection/\?(?:[^#]*&)?id=(?P<id>[\da-f-]+)r~   r   Nr   r   r   r   r  r    s#    (GGo  rR  SJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BannedVideoIEi  zyt_dlp.extractor.bannedvideoBannedVideoz<https?://(?:www\.)?banned\.video/watch\?id=(?P<id>[0-f]{24})r}   r   Nr   r   r   r   r  r        ,GGRJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
BeaconTvIEi  zyt_dlp.extractor.beaconBeaconTvz4https?://(?:www\.)?beacon\.tv/content/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r    s    'GGJJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BeatBumpPlaylistIEi  yt_dlp.extractor.beatbumpBeatBumpPlaylistzMhttps?://beatbump\.(?:ml|io)/(?:release\?id=|artist/|playlist/)(?P<id>[\w-]+)r~   r   Nr   r   r   r   r  r    s    )G GcJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BeatBumpVideoIEi  r  BeatBumpVideoz6https?://beatbump\.(?:ml|io)/listen\?id=(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r    s    )GGLJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
BeatportIEi  zyt_dlp.extractor.beatportBeatportzQhttps?://(?:www\.|pro\.)?beatport\.com/track/(?P<display_id>[^/]+)/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r        )GGgJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BeegIEi  zyt_dlp.extractor.beegBeegz9https?://(?:www\.)?beeg\.(?:com(?:/video)?)/-?(?P<id>\d+)r   r}   r   NrU  r   r   r   r  r    s    %GGOJILr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
BehindKinkIEi  zyt_dlp.extractor.behindkink
BehindKinkzlhttps?://(?:www\.)?behindkink\.com/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<day>[0-9]{2})/(?P<id>[^/#?_]+)Fr   r}   r   Nr   r   r    r!   r)   ro   rG   rP   ru   r   r"   r   r   r   r  r    s#    +GG BJHILr   r  c                   $    \ rS rSrSrSrSrSrSrg)
BerufeTVIEi  zyt_dlp.extractor.berufetvBerufeTVzUhttps?://(?:www\.)?web\.arbeitsagentur\.de/berufetv/[^?#]+/film;filmId=(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r    s    )GGlJLr   r  c                       \ rS rSrSrSrSrg)MTVServicesBaseIEi  yt_dlp.extractor.mtvMTVServicesBaser   Nr   r   r   r   r  r        $GGr   r  c                   $    \ rS rSrSrSrSrSrSrg)BetIEi  zyt_dlp.extractor.betBetzGhttps?://(?:www\.)?bet\.com/(?:video-clips|episodes)/(?P<id>[\da-z]{6})r}   r   Nr   r   r   r   r  r        $GG]JLr   r  c                       \ rS rSrSrSrSrg)BibelTVBaseIEi  yt_dlp.extractor.bibeltvBibelTVBaser   Nr   r   r   r   r  r    rK  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BibelTVLiveIEi  r  zbibeltv:livez9https?://(?:www\.)?bibeltv\.de/livestreams/(?P<id>[\w-]+)zBibelTV live programr}   r   Nr   r   r   r   r  r    s    (GGOJ$GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BibelTVSeriesIEi  r  zbibeltv:serieszAhttps?://(?:www\.)?bibeltv\.de/mediathek/serien/(?P<id>\d+)[\w-]+zBibelTV series playlistr~   r   Nr   r   r   r   r  r    s    (GGXJ'GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BibelTVVideoIEi  r  zbibeltv:videozAhttps?://(?:www\.)?bibeltv\.de/mediathek/videos/(?P<id>\d+)[\w-]+zBibelTV single videor}   r   Nr   r   r   r   r  r    s    (GGXJ$GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	BigflixIEi  zyt_dlp.extractor.bigflixBigflixz1https?://(?:www\.)?bigflix\.com/.+/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r    s    (GGFJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BigoIEi  zyt_dlp.extractor.bigoBigoz8https?://(?:www\.)?bigo\.tv/(?:[a-z]{2,}/)?(?P<id>[^/]+)r}   r   Nr   r   r   r   r  r    s    %GGMJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BildIEi#  zyt_dlp.extractor.bildBildzchttps?://(?:www\.)?bild\.de/(?:[^/]+/)+(?P<display_id>[^/]+)-(?P<id>\d+)(?:,auto=true)?\.bild\.htmlzBild.der}   r   Nr   r   r   r   r  r  #  s    %GG{JGLr   r  c                       \ rS rSrSrSrSrg)BilibiliBaseIEi+  yt_dlp.extractor.bilibiliBilibiliBaser   Nr   r   r   r   r  r  +      )GGr   r  c                   $    \ rS rSrSrSrSrSrSrg)BiliBiliBangumiIEi0  r  BiliBiliBangumiz;https?://(?:www\.)?bilibili\.com/bangumi/play/ep(?P<id>\d+)r}   r   Nr   r   r   r   r  r  0  s    )GGQJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BiliBiliBangumiMediaIEi7  r  BiliBiliBangumiMediaz<https?://(?:www\.)?bilibili\.com/bangumi/media/md(?P<id>\d+)r~   r   Nr   r   r   r   r  r  7  s    )G$GRJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BiliBiliBangumiSeasonIEi>  r  BiliBiliBangumiSeasonz?(?x)https?://(?:www\.)?bilibili\.com/bangumi/play/ss(?P<id>\d+)r~   r   Nr   r   r   r   r  r  >  s    )G%GUJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BiliBiliDynamicIEiE  r  BiliBiliDynamiczFhttps?://(?:t\.bilibili\.com|(?:www\.)?bilibili\.com/opus)/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  E  s    )GG^JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
BiliBiliIEiL  r  BiliBilizthttps?://(?:www\.)?bilibili\.com/(?:video/|festival/[^/?#]+\?(?:[^#]*&)?bvid=)(?P<prefix>[aAbB][vV])(?P<id>[^/?#&]+)r   r   Nr   r   r   r   r  r  L  s    )GG KJLr   r  c                        \ rS rSrSrSrSrSrg)BiliBiliPlayerIEiS  r  BiliBiliPlayerzAhttps?://player\.bilibili\.com/player\.html\?.*?\baid=(?P<id>\d+)r   Nr   r   r   r   r  r  S  s    )GGZJr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
BiliBiliSearchIEiY  r  BiliBiliSearchz9bilisearch(?P<prefix>|[1-9][0-9]*|all):(?P<query>[\s\S]+)zBilibili video search
bilisearchr~   r   Nr   r   r    r!   r)   ro   rG   ri   rj   r   r"   r   r   r   r  r  Y  s     )GGNJ%GJLr   r  c                        \ rS rSrSrSrSrSrg)BiliIntlBaseIEib  r  BiliIntlBasebiliintlr   Nr   r   r   r   r  r  b      )GGNr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
BiliIntlIEih  r  BiliIntlzzhttps?://(?:www\.)?bili(?:bili\.tv|intl\.com)/(?:[a-zA-Z]{2}/)?(play/(?P<season_id>\d+)/(?P<ep_id>\d+)|video/(?P<aid>\d+))r  r}   r   Nr  r   r   r   r  r  h  s    )GG TJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BiliIntlSeriesIEip  r  zbiliIntl:serieszehttps?://(?:www\.)?bili(?:bili\.tv|intl\.com)/(?:[a-zA-Z]{2}/)?(?:play|media)/(?P<id>\d+)/?(?:[?#]|$)r  r~   r   Nr  r   r   r   r  r  p  s    )GG|JNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
BiliLiveIEix  r  BiliLivez3https?://live\.bilibili\.com/(?:blanc/)?(?P<id>\d+)r}   r   Nr   r   r   r   r  r  x  s    )GGIJLr   r  c                       \ rS rSrSrSrSrg)BilibiliAudioBaseIEi  r  BilibiliAudioBaser   Nr   r   r   r   r  r        )G!Gr   r  c                   $    \ rS rSrSrSrSrSrSrg)BilibiliAudioAlbumIEi  r  BilibiliAudioAlbumz4https?://(?:www\.)?bilibili\.com/audio/am(?P<id>\d+)r~   r   Nr   r   r   r   r  r    s    )G"GJJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BilibiliAudioIEi  r  BilibiliAudioz4https?://(?:www\.)?bilibili\.com/audio/au(?P<id>\d+)r}   r   Nr   r   r   r   r  r        )GGJJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BilibiliCategoryIEi  r  zBilibili category extractorz7https?://(?:www\.)?bilibili\.com/v/[a-zA-Z]+\/[a-zA-Z]+r~   r   Nr   r   r   r   r  r    s    )G+GMJLr   r  c                       \ rS rSrSrSrSrg)BilibiliCheeseBaseIEi  r  BilibiliCheeseBaser   Nr   r   r   r   r  r    s    )G"Gr   r  c                   $    \ rS rSrSrSrSrSrSrg)BilibiliCheeseIEi  r  BilibiliCheesez:https?://(?:www\.)?bilibili\.com/cheese/play/ep(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    )GGPJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BilibiliCheeseSeasonIEi  r  BilibiliCheeseSeasonz:https?://(?:www\.)?bilibili\.com/cheese/play/ss(?P<id>\d+)r~   r   Nr   r   r   r   r  r    s    )G$GPJLr   r  c                       \ rS rSrSrSrSrg)BilibiliSpaceBaseIEi  r  BilibiliSpaceBaser   Nr   r   r   r   r  r    r  r   r  c                       \ rS rSrSrSrSrg)BilibiliSpaceListBaseIEi  r  BilibiliSpaceListBaser   Nr   r   r   r   r  r    s    )G%Gr   r  c                   F   ^  \ rS rSrSrSrSS/rSr\U 4S j5       r	Sr
U =r$ )	BilibiliCollectionListIEi  r  BilibiliCollectionListzWhttps?://space\.bilibili\.com/(?P<mid>\d+)/channel/collectiondetail/?\?sid=(?P<sid>\d+)z=https?://space\.bilibili\.com/(?P<mid>\d+)/lists/(?P<sid>\d+)r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )BilibiliSeriesListIEr<   r   r   s     r   r<   !BilibiliCollectionListIE.suitable  )    ,55c::uU@PQT@UUr   r   r   r   s   @r   r  r    s8    )G&Gp  sv  wJLV Vr   r  c                   $    \ rS rSrSrSrSrSrSrg)BilibiliFavoritesListIEi  r  BilibiliFavoritesListzlhttps?://(?:space\.bilibili\.com/\d+/favlist/?\?fid=|(?:www\.)?bilibili\.com/medialist/detail/ml)(?P<id>\d+)r~   r   Nr   r   r   r   r  r    s    )G%G GJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BilibiliPlaylistIEi  r  BilibiliPlaylistzDhttps?://(?:www\.)?bilibili\.com/(?:medialist/play|list)/(?P<id>\w+)r   r   Nr   r   r   r   r!  r!    s    )G GZJLr   r!  c                   (    \ rS rSrSrSrSS/rSrSrg)	r  i  r  BilibiliSeriesListzUhttps?://space\.bilibili\.com/(?P<mid>\d+)/channel/seriesdetail/?\?\bsid=(?P<sid>\d+)zahttps?://space\.bilibili\.com/(?P<mid>\d+)/lists/(?P<sid>\d+)/?\?(?:[^#]+&)?type=series(?:[&#]|$)r~   r   Nr   r   r   r   r  r    s#    )G"Go  rZ  [JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BilibiliSpaceAudioIEi  r  BilibiliSpaceAudioz;https?://space\.bilibili\.com/(?P<id>\d+)/(?:upload/)?audior~   r   Nr   r   r   r   r&  r&    s    )G"GQJLr   r&  c                   $    \ rS rSrSrSrSrSrSrg)BilibiliSpaceVideoIEi  r  BilibiliSpaceVideozShttps?://space\.bilibili\.com/(?P<id>\d+)(?P<video>(?:/upload)?/video)?/?(?:[?#]|$)r~   r   Nr   r   r   r   r)  r)    s    )G"GiJLr   r)  c                   $    \ rS rSrSrSrSrSrSrg)BilibiliWatchlaterIEi  r  BilibiliWatchlaterz7https?://(?:www\.)?bilibili\.com/watchlater/?(?:[?#]|$)r~   r   Nr   r   r   r   r,  r,    s    )G"GLJLr   r,  c                   $    \ rS rSrSrSrSrSrSrg)BioBioChileTVIEi  zyt_dlp.extractor.biobiochiletvBioBioChileTVzWhttps?://(?:tv|www)\.biobiochile\.cl/(?:notas|noticias)/(?:[^/]+/)+(?P<id>[^/]+)\.shtmlr}   r   Nr   r   r   r   r/  r/    s    .GGmJLr   r/  c                   $    \ rS rSrSrSrSrSrSrg)BitChuteChannelIEi  yt_dlp.extractor.bitchuteBitChuteChannelzThttps?://(?:(?:www|old)\.)?bitchute\.com/(?P<type>channel|playlist)/(?P<id>[^/?#&]+)r~   r   Nr   r   r   r   r2  r2    s    )GGiJLr   r2  c                   $    \ rS rSrSrSrSrSrSrg)
BitChuteIEi  r3  BitChutezYhttps?://(?:(?:www|old)\.)?bitchute\.com/(?:video|embed|torrent/[^/?#]+)/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r6  r6    s    )GGnJLr   r6  c                   $    \ rS rSrSrSrSrSrSrg)BlackboardCollaborateIEi   &yt_dlp.extractor.blackboardcollaborateBlackboardCollaboratea,  (?x)
                        https?://
                        (?P<region>[a-z]+)(?:-lti)?\.bbcollab\.com/
                        (?:
                            collab/ui/session/playback/load|
                            recording
                        )/
                        (?P<id>[^/?#]+)r}   r   Nr   r   r   r   r9  r9     s    6G%G IJLr   r9  c                        \ rS rSrSrSrSrSrg)BlackboardCollaborateLaunchIEi  r:  BlackboardCollaborateLaunchz5https?://[a-z]+\.bbcollab\.com/launch/(?P<id>[^/?#]+)r   Nr   r   r   r   r=  r=    s    6G+GJJr   r=  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BleacherReportCMSIEi  yt_dlp.extractor.bleacherreportBleacherReportCMSzRhttps?://(?:www\.)?bleacherreport\.com/video_embed\?id=(?P<id>[0-9a-f-]{36}|\d{5})Fr}   r   NrZ  r   r   r   r@  r@    s    /G!GiJHLr   r@  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BleacherReportIEi  rA  BleacherReportz;https?://(?:www\.)?bleacherreport\.com/articles/(?P<id>\d+)Fr}   r   NrZ  r   r   r   rD  rD    s    /GGQJHLr   rD  c                   $    \ rS rSrSrSrSrSrSrg)BlerpIEi  zyt_dlp.extractor.blerpblerpz=https?://(?:www\.)?blerp\.com/soundbites/(?P<id>[0-9a-zA-Z]+)r}   r   Nr   r   r   r   rG  rG    s    &GGRJLr   rG  c                   $    \ rS rSrSrSrSrSrSrg)BlobIEi$  yt_dlp.extractor.commonmistakesBlobzblob:Fr   Nr#  r   r   r   rJ  rJ  $  s    /GGJGr   rJ  c                   $    \ rS rSrSrSrSrSrSrg)	BloggerIEi+  zyt_dlp.extractor.bloggerzblogger.comz:https?://(?:www\.)?blogger\.com/video\.g\?token=(?P<id>.+)r}   r   Nr   r   r   r   rN  rN  +  s    (GGQJLr   rN  c                   $    \ rS rSrSrSrSrSrSrg)BloombergIEi2  zyt_dlp.extractor.bloomberg	Bloombergz<https?://(?:www\.)?bloomberg\.com/(?:[^/]+/)*(?P<id>[^/?#]+)r}   r   Nr   r   r   r   rP  rP  2  s    *GGQJLr   rP  c                   ,    \ rS rSrSrSrSS/rSrSrSr	g	)
	BlueskyIEi9  zyt_dlp.extractor.blueskyBlueskyz_https?://(?:www\.)?(?:bsky\.app|main\.bsky\.dev)/profile/(?P<handle>[\w.:%-]+)/post/(?P<id>\w+)z<at://(?P<handle>[\w.:%-]+)/app\.bsky\.feed\.post/(?P<id>\w+)r   r   r   NrU  r   r   r   rS  rS  9  s(    (GGy  |  @JILr   rS  c                       \ rS rSrSrSrSrg)BokeCCBaseIEiA  yt_dlp.extractor.bokecc
BokeCCBaser   Nr   r   r   r   rV  rV  A  r"  r   rV  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BokeCCIEiF  rW  BokeCCz8https?://union\.bokecc\.com/playvideo\.bo\?(?P<query>.*)u   CC视频r}   r   Nr   r   r   r   rZ  rZ  F  s    'GGOJGLr   rZ  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BongaCamsIEiN  zyt_dlp.extractor.bongacams	BongaCamszIhttps?://(?P<host>(?:[^/]+\.)?bongacams\d*\.(?:com|net))/(?P<id>[^/?&#]+)r   r}   r   NrU  r   r   r   r]  r]  N  s    *GG_JILr   r]  c                   $    \ rS rSrSrSrSrSrSrg)BoostyIEiV  zyt_dlp.extractor.boostyBoostyzJhttps?://(?:www\.)?boosty\.to/(?P<user>[^/#?]+)/posts/(?P<post_id>[^/#?]+)r   r   Nr   r   r   r   r`  r`  V  s    'GG_JLr   r`  c                   $    \ rS rSrSrSrSrSrSrg)BostonGlobeIEi]  zyt_dlp.extractor.bostonglobeBostonGlobezG(?i)https?://(?:www\.)?bostonglobe\.com/.*/(?P<id>[^/]+)/\w+(?:\.html)?r}   r   Nr   r   r   r   rc  rc  ]  s    ,GG^JLr   rc  c                   $    \ rS rSrSrSrSrSrSrg)BoxCastVideoIEid  zyt_dlp.extractor.boxcastBoxCastVideoz(?x)
        https?://boxcast\.tv/(?:
            view-embed/|
            channel/\w+\?(?:[^#]+&)?b=|
            video-portal/(?:\w+/){2}
        )(?P<id>[\w-]+)r}   r   Nr   r   r   r   rf  rf  d  s    (GG AJLr   rf  c                   $    \ rS rSrSrSrSrSrSrg)BoxIEik  zyt_dlp.extractor.boxBoxzdhttps?://(?:[^.]+\.)?(?P<service>app|ent)\.box\.com/s/(?P<shared_name>[^/?#]+)(?:/file/(?P<id>\d+))?r}   r   Nr   r   r   r   ri  ri  k  s    $GG{JLr   ri  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BpbIEir  zyt_dlp.extractor.bpbBpbzBhttps?://(?:www\.|m\.)?bpb\.de/(?:[^/?#]+/)*(?P<id>\d+)(?:[/?#]|$)u&   Bundeszentrale für politische Bildungr}   r   Nr   r   r   r   rl  rl  r  s    $GGYJ6GLr   rl  c                   $    \ rS rSrSrSrSrSrSrg)BrainPOPBaseIEiz  yt_dlp.extractor.brainpopBrainPOPBase'/(?P<slug>[^/]+/[^/]+/(?P<id>[^/?#&]+))brainpopr   NrO  r   r   r   ro  ro  z  s    )GG:JNr   ro  c                   $    \ rS rSrSrSrSrSrSrg)BrainPOPLegacyBaseIEi  rp  BrainPOPLegacyBaserr  rs  r   NrO  r   r   r   ru  ru    s    )G"G:JNr   ru  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BrainPOPELLIEi  rp  BrainPOPELLzBhttps?://ell\.brainpop\.com/(?P<slug>[^/]+/[^/]+/(?P<id>[^/?#&]+))rs  r}   r   Nr  r   r   r   rx  rx    s    )GGWJNLr   rx  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
BrainPOPEspIEi  rp  BrainPOPEspzBhttps?://esp\.brainpop\.com/(?P<slug>[^/]+/[^/]+/(?P<id>[^/?#&]+))u   BrainPOP Españolrs  r}   r   Nr   r   r   r   r{  r{    s     )GGWJ!GNLr   r{  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
BrainPOPFrIEi  rp  
BrainPOPFrzAhttps?://fr\.brainpop\.com/(?P<slug>[^/]+/[^/]+/(?P<id>[^/?#&]+))u   BrainPOP Françaisrs  r}   r   Nr   r   r   r   r~  r~    s     )GGVJ"GNLr   r~  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
BrainPOPIEi  rp  BrainPOPzGhttps?://(?:www\.)?brainpop\.com/(?P<slug>[^/]+/[^/]+/(?P<id>[^/?#&]+))rs  r}   r   Nr  r   r   r   r  r    s    )GG\JNLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
BrainPOPIlIEi  rp  
BrainPOPIlzAhttps?://il\.brainpop\.com/(?P<slug>[^/]+/[^/]+/(?P<id>[^/?#&]+))zBrainPOP Hebrewrs  r}   r   Nr   r   r   r   r  r    s     )GGVJGNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	BrainPOPJrIEi  rp  
BrainPOPJrzAhttps?://jr\.brainpop\.com/(?P<slug>[^/]+/[^/]+/(?P<id>[^/?#&]+))rs  r}   r   Nr  r   r   r   r  r    s    )GGVJNLr   r  c                       \ rS rSrSrSrSrg)ThePlatformBaseIEi  yt_dlp.extractor.theplatformThePlatformBaser   Nr   r   r   r   r  r        ,GGr   r  c                       \ rS rSrSrSrSrg)NBCUniversalBaseIEi  yt_dlp.extractor.nbcNBCUniversalBaser   Nr   r   r   r   r  r        $G Gr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		BravoTVIEi  r  BravoTVzGhttps?://(?:www\.)?(?:bravotv|oxygen)\.com/(?:[^/?#]+/)+(?P<id>[^/?#]+)   r}   r   NrU  r   r   r   r  r    s    $GG\JILr   r  c                   $    \ rS rSrSrSrSrSrSrg)BreitBartIEi  zyt_dlp.extractor.breitbart	BreitBartz:https?://(?:www\.)?breitbart\.com/videos/v/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r    s    *GGOJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BrightcoveLegacyIEi  yt_dlp.extractor.brightcovezbrightcove:legacyzN(?:https?://.*brightcove\.com/(services|viewer).*?\?|brightcove:)(?P<query>.*)r   r   Nr   r   r   r   r  r    s    +G!GcJLr   r  c                       \ rS rSrSrSrSrg)BrightcoveNewBaseIEi  r  BrightcoveNewBaser   Nr   r   r   r   r  r    s    +G!Gr   r  c                   $    \ rS rSrSrSrSrSrSrg)BrightcoveNewIEi  r  zbrightcove:newzhttps?://players\.brightcove\.net/(?P<account_id>\d+)/(?P<player_id>[^/]+)_(?P<embed>[^/]+)/index\.html\?.*(?P<content_type>video|playlist)Id=(?P<video_id>\d+|ref:[^&]+)r   r   Nr   r   r   r   r  r    s    +GG CJLr   r  c                        \ rS rSrSrSrSrSrg)BrilliantpalaBaseIEi  yt_dlp.extractor.brilliantpalaBrilliantpalaBasebrilliantpalar   Nr   r   r   r   r  r    s    .G!G$Nr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
BrilliantpalaClassesIEi  r  zBrilliantpala:Classesz^https?://classes\.brilliantpala\.org/courses/(?P<course_id>\d+)/contents/(?P<content_id>\d+)/?z VoD on classes.brilliantpala.orgr  r}   r   Nr   r   r   r   r  r    s     .G%GuJ0G$NLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
BrilliantpalaElearnIEi  r  zBrilliantpala:Elearnz]https?://elearn\.brilliantpala\.org/courses/(?P<course_id>\d+)/contents/(?P<content_id>\d+)/?zVoD on elearn.brilliantpala.orgr  r}   r   Nr   r   r   r   r  r    s     .G$GtJ/G$NLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BundesligaIEi  zyt_dlp.extractor.bundesliga
Bundesligazdhttps?://(?:www\.)?bundesliga\.com/[a-z]{2}/bundesliga/videos(?:/[^?]+)?\?vid=(?P<id>[a-zA-Z0-9]{8})r}   r   Nr   r   r   r   r  r    s    +GGzJLr   r  c                   (    \ rS rSrSrSrSS/rSrSrg)	BundestagIEi  zyt_dlp.extractor.bundestag	Bundestagz%https?://dbtg\.tv/[cf]vid/(?P<id>\d+)zGhttps?://www\.bundestag\.de/mediathek/?\?(?:[^#]+&)?videoid=(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s"    *GG;  >K  LJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
BunnyCdnIEi  zyt_dlp.extractor.bunnycdnBunnyCdnzqhttps?://(?:iframe\.mediadelivery\.net|video\.bunnycdn\.com)/(?:embed|play)/(?P<library_id>\d+)/(?P<id>[\da-f-]+)r}   r   Nr   r   r   r   r  r    s    )GG KJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)BusinessInsiderIEi  z yt_dlp.extractor.businessinsiderBusinessInsiderzLhttps?://(?:[^/]+\.)?businessinsider\.(?:com|nl)/(?:[^/]+/)*(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r  r    s    0GGaJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
BuzzFeedIEi  zyt_dlp.extractor.buzzfeedBuzzFeedz7https?://(?:www\.)?buzzfeed\.com/[^?#]*?/(?P<id>[^?#]+)r~   r   Nr   r   r   r   r  r    s    )GGLJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)C56IEi"  zyt_dlp.extractor.c56z56.comzdhttps?://(?:(?:www|player)\.)?56\.com/(?:.+?/)?(?:v_|(?:play_album.+-))(?P<textid>.+?)\.(?:html|swf)r   r   Nr   r   r   r   r  r  "  s    $GGzJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CAM4IEi)  zyt_dlp.extractor.cam4CAM4z1https?://(?:[^/]+\.)?cam4\.com/(?P<id>[a-z0-9_]+)r   r}   r   NrU  r   r   r   r  r  )  s    %GGFJILr   r  c                        \ rS rSrSrSrSrSrg)CBCGemBaseIEi1  yt_dlp.extractor.cbc
CBCGemBasecbcgemr   Nr   r   r   r   r  r  1  s    $GGNr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
CBCGemIEi7  r  z
gem.cbc.cazRhttps?://gem\.cbc\.ca/(?:media/)?(?P<id>[0-9a-z-]+/s(?P<season>[0-9]+)[a-z][0-9]+)r  r  r}   r   Nr   r   r    r!   r)   ro   rG   rh   ru   r   r"   r   r   r   r  r  7  s     $GGgJNILr   r  c                   $    \ rS rSrSrSrSrSrSrg)CBCGemLiveIEi@  r  zgem.cbc.ca:livez1https?://gem\.cbc\.ca/live(?:-event)?/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  @  s    $GGGJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CBCGemPlaylistIEiG  r  zgem.cbc.ca:playlistz]https?://gem\.cbc\.ca/(?:media/)?(?P<id>(?P<show>[0-9a-z-]+)/s(?P<season>[0-9]+))/?(?:[?#]|$)r  r~   r   Nr  r   r   r   r  r  G  s    $G#GrJNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CBCIEiO  r  zcbc.caz`https?://(?:www\.)?cbc\.ca/(?!player/|listen/|i/caffeine/syndicate/)(?:[^/?#]+/)+(?P<id>[^/?#]+)r   r   Nr   r   r   r   r  r  O  s    $GGuJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CBCListenIEiV  r  zcbc.ca:listenzWhttps?://(?:www\.)?cbc\.ca/listen/(?:cbc-podcasts|live-radio)/[\w-]+/[\w-]+/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  V  s    $GGoJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CBCPlayerIEi]  r  zcbc.ca:playerzy(?:cbcplayer:|https?://(?:www\.)?cbc\.ca/(?:player/play/(?:video/)?|i/caffeine/syndicate/\?mediaId=))(?P<id>(?:\d\.)?\d+)r}   r   Nr   r   r   r   r  r  ]  s    $GG SJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CBCPlayerPlaylistIEid  r  zcbc.ca:player:playlistz=https?://(?:www\.)?cbc\.ca/(?:player/)(?!play/)(?P<id>[^?#]+)r~   r   Nr   r   r   r   r  r  d  s    $G&GRJLr   r  c                       \ rS rSrSrSrSrg)CBSNewsBaseIEik  yt_dlp.extractor.cbsnewsCBSNewsBaser   Nr   r   r   r   r  r  k  rK  r   r  c                       \ rS rSrSrSrSrg)CBSLocalBaseIEip  r  CBSLocalBaser   Nr   r   r   r   r  r  p  s    (GGr   r  c                   $    \ rS rSrSrSrSrSrSrg)CBSLocalArticleIEiu  r  CBSLocalArticlezhttps?://(?:www\.)?cbsnews\.com/(?:atlanta|baltimore|boston|chicago|colorado|detroit|losangeles|miami|minnesota|newyork|philadelphia|pittsburgh|sacramento|sanfrancisco|texas)/news/(?P<id>[\w-]+)r   r   Nr   r   r   r   r  r  u  s    (GG YJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
CBSLocalIEi|  r  CBSLocalzhttps?://(?:www\.)?cbsnews\.com/(?:atlanta|baltimore|boston|chicago|colorado|detroit|losangeles|miami|minnesota|newyork|philadelphia|pittsburgh|sacramento|sanfrancisco|texas)/(?:live/)?video/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  |  s    (GG dJLr   r  c                       \ rS rSrSrSrSrg)CBSNewsLiveBaseIEi  r  CBSNewsLiveBaser   Nr   r   r   r   r  r        (GGr   r  c                   $    \ rS rSrSrSrSrSrSrg)CBSLocalLiveIEi  r  CBSLocalLivezhttps?://(?:www\.)?cbsnews\.com/(?P<id>atlanta|baltimore|boston|chicago|colorado|detroit|losangeles|miami|minnesota|newyork|philadelphia|pittsburgh|sacramento|sanfrancisco|texas)/live/?(?:[?#]|$)r}   r   Nr   r   r   r   r  r    s    (GG YJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CBSNewsEmbedIEi  r  zcbsnews:embedz;https?://(?:www\.)?cbsnews\.com/embed/video[^#]*#(?P<id>.+)r}   r   Nr   r   r   r   r  r    s    (GGPJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		CBSNewsIEi  r  cbsnewsz=https?://(?:www\.)?cbsnews\.com/(?:news|video)/(?P<id>[\w-]+)zCBS Newsr   r   Nr   r   r   r   r  r    s    (GGSJGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CBSNewsLiveIEi  r  zcbsnews:livez0https?://(?:www\.)?cbsnews\.com/live/?(?:[?#]|$)zCBS News Livestreamr}   r   Nr   r   r   r   r  r    s    (GGEJ#GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CBSNewsLiveVideoIEi  r  zcbsnews:livevideoz:https?://(?:www\.)?cbsnews\.com/live/video/(?P<id>[^/?#]+)zCBS News Live Videosr}   r   Nr   r   r   r   r  r    s    (G!GOJ$GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CBSSportsEmbedIEi  yt_dlp.extractor.cbssportszcbssports:embedz(?ix)https?://(?:(?:www\.)?cbs|embed\.247)sports\.com/player/embed.+?
        (?:
            ids%3D(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})|
            pcid%3D(?P<pcid>\d+)
        )Fr   N	r   r   r    r!   r)   ro   rG   rP   r"   r   r   r   r  r    s    *GG _JHr   r  c                       \ rS rSrSrSrSrg)CBSSportsBaseIEi  r  CBSSportsBaser   Nr   r   r   r   r  r        *GGr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CBSSportsIEi  r  	cbssportsz>https?://(?:www\.)?cbssports\.com/[^/]+/video/(?P<id>[^/?#&]+)Fr}   r   NrZ  r   r   r   r  r    s    *GGSJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CCCIEi  yt_dlp.extractor.ccczmedia.ccc.dez4https?://(?:www\.)?media\.ccc\.de/v/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r  r    s    $GGJJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CCCPlaylistIEi  r  zmedia.ccc.de:listsz4https?://(?:www\.)?media\.ccc\.de/c/(?P<id>[^/?#&]+)r~   r   Nr   r   r   r   r  r    s    $G"GJJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
CCMAIEi  zyt_dlp.extractor.ccmaCCMAzWhttps?://(?:www\.)?3cat\.cat/(?:3cat|tv3/sx3)/[^/?#]+/(?P<type>video|audio)/(?P<id>\d+)u   3Cat, TV3 and Catalunya Ràdio   r}   r   Nr   r   r    r!   r)   ro   rG   ri   ru   r   r"   r   r   r   r  r    s     %GGmJ.GILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CCTVIEi  zyt_dlp.extractor.cctvCCTVzhttps?://(?:(?:[^/]+)\.(?:cntv|cctv)\.(?:com|cn)|(?:www\.)?ncpa-classic\.com)/(?:[^/]+/)*?(?P<id>[^/?#&]+?)(?:/index)?(?:\.s?html|[?#&]|$)u	   央视网r}   r   Nr   r   r   r   r  r    s    %GG cJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CDAFolderIEi  yt_dlp.extractor.cda	CDAFolderzAhttps?://(?:www\.)?cda\.pl/(?P<channel>[\w-]+)/folder/(?P<id>\d+)r~   r   Nr   r   r   r   r	  r	    s    $GGXJLr   r	  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
CDAIEi  r
  CDAzQhttps?://(?:(?:www\.)?cda\.pl/video|ebd\.cda\.pl/[0-9]+x[0-9]+)/(?P<id>[0-9a-z]+)cdaplr   r}   r   Nr  r   r   r   r  r    s     $GGhJNILr   r  c                   $    \ rS rSrSrSrSrSrSrg)CGTNIEi  zyt_dlp.extractor.cgtnCGTNzhhttps?://news\.cgtn\.com/news/[0-9]{4}-[0-9]{2}-[0-9]{2}/[a-zA-Z0-9-]+-(?P<id>[a-zA-Z0-9-]+)/index\.htmlr}   r   Nr   r   r   r   r  r    s    %GG~JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CHZZKLiveIEi  yt_dlp.extractor.chzzkz
chzzk:livez0https?://chzzk\.naver\.com/live/(?P<id>[\da-f]+)r}   r   Nr   r   r   r   r  r    s    &GGFJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CHZZKVideoIEi  r  zchzzk:videoz,https?://chzzk\.naver\.com/video/(?P<id>\d+)r}   r   Nr   r   r   r   r  r        &GGBJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CJSWIEi  zyt_dlp.extractor.cjswCJSWzKhttps?://(?:www\.)?cjsw\.com/program/(?P<program>[^/]+)/episode/(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    %GGaJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CNBCVideoIEi  zyt_dlp.extractor.cnbc	CNBCVideozGhttps?://(?:www\.)?cnbc\.com/video/(?:[^/?#]+/)+(?P<id>[^./?#&]+)\.htmlr}   r   Nr   r   r   r   r  r    s    %GG]JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CNNIEi  yt_dlp.extractor.cnnCNNzqhttps?://(?:(?:edition|www|money|cnnespanol)\.)?cnn\.com/(?!audio/)(?P<display_id>[^?#]+?)(?:[?#]|$|/index\.html)r   r   Nr   r   r   r   r   r     s    $GG HJLr   r   c                   $    \ rS rSrSrSrSrSrSrg)CNNIndonesiaIEi  r!  CNNIndonesiazghttps?://www\.cnnindonesia\.com/[\w-]+/(?P<upload_date>\d{8})\d+-\d+-(?P<id>\d+)/(?P<display_id>[\w-]+)r}   r   Nr   r   r   r   r$  r$    s    $GG CJLr   r$  c                   $    \ rS rSrSrSrSrSrSrg)CONtvIEi"  zyt_dlp.extractor.contvCONtvz9https?://(?:www\.)?contv\.com/details-movie/(?P<id>[^/]+)r   r   Nr   r   r   r   r'  r'  "  s    &GGNJLr   r'  c                   $    \ rS rSrSrSrSrSrSrg)CPACIEi)  yt_dlp.extractor.cpaccpaczchttps?://(?:www\.)?cpac\.ca/(?P<fr>l-)?episode\?id=(?P<id>[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12})r}   r   Nr   r   r   r   r*  r*  )  s    %GG|JLr   r*  c                   $    \ rS rSrSrSrSrSrSrg)CPACPlaylistIEi0  r+  zcpac:playlistz(?i)https?://(?:www\.)?cpac\.ca/(?:program|search|(?P<fr>emission|rechercher))\?(?:[^&]+&)*?(?P<id>(?:id=\d+|programId=\d+|key=[^&]+))r~   r   Nr   r   r   r   r.  r.  0  s    %GG _JLr   r.  c                   $    \ rS rSrSrSrSrSrSrg)CPTwentyFourIEi7  yt_dlp.extractor.ninecninemediacp24z0https?://(?:www\.)?cp24\.com/news/(?P<id>[^?#]+)r}   r   Nr   r   r   r   r0  r0  7  s    /GGEJLr   r0  c                   $    \ rS rSrSrSrSrSrSrg)CSpanCongressIEi>  yt_dlp.extractor.cspanCSpanCongressz(https?://(?:www\.)?c-span\.org/congress/r}   r   Nr   r   r   r   r4  r4  >  s    &GG=JLr   r4  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CSpanIEiE  r5  CSpanz8https?://(?:www\.)?c-span\.org/video/\?(?P<id>[0-9a-f]+)zC-SPANr   r   Nr   r   r   r   r8  r8  E  s    &GGNJGLr   r8  c                   (    \ rS rSrSrSr/ SQrSrSrg)	CTVNewsIEiM  zyt_dlp.extractor.ctvnewsCTVNews)z6https?://(?:[^.]+\.)?ctvnews\.ca/video/c(?P<id>\d{5,})zLhttps?://(?:[^.]+\.)?ctvnews\.ca/video(?:-gallery)?/?\?clipId=(?P<id>\d{5,})zOhttps?://(?:[^.]+\.)?ctvnews\.ca/video/?\?(?:playlist|bin)Id=(?P<id>\d\.\d{5,})zPhttps?://(?:[^.]+\.)?ctvnews\.ca/(?!video/)[^?#]*?(?P<id>\d\.\d{5,})/?(?:$|[?#])zKhttps?://(?:[^.]+\.)?ctvnews\.ca/(?!video/)[^?#]+\?binId=(?P<id>\d\.\d{5,})r   r   Nr   r   r   r   r;  r;  M  s    (GG jJLr   r;  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CaffeineTVIEiT  zyt_dlp.extractor.caffeinetv
CaffeineTVz?https?://(?:www\.)?caffeine\.tv/[^/?#]+/video/(?P<id>[\da-f-]+)   r}   r   NrU  r   r   r   r>  r>  T  s    +GGUJILr   r>  c                   $    \ rS rSrSrSrSrSrSrg)CallinIEi\  zyt_dlp.extractor.callinCallinz9https?://(?:www\.)?callin\.com/episode/(?P<id>[-a-zA-Z]+)r}   r   Nr   r   r   r   rB  rB  \      'GGNJLr   rB  c                   $    \ rS rSrSrSrSrSrSrg)
CaltransIEic  zyt_dlp.extractor.caltransCaltranszAhttps?://(?:[^/]+\.)?ca\.gov/vm/loc/[^/]+/(?P<id>[a-z0-9_]+)\.htmr}   r   Nr   r   r   r   rF  rF  c  r  r   rF  c                   $    \ rS rSrSrSrSrSrSrg)CamFMEpisodeIEij  yt_dlp.extractor.camfmCamFMEpisodez5https?://(?:www\.)?camfm\.co\.uk/player/(?P<id>[^/]+)r}   r   Nr   r   r   r   rI  rI  j      &GGKJLr   rI  c                   $    \ rS rSrSrSrSrSrSrg)CamFMShowIEiq  rJ  	CamFMShowz4https?://(?:www\.)?camfm\.co\.uk/shows/(?P<id>[^/]+)r~   r   Nr   r   r   r   rN  rN  q  s    &GGJJLr   rN  c                        \ rS rSrSrSrSrSrg)CamModelsIEix  zyt_dlp.extractor.cammodels	CamModelsz6https?://(?:www\.)?cammodels\.com/cam/(?P<id>[^/?#&]+)r   Nr   r   r   r   rQ  rQ  x  s    *GGKJr   rQ  c                   $    \ rS rSrSrSrSrSrSrg)CamdemyFolderIEi~  yt_dlp.extractor.camdemyCamdemyFolderz2https?://(?:www\.)?camdemy\.com/folder/(?P<id>\d+)r~   r   Nr   r   r   r   rT  rT  ~  s    (GGHJLr   rT  c                   $    \ rS rSrSrSrSrSrSrg)	CamdemyIEi  rU  Camdemyz1https?://(?:www\.)?camdemy\.com/media/(?P<id>\d+)r}   r   Nr   r   r   r   rX  rX    s    (GGGJLr   rX  c                   (    \ rS rSrSrSrSrSrSrSr	g)		CamsodaIEi  zyt_dlp.extractor.camsodaCamsodaz)https?://www\.camsoda\.com/(?P<id>[\w-]+)r   r}   r   NrU  r   r   r   r[  r[    s    (GG?JILr   r[  c                        \ rS rSrSrSrSrSrg)CamtasiaEmbedIEi  zyt_dlp.extractor.camtasiaCamtasiaEmbedFr   Nr   r   r   r   r^  r^    s    )GGJr   r^  c                   $    \ rS rSrSrSrSrSrSrg)Canal1IEi  zyt_dlp.extractor.canal1Canal1zHhttps?://(?:www\.|noticias\.)?canal1\.com\.co/(?:[^?#&])+/(?P<id>[\w-]+)r}   r   Nr   r   r   r   ra  ra    s    'GG`JLr   ra  c                   $    \ rS rSrSrSrSrSrSrg)CanalAlphaIEi  zyt_dlp.extractor.canalalpha
CanalAlphazBhttps?://(?:www\.)?canalalpha\.ch/play/[^/]+/[^/]+/(?P<id>\d+)/?.*r}   r   Nr   r   r   r   rd  rd    rb  r   rd  c                   $    \ rS rSrSrSrSrSrSrg)	Canalc2IEi  zyt_dlp.extractor.canalc2z
canalc2.tvzmhttps?://(?:(?:www\.)?canalc2\.tv/video/|archives-canalc2\.u-strasbg\.fr/video\.asp\?.*\bidVideo=)(?P<id>\d+)r}   r   Nr   r   r   r   rg  rg    s    (GG IJLr   rg  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CanalplusIEi  zyt_dlp.extractor.canalplus	Canalpluszvhttps?://(?:www\.)?(?P<site>mycanal|piwiplus)\.fr/(?:[^/]+/)*(?P<display_id>[^?/]+)(?:\.html\?.*\bvid=|/p/)(?P<id>\d+)zmycanal.fr and piwiplus.frr}   r   Nr   r   r   r   ri  ri    s    *GG PJ*GLr   ri  c                   $    \ rS rSrSrSrSrSrSrg)CanalsurmasIEi  zyt_dlp.extractor.canalsurmasCanalsurmasz5https?://(?:www\.)?canalsurmas\.es/videos/(?P<id>\d+)r}   r   Nr   r   r   r   rl  rl        ,GGKJLr   rl  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CaracolTvPlayIEi  zyt_dlp.extractor.caracoltvCaracolTvPlayz:https?://play\.caracoltv\.com/videoDetails/(?P<id>[^/?#]+)zcaracoltv-playr~   r   Nr  r   r   r   rp  rp    s    *GGOJ%NLr   rp  c                       \ rS rSrSrSrSrg)VidyardBaseIEi  yt_dlp.extractor.vidyardVidyardBaser   Nr   r   r   r   rs  rs    rK  r   rs  c                   $    \ rS rSrSrSrSrSrSrg)CellebriteIEi  zyt_dlp.extractor.cellebrite
Cellebritez0https?://cellebrite\.com/(?:\w+)?/(?P<id>[\w-]+)r}   r   Nr   r   r   r   rw  rw    s    +GGFJLr   rw  c                   $    \ rS rSrSrSrSrSrSrg)CeskaTelevizeIEi  zyt_dlp.extractor.ceskatelevizeCeskaTelevizez\https?://(?:www\.)?ceskatelevize\.cz/(?:ivysilani|porady|zive)/(?:[^/?#&]+/)*(?P<id>[^/#?]+)r   r   Nr   r   r   r   rz  rz    s    .GGqJLr   rz  c                   $    \ rS rSrSrSrSrSrSrg)CharlieRoseIEi  zyt_dlp.extractor.charlieroseCharlieRosezNhttps?://(?:www\.)?charlierose\.com/(?:video|episode)(?:s|/player)/(?P<id>\d+)r}   r   Nr   r   r   r   r}  r}    s    ,GGdJLr   r}  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ChaturbateIEi  zyt_dlp.extractor.chaturbate
Chaturbatezahttps?://(?:[^/]+\.)?chaturbate\.(?P<tld>com|eu|global)/(?:fullvideo/?\?.*?\bb=)?(?P<id>[^/?&#]+)r   r}   r   NrU  r   r   r   r  r    s    +GGxJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)ChilloutzoneIEi  zyt_dlp.extractor.chilloutzoneChilloutzonez?https?://(?:www\.)?chilloutzone\.net/video/(?P<id>[\w-]+)\.htmlr}   r   Nr   r   r   r   r  r    s    -GGVJLr   r  c                       \ rS rSrSrSrSrg)	HBOBaseIEi  yt_dlp.extractor.hboHBOBaser   Nr   r   r   r   r  r        $GGr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		CinemaxIEi  zyt_dlp.extractor.cinemaxCinemaxzLhttps?://(?:www\.)?cinemax\.com/(?P<path>[^/]+/video/[0-9a-z-]+-(?P<id>\d+))Fr}   r   NrZ  r   r   r   r  r    s    (GGbJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CinetecaMilanoIEi  zyt_dlp.extractor.cinetecamilanoCinetecaMilanoz6https?://(?:www\.)?cinetecamilano\.it/film/(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    /GGLJLr   r  c                       \ rS rSrSrSrSrg)CineverseBaseIEi	  yt_dlp.extractor.cineverseCineverseBaser   Nr   r   r   r   r  r  	  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)CineverseDetailsIEi	  r  CineverseDetailszhttps?://www\.(?P<host>cineverse\.com|asiancrush\.com|dovechannel\.com|screambox\.com|midnightpulp\.com|fandor\.com|retrocrush\.tv)/details/(?P<id>[A-Z0-9]+)r   r   Nr   r   r   r   r  r  	  s    *G G yJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CineverseIEi	  r  	Cineversezhttps?://www\.(?P<host>cineverse\.com|asiancrush\.com|dovechannel\.com|screambox\.com|midnightpulp\.com|fandor\.com|retrocrush\.tv)/watch/(?P<id>[A-Z0-9]+)r  r}   r   NrU  r   r   r   r  r  	  s    *GG wJILr   r  c                       \ rS rSrSrSrSrg)CiscoLiveBaseIEi	  yt_dlp.extractor.ciscoliveCiscoLiveBaser   Nr   r   r   r   r  r  	  r  r   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )CiscoLiveSearchIEi	  r  CiscoLiveSearchzWhttps?://(?:www\.)?ciscolive(?:\.cisco)?\.com/(?:global/)?on-demand-library(?:\.html|/)r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )CiscoLiveSessionIEr<   r   r   s     r   r<   CiscoLiveSearchIE.suitable"	  (    *33C88uSeg>Ns>SSr   r   r   r   s   @r   r  r  	  s+    *GGnJLT Tr   r  c                   $    \ rS rSrSrSrSrSrSrg)r  i'	  r  CiscoLiveSessionzLhttps?://(?:www\.)?ciscolive(?:\.cisco)?\.com/[^#]*#/session/(?P<id>[^/?&]+)r}   r   Nr   r   r   r   r  r  '	  s    *G GbJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CiscoWebexIEi.	  zyt_dlp.extractor.ciscowebex
ciscowebexaU  (?x)
                    (?P<url>https?://(?P<subdomain>[^/#?]*)\.webex\.com/(?:
                        (?P<siteurl_1>[^/#?]*)/(?:ldr|lsr).php\?(?:[^#]*&)*RCID=(?P<rcid>[0-9a-f]{32})|
                        (?:recordingservice|webappng)/sites/(?P<siteurl_2>[^/#?]*)/recording/(?:playback/|play/)?(?P<id>[0-9a-f]{32})
                    ))zCisco Webexr   Nr#  r   r   r   r  r  .	  s    +GG pJGr   r  c                       \ rS rSrSrSrSrg)
OnetBaseIEi5	  yt_dlp.extractor.onetOnetBaser   Nr   r   r   r   r  r  5	      %GGr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ClipRsIEi:	  zyt_dlp.extractor.cliprsClipRsz-https?://(?:www\.)?clip\.rs/(?P<id>[^/]+)/\d+Fr}   r   NrZ  r   r   r   r  r  :	  s    'GGCJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ClipchampIEiB	  zyt_dlp.extractor.clipchamp	Clipchampz6https?://(?:www\.)?clipchamp\.com/watch/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  B	      *GGLJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	ClippitIEiI	  zyt_dlp.extractor.clippitClippitz3https?://(?:www\.)?clippituser\.tv/c/(?P<id>[a-z]+)r}   r   Nr   r   r   r   r  r  I	  s    (GGHJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CloserToTruthIEiP	  zyt_dlp.extractor.closertotruthCloserToTruthzAhttps?://(?:www\.)?closertotruth\.com/(?:[^/]+/)*(?P<id>[^/?#&]+)Fr   r   NrZ  r   r   r   r  r  P	  s    .GGVJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CloudflareStreamIEiX	  z!yt_dlp.extractor.cloudflarestreamCloudflareStreama9  https?://(?:(?:(?:watch|iframe|customer-\w+)\.)?(?P<domain>(?:cloudflarestream\.com|(?:videodelivery|bytehighway)\.net))/|(?:embed\.|(?:(?:watch|iframe|customer-\w+)\.)?)(?:cloudflarestream\.com|(?:videodelivery|bytehighway)\.net)/embed/[^/?#]+\.js\?(?:[^#]+&)?video=)(?P<id>[\da-f]{32}|eyJ[\w-]+\.[\w-]+\.[\w-]+)r}   r   Nr   r   r   r   r  r  X	  s    1G G ^JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CloudyCDNIEi_	  zyt_dlp.extractor.cloudycdn	CloudyCDNzn(?:https?:)?//embed\.(?P<domain>cloudycdn\.services|backscreen\.com)/(?P<site_id>[^/?#]+)/media/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  _	  s    *GG FJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ClubicIEif	  zyt_dlp.extractor.clubicClubiczLhttps?://(?:www\.)?clubic\.com/video/(?:[^/]+/)*video.*-(?P<id>[0-9]+)\.htmlFr}   r   NrZ  r   r   r   r  r  f	  s    'GGbJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ClypIEin	  zyt_dlp.extractor.clypClypz-https?://(?:www\.)?clyp\.it/(?P<id>[a-z0-9]+)r}   r   Nr   r   r   r   r  r  n	      %GGBJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ComedyCentralIEiu	  zyt_dlp.extractor.comedycentralComedyCentralz9https?://(?:www\.)?cc\.com/video-clips/(?P<id>[\da-z]{6})r}   r   Nr   r   r   r   r  r  u	  s    .GGOJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CommonMistakesIEi|	  rK  CommonMistakesz(?:url|URL|yt-dlp)$Fr   Nr#  r   r   r   r  r  |	  s    /GG&JGr   r  c                       \ rS rSrSrSrSrg)TeamcocoBaseIEi	  yt_dlp.extractor.teamcocoTeamcocoBaser   Nr   r   r   r   r  r  	  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ConanClassicIEi	  r  ConanClassiczShttps?://(?:(?:www\.)?conanclassic|conan25\.teamcoco)\.com/(?P<id>([^/]+/)*[^/?#]+)Fr}   r   NrZ  r   r   r   r  r  	  s    )GGiJHLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CondeNastIEi	  zyt_dlp.extractor.condenast	CondeNasta  (?x)https?://(?:video|www|player(?:-backend)?)\.(?:allure|architecturaldigest|arstechnica|bonappetit|brides|cnevids|cntraveler|details|epicurious|glamour|golfdigest|gq|newyorker|self|teenvogue|vanityfair|vogue|wired|wmagazine)\.com/
        (?:
            (?:
                embed(?:js)?|
                (?:script|inline)/video
            )/(?P<id>[0-9a-f]{24})(?:/(?P<player_id>[0-9a-f]{24}))?(?:.+?\btarget=(?P<target>[^&]+))?|
            (?P<type>watch|series|video)/(?P<display_id>[^/?#]+)
        )u   Condé Nast media group: Allure, Architectural Digest, Ars Technica, Bon Appétit, Brides, Condé Nast, Condé Nast Traveler, Details, Epicurious, GQ, Glamour, Golf Digest, SELF, Teen Vogue, The New Yorker, Vanity Fair, Vogue, W Magazine, WIREDr}   r   Nr   r   r   r   r  r  	  s!    *GG ZJ EGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CookingChannelIEi	  rx  CookingChannelzFhttps?://(?:watch\.)?cookingchanneltv\.com/video/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   r  r  	  s    &GG[JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CoubIEi	  zyt_dlp.extractor.coubCoubzz(?:coub:|https?://(?:coub\.com/(?:view|embed|coubs)/|c-cdn\.coub\.com/fb-player\.swf\?.*\bcoub(?:ID|id)=))(?P<id>[\da-z]+)r}   r   Nr   r   r   r   r  r  	  s    %GG UJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CozyTVIEi	  zyt_dlp.extractor.cozytvCozyTVzIhttps?://(?:www\.)?cozy\.tv/(?P<uploader>[^/]+)/replays/(?P<id>[^/$#&?]+)r}   r   Nr   r   r   r   r  r  	  s    'GG^JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	CrackedIEi	  zyt_dlp.extractor.crackedCrackedzAhttps?://(?:www\.)?cracked\.com/video_(?P<id>\d+)_[\da-z-]+\.htmlr}   r   Nr   r   r   r   r  r  	      (GGYJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	CraftsyIEi	  zyt_dlp.extractor.craftsyCraftsyz/https?://www\.craftsy\.com/class/(?P<id>[\w-]+)r~   r   Nr   r   r   r   r  r  	  s    (GGEJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CrooksAndLiarsIEi	  zyt_dlp.extractor.crooksandliarsCrooksAndLiarszDhttps?://embed\.crooksandliars\.com/(?:embed|v)/(?P<id>[A-Za-z0-9]+)r}   r   Nr   r   r   r   r  r  	  s    /GGYJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CrowdBunkerChannelIEi	  yt_dlp.extractor.crowdbunkerCrowdBunkerChannelz6https?://(?:www\.)?crowdbunker\.com/@(?P<id>[^/?#$&]+)r~   r   Nr   r   r   r   r  r  	  s    ,G"GKJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CrowdBunkerIEi	  r  CrowdBunkerz7https?://(?:www\.)?crowdbunker\.com/v/(?P<id>[^/?#$&]+)r}   r   Nr   r   r   r   r  r  	  s    ,GGLJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CrtvgIEi	  zyt_dlp.extractor.crtvgCrtvgz8https?://(?:www\.)?crtvg\.es/tvg/a-carta/(?P<id>[^/#?]+)r}   r   Nr   r   r   r   r  r  	      &GGMJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		CtsNewsIEi	  zyt_dlp.extractor.ctsnewsCtsNewsz?https?://news\.cts\.com\.tw/[a-z]+/[a-z]+/\d+/(?P<id>\d+)\.htmlu   華視新聞r}   r   Nr   r   r   r   r  r  	  s    (GGXJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CultureUnpluggedIEi	  z!yt_dlp.extractor.cultureunpluggedCultureUnpluggedzthttps?://(?:www\.)?cultureunplugged\.com/(?:documentary/watch-online/)?play/(?P<id>\d+)(?:/(?P<display_id>[^/#?]+))?r}   r   Nr   r   r   r   r  r  	  s    1G G KJLr   r  c                        \ rS rSrSrSrSrSrg)CuriosityStreamBaseIEi	   yt_dlp.extractor.curiositystreamCuriosityStreamBasecuriositystreamr   Nr   r   r   r   r  r  	      0G#G&Nr   r  c                        \ rS rSrSrSrSrSrg)CuriosityStreamCollectionBaseIEi	  r  CuriosityStreamCollectionBaser  r   Nr   r   r   r   r  r  	  s    0G-G&Nr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CuriosityStreamCollectionsIEi	  r  zcuriositystream:collectionsz?https?://(?:app\.)?curiositystream\.com/collections/(?P<id>\d+)r  r~   r   Nr  r   r   r   r  r  	  s    0G+GUJ&NLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)CuriosityStreamIEi	  r  r  z9https?://(?:app\.)?curiositystream\.com/video/(?P<id>\d+)r}   r   Nr  r   r   r   r	  r	  	  s    0GGOJ&NLr   r	  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CuriosityStreamSeriesIEi
  r  zcuriositystream:serieszIhttps?://(?:app\.)?curiositystream\.com/(?:series|collection)/(?P<id>\d+)r  r~   r   Nr  r   r   r   r  r  
  s    0G&G_J&NLr   r  c                        \ rS rSrSrSrSrSrg)CybraryBaseIEi

  yt_dlp.extractor.cybraryCybraryBasecybraryr   Nr   r   r   r   r  r  

  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CybraryCourseIEi
  r  CybraryCoursezBhttps?://app\.cybrary\.it/browse/course/(?P<id>[\w-]+)/?(?:$|[#?])r  r~   r   Nr  r   r   r   r  r  
  s    (GGXJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		CybraryIEi
  r  CybraryzRhttps?://app\.cybrary\.it/immersive/(?P<enrollment>[0-9]+)/activity/(?P<id>[0-9]+)r  r}   r   Nr  r   r   r   r  r  
  s    (GGgJNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DBTVIEi 
  zyt_dlp.extractor.dbtvDBTVzthttps?://(?:www\.)?dagbladet\.no/video/(?:(?:embed|(?P<display_id>[^/]+))/)?(?P<id>[0-9A-Za-z_-]{11}|[a-zA-Z0-9]{8})r}   r   Nr   r   r   r   r  r   
  s    %GG JJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DFBIEi'
  zyt_dlp.extractor.dfbz	tv.dfb.dez<https?://tv\.dfb\.de/video/(?P<display_id>[^/]+)/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  '
  s    $GGRJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
DHMIEi.
  zyt_dlp.extractor.dhmDHMz>https?://(?:www\.)?dhm\.de/filmarchiv/(?:[^/]+/)+(?P<id>[^/]+)Fz*Filmarchiv - Deutsches Historisches Museumr}   r   Nri  r   r   r   r  r  .
  s     $GGSJH:GLr   r  c                       \ rS rSrSrSrSrg)	DLFBaseIEi7
  yt_dlp.extractor.dlfDLFBaser   Nr   r   r   r   r   r   7
  r  r   r   c                   (    \ rS rSrSrSrSrSrSrSr	g)	DLFCorpusIEi<
  r!  z
dlf:corpuszXhttps?://(?:www\.)?deutschlandfunk\.de/(?P<id>(?![\w-]+-dlf-[\da-f]{8})[\w-]+-\d+)\.htmlzDLF Multi-feed Archivesr~   r   Nr   r   r   r   r$  r$  <
  s    $GGrJ'GLr   r$  c                   $    \ rS rSrSrSrSrSrSrg)DLFIEiD
  r!  dlfzNhttps?://(?:www\.)?deutschlandfunk\.de/[\w-]+-dlf-(?P<id>[\da-f]{8})-100\.htmlr}   r   Nr   r   r   r   r&  r&  D
  s    $GGfJLr   r&  c                        \ rS rSrSrSrSrSrg)DLiveStreamIEiK
  yt_dlp.extractor.dlivezdlive:streamz2https?://(?:www\.)?dlive\.tv/(?!p/)(?P<id>[\w.-]+)r   Nr   r   r   r   r)  r)  K
  s    &GGHJr   r)  c                   $    \ rS rSrSrSrSrSrSrg)
DLiveVODIEiQ
  r*  z	dlive:vodzEhttps?://(?:www\.)?dlive\.tv/p/(?P<uploader_id>.+?)\+(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r,  r,  Q
  s    &GG[JLr   r,  c                   $    \ rS rSrSrSrSrSrSrg)DPlayIEiX
  rx  DPlayaO  (?x)https?://
        (?P<domain>
            (?:www\.)?(?P<host>d
                (?:
                    play\.(?P<country>dk|fi|jp|se|no)|
                    iscoveryplus\.(?P<plus_country>dk|es|fi|it|se|no)
                )
            )|
            (?P<subdomain_country>es|it)\.dplay\.com
        )/[^/]+/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   r.  r.  X
  s    &GG qJLr   r.  c                   $    \ rS rSrSrSrSrSrSrg)DRBonanzaIEi_
  zyt_dlp.extractor.drbonanza	DRBonanzazVhttps?://(?:www\.)?dr\.dk/bonanza/[^/]+/\d+/[^/]+/(?P<id>\d+)/(?P<display_id>[^/?#&]+)r}   r   Nr   r   r   r   r1  r1  _
  s    *GGmJLr   r1  c                   $    \ rS rSrSrSrSrSrSrg)DRTVIEif
  yt_dlp.extractor.drtvdrtvaF  (?x)
                    https?://
                        (?:
                            (?:www\.)?dr\.dk/tv/se(?:/ondemand)?/(?:[^/?#]+/)*|
                            (?:www\.)?(?:dr\.dk|dr-massive\.com)/drtv/(?:se|episode|program)/
                        )
                        (?P<id>[\da-z_-]+)
                    r}   r   Nr   r   r   r   r4  r4  f
  s    %GG gJLr   r4  c                   $    \ rS rSrSrSrSrSrSrg)
DRTVLiveIEim
  r5  z	drtv:livez:https?://(?:www\.)?dr\.dk/(?:tv|TV)/live/(?P<id>[\da-z-]+)r}   r   Nr   r   r   r   r8  r8  m
  s    %GGPJLr   r8  c                   $    \ rS rSrSrSrSrSrSrg)DRTVSeasonIEit
  r5  zdrtv:seasonz\https?://(?:www\.)?(?:dr\.dk|dr-massive\.com)/drtv/saeson/(?P<display_id>[\w-]+)_(?P<id>\d+)r~   r   Nr   r   r   r   r:  r:  t
  s    %GGtJLr   r:  c                   $    \ rS rSrSrSrSrSrSrg)DRTVSeriesIEi{
  r5  zdrtv:seriesz[https?://(?:www\.)?(?:dr\.dk|dr-massive\.com)/drtv/serie/(?P<display_id>[\w-]+)_(?P<id>\d+)r~   r   Nr   r   r   r   r<  r<  {
  s    %GGsJLr   r<  c                   (    \ rS rSrSrSrSrSrSrSr	g)	DTubeIEi
  zyt_dlp.extractor.dtubeDTubezUhttps?://(?:www\.)?d\.tube/(?:#!/)?v/(?P<uploader_id>[0-9a-z.-]+)/(?P<id>[0-9a-z]{8})Fr}   r   NrZ  r   r   r   r>  r>  
  s    &GGjJHLr   r>  c                   (    \ rS rSrSrSrSrSrSrSr	g)	DVTVIEi
  zyt_dlp.extractor.dvtvdvtvz>https?://video\.aktualne\.cz/(?:[^/]+/)+r~(?P<id>[0-9a-f]{32})zhttp://video.aktualne.cz/r   r   Nr   r   r   r   rA  rA  
  s    %GGSJ)GLr   rA  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)	DWArticleIEi
  yt_dlp.extractor.dwz
dw:articleNz3https?://(?:www\.)?dw\.com/(?:[^/]+/)+a-(?P<id>\d+)Fr}   r   r   r   r    r!   r)   ro   r   rG   rP   r   r"   r   r   r   rD  rD  
  s     #GGHIJHLr   rD  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)	DWIEi
  rE  dwNz:https?://(?:www\.)?dw\.com/(?:[^/]+/)+(?:av|e)-(?P<id>\d+)Fr}   r   rF  r   r   r   rH  rH  
  s     #GGHPJHLr   rH  c                        \ rS rSrSrSrSrSrg)DacastBaseIEi
  yt_dlp.extractor.dacast
DacastBasezDhttps?://iframe\.dacast\.com/None/(?P<user_id>[\w-]+)/(?P<id>[\w-]+)r   Nr   r   r   r   rK  rK  
  s    'GG[Jr   rK  c                   $    \ rS rSrSrSrSrSrSrg)DacastPlaylistIEi
  rL  DacastPlaylistzHhttps?://iframe\.dacast\.com/playlist/(?P<user_id>[\w-]+)/(?P<id>[\w-]+)r~   r   Nr   r   r   r   rO  rO  
  s    'GG_JLr   rO  c                   $    \ rS rSrSrSrSrSrSrg)DacastVODIEi
  rL  	DacastVODzChttps?://iframe\.dacast\.com/vod/(?P<user_id>[\w-]+)/(?P<id>[\w-]+)r}   r   Nr   r   r   r   rR  rR  
  s    'GGZJLr   rR  c                       \ rS rSrSrSrSrg)	VRTBaseIEi
  yt_dlp.extractor.vrtVRTBaser   Nr   r   r   r   rU  rU  
  r  r   rU  c                   (    \ rS rSrSrSrSrSrSrSr	g)	DagelijkseKostIEi
  rV  DagelijkseKostz;https?://dagelijksekost\.een\.be/gerechten/(?P<id>[^/?#&]+)zdagelijksekost.een.ber}   r   Nr   r   r   r   rY  rY  
  s    $GGPJ%GLr   rY  c                   $    \ rS rSrSrSrSrSrSrg)DailyMailIEi
  zyt_dlp.extractor.dailymail	DailyMailzVhttps?://(?:www\.)?dailymail\.co\.uk/(?:video/[^/]+/video-|embed/video/)(?P<id>[0-9]+)r}   r   Nr   r   r   r   r\  r\  
      *GGlJLr   r\  c                       \ rS rSrSrSrSrg)DailyWireBaseIEi
  yt_dlp.extractor.dailywireDailyWireBaser   Nr   r   r   r   r`  r`  
  r  r   r`  c                   $    \ rS rSrSrSrSrSrSrg)DailyWireIEi
  ra  	DailyWirezRhttps?://(?:www\.)dailywire(?:\.com)/(?P<sites_type>episode|videos)/(?P<id>[\w-]+)r}   r   Nr   r   r   r   rd  rd  
  s    *GGhJLr   rd  c                   $    \ rS rSrSrSrSrSrSrg)DailyWirePodcastIEi
  ra  DailyWirePodcastzbhttps?://(?:www\.)dailywire(?:\.com)/(?P<sites_type>podcasts)/(?P<podcaster>[\w-]+/(?P<id>[\w-]+))r}   r   Nr   r   r   r   rg  rg  
  s    *G GyJLr   rg  c                        \ rS rSrSrSrSrSrg)DailymotionBaseInfoExtractori
  yt_dlp.extractor.dailymotionDailymotionBaseInfoExtractdailymotionr   Nr   r   r   r   rj  rj  
  s    ,G*G"Nr   rj  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)	DailymotionIEi
  rk  rm  a  (?ix)
                    (?:https?:)?//
                    (?:
                        dai\.ly/|
                        (?:
                            (?:(?:www|touch|geo)\.)?dailymotion\.[a-z]{2,3}|
                            (?:www\.)?lequipe\.fr
                        )/
                        (?:
                            swf/(?!video)|
                            (?:(?:crawler|embed|swf)/)?video/|
                            player(?:/[\da-z]+)?\.html\?(?:video|(?P<is_playlist>playlist))=
                        )
                    )
                    (?P<id>[^/?_&#]+)(?:[\w-]*\?playlist=(?P<playlist_id>x[0-9a-z]+))?
    r   r}   r   Nr  r   r   r   ro  ro  
  s#    ,GG t
J"NILr   ro  c                        \ rS rSrSrSrSrSrg)DailymotionPlaylistBaseIEi
  rk  DailymotionPlaylistBaserm  r   Nr   r   r   r   rq  rq  
  s    ,G'G"Nr   rq  c                   (    \ rS rSrSrSrSrSrSrSr	g)	DailymotionPlaylistIEi
  rk  zdailymotion:playlistzK(?:https?://)?(?:www\.)?dailymotion\.[a-z]{2,3}/playlist/(?P<id>x[0-9a-z]+)rm  r~   r   Nr  r   r   r   rt  rt  
  s    ,G$G`J"NLr   rt  c                   (    \ rS rSrSrSrSrSrSrSr	g)	DailymotionSearchIEi
  rk  zdailymotion:searchzHhttps?://(?:www\.)?dailymotion\.[a-z]{2,3}/search/(?P<id>[^/?#]+)/videosrm  r~   r   Nr  r   r   r   rv  rv  
  s    ,G"G]J"NLr   rv  c                   (    \ rS rSrSrSrSrSrSrSr	g)	DailymotionUserIEi  rk  zdailymotion:userzhttps?://(?:www\.)?dailymotion\.[a-z]{2,3}/(?!(?:embed|swf|#|video|playlist|search|crawler)/)(?:(?:old/)?user/)?(?P<id>[^/?#]+)rm  r~   r   Nr  r   r   r   rx  rx    s    ,G G UJ"NLr   rx  c                       \ rS rSrSrSrSrg)DamtomoBaseIEi  yt_dlp.extractor.damtomoDamtomoBaser   Nr   r   r   r   rz  rz    rK  r   rz  c                   $    \ rS rSrSrSrSrSrSrg)DamtomoRecordIEi  r{  zdamtomo:recordzqhttps?://(?:www\.)?clubdam\.com/app/damtomo/(?:SP/)?karaokePost/StreamingKrk\.do\?karaokeContributeId=(?P<id>\d+)r}   r   Nr   r   r   r   r~  r~    s    (GG JJLr   r~  c                   $    \ rS rSrSrSrSrSrSrg)DamtomoVideoIEi  r{  zdamtomo:videozmhttps?://(?:www\.)?clubdam\.com/app/damtomo/(?:SP/)?karaokeMovie/StreamingDkm\.do\?karaokeMovieId=(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    (GG FJLr   r  c                        \ rS rSrSrSrSrSrg)DangalPlayBaseIEi  yt_dlp.extractor.dangalplayDangalPlayBase
dangalplayr   Nr   r   r   r   r  r        +GG!Nr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)DangalPlayIEi%  r  r  zchttps?://(?:www\.)?dangalplay.com/shows/(?P<series>[^/?#]+)/(?P<id>(?!episodes)[^/?#]+)/?(?:$|[?#])r}   r   Nr  r   r   r   r  r  %  s    +GGwJ!NLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	DangalPlaySeasonIEi-  r  zdangalplay:seasonzehttps?://(?:www\.)?dangalplay.com/shows/(?P<id>[^/?#]+)(?:/(?P<sub>ep-[^/?#]+)/episodes)?/?(?:$|[?#])r  r~   r   Nr  r   r   r   r  r  -  s    +G!GyJ!NLr   r  c                       \ rS rSrSrSrSrg)
DaumBaseIEi5  yt_dlp.extractor.daumDaumBaser   Nr   r   r   r   r  r  5  r  r   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )
DaumClipIEi:  r  zdaum.net:clipzbhttps?://(?:m\.)?tvpot\.daum\.net/(?:clip/ClipView.(?:do|tv)|mypot/View.do)\?.*?clipid=(?P<id>\d+)r}   c                    > [         R                  U5      (       d  [        R                  U5      (       a  S$ [        TU ]  U5      $ r   )DaumPlaylistIEr<   
DaumUserIEr   r   s     r   r<   DaumClipIE.suitable@  s;    &//44
8K8KC8P8PukV[V]VfgjVkkr   r   r   r   s   @r   r  r  :  s+    %GGzJLl lr   r  c                   $    \ rS rSrSrSrSrSrSrg)DaumIEiE  r  zdaum.netzshttps?://(?:(?:m\.)?tvpot\.daum\.net/v/|videofarm\.daum\.net/controller/player/VodPlayer\.swf\?vid=)(?P<id>[^?#&]+)r}   r   Nr   r   r   r   r  r  E  s    %GG NJLr   r  c                       \ rS rSrSrSrSrg)
DaumListIEiL  r  DaumListr   Nr   r   r   r   r  r  L  r  r   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )r  iQ  r  zdaum.net:playlistzZhttps?://(?:m\.)?tvpot\.daum\.net/mypot/(?:View\.do|Top\.tv)\?.*?playlistid=(?P<id>[0-9]+)r   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r  r<   r   r   s     r   r<   DaumPlaylistIE.suitableW  (    "++C00uKeg6Fs6KKr   r   r   r   s   @r   r  r  Q  s+    %G!GsJLL Lr   r  c                   $    \ rS rSrSrSrSrSrSrg)r  i\  r  zdaum.net:userz`https?://(?:m\.)?tvpot\.daum\.net/mypot/(?:View|Top)\.(?:do|tv)\?.*?ownerid=(?P<id>[0-9a-zA-Z]+)r   r   Nr   r   r   r   r  r  \  s    %GGxJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DaystarClipIEic  zyt_dlp.extractor.daystarzdaystar:clipz(https?://player\.daystar\.tv/(?P<id>\w+)r}   r   Nr   r   r   r   r  r  c  s    (GG>JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DctpTvIEij  zyt_dlp.extractor.dctpDctpTvz9https?://(?:www\.)?dctp\.tv/(?:#/)?filme/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r  r  j  s    %GGNJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DemocracynowIEiq  zyt_dlp.extractor.democracynowdemocracynowz3https?://(?:www\.)?democracynow\.org/(?P<id>[^\?]*)r}   r   Nr   r   r   r   r  r  q  s    -GGIJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DestinationAmericaIEix  rx  DestinationAmericazFhttps?://(?:www\.)?destinationamerica\.com/video/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   r  r  x  s    &G"G[JLr   r  c                        \ rS rSrSrSrSrSrg)DetikEmbedIEi  zyt_dlp.extractor.detik
DetikEmbedFr   Nr   r   r   r   r  r    s    &GGJr   r  c                   $    \ rS rSrSrSrSrSrSrg)DeuxMIEi  yt_dlp.extractor.deuxmDeuxMzDhttps?://(?:www\.)?2m\.ma/[^/]+/replay/single/(?P<id>([\w.]{1,24})+)r}   r   Nr   r   r   r   r  r    s    &GGZJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DeuxMNewsIEi  r  	DeuxMNewsz<https?://(?:www\.)?2m\.ma/(?P<lang>\w+)/news/(?P<id>[^/#?]+)r}   r   Nr   r   r   r   r  r    s    &GGRJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
DigitalConcertHallIEi  z#yt_dlp.extractor.digitalconcerthallDigitalConcertHallz}https?://(?:www\.)?digitalconcerthall\.com/(?P<language>[a-z]+)/(?P<type>film|concert|work)/(?P<id>[0-9]+)-?(?P<part>[0-9]+)?zDigitalConcertHall extractordigitalconcerthallr   r   Nr   r   r   r   r  r    s#    3G"G SJ,G)NLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DigitallySpeakingIEi  zyt_dlp.extractor.dispeakDigitallySpeakingz\https?://(?:s?evt\.dispeak|events\.digitallyspeaking)\.com/(?:[^/]+/)+xml/(?P<id>[^.]+)\.xmlr}   r   Nr   r   r   r   r  r    s    (G!GsJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
DigitekaIEi  zyt_dlp.extractor.digitekaDigitekaa  (?x)
        https?://(?:www\.)?(?:digiteka\.net|ultimedia\.com)/
        (?:
            deliver/
            (?P<embed_type>
                generic|
                musique
            )
            (?:/[^/]+)*/
            (?:
                src|
                article
            )|
            default/index/video
            (?P<site_type>
                generic|
                music
            )
            /id
        )/(?P<id>[\d+a-z]+)r}   r   Nr   r   r   r   r  r    s    )GG qJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
DigiviewIEi  zyt_dlp.extractor.digiviewDigiviewzAhttps?://(?:www\.)?ladigitale\.dev/digiview/#/v/(?P<id>[0-9a-f]+)r}   r   Nr   r   r   r   r  r    s    )GGVJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DiscogsReleasePlaylistIEi  zyt_dlp.extractor.discogsDiscogsReleasePlaylistzDhttps?://(?:www\.)?discogs\.com/(?P<type>release|master)/(?P<id>\d+)r~   r   Nr   r   r   r   r  r    s    (G&GZJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DiscoveryLifeIEi  rx  DiscoveryLifezAhttps?://(?:www\.)?discoverylife\.com/video/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   r  r    s    &GGVJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DiscoveryNetworksDeIEi  rx  DiscoveryNetworksDezhttps?://(?:www\.)?(?P<domain>(?:tlc|dmax)\.de|dplay\.co\.uk)/(?:programme|show|sendungen)/(?P<programme>[^/]+)/(?:video/)?(?P<alternate_id>[^/]+)r}   r   Nr   r   r   r   r  r    s    &G#G jJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DiscoveryPlusIEi  rx  DiscoveryPluszxhttps?://(?:www\.)?discoveryplus\.com/(?!it/)(?:(?P<country>[a-z]{2})/)?video(?:/sport|/olympics)?/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   r  r    s    &GG NJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DiscoveryPlusIndiaIEi  rx  DiscoveryPlusIndiazBhttps?://(?:www\.)?discoveryplus\.in/videos?/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   r  r    s    &G"GWJLr   r  c                       \ rS rSrSrSrSrg)DiscoveryPlusShowBaseIEi  rx  DiscoveryPlusShowBaser   Nr   r   r   r   r  r    s    &G%Gr   r  c                   $    \ rS rSrSrSrSrSrSrg)DiscoveryPlusIndiaShowIEi  rx  DiscoveryPlusIndiaShowzJhttps?://(?:www\.)?discoveryplus\.in/show/(?P<show_name>[^/]+)/?(?:[?#]|$)r~   r   Nr   r   r   r   r  r    s    &G&G_JLr   r  c                        \ rS rSrSrSrSrSrg)DiscoveryPlusItalyIEi  rx  DiscoveryPlusItalyzYhttps?://(?:www\.)?discoveryplus\.com/it/video(?:/sport|/olympics)?/(?P<id>[^/]+/[^/?#]+)r   Nr   r   r   r   r  r    s    &G"GnJr   r  c                   $    \ rS rSrSrSrSrSrSrg)DiscoveryPlusItalyShowIEi  rx  DiscoveryPlusItalyShowzOhttps?://(?:www\.)?discoveryplus\.it/programmi/(?P<show_name>[^/]+)/?(?:[?#]|$)r~   r   Nr   r   r   r   r  r    s    &G&GdJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DisneyIEi  zyt_dlp.extractor.disneyDisneya  (?x)
        https?://(?P<domain>(?:[^/]+\.)?(?:disney\.[a-z]{2,3}(?:\.[a-z]{2})?|disney(?:(?:me|latino)\.com|turkiye\.com\.tr|channel\.de)|(?:starwars|marvelkids)\.com))/(?:(?:embed/|(?:[^/]+/)+[\w-]+-)(?P<id>[a-z0-9]{24})|(?:[^/]+/)?(?P<display_id>[^/?#]+))r}   r   Nr   r   r   r   r  r    s    'GG aJLr   r  c                       \ rS rSrSrSrSrg)TikTokBaseIEi  yt_dlp.extractor.tiktok
TikTokBaser   Nr   r   r   r   r  r    r"  r   r  c                   $    \ rS rSrSrSrSrSrSrg)DouyinIEi  r  Douyinz3https?://(?:www\.)?douyin\.com/video/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r    s    'GGHJLr   r  c                       \ rS rSrSrSrSrg)DouyuBaseIEi   yt_dlp.extractor.douyutv	DouyuBaser   Nr   r   r   r   r  r         (GGr   r  c                   $    \ rS rSrSrSrSrSrSrg)DouyuShowIEi  r  	DouyuShowz;https?://v(?:mobile)?\.douyu\.com/show/(?P<id>[0-9a-zA-Z]+)r}   r   Nr   r   r   r   r  r    s    (GGPJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		DouyuTVIEi  r  DouyuTVzVhttps?://(?:www\.)?douyu(?:tv)?\.com/(topic/\w+\?rid=|(?:[^/]+/))*(?P<id>[A-Za-z0-9]+)u   斗鱼直播r}   r   Nr   r   r   r   r  r    s    (GGmJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	DrTalksIEi  zyt_dlp.extractor.drtalksDrTalksz5https?://(?:www\.)?drtalks\.com/videos/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r    s    (GGKJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		DrTuberIEi  zyt_dlp.extractor.drtuberDrTuberz]https?://(?:(?:www|m)\.)?drtuber\.com/(?:video|embed)/(?P<id>\d+)(?:/(?P<display_id>[\w-]+))?r   r}   r   NrU  r   r   r   r  r    s    (GGtJILr   r  c                       \ rS rSrSrSrSrg)	ZDFBaseIEi#  yt_dlp.extractor.zdfZDFBaser   Nr   r   r   r   r  r  #  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)	DreiSatIEi(  zyt_dlp.extractor.dreisat3satz?https?://(?:www\.)?3sat\.de/(?:[^/?#]+/)*(?P<id>[^/?#&]+)\.htmlr}   r   Nr   r   r   r   r  r  (  s    (GGUJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	DroobleIEi/  zyt_dlp.extractor.droobleDrooblez(?x)https?://drooble\.com/(?:
        (?:(?P<user>[^/]+)/)?(?P<kind>song|videos|music/albums)/(?P<id>\d+)|
        (?P<user_2>[^/]+)/(?P<kind_2>videos|music))
    r   r   Nr   r   r   r   r  r  /  s    (GG |JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	DropboxIEi6  zyt_dlp.extractor.dropboxDropboxzAhttps?://(?:www\.)?dropbox\.com/(?:(?:e/)?scl/fi|sh?)/(?P<id>\w+)r}   r   Nr   r   r   r   r  r  6      (GGWJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		DropoutIEi=  yt_dlp.extractor.dropoutDropoutzPhttps?://(?:watch\.)?dropout\.tv/(?:[^/?#]+/)*videos/(?P<id>[^/?#]+)/?(?:[?#]|$)dropoutr}   r   Nr  r   r   r   r  r  =  s    (GGeJNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)DropoutSeasonIEiE  r  DropoutSeasonzXhttps?://(?:watch\.)?dropout\.tv/(?P<id>[^\/$&?#]+)(?:/?$|/season:(?P<season>[0-9]+)/?$)r~   r   Nr   r   r   r   r  r  E  s    (GGnJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	DubokuIEiL  yt_dlp.extractor.dubokudubokuzE(?:https?://[^/]+\.duboku\.io/vodplay/)(?P<id>[0-9]+-[0-9-]+)\.html.*zwww.duboku.ior}   r   Nr   r   r   r   r  r  L  s    'GG[JGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	DubokuPlaylistIEiT  r  zduboku:listz?(?:https?://[^/]+\.duboku\.io/voddetail/)(?P<id>[0-9]+)\.html.*zwww.duboku.io entire seriesr~   r   Nr   r   r   r   r  r  T  s    'GGUJ+GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	DumpertIEi\  zyt_dlp.extractor.dumpertDumpertz(?x)
        (?P<protocol>https?)://(?:(?:www|legacy)\.)?dumpert\.nl/(?:
            (?:mediabase|embed|item)/|
            [^#]*[?&]selectedId=
        )(?P<id>[0-9]+[/_][0-9a-zA-Z]+)r}   r   Nr   r   r   r   r  r  \  s    (GG RJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	DuoplayIEic  zyt_dlp.extractor.duoplayDuoplayz+https?://duoplay\.ee/(?P<id>\d+)(?:[/?#]|$)r}   r   Nr   r   r   r   r  r  c  s    (GG@JLr   r  c                       \ rS rSrSrSrSrg)TNAFlixNetworkBaseIEij  yt_dlp.extractor.tnaflixTNAFlixNetworkBaser   Nr   r   r   r   r  r  j  s    (G"Gr   r  c                       \ rS rSrSrSrSrg)TNAEMPFlixBaseIEio  r  TNAEMPFlixBaser   Nr   r   r   r   r  r  o      (GGr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		EMPFlixIEit  r  EMPFlixz{https?://(?:www\.)?(?P<host>empflix)\.com/(?:videos/(?P<display_id>.+?)-|[^/]+/(?P<display_id_2>[^/]+)/video)(?P<id>[0-9]+)r   r}   r   NrU  r   r   r   r"  r"  t  s    (GG QJILr   r"  c                   $    \ rS rSrSrSrSrSrSrg)ERRJupiterIEi|  zyt_dlp.extractor.err
ERRJupiterz?https?://(?:jupiter(?:pluss)?|lasteekraan)\.err\.ee/(?P<id>\d+)r}   r   Nr   r   r   r   r%  r%  |  s    $GGUJLr   r%  c                       \ rS rSrSrSrSrg)ERTFlixBaseIEi  yt_dlp.extractor.ertgrERTFlixBaser   Nr   r   r   r   r(  r(    s    &GGr   r(  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ERTFlixCodenameIEi  r)  zertflix:codenamezertflix:(?P<id>[\w-]+)zERTFLIX videos by codenamer}   r   Nr   r   r   r   r,  r,    s    &G G*J*GLr   r,  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
	ERTFlixIEi  r)  ertflixzIhttps?://www\.ertflix\.gr/(?:[^/]+/)?(?:series|vod)/(?P<id>[a-z]{3}\.\d+)zERTFLIX videos   r   r   Nr  r   r   r   r.  r.    s     &GG`JGILr   r.  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ERTWebtvEmbedIEi  r)  zertwebtv:embedzVhttps?://www\.ert\.gr/webtv/live\-uni/vod/dt\-uni\-vod\.php\?([^#]+&)?f=(?P<id>[^#&]+)zert.gr webtv embedded videosr}   r   Nr   r   r   r   r2  r2    s    &GGpJ,GLr   r2  c                   >   ^  \ rS rSrSrSrSr\U 4S j5       rSr	U =r
$ )ESPNArticleIEi  yt_dlp.extractor.espnESPNArticlezBhttps?://(?:espn\.go|(?:www\.)?espn)\.com/(?:[^/]+/)*(?P<id>[^/]+)c                    > [         R                  U5      (       d  [        R                  U5      (       a  S$ [        TU ]  U5      $ r   )ESPNIEr<   WatchESPNIEr   r   s     r   r<   ESPNArticleIE.suitable  s9    --1E1Ec1J1JufQVQXQabeQffr   r   )r   r   r    r!   r)   ro   rG   r   r<   r"   r   r   s   @r   r4  r4    s&    %GGXJg gr   r4  c                   $    \ rS rSrSrSrSrSrSrg)ESPNCricInfoIEi  r5  ESPNCricInfozOhttps?://(?:www\.)?espncricinfo\.com/(?:cricket-)?videos?/[^#$&?/]+-(?P<id>\d+)r}   r   Nr   r   r   r   r<  r<    s    %GGeJLr   r<  c                   $    \ rS rSrSrSrSrSrSrg)r8  i  r5  ESPNa  (?x)
                    https?://
                        (?:
                            (?:
                                (?:
                                    (?:(?:\w+\.)+)?espn\.go|
                                    (?:www\.)?espn
                                )\.com/
                                (?:
                                    (?:
                                        video/(?:clip|iframe/twitter)|
                                    )
                                    (?:
                                        .*?\?.*?\bid=|
                                        /_/id/
                                    )|
                                    [^/]+/video/
                                )
                            )|
                            (?:www\.)espnfc\.(?:com|us)/(?:video/)?[^/]+/\d+/video/
                        )
                        (?P<id>\d+)
                    r}   r   Nr   r   r   r   r8  r8    s    %GG VJLr   r8  c                   $    \ rS rSrSrSrSrSrSrg)
EUScreenIEi  zyt_dlp.extractor.euscreenEUScreenz>https?://(?:www\.)?euscreen\.eu/item.html\?id=(?P<id>[^&?$/]+)r}   r   Nr   r   r   r   rA  rA    s    )GGTJLr   rA  c                        \ rS rSrSrSrSrSrg)EWETVBaseIEi  rD  	EWETVBaseewetvr   Nr   r   r   r   rD  rD    rK  r   rD  c                   $    \ rS rSrSrSrSrSrSrg)EWETVIEi  rD  EWETVz(?x)https?://(?:www\.)?tvonline\.ewe\.de/(?:
        [^?#]+\?(?:[^#]+&)?program=(?P<vid2>\d+)
        |(?:program|watch)/[^/]+/(?P<vid1>\d+)
    )rF  r   NrO  r   r   r   rH  rH    s    'GG oJNr   rH  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )EWETVLiveIEi  rD  	EWETVLivez(?x)https?://(?:www\.)?tvonline\.ewe\.de/(?:
        [^?#]+\?(?:[^#]+&)?channel=(?P<vid2>[^/?&#]+)
        |live/(?P<vid1>[^/?&#]+)
    )rF  c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )rH  r<   r   r   s     r   r<   EWETVLiveIE.suitable  r   r   r   ru  r   s   @r   rK  rK    s.    'GG dJNI Ir   rK  c                   $    \ rS rSrSrSrSrSrSrg)EWETVRecordingsIEi  rD  EWETVRecordingszx(?x)https?://(?:www\.)?tvonline\.ewe\.de/(?:
        [^?#]+\?(?:[^#]+&)?recording=(?P<vid2>\d+)
        (?P<vid1>)
    )rF  r   NrO  r   r   r   rP  rP    s    'GG TJNr   rP  c                   $    \ rS rSrSrSrSrSrSrg)EbaumsWorldIEi  zyt_dlp.extractor.ebaumsworldEbaumsWorldz<https?://(?:www\.)?ebaumsworld\.com/videos/[^/]+/(?P<id>\d+)r}   r   Nr   r   r   r   rS  rS    r  r   rS  c                   $    \ rS rSrSrSrSrSrSrg)EbayIEi  zyt_dlp.extractor.ebayEbayz,https?://(?:www\.)?ebay\.com/itm/(?P<id>\d+)r}   r   Nr   r   r   r   rV  rV    r  r   rV  c                       \ rS rSrSrSrSrg)EggheadBaseIEi  yt_dlp.extractor.eggheadEggheadBaser   Nr   r   r   r   rY  rY    rK  r   rY  c                   (    \ rS rSrSrSrSrSrSrSr	g)	EggheadCourseIEi  rZ  zegghead:coursezDhttps?://(?:app\.)?egghead\.io/(?:course|playlist)s/(?P<id>[^/?#&]+)zegghead.io courser~   r   Nr   r   r   r   r]  r]    s    (GGYJ!GLr   r]  c                   (    \ rS rSrSrSrSrSrSrSr	g)	EggheadLessonIEi  rZ  zegghead:lessonzChttps?://(?:app\.)?egghead\.io/(?:api/v1/)?lessons/(?P<id>[^/?#&]+)zegghead.io lessonr}   r   Nr   r   r   r   r_  r_    s    (GGXJ!GLr   r_  c                       \ rS rSrSrSrSrg)
EggsBaseIEi  yt_dlp.extractor.eggsEggsBaser   Nr   r   r   r   ra  ra    r  r   ra  c                   $    \ rS rSrSrSrSrSrSrg)EggsArtistIEi  rb  zeggs:artistz1https?://eggs\.mu/artist/(?P<id>\w+)/?(?:[?#&]|$)r~   r   Nr   r   r   r   re  re    s    %GGFJLr   re  c                   $    \ rS rSrSrSrSrSrSrg)EggsIEi  rb  zeggs:singlez7https?://eggs\.mu/artist/[^/?#]+/song/(?P<id>[\da-f-]+)r}   r   Nr   r   r   r   rg  rg    s    %GGLJLr   rg  c                   $    \ rS rSrSrSrSrSrSrg)EightTracksIEi  zyt_dlp.extractor.eighttracks8tracksz=https?://8tracks\.com/(?P<user>[^/]+)/(?P<id>[^/#]+)(?:#.*)?$r~   r   Nr   r   r   r   ri  ri    s    ,GGQJLr   ri  c                        \ rS rSrSrSrSrSrg)EinsUndEinsTVBaseIEi  rD  EinsUndEinsTVBase1und1tvr   Nr   r   r   r   rl  rl    s    'G!GNr   rl  c                   $    \ rS rSrSrSrSrSrSrg)EinsUndEinsTVIEi"  rD  EinsUndEinsTVz(?x)https?://(?:www\.)?1und1\.tv/(?:
        [^?#]+\?(?:[^#]+&)?program=(?P<vid2>\d+)
        |(?:program|watch)/[^/]+/(?P<vid1>\d+)
    )rn  r   NrO  r   r   r   rp  rp  "  s    'GG fJNr   rp  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )EinsUndEinsTVLiveIEi)  rD  EinsUndEinsTVLivez(?x)https?://(?:www\.)?1und1\.tv/(?:
        [^?#]+\?(?:[^#]+&)?channel=(?P<vid2>[^/?&#]+)
        |live/(?P<vid1>[^/?&#]+)
    )rn  c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )rp  r<   r   r   s     r   r<   EinsUndEinsTVLiveIE.suitable/  (    '0055uP57;KC;PPr   r   ru  r   s   @r   rs  rs  )  s.    'G!G [JNQ Qr   rs  c                   $    \ rS rSrSrSrSrSrSrg)EinsUndEinsTVRecordingsIEi4  rD  EinsUndEinsTVRecordingszp(?x)https?://(?:www\.)?1und1\.tv/(?:
        [^?#]+\?(?:[^#]+&)?recording=(?P<vid2>\d+)
        (?P<vid1>)
    )rn  r   NrO  r   r   r   ry  ry  4  s    'G'G KJNr   ry  c                   $    \ rS rSrSrSrSrSrSrg)EitbIEi;  zyt_dlp.extractor.eitbzeitb.tvzHhttps?://(?:www\.)?eitb\.tv/(?:eu/bideoa|es/video)/[^/]+/\d+/(?P<id>\d+)r}   r   Nr   r   r   r   r|  r|  ;  s    %GG_JLr   r|  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ElPaisIEiB  zyt_dlp.extractor.elpaisElPaiszChttps?://(?:[^.]+\.)?elpais\.com/.*/(?P<id>[^/#?]+)\.html(?:$|[?#])u   El Paísr}   r   Nr   r   r   r   r~  r~  B  s    'GGYJGLr   r~  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ElTreceTVIEiJ  zyt_dlp.extractor.eltrecetv	ElTreceTVzShttps?://(?:www\.)?eltrecetv\.com\.ar/[\w-]+/capitulos/temporada-\d+/(?P<id>[\w-]+)zEl Trece TV (Argentina)r}   r   Nr   r   r   r   r  r  J  s    *GGlJ'GLr   r  c                        \ rS rSrSrSrSrSrg)ElementorEmbedIEiR  zyt_dlp.extractor.elementorembedElementorEmbedFr   Nr   r   r   r   r  r  R  s    /GGJr   r  c                   $    \ rS rSrSrSrSrSrSrg)ElonetIEiX  zyt_dlp.extractor.elonetElonetzEhttps?://elonet\.finna\.fi/Record/kavi\.elonet_elokuva_(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  X  s    'GG[JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	EmbedlyIEi_  zyt_dlp.extractor.embedlyEmbedlyz[https?://(?:www|cdn\.)?embedly\.com/widgets/media\.html\?(?:[^#]*?&)?(?:src|url)=(?:[^#&]+)r   r   Nr   r   r   r   r  r  _  s    (GGrJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)EpiconIEif  yt_dlp.extractor.epiconEpiconz_https?://(?:www\.)?epicon\.in/(?:documentaries|movies|tv-shows/[^/?#]+/[^/?#]+)/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r  f  s    'GGtJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)EpiconSeriesIEim  r  EpiconSerieszB(?!.*season)https?://(?:www\.)?epicon\.in/tv-shows/(?P<id>[^/?#]+)r~   r   Nr   r   r   r   r  r  m  s    'GGWJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)EpidemicSoundIEit  zyt_dlp.extractor.epidemicsoundEpidemicSoundzchttps?://(?:www\.)?epidemicsound\.com/(?:(?P<sfx>sound-effects/tracks)|track)/(?P<id>[0-9a-zA-Z-]+)r}   r   Nr   r   r   r   r  r  t  s    .GGxJLr   r  c                   0    \ rS rSrSrSrSS/rSrSrSr	Sr
g	)
	EplusIbIEi{  zyt_dlp.extractor.eplusepluszGhttps?://live\.eplus\.jp/ex/player\?ib=(?P<id>(?:\w|%2B|%2F){86}%3D%3D)z+https?://live\.eplus\.jp/(?P<id>sample|\d+)u   e+ (イープラス)r}   r   Nr   r   r   r   r  r  {  s-    &GG_  bR  SJ$GNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)EpochIEi  zyt_dlp.extractor.epochEpochz7https?://www.theepochtimes\.com/[\w-]+_(?P<id>\d+).htmlr}   r   Nr   r   r   r   r  r    r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		EpornerIEi  zyt_dlp.extractor.epornerEpornerzdhttps?://(?:www\.)?eporner\.com/(?:(?:hd-porn|embed)/|video-)(?P<id>\w+)(?:/(?P<display_id>[\w-]+))?r   r}   r   NrU  r   r   r   r  r        (GG{JILr   r  c                   $    \ rS rSrSrSrSrSrSrg)EroProfileAlbumIEi  yt_dlp.extractor.eroprofilezEroProfile:albumz?https?://(?:www\.)?eroprofile\.com/m/videos/album/(?P<id>[^/]+)r~   r   Nr   r   r   r   r  r    s    +G GTJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
EroProfileIEi  r  
EroProfilez>https?://(?:www\.)?eroprofile\.com/m/videos/view/(?P<id>[^/]+)
eroprofiler   r}   r   Nr  r   r   r   r  r    s     +GGSJ!NILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		ErocastIEi  zyt_dlp.extractor.erocastErocastz3https?://(?:www\.)?erocast\.me/track/(?P<id>[0-9]+)r   r}   r   NrU  r   r   r   r  r    s    (GGHJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)EttuTvIEi  zyt_dlp.extractor.ettutvEttuTvz<https?://(?:www\.)?ettu\.tv/[^?#]+/playerpage/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r        'GGQJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)EuroParlWebstreamIEi  yt_dlp.extractor.europaEuroParlWebstreamzu(?x)
        https?://multimedia\.europarl\.europa\.eu/
        (?:\w+/)?webstreaming/(?:[\w-]+_)?(?P<id>[\w-]+)
    r}   r   Nr   r   r   r   r  r    s    'G!G RJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	EuropaIEi  r  Europazkhttps?://ec\.europa\.eu/avservices/(?:video/player|audio/audioDetails)\.cfm\?.*?\bref=(?P<id>[A-Za-z0-9-]+)Fr}   r   NrZ  r   r   r   r  r    s    'GG DJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)EuropeanTourIEi  zyt_dlp.extractor.europeantourEuropeanTourzNhttps?://(?:www\.)?europeantour\.com/dpworld-tour/news/video/(?P<id>[^/&?#$]+)r}   r   Nr   r   r   r   r  r    s    -GGcJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)EurosportIEi  zyt_dlp.extractor.eurosport	Eurosportz(?x)
        https?://(?:
            (?:(?:www|espanol)\.)?eurosport\.(?:com(?:\.tr)?|de|dk|es|fr|hu|it|nl|no|ro)|
            eurosport\.tvn24\.pl
        )/[\w-]+/(?:[\w-]+/[\d-]+/)?[\w.-]+_(?P<id>vid\d+)
    r}   r   Nr   r   r   r   r  r    s    *GG wJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ExpressenIEi  zyt_dlp.extractor.expressen	Expressena  (?x)
                    https?://
                        (?:www\.)?(?:expressen|di)\.se/
                        (?:(?:tvspelare/video|video-?player/embed)/)?
                        (?:tv|nyheter)/(?:[^/?#]+/)*
                        (?P<id>[^/?#&]+)
                    r}   r   Nr   r   r   r   r  r    s    *GG oJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	EyedoTVIEi  zyt_dlp.extractor.eyedotvEyedoTVzEhttps?://(?:www\.)?eyedo\.tv/[^/]+/(?:#!/)?Live/Detail/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r        (GGZJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
FC2EmbedIEi  yt_dlp.extractor.fc2z	fc2:embedz1https?://video\.fc2\.com/flv2\.swf\?(?P<query>.+)r}   r   Nr   r   r   r   r  r    s    $GGHJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)FC2IEi  r  fc2zB(?:https?://video\.fc2\.com/(?:[^/]+/)*content/|fc2:)(?P<id>[^/]+)r}   r   Nr  r   r   r   r  r    s    $GGWJNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	FC2LiveIEi  r  zfc2:livez#https?://live\.fc2\.com/(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    $GG9JLr   r  c                        \ rS rSrSrSrSrSrg)FOX9IEi  yt_dlp.extractor.fox9FOX9z.https?://(?:www\.)?fox9\.com/video/(?P<id>\d+)r   Nr   r   r   r   r  r    s    %GGDJr   r  c                   $    \ rS rSrSrSrSrSrSrg)
FOX9NewsIEi  r  FOX9Newsz2https?://(?:www\.)?fox9\.com/news/(?P<id>[^/?&#]+)r}   r   Nr   r   r   r   r  r    s    %GGGJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	FOXIEi   zyt_dlp.extractor.foxFOXzKhttps?://(?:www\.)?fox(?:sports)?\.com/(?:watch|replay)/(?P<id>[\da-fA-F]+)r  r}   r   NrU  r   r   r   r  r     s    $GGaJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)FacebookAdsIEi  yt_dlp.extractor.facebookzfacebook:adszLhttps?://(?:[\w-]+\.)?facebook\.com/ads/library/?\?(?:[^#]+&)?id=(?P<id>\d+)r   r   Nr   r   r   r   r  r    s    )GGdJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)
FacebookIEi  r  facebooka(  (?x)
                (?:
                    https?://
                        (?:[\w-]+\.)?(?:facebook\.com|facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd\.onion)/
                        (?:[^#]*?\#!/)?
                        (?:
                            (?:
                                permalink\.php|
                                video/video\.php|
                                photo\.php|
                                video\.php|
                                video/embed|
                                story\.php|
                                watch(?:/live)?/?
                            )\?(?:.*?)(?:v|video_id|story_fbid)=|
                            [^/]+/videos/(?:[^/]+/)?|
                            [^/]+/posts/|
                            events/(?:[^/]+/)?|
                            groups/[^/]+/(?:permalink|posts)/(?:[\da-f]+/)?|
                            watchparty/
                        )|
                    facebook:
                )
                (?P<id>pfbid[A-Za-z0-9]+|\d+)
                r   r   Nr  r   r   r   r  r    s    )GG aJNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)FacebookPluginsVideoIEi  r  FacebookPluginsVideozQhttps?://(?:[\w-]+\.)?facebook\.com/plugins/video\.php\?.*?\bhref=(?P<id>https.+)r}   r   Nr   r   r   r   r  r    s    )G$GjJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	FacebookRedirectURLIEi  r  FacebookRedirectURLz0https?://(?:[\w-]+\.)?facebook\.com/flx/warn[/?]Fr}   r   Nr   r   r   r   r  r    s    )G#GFJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)FacebookReelIEi&  r  zfacebook:reelz4https?://(?:[\w-]+\.)?facebook\.com/reel/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  &      )GGKJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
FancodeVodIEi-  yt_dlp.extractor.fancodezfancode:vodz6https?://(?:www\.)?fancode\.com/video/(?P<id>[0-9]+)\bFfancoder}   r   Nr   r   r    r!   r)   ro   rG   rP   rh   r   r"   r   r   r   r  r  -  s     (GGLJHNLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
FancodeLiveIEi6  r  zfancode:livez4https?://(www\.)?fancode\.com/match/(?P<id>[0-9]+).+Fr  r}   r   Nr  r   r   r   r  r  6  s     (GGIJHNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)FathomIEi?  zyt_dlp.extractor.fathomFathomz7https?://(?:www\.)?fathom\.video/share/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r  r  ?      'GGLJLr   r  c                       \ rS rSrSrSrSrg)FaulioBaseIEiF  yt_dlp.extractor.faulio
FaulioBaser   Nr   r   r   r   r  r  F  r"  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	FaulioIEiK  r  Fauliozhttps?://(?:aloula\.sba\.sa|bahry\.com|maraya\.sba\.net\.ae|sat7plus\.org)/(?:(?:ar|en|fa)/)?(?:episode|media)/(?P<id>[a-zA-Z0-9-]+)   r}   r   NrU  r   r   r   r  r  K  s    'GG _JILr   r  c                   $    \ rS rSrSrSrSrSrSrg)FaulioLiveIEiS  r  
FaulioLivezwhttps?://(?:aloula\.sba\.sa|bahry\.com|maraya\.sba\.net\.ae|sat7plus\.org)/(?:(?:ar|en|fa)/)?live/(?P<id>[a-zA-Z0-9-]+)r}   r   Nr   r   r   r   r  r  S  s    'GG RJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)FazIEiZ  zyt_dlp.extractor.fazzfaz.netz<https?://(?:www\.)?faz\.net/(?:[^/]+/)*.*?-(?P<id>\d+)\.htmlr}   r   Nr   r   r   r   r  r  Z  s    $GGSJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	FczenitIEia  zyt_dlp.extractor.fczenitFczenitz4https?://(?:www\.)?fc-zenit\.ru/video/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  a      (GGIJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)FifaIEih  zyt_dlp.extractor.fifaFifazBhttps?://www\.fifa\.com/fifaplus/\w{2}/watch/([^#?]+/)?(?P<id>\w+)r}   r   Nr   r   r   r   r   r   h  s    %GGYJLr   r   c                   $    \ rS rSrSrSrSrSrSrg)FilmOnChannelIEio  yt_dlp.extractor.filmonzfilmon:channelz@https?://(?:www\.)?filmon\.com/(?:tv|channel)/(?P<id>[a-z0-9-]+)r}   r   Nr   r   r   r   r  r  o  s    'GGUJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)FilmOnIEiv  r  filmonz?(?:https?://(?:www\.)?filmon\.com/vod/view/|filmon:)(?P<id>\d+)r   r   Nr   r   r   r   r  r  v  s    'GGUJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	FilmwebIEi}  zyt_dlp.extractor.filmwebFilmwebzRhttps?://(?:www\.)?filmweb\.no/(?P<type>trailere|filmnytt)/article(?P<id>\d+)\.ecer}   r   Nr   r   r   r   r	  r	  }  s    (GGiJLr   r	  c                   (    \ rS rSrSrSrSrSrSrSr	g)		FirstTVIEi  zyt_dlp.extractor.firsttv1tvzAhttps?://(?:www\.)?(?:sport)?1tv\.ru/(?:[^/?#]+/)+(?P<id>[^/?#]+)u   Первый каналr   r   Nr   r   r   r   r  r    s    (GGVJ'GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)FiveTVIEi  zyt_dlp.extractor.fivetvFiveTVa  (?x)
                    https?://
                        (?:www\.)?5-tv\.ru/
                        (?:
                            (?:[^/]+/)+(?P<id>\d+)|
                            (?P<path>[^/?#]+)(?:[/?#])?
                        )
                    r}   r   Nr   r   r   r   r  r    s    'GG cJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)FiveThirtyEightIEi  r5  FiveThirtyEightz@https?://(?:www\.)?fivethirtyeight\.com/features/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r    s    %GGUJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	FlexTVIEi  zyt_dlp.extractor.flextv	ttinglivezNhttps?://(?:www\.)?(?:ttinglive\.com|flextv\.co\.kr)/channels/(?P<id>\d+)/liveu   띵라이브 (formerly FlexTV)r}   r   Nr   r   r   r   r  r    s    'GGfJ.GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)FlickrIEi  zyt_dlp.extractor.flickrFlickrzDhttps?://(?:www\.|secure\.)?flickr\.com/photos/[\w\-_@]+/(?P<id>\d+)r}   r   Nr   r   r   r   r  r        'GG]JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)FloatplaneChannelIEi  yt_dlp.extractor.floatplaneFloatplaneChannelz`https?://(?:(?:www|beta)\.)?floatplane\.com/channel/(?P<id>[\w-]+)/home(?:/(?P<channel>[\w-]+))?r~   r   Nr   r   r   r   r  r    s    +G!GwJLr   r  c                       \ rS rSrSrSrSrg)FloatplaneBaseIEi  r  FloatplaneBaser   Nr   r   r   r   r   r     rZ  r   r   c                   $    \ rS rSrSrSrSrSrSrg)FloatplaneIEi  r  
Floatplanez<https?://(?:(?:www|beta)\.)?floatplane\.com/post/(?P<id>\w+)r   r   Nr   r   r   r   r#  r#    s    +GGRJLr   r#  c                   (    \ rS rSrSrSrSrSrSrSr	g)	FolketingetIEi  zyt_dlp.extractor.folketingetFolketingetzChttps?://(?:www\.)?ft\.dk/webtv/video/[^?#]*?\.(?P<id>[0-9]+)\.aspxz&Folketinget (ft.dk; Danish parliament)r}   r   Nr   r   r   r   r&  r&    s    ,GGZJ6GLr   r&  c                   $    \ rS rSrSrSrSrSrSrg)FoodNetworkIEi  rx  FoodNetworkzAhttps?://(?:watch\.)?foodnetwork\.com/video/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   r)  r)    s    &GGVJLr   r)  c                   $    \ rS rSrSrSrSrSrSrg)FootyRoomIEi  zyt_dlp.extractor.footyroom	FootyRoomz+https?://footyroom\.com/matches/(?P<id>\d+)r~   r   Nr   r   r   r   r,  r,    s    *GG@JLr   r,  c                   $    \ rS rSrSrSrSrSrSrg)
Formula1IEi  zyt_dlp.extractor.formula1Formula1zJhttps?://(?:www\.)?formula1\.com/en/latest/video\.[^.]+\.(?P<id>\d+)\.htmlr}   r   Nr   r   r   r   r/  r/        )GGcJLr   r/  c                       \ rS rSrSrSrSrg)FourTubeBaseIEi  yt_dlp.extractor.fourtubeFourTubeBaser   Nr   r   r   r   r3  r3    r  r   r3  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
FourTubeIEi  r4  4tubezdhttps?://(?:(?P<kind>www|m)\.)?4tube\.com/(?:videos|embed)/(?P<id>\d+)(?:/(?P<display_id>[^/?#&]+))?r   r}   r   NrU  r   r   r   r7  r7    s    )GGzJILr   r7  c                   $    \ rS rSrSrSrSrSrSrg)FoxNewsArticleIEi  yt_dlp.extractor.foxnewszfoxnews:articlezKhttps?://(?:www\.)?(?:insider\.)?foxnews\.com/(?!v)([^/]+/)+(?P<id>[a-z-]+)r}   r   Nr   r   r   r   r:  r:    s    (GGaJLr   r:  c                   (    \ rS rSrSrSrSrSrSrSr	g)		FoxNewsIEi  r;  foxnewszfhttps?://video\.(?:insider\.)?fox(?:news|business)\.com/v/(?:video-embed\.html\?video_id=)?(?P<id>\d+)zFox News and Fox Business Videor}   r   Nr   r   r   r   r=  r=    s    (GGJ/GLr   r=  c                   $    \ rS rSrSrSrSrSrSrg)FoxNewsVideoIEi  r;  FoxNewsVideoz1https?://(?:www\.)?foxnews\.com/video/(?P<id>\d+)r}   r   Nr   r   r   r   r@  r@    s    (GGGJLr   r@  c                   $    \ rS rSrSrSrSrSrSrg)FoxSportsIEi  zyt_dlp.extractor.foxsports	FoxSportsz6https?://(?:www\.)?foxsports\.com/watch/(?P<id>[\w-]+)r}   r   Nr   r   r   r   rC  rC    r  r   rC  c                   (    \ rS rSrSrSrSrSrSrSr	g)		FptplayIEi  zyt_dlp.extractor.fptplayfptplayzXhttps?://fptplay\.vn/xem-video/[^/]+\-(?P<id>\w+)(?:/tap-(?P<episode>\d+)?/?(?:[?#]|$)|)z
fptplay.vnr}   r   Nr   r   r   r   rF  rF    s    (GGoJGLr   rF  c                   $    \ rS rSrSrSrSrSrSrg)FrancaisFacileIEi  zyt_dlp.extractor.francaisfacileFrancaisFacilez]https?://francaisfacile\.rfi\.fr/[a-z]{2}/(?:actualit%C3%A9|podcasts/[^/#?]+)/(?P<id>[^/#?]+)r}   r   Nr   r   r   r   rI  rI    s    /GGrJLr   rI  c                       \ rS rSrSrSrSrg)RadioFranceBaseIEi  yt_dlp.extractor.radiofranceRadioFranceBaser   Nr   r   r   r   rL  rL    r  r   rL  c                   $    \ rS rSrSrSrSrSrSrg)FranceCultureIEi  rM  FranceCulturez(?x)
        https?://(?:www\.)?radiofrance\.fr
        /(?:franceculture|franceinfo|franceinter|francemusique|fip|mouv)
        /podcasts/(?:[^?#]+/)?(?P<display_id>[^?#]+)-(?P<id>\d{6,})(?:$|[?#])
    r}   r   Nr   r   r   r   rP  rP    s    ,GG fJLr   rP  c                   $    \ rS rSrSrSrSrSrSrg)FranceInterIEi  zyt_dlp.extractor.franceinterFranceInterz;https?://(?:www\.)?franceinter\.fr/emissions/(?P<id>[^?#]+)r}   r   Nr   r   r   r   rS  rS    s    ,GGPJLr   rS  c                   $    \ rS rSrSrSrSrSrSrg)
FranceTVIEi%  yt_dlp.extractor.francetvfrancetvzfrancetv:(?P<id>[^@#]+)r}   r   Nr   r   r   r   rV  rV  %  s    )GG*JLr   rV  c                       \ rS rSrSrSrSrg)FranceTVBaseInfoExtractori,  rW  FranceTVBaseInfoExtractr   Nr   r   r   r   rZ  rZ  ,  s    )G'Gr   rZ  c                   $    \ rS rSrSrSrSrSrSrg)FranceTVInfoIEi1  rW  zfrancetvinfo.frzVhttps?://(?:www|mobile|france3-regions)\.francetvinfo\.fr/(?:[^/]+/)*(?P<id>[^/?#&.]+)r}   r   Nr   r   r   r   r]  r]  1  s    )GGkJLr   r]  c                   $    \ rS rSrSrSrSrSrSrg)FranceTVSiteIEi8  rW  zfrancetv:sitezShttps?://(?:(?:www\.)?france\.tv|mobile\.france\.tv)/(?:[^/]+/)*(?P<id>[^/]+)\.htmlr}   r   Nr   r   r   r   r_  r_  8  s    )GGkJLr   r_  c                       \ rS rSrSrSrSrg)FreeTvBaseIEi?  yt_dlp.extractor.freetv
FreeTvBaser   Nr   r   r   r   ra  ra  ?  r"  r   ra  c                   $    \ rS rSrSrSrSrSrSrg)FreeTvIEiD  rb  zfreetv:seriesz3https?://(?:www\.)?freetv\.com/series/(?P<id>[^/]+)r~   r   Nr   r   r   r   re  re  D  s    'GGHJLr   re  c                   $    \ rS rSrSrSrSrSrSrg)FreeTvMoviesIEiK  rb  FreeTvMoviesz6https?://(?:www\.)?freetv\.com/peliculas/(?P<id>[^/]+)r}   r   Nr   r   r   r   rg  rg  K  s    'GGKJLr   rg  c                   $    \ rS rSrSrSrSrSrSrg)FreesoundIEiR  zyt_dlp.extractor.freesound	FreesoundzChttps?://(?:www\.)?freesound\.org/people/[^/]+/sounds/(?P<id>[^/]+)r}   r   Nr   r   r   r   rj  rj  R  s    *GGXJLr   rj  c                   $    \ rS rSrSrSrSrSrSrg)FreespeechIEiY  zyt_dlp.extractor.freespeechzfreespeech.orgz5https?://(?:www\.)?freespeech\.org/stories/(?P<id>.+)r}   r   Nr   r   r   r   rm  rm  Y  s    +GGJJLr   rm  c                        \ rS rSrSrSrSrSrg)FrontendMastersBaseIEi`   yt_dlp.extractor.frontendmastersFrontendMastersBasefrontendmastersr   Nr   r   r   r   ro  ro  `  r  r   ro  c                        \ rS rSrSrSrSrSrg)FrontendMastersPageBaseIEif  rp  FrontendMastersPageBaserr  r   Nr   r   r   r   rt  rt  f  s    0G'G&Nr   rt  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	FrontendMastersCourseIEil  rp  FrontendMastersCoursez=https?://(?:www\.)?frontendmasters\.com/courses/(?P<id>[^/]+)rr  r~   c                 b   > [         R                  U5      (       a  S$ [        [        U ]  U5      $ r   )FrontendMastersLessonIEr<   r   ro  r   s     r   r<    FrontendMastersCourseIE.suitables  s2    /88==u 	65!3D114	6r   r   r   r   r    r!   r)   ro   rG   rh   r   r   r<   r"   r   r   s   @r   rw  rw  l  s.    0G%GRJ&NL6 6r   rw  c                   (    \ rS rSrSrSrSrSrSrSr	g)	FrontendMastersIEiy  rp  FrontendMasterszW(?:frontendmasters:|https?://api\.frontendmasters\.com/v\d+/kabuki/video/)(?P<id>[^/]+)rr  r}   r   Nr  r   r   r   r~  r~  y  s    0GGmJ&NLr   r~  c                   (    \ rS rSrSrSrSrSrSrSr	g)	rz  i  rp  FrontendMastersLessonz]https?://(?:www\.)?frontendmasters\.com/courses/(?P<course_name>[^/]+)/(?P<lesson_name>[^/]+)rr  r}   r   Nr  r   r   r   rz  rz    s    0G%GrJ&NLr   rz  c                   $    \ rS rSrSrSrSrSrSrg)FujiTVFODPlus7IEi  zyt_dlp.extractor.fujitvFujiTVFODPlus7zIhttps?://fod\.fujitv\.co\.jp/title/(?P<sid>[0-9a-z]{4})/(?P<id>[0-9a-z]+)r}   r   Nr   r   r   r   r  r    s    'GG_JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)FunkIEi  zyt_dlp.extractor.funkFunkzphttps?://(?:(?:www|origin|play)\.)?funk\.net/(?:channel|playlist)/[^/?#]+/(?P<display_id>[0-9a-z-]+)-(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    %GG GJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)Funker530IEi  zyt_dlp.extractor.funker530	Funker530z7https?://(?:www\.)?funker530\.com/video/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r    r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	FuxIEi  r4  Fuxzahttps?://(?:(?P<kind>www|m)\.)?fux\.com/(?:video|embed)/(?P<id>\d+)(?:/(?P<display_id>[^/?#&]+))?r   r}   r   NrU  r   r   r   r  r    s    )GGwJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)	FuyinTVIEi  zyt_dlp.extractor.fuyintvFuyinTVz;https?://(?:www\.)?fuyin\.tv/html/(?:\d+)/(?P<id>\d+)\.htmlr}   r   Nr   r   r   r   r  r        (GGSJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	GBNewsIEi  zyt_dlp.extractor.gbnewsGBNewsz=https?://(?:www\.)?gbnews\.(?:uk|com)/(?:\w+/)?(?P<id>[^#?]+)z(GB News clips, features and live streamsr}   r   Nr   r   r   r   r  r    s    'GGSJ8GLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)

GDCVaultIEi  zyt_dlp.extractor.gdcvaultGDCVaultzGhttps?://(?:www\.)?gdcvault\.com/play/(?P<id>\d+)(?:/(?P<name>[\w-]+))?Fgdcvaultr}   r   Nr  r   r   r   r  r    s     )GG^JHNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GMANetworkVideoIEi  zyt_dlp.extractor.gmanetworkGMANetworkVideozUhttps?://(?:www)\.gmanetwork\.com/(?:\w+/){3}(?P<id>\d+)/(?P<display_id>[\w-]+)/videor}   r   Nr   r   r   r   r  r    s    +GGmJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GPUTechConfIEi  zyt_dlp.extractor.gputechconfGPUTechConfzFhttps?://on-demand\.gputechconf\.com/gtc/2015/video/S(?P<id>\d+)\.htmlr}   r   Nr   r   r   r   r  r    ri  r   r  c                   $    \ rS rSrSrSrSrSrSrg)GabIEi  yt_dlp.extractor.gabGabz3https?://(?:www\.)?gab\.com/[^/]+/posts/(?P<id>\d+)r}   r   Nr   r   r   r   r  r        $GGIJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GabTVIEi  r  GabTVz;https?://tv\.gab\.com/channel/[^/]+/view/(?P<id>[a-z0-9-]+)r}   r   Nr   r   r   r   r  r    s    $GGPJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	GaiaIEi  zyt_dlp.extractor.gaiaGaiazZhttps?://(?:www\.)?gaia\.com/video/(?P<id>[^/?]+).*?\bfullplayer=(?P<type>feature|preview)gaiar}   r   Nr  r   r   r   r  r    s    %GGpJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	GameDevTVDashboardIEi  zyt_dlp.extractor.gamedevtvGameDevTVDashboardz\https?://(?:www\.)?gamedev\.tv/dashboard/courses/(?P<course_id>\d+)(?:/(?P<lecture_id>\d+))?	gamedevtvr   r   Nr  r   r   r   r  r    s    *G"GsJ NLr   r  c                       \ rS rSrSrSrSrg)GameJoltBaseIEi  yt_dlp.extractor.gamejoltGameJoltBaser   Nr   r   r   r   r  r    r  r   r  c                       \ rS rSrSrSrSrg)GameJoltPostListBaseIEi  r  GameJoltPostListBaser   Nr   r   r   r   r  r        )G$Gr   r  c                   $    \ rS rSrSrSrSrSrSrg)GameJoltCommunityIEi  r  GameJoltCommunityzhttps?://(?:www\.)?gamejolt\.com/c/(?P<id>(?P<community>[\w-]+)(?:/(?P<channel>[\w-]+))?)(?:(?:\?|\#!?)(?:.*?[&;])??sort=(?P<sort>\w+))?r~   r   Nr   r   r   r   r  r    s    )G!G cJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GameJoltGameIEi  r  GameJoltGamez9https?://(?:www\.)?gamejolt\.com/games/[\w-]+/(?P<id>\d+)r~   r   Nr   r   r   r   r  r    s    )GGPJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GameJoltGameSoundtrackIEi  r  GameJoltGameSoundtrackz\https?://(?:www\.)?gamejolt\.com/get/soundtrack(?:\?|\#!?)(?:.*?[&;])??game=(?P<id>(?:\d+)+)r~   r   Nr   r   r   r   r  r    s    )G&GtJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
GameJoltIEi	  r  GameJoltz<https?://(?:www\.)?gamejolt\.com/p/(?:[\w-]*-)?(?P<id>\w{8})r   r   Nr   r   r   r   r  r  	  s    )GGSJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GameJoltSearchIEi  r  GameJoltSearchz}https?://(?:www\.)?gamejolt\.com/search(?:/(?P<filter>communities|users|games))?(?:\?|\#!?)(?:.*?[&;])??q=(?P<id>(?:[^&#]+)+)r~   r   Nr   r   r   r   r  r    s    )GG UJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GameJoltUserIEi  r  GameJoltUserz0https?://(?:www\.)?gamejolt\.com/@(?P<id>[\w-]+)r~   r   Nr   r   r   r   r  r    s    )GGFJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
GameSpotIEi  zyt_dlp.extractor.gamespotGameSpotz[https?://(?:www\.)?gamespot\.com/(?:video|article|review)s/(?:[^/]+/\d+-|embed/)(?P<id>\d+)r}   r   Nr   r   r   r   r  r        )GGrJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
GameStarIEi%  zyt_dlp.extractor.gamestarGameStarzLhttps?://(?:www\.)?game(?P<site>pro|star)\.de/videos/.*,(?P<id>[0-9]+)\.htmlr}   r   Nr   r   r   r   r  r  %  s    )GGbJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
GaskrankIEi,  zyt_dlp.extractor.gaskrankGaskrankzKhttps?://(?:www\.)?gaskrank\.tv/tv/(?P<categories>[^/]+)/(?P<id>[^/]+)\.htmr}   r   Nr   r   r   r   r  r  ,  s    )GGaJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	GazetaIEi3  zyt_dlp.extractor.gazetaGazetazx(?P<url>https?://(?:www\.)?gazeta\.ru/(?:[^/]+/)?video/(?:main/)*(?:\d{4}/\d{2}/\d{2}/)?(?P<id>[A-Za-z0-9-_.]+)\.s?html)Fr}   r   NrZ  r   r   r   r  r  3  s    'GG RJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GediDigitalIEi;  zyt_dlp.extractor.gedidigitalGediDigitala  (?x:(?P<base_url>(?:https?:)//video\.
        (?:
            (?:
                (?:espresso\.)?repubblica
                |lastampa
                |ilsecoloxix
                |huffingtonpost
            )|
            (?:
                iltirreno
                |messaggeroveneto
                |ilpiccolo
                |gazzettadimantova
                |mattinopadova
                |laprovinciapavese
                |tribunatreviso
                |nuovavenezia
                |gazzettadimodena
                |lanuovaferrara
                |corrierealpi
                |lasentinella
            )\.gelocal
        )\.it(?:/[^/]+){2,4}/(?P<id>\d+))(?:$|[?&].*))r}   r   Nr   r   r   r   r  r  ;  s    ,GG VJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GeniusIEiB  yt_dlp.extractor.geniusGeniuszHhttps?://(?:www\.)?genius\.com/(?:videos|(?P<article>a))/(?P<id>[^?/#]+)r}   r   Nr   r   r   r   r  r  B  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)GeniusLyricsIEiI  r  GeniusLyricsz@https?://(?:www\.)?genius\.com/(?P<id>[^?/#]+)-lyrics(?:[?/#]|$)r~   r   Nr   r   r   r   r  r  I  s    'GGUJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	GermanupaIEiP  zyt_dlp.extractor.germanupa	Germanupaz/https?://germanupa\.de/mediathek/(?P<id>[\w-]+)zgermanupa.der}   r   Nr   r   r   r   r  r  P  s    *GGDJGLr   r  c                   ,    \ rS rSrSrSrSS/rSrSrSr	g	)
GetCourseRuIEiX  yt_dlp.extractor.getcourseruGetCourseRuzhttps?://(?:(?!player02\.)[^.]+\.getcourse\.(?:ru|io)|academymel\.online|marafon\.mani\-beauty\.com|on\.psbook\.ru)/(?!pl/|teach/)(?P<id>[^?#]+)zhttps?://(?:(?!player02\.)[^.]+\.getcourse\.(?:ru|io)|academymel\.online|marafon\.mani\-beauty\.com|on\.psbook\.ru)/(?:pl/)?teach/control/lesson/view\?(?:[^#]+&)?id=(?P<id>\d+)getcourserur~   r   Nr  r   r   r   r  r  X  s+    ,GG n  pm  nJ"NLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GetCourseRuPlayerIEi`  r  GetCourseRuPlayerz_https?://(?:player02\.getcourse\.ru|cf-api-2\.vhcdn\.com)/sign-player/?\?(?:[^#]+&)?json=[^#&]+r}   r   Nr   r   r   r   r  r  `  s    ,G!GwJLr   r  c                       \ rS rSrSrSrSrg)GettrBaseIEig  yt_dlp.extractor.gettr	GettrBaser   Nr   r   r   r   r  r  g  r   r   r  c                   $    \ rS rSrSrSrSrSrSrg)GettrIEil  r  Gettrz2https?://(www\.)?gettr\.com/post/(?P<id>[a-z0-9]+)r}   r   Nr   r   r   r   r  r  l      &GGGJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GettrStreamingIEis  r  GettrStreamingz7https?://(www\.)?gettr\.com/streaming/(?P<id>[a-z0-9]+)r}   r   Nr   r   r   r   r  r  s  s    &GGLJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GiantBombIEiz  zyt_dlp.extractor.giantbomb	GiantBombzXhttps?://(?:www\.)?giantbomb\.com/(?:videos|shows)/(?P<display_id>[^/]+)/(?P<id>\d+-\d+)r}   r   Nr   r   r   r   r  r  z  s    *GGoJLr   r  c                        \ rS rSrSrSrSrSrg)GlattvisionTVBaseIEi  rD  GlattvisionTVBaseglattvisiontvr   Nr   r   r   r   r  r    s    'G!G$Nr   r  c                   $    \ rS rSrSrSrSrSrSrg)GlattvisionTVIEi  rD  GlattvisionTVz(?x)https?://(?:www\.)?iptv\.glattvision\.ch/(?:
        [^?#]+\?(?:[^#]+&)?program=(?P<vid2>\d+)
        |(?:program|watch)/[^/]+/(?P<vid1>\d+)
    )r  r   NrO  r   r   r   r  r    s    'GG sJ$Nr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )GlattvisionTVLiveIEi  rD  GlattvisionTVLivez(?x)https?://(?:www\.)?iptv\.glattvision\.ch/(?:
        [^?#]+\?(?:[^#]+&)?channel=(?P<vid2>[^/?&#]+)
        |live/(?P<vid1>[^/?&#]+)
    )r  c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r  r<   r   r   s     r   r<   GlattvisionTVLiveIE.suitable  rw  r   r   ru  r   s   @r   r  r    s.    'G!G hJ$NQ Qr   r  c                   $    \ rS rSrSrSrSrSrSrg)GlattvisionTVRecordingsIEi  rD  GlattvisionTVRecordingsz|(?x)https?://(?:www\.)?iptv\.glattvision\.ch/(?:
        [^?#]+\?(?:[^#]+&)?recording=(?P<vid2>\d+)
        (?P<vid1>)
    )r  r   NrO  r   r   r   r  r    s    'G'G XJ$Nr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	GlideIEi  zyt_dlp.extractor.glideGlidez3https?://share\.glide\.me/(?P<id>[A-Za-z0-9\-=_+]+)z&Glide mobile video messages (glide.me)r}   r   Nr   r   r   r   r	  r	    s    &GGIJ6GLr   r	  c                       \ rS rSrSrSrSrg)GlobalPlayerBaseIEi  yt_dlp.extractor.globalplayerGlobalPlayerBaser   Nr   r   r   r   r  r    r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)GlobalPlayerAudioEpisodeIEi  r  GlobalPlayerAudioEpisodezjhttps?://www\.globalplayer\.com/(?:(?P<podcast>podcasts)|catchup/\w+/\w+)/episodes/(?P<id>\w+)/?(?:$|[?#])r}   r   Nr   r   r   r   r  r    s    -G(G CJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GlobalPlayerAudioIEi  r  GlobalPlayerAudiozbhttps?://www\.globalplayer\.com/(?:(?P<podcast>podcasts)/|catchup/\w+/\w+/)(?P<id>\w+)/?(?:$|[?#])r~   r   Nr   r   r   r   r  r    s    -G!GzJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GlobalPlayerLiveIEi  r  GlobalPlayerLivez4https?://www\.globalplayer\.com/live/(?P<id>\w+)/\w+r}   r   Nr   r   r   r   r  r    s    -G GKJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GlobalPlayerLivePlaylistIEi  r  GlobalPlayerLivePlaylistz5https?://www\.globalplayer\.com/playlists/(?P<id>\w+)r}   r   Nr   r   r   r   r  r    s    -G(GKJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)GlobalPlayerVideoIEi  r  GlobalPlayerVideoz2https?://www\.globalplayer\.com/videos/(?P<id>\w+)r}   r   Nr   r   r   r   r  r    s    -G!GHJLr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )GloboArticleIEi  yt_dlp.extractor.globoGloboArticlezNhttps?://(?!globoplay).+?\.globo\.com/(?:[^/?#]+/)*(?P<id>[^/?#.]+)(?:\.html)?r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )GloboIEr<   r   r   s     r   r<   GloboArticleIE.suitable  r   r   r   r   r   s   @r   r  r    s+    &GGdJLI Ir   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	r#  i  r   GlobozC(?:globo:|https?://[^/?#]+?\.globo\.com/(?:[^/?#]+/))(?P<id>\d{7,})globor}   r   Nr  r   r   r   r#  r#    s    &GGYJNLr   r#  c                       \ rS rSrSrSrSrg)GlomexBaseIEi  yt_dlp.extractor.glomex
GlomexBaser   Nr   r   r   r   r)  r)    r"  r   r)  c                   (    \ rS rSrSrSrSrSrSrSr	g)	GlomexEmbedIEi  r*  zglomex:embedzfhttps?://player\.glomex\.com/integration/[^/]/iframe\-player\.html\?([^#]+&)?playlistId=(?P<id>[^#&]+)zGlomex embedded videosr   r   Nr   r   r   r   r-  r-    s    'GG~J&GLr   r-  c                   (    \ rS rSrSrSrSrSrSrSr	g)	GlomexIEi  r*  glomexz1https?://video\.glomex\.com/[^/]+/(?P<id>v-[^-]+)zGlomex videosr}   r   Nr   r   r   r   r/  r/    s    'GGFJGLr   r/  c                   $    \ rS rSrSrSrSrSrSrg)GoDiscoveryIEi  rx  GoDiscoveryz<https?://(?:go\.)?discovery\.com/video/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   r2  r2    s    &GGQJLr   r2  c                   ,    \ rS rSrSrSr/ SQrSrSrSr	g)	GoIEi  zyt_dlp.extractor.goGo)z|https?://(?:www\.)?(?P<site>abc)\.com/(?:video|episode|movies-and-specials)/(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})zhttps?://(?:www\.)?(?P<site>freeform)\.com/(?:video|episode|movies-and-specials)/(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})zhttps?://(?:www\.)?(?P<site>disneynow)\.com/(?:video|episode|movies-and-specials)/(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})zhttps?://fxnow\.(?P<site>fxnetworks)\.com/(?:video|episode|movies-and-specials)/(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})zhttps?://(?:www\.)?(?P<site>nationalgeographic)\.com/tv/(?:video|episode|movies-and-specials)/(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})r@  r}   r   NrU  r   r   r   r5  r5    s    #GG LJILr   r5  c                   (    \ rS rSrSrSrSrSrSrSr	g)	GoPlayIEi  zyt_dlp.extractor.goplayGoPlayzChttps?://(www\.)?goplay\.be/video/([^/?#]+/[^/?#]+/|)(?P<id>[^/#]+)goplayr}   r   Nr  r   r   r   r8  r8    s    'GGXJNLr   r8  c                   $    \ rS rSrSrSrSrSrSrg)GoProIEi  zyt_dlp.extractor.goproGoProz2https?://(www\.)?gopro\.com/v/(?P<id>[A-Za-z0-9]+)r}   r   Nr   r   r   r   r<  r<    r  r   r<  c                   $    \ rS rSrSrSrSrSrSrg)GoToStageIEi  zyt_dlp.extractor.gotostage	GoToStagezUhttps?://(?:www\.)?gotostage\.com/channel/[a-z0-9]+/recording/(?P<id>[a-z0-9]+)/watchr}   r   Nr   r   r   r   r?  r?    s    *GGjJLr   r?  c                   $    \ rS rSrSrSrSrSrSrg)GodResourceIEi  zyt_dlp.extractor.godresourceGodResourcez0https?://new\.godresource\.com/video/(?P<id>\w+)r}   r   Nr   r   r   r   rB  rB    s    ,GGFJLr   rB  c                   (    \ rS rSrSrSrSrSrSrSr	g)		GodTubeIEi$  zyt_dlp.extractor.godtubeGodTubez=https?://(?:www\.)?godtube\.com/watch/\?v=(?P<id>[\da-zA-Z]+)Fr}   r   NrZ  r   r   r   rE  rE  $      (GGTJHLr   rE  c                   $    \ rS rSrSrSrSrSrSrg)GofileIEi,  zyt_dlp.extractor.gofileGofilez-https?://(?:www\.)?gofile\.io/d/(?P<id>[^/]+)r~   r   Nr   r   r   r   rI  rI  ,  s    'GGBJLr   rI  c                   $    \ rS rSrSrSrSrSrSrg)GolemIEi3  zyt_dlp.extractor.golemGolemz*https?://video\.golem\.de/.+?/(?P<id>.+?)/r}   r   Nr   r   r   r   rL  rL  3  s    &GG?JLr   rL  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
GoodGameIEi:  zyt_dlp.extractor.goodgamezgoodgame:streamz2https?://goodgame\.ru/(?!channel/)(?P<id>[\w.*-]+)r   r}   r   NrU  r   r   r   rO  rO  :  s    )GGGJILr   rO  c                   $    \ rS rSrSrSrSrSrSrg)GoogleDriveFolderIEiB  yt_dlp.extractor.googledrivezGoogleDrive:FolderzEhttps?://(?:docs|drive)\.google\.com/drive/folders/(?P<id>[\w-]{28,})r~   r   Nr   r   r   r   rQ  rQ  B  s    ,G"G[JLr   rQ  c                   $    \ rS rSrSrSrSrSrSrg)GoogleDriveIEiI  rR  GoogleDrivea  (?x)
                        https?://
                            (?:
                                (?:docs|drive|drive\.usercontent)\.google\.com/
                                (?:
                                    (?:uc|open|download)\?.*?id=|
                                    file/d/
                                )|
                                video\.google\.com/get_player\?.*?docid=
                            )
                            (?P<id>[a-zA-Z0-9_-]{28,})
                    r}   r   Nr   r   r   r   rT  rT  I  s    ,GG dJLr   rT  c                       \ rS rSrSrSrSrg)GooglePodcastsBaseIEiP  yt_dlp.extractor.googlepodcastsGooglePodcastsBaser   Nr   r   r   r   rW  rW  P  s    /G"Gr   rW  c                   $    \ rS rSrSrSrSrSrSrg)GooglePodcastsFeedIEiU  rX  zgoogle:podcasts:feedzAhttps?://podcasts\.google\.com/feed/(?P<id>[^/?&#]+)/?(?:[?#&]|$)r~   r   Nr   r   r   r   r[  r[  U  s    /G$GVJLr   r[  c                   $    \ rS rSrSrSrSrSrSrg)GooglePodcastsIEi\  rX  zgoogle:podcastszPhttps?://podcasts\.google\.com/feed/(?P<feed_url>[^/]+)/episode/(?P<id>[^/?&#]+)r}   r   Nr   r   r   r   r]  r]  \  s    /GGeJLr   r]  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
GoogleSearchIEic  zyt_dlp.extractor.googlesearchzvideo.google:searchz7gvsearch(?P<prefix>|[1-9][0-9]*|all):(?P<query>[\s\S]+)zGoogle Video searchgvsearchr~   r   Nr  r   r   r   r_  r_  c  s     -G#GLJ#GJLr   r_  c                   (    \ rS rSrSrSrSrSrSrSr	g)		GoshgayIEil  zyt_dlp.extractor.goshgayGoshgayz6https?://(?:www\.)?goshgay\.com/video(?P<id>\d+?)($|/)r   r}   r   NrU  r   r   r   rb  rb  l  s    (GGLJILr   rb  c                   $    \ rS rSrSrSrSrSrSrg)	GraspopIEit  zyt_dlp.extractor.graspopGraspopz/https?://vod\.graspop\.be/[a-z]{2}/(?P<id>\d+)/r}   r   Nr   r   r   r   re  re  t  s    (GGEJLr   re  c                   $    \ rS rSrSrSrSrSrSrg)GronkhFeedIEi{  yt_dlp.extractor.gronkhzgronkh:feedz0https?://(?:www\.)?gronkh\.tv(?:/feed)?/?(?:#|$)r~   r   Nr   r   r   r   rh  rh  {  s    'GGEJLr   rh  c                   $    \ rS rSrSrSrSrSrSrg)GronkhIEi  ri  Gronkhz=https?://(?:www\.)?gronkh\.tv/(?:watch/)?streams?/(?P<id>\d+)r}   r   Nr   r   r   r   rk  rk        'GGSJLr   rk  c                   $    \ rS rSrSrSrSrSrSrg)GronkhVodsIEi  ri  zgronkh:vodsz3https?://(?:www\.)?gronkh\.tv/vods/streams/?(?:#|$)r~   r   Nr   r   r   r   ro  ro    s    'GGHJLr   ro  c                   $    \ rS rSrSrSrSrSrSrg)	GrouponIEi  zyt_dlp.extractor.grouponGrouponz6https?://(?:www\.)?groupon\.com/deals/(?P<id>[^/?#&]+)r~   r   Nr   r   r   r   rq  rq    s    (GGKJLr   rq  c                   $    \ rS rSrSrSrSrSrSrg)HBOIEi  r  hbozFhttps?://(?:www\.)?hbo\.com/(?:video|embed)(?:/[^/]+)*/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   rt  rt    s    $GG[JLr   rt  c                   $    \ rS rSrSrSrSrSrSrg)HGTVComShowIEi  zyt_dlp.extractor.hgtvzhgtv.com:showz9https?://(?:www\.)?hgtv\.com/shows/[^/]+/(?P<id>[^/?#&]+)r~   r   Nr   r   r   r   rw  rw    s    %GGNJLr   rw  c                   $    \ rS rSrSrSrSrSrSrg)HGTVDeIEi  rx  HGTVDez6https?://de\.hgtv\.com/sendungen/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   ry  ry        &GGKJLr   ry  c                   $    \ rS rSrSrSrSrSrSrg)	HGTVUsaIEi  rx  HGTVUsaz:https?://(?:watch\.)?hgtv\.com/video/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   r}  r}    s    &GGOJLr   r}  c                   (    \ rS rSrSrSrSrSrSrSr	g)	HKETVIEi  zyt_dlp.extractor.hketvhketvz<https?://(?:www\.)?hkedcity\.net/etv/resource/(?P<id>[0-9]+)uX   香港教育局教育電視 (HKETV) Educational Television, Hong Kong Educational Bureaur}   r   Nr   r   r   r   r  r    s    &GGQJhGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)HRFernsehenIEi  zyt_dlp.extractor.hrfensehenhrfernsehenzNhttps?://www\.(?:hr-fernsehen|hessenschau)\.de/.*,video-(?P<id>[0-9]{6})\.htmlr}   r   Nr   r   r   r   r  r    s    +GGdJLr   r  c                        \ rS rSrSrSrSrSrg)
HRTiBaseIEi  yt_dlp.extractor.hrtiHRTiBasehrtir   Nr   r   r   r   r  r        %GGNr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
HRTiIEi  r  HRTia  (?x)
                        (?:
                            hrti:(?P<short_id>[0-9]+)|
                            https?://
                                hrti\.hrt\.hr/(?:\#/)?video/show/(?P<id>[0-9]+)/(?P<display_id>[^/]+)?
                        )
                    r     r}   r   Nr  r   r   r   r  r    s#    %GG pJNILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	HRTiPlaylistIEi  r  HRTiPlaylistzWhttps?://hrti\.hrt\.hr/(?:#/)?video/list/category/(?P<id>[0-9]+)/(?P<display_id>[^/]+)?r  r~   r   Nr  r   r   r   r  r    s    %GGlJNLr   r  c                       \ rS rSrSrSrSrg)HSEShowBaseIEi  yt_dlp.extractor.hseHSEShowBaser   Nr   r   r   r   r  r    s    $GGr   r  c                   $    \ rS rSrSrSrSrSrSrg)HSEProductIEi  r  
HSEProductz7https?://(?:www\.)?hse\.de/dpl/p/product/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r    s    $GGLJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	HSEShowIEi  r  HSEShowz8https?://(?:www\.)?hse\.de/dpl/c/tv-shows/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r    s    $GGMJLr   r  c                        \ rS rSrSrSrSrSrg)HTML5MediaEmbedIEi  yt_dlp.extractor.genericembedshtml5Fr   Nr   r   r   r   r  r    s    .GGJr   r  c                   $    \ rS rSrSrSrSrSrSrg)HarpodeonIEi  zyt_dlp.extractor.harpodeon	HarpodeonzChttps?://(?:www\.)?harpodeon\.com/(?:video|preview)/\w+/(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    *GGZJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)HearThisAtIEi  zyt_dlp.extractor.hearthisat
HearThisAtzFhttps?://(?:www\.)?hearthis\.at/(?P<artist>[^/?#]+)/(?P<title>[\w.-]+)r}   r   Nr   r   r   r   r  r    s    +GG\JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)HeiseIEi   zyt_dlp.extractor.heiseHeisezBhttps?://(?:www\.)?heise\.de/(?:[^/]+/)+[^/]+-(?P<id>[0-9]+)\.htmlr}   r   Nr   r   r   r   r  r     s    &GGXJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	HellPornoIEi  zyt_dlp.extractor.hellporno	HellPornoz@https?://(?:www\.)?hellporno\.(?:com/videos|net/v)/(?P<id>[^/]+)r   r}   r   NrU  r   r   r   r  r    s    *GGUJILr   r  c                       \ rS rSrSrSrSrg)NPODataMidEmbedIEi  yt_dlp.extractor.npoNPODataMidEmbedr   Nr   r   r   r   r  r    r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)HetKlokhuisIEi  r  hetklokhuisz=https?://(?:www\.)?hetklokhuis\.nl/[^/]+/\d+/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r  r    s    $GGSJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	HiDiveIEi  zyt_dlp.extractor.hidiveHiDivezPhttps?://(?:www\.)?hidive\.com/stream/(?P<id>(?P<title>[^/]+)/(?P<key>[^/?#&]+))hidiver}   r   Nr  r   r   r   r  r    s    'GGeJNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)HistoricFilmsIEi#  zyt_dlp.extractor.historicfilmsHistoricFilmsz@https?://(?:www\.)?historicfilms\.com/(?:tapes/|play)(?P<id>\d+)r}   r   Nr   r   r   r   r  r  #  s    .GGVJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)HitRecordIEi*  zyt_dlp.extractor.hitrecord	HitRecordz5https?://(?:www\.)?hitrecord\.org/records/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  *  s    *GGKJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)HollywoodReporterIEi1  "yt_dlp.extractor.hollywoodreporterHollywoodReporterz>https?://(?:www\.)?hollywoodreporter\.com/video/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  1  s    2G!GTJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)HollywoodReporterPlaylistIEi8  r  HollywoodReporterPlaylistzPhttps?://(?:www\.)?hollywoodreporter\.com/vcategory/(?P<slug>[\w-]+)-(?P<id>\d+)r~   r   Nr   r   r   r   r  r  8  s    2G)GgJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	HolodexIEi?  zyt_dlp.extractor.holodexHolodexz(?x)https?://(?:www\.|staging\.)?holodex\.net/(?:
            api/v2/playlist/(?P<playlist>\d+)|
            watch/(?P<id>[\w-]{11})(?:\?(?:[^#]+&)?playlist=(?P<playlist2>\d+))?
        )r   r   Nr   r   r   r   r  r  ?  s    (GG YJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	HotNewHipHopIEiF  zyt_dlp.extractor.hotnewhiphopHotNewHipHopz9https?://(?:www\.)?hotnewhiphop\.com/.*\.(?P<id>.*)\.htmlFr}   r   NrZ  r   r   r   r  r  F  s    -GGPJHLr   r  c                       \ rS rSrSrSrSrg)HotStarBaseIEiN  yt_dlp.extractor.hotstarHotStarBaser   Nr   r   r   r   r  r  N  rK  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		HotStarIEiS  r  hotstarz(?x)
        https?://(?:www\.)?hotstar\.com(?:/in)?/(?!in/)
        (?:
            (?P<type>movies|sports|clips|episode|(?P<tv>tv|shows))/
            (?(tv)(?:[^/?#]+/){2}|[^?#]*)
        )?
        [^/?#]+/
        (?P<id>\d{10})
    
JioHotstarr}   r   Nr   r   r   r   r  r  S  s    (GG MJGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	HotStarPrefixIEi[  r  HotStarPrefixz'hotstar:(?:(?P<type>\w+):)?(?P<id>\d+)$Fr}   r   Nr   r   r   r   r  r  [  s    (GG<JGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)HotStarSeriesIEic  r  zhotstar:seriesz[(?P<url>https?://(?:www\.)?hotstar\.com(?:/in)?/(?:tv|shows)/[^/]+/(?P<id>\d+))/?(?:[#?]|$)r~   r   Nr   r   r   r   r  r  c  s    (GGqJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)HrefLiRedirectIEij  zyt_dlp.extractor.hreflizhref.lizhttps?://href\.li/\?(?P<url>.+)Fr   Nr#  r   r   r   r  r  j  s    'GG4JGr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		HuajiaoIEiq  zyt_dlp.extractor.huajiaoHuajiaoz0https?://(?:www\.)?huajiao\.com/l/(?P<id>[0-9]+)u   花椒直播r}   r   Nr   r   r   r   r  r  q  s    (GGEJGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
HuffPostIEiy  zyt_dlp.extractor.huffpostHuffPostz(?x)
        https?://(embed\.)?live\.huffingtonpost\.com/
        (?:
            r/segment/[^/]+/|
            HPLEmbedPlayer/\?segmentId=
        )
        (?P<id>[0-9a-f]+)zHuffington Postr}   r   Nr   r   r   r   r  r  y  s    )GG NJGLr   r  c                       \ rS rSrSrSrSrg)HungamaBaseIEi  yt_dlp.extractor.hungamaHungamaBaser   Nr   r   r   r   r  r    rK  r   r  c                   $    \ rS rSrSrSrSrSrSrg)HungamaAlbumPlaylistIEi  r  HungamaAlbumPlaylistzPhttps?://(?:www\.|un\.)?hungama\.com/(?P<path>playlists|album)/[^/]+/(?P<id>\d+)r~   r   Nr   r   r   r   r  r    s    (G$GgJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	HungamaIEi  r  HungamaaI  (?x)
                    https?://
                        (?:www\.|un\.)?hungama\.com/
                        (?:
                            (?:video|movie|short-film)/[^/]+/|
                            tv-show/(?:[^/]+/){2}\d+/episode/[^/]+/
                        )
                        (?P<id>\d+)
                    r}   r   Nr   r   r   r   r  r    s    (GG jJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)HungamaSongIEi  r  HungamaSongz;https?://(?:www\.|un\.)?hungama\.com/song/[^/]+/(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    (GGRJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
HuyaLiveIEi  yt_dlp.extractor.huyaz	huya:livezLhttps?://(?:www\.|m\.)?huya\.com/(?!(?:video/play/))(?P<id>[^/#?&]+)(?:\D|$)u   虎牙直播r}   r   Nr   r   r   r   r  r    s    %GGcJGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	HuyaVideoIEi  r  z
huya:videoz9https?://(?:www\.)?huya\.com/video/play/(?P<id>\d+)\.htmlu   虎牙视频r}   r   Nr   r   r   r   r  r    s    %GGPJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)HypemIEi  zyt_dlp.extractor.hypemHypemz7https?://(?:www\.)?hypem\.com/track/(?P<id>[0-9a-z]{5})r}   r   Nr   r   r   r   r  r    r   r   r  c                   $    \ rS rSrSrSrSrSrSrg)HytaleIEi  zyt_dlp.extractor.hytaleHytalez>https?://(?:www\.)?hytale\.com/news/\d+/\d+/(?P<id>[a-z0-9-]+)r~   r   Nr   r   r   r   r  r        'GGUJLr   r  c                       \ rS rSrSrSrSrg)	IGNBaseIEi  yt_dlp.extractor.ignIGNBaser   Nr   r   r   r   r  r    r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)IGNArticleIEi  r  
IGNArticlezrhttps?://.+?\.ign\.com/(?:articles(?:/\d{4}/\d{2}/\d{2})?|(?:[a-z]{2}/)?(?:[\w-]+/)*?feature/\d+)/(?P<id>[^/?&#]+)r~   r   Nr   r   r   r   r  r    s    $GG MJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)IGNIEi  r  zign.comzyhttps?://(?:.+?\.ign|www\.pcmag)\.com/videos(?:/(?:\d{4}/\d{2}/\d{2}/)?(?P<id>.+?)(?:[/?&#]|$)|(?:/?\?(?P<filt>[^&#]+))?)r}   r   Nr   r   r   r   r 	  r 	    s    $GG TJLr   r 	  c                   $    \ rS rSrSrSrSrSrSrg)
IGNVideoIEi  r  IGNVideozIhttps?://.+?\.ign\.com/(?:[a-z]{2}/)?[^/]+/(?P<id>\d+)/(?:video|trailer)/r}   r   Nr   r   r   r   r	  r	        $GG_JLr   r	  c                       \ rS rSrSrSrSrg)IHeartRadioBaseIEi  yt_dlp.extractor.iheartIHeartRadioBaser   Nr   r   r   r   r	  r	    s    'GGr   r	  c                   $    \ rS rSrSrSrSrSrSrg)IHeartRadioIEi  r	  iheartradiozj(?:https?://(?:www\.)?iheart\.com/podcast/[^/]+/episode/(?P<display_id>[^/?&#]+)-|iheartradio:)(?P<id>\d+)r}   r   Nr   r   r   r   r
	  r
	    s    'GG AJLr   r
	  c                   $    \ rS rSrSrSrSrSrSrg)IHeartRadioPodcastIEi  r	  ziheartradio:podcastz[https?://(?:www\.)?iheart(?:podcastnetwork)?\.com/podcast/[^/?&#]+-(?P<id>\d+)/?(?:[?#&]|$)r~   r   Nr   r   r   r   r	  r	    s    'G#GqJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)IPrimaCNNIEi  yt_dlp.extractor.iprima	IPrimaCNNz4https?://cnn\.iprima\.cz/(?:[^/]+/)*(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r	  r	    s    'GGIJLr   r	  c                   (    \ rS rSrSrSrSrSrSrSr	g)	IPrimaIEi  r	  IPrimazAhttps?://(?!cnn)(?:[^/]+)\.iprima\.cz/(?:[^/]+/)*(?P<id>[^/?#&]+)iprimar}   r   Nr  r   r   r   r	  r	        'GGVJNLr   r	  c                       \ rS rSrSrSrSrg)ITProTVBaseIEi  yt_dlp.extractor.itprotvITProTVBaser   Nr   r   r   r   r	  r	    rK  r   r	  c                   $    \ rS rSrSrSrSrSrSrg)ITProTVCourseIEi  r	  ITProTVCoursez9https?://app\.itpro\.tv/course/(?P<id>[\w-]+)/?(?:$|[#?])r~   r   Nr   r   r   r   r	  r	    s    (GGOJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)	ITProTVIEi  r	  ITProTVz@https?://app\.itpro\.tv/course/(?P<course>[\w-]+)/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r	  r	    r  r   r	  c                   $    \ rS rSrSrSrSrSrSrg)	ITVBTCCIEi  yt_dlp.extractor.itvITVBTCCzEhttps?://(?:www\.)?itv\.com/(?:news|btcc)/(?:[^/]+/)*(?P<id>[^/?#&]+)r~   r   Nr   r   r   r   r"	  r"	    s    $GGZJLr   r"	  c                   $    \ rS rSrSrSrSrSrSrg)ITVIEi  r#	  ITVz:https?://(?:www\.)?itv\.com/hub/[^/]+/(?P<id>[0-9a-zA-Z]+)r}   r   Nr   r   r   r   r&	  r&	    s    $GGOJLr   r&	  c                   $    \ rS rSrSrSrSrSrSrg)IVXPlayerIEi  yt_dlp.extractor.tempo	IVXPlayerz/ivxplayer:(?P<video_id>\d+):(?P<player_key>\w+)r}   r   Nr   r   r   r   r)	  r)	    s    &GGDJLr   r)	  c                   $    \ rS rSrSrSrSrSrSrg)	IcareusIEi  zyt_dlp.extractor.icareusIcareusz(?P<base_url>https?://(?:www\.)?(?:asahitv\.fi|helsinkikanava\.fi|hyvinvointitv\.fi|inez\.fi|permanto\.fi|suite\.icareus\.com|videos\.minifiddlers\.org))/[^?#]+/player/[^?#]+\?(?:[^#]+&)?(?:assetId|eventId)=(?P<id>\d+)r}   r   Nr   r   r   r   r-	  r-	    s    (GG zJLr   r-	  c                   $    \ rS rSrSrSrSrSrSrg)IchinanaLiveClipIEi$  yt_dlp.extractor.ichinanalivez17live:clipzXhttps?://(?:www\.)?17\.live/(?:[^/]+/)*profile/r/(?P<uploader_id>\d+)/clip/(?P<id>[^/]+)r}   r   Nr   r   r   r   r0	  r0	  $  s    -GGnJLr   r0	  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )IchinanaLiveIEi+  r1	  17livezEhttps?://(?:www\.)?17\.live/(?:[^/]+/)*(?:live|profile/r)/(?P<id>\d+)r}   c                 d   > [         R                  U5      (       + =(       a    [        TU ]  U5      $ r-   )r0	  r<   r   r   s     r   r<   IchinanaLiveIE.suitable1  s&    %..s33M8H8MMr   r   r   r   s   @r   r3	  r3	  +  s+    -GG[JLN Nr   r3	  c                   $    \ rS rSrSrSrSrSrSrg)IchinanaLiveVODIEi6  r1	  z
17live:vodz:https?://(?:www\.)?17\.live/ja/vod/[^/?#]+/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r8	  r8	  6  s    -GGOJLr   r8	  c                       \ rS rSrSrSrSrg)IdagioPlaylistBaseIEi=  yt_dlp.extractor.idagioIdagioPlaylistBaser   Nr   r   r   r   r:	  r:	  =  rF  r   r:	  c                   $    \ rS rSrSrSrSrSrSrg)IdagioAlbumIEiB  r;	  IdagioAlbumz9https?://(?:www\.)?app\.idagio\.com/albums/(?P<id>[\w-]+)r~   r   Nr   r   r   r   r>	  r>	  B  s    'GGPJLr   r>	  c                   $    \ rS rSrSrSrSrSrSrg)IdagioPersonalPlaylistIEiI  r;	  IdagioPersonalPlaylistzHhttps?://(?:www\.)?app\.idagio\.com/playlists/personal/(?P<id>[\da-f-]+)r~   r   Nr   r   r   r   rA	  rA	  I  s    'G&G_JLr   rA	  c                   $    \ rS rSrSrSrSrSrSrg)IdagioPlaylistIEiP  r;	  IdagioPlaylistzIhttps?://(?:www\.)?app\.idagio\.com/playlists/(?!personal/)(?P<id>[\w-]+)r~   r   Nr   r   r   r   rD	  rD	  P  s    'GG`JLr   rD	  c                   $    \ rS rSrSrSrSrSrSrg)IdagioRecordingIEiW  r;	  IdagioRecordingzRhttps?://(?:www\.)?app\.idagio\.com/recordings/(?P<id>\d+)(?![^#]*[&?]trackId=\d+)r~   r   Nr   r   r   r   rG	  rG	  W  s    'GGjJLr   rG	  c                   $    \ rS rSrSrSrSrSrSrg)IdagioTrackIEi^  r;	  IdagioTrackzRhttps?://(?:www\.)?app\.idagio\.com/recordings/\d+\?(?:[^#]+&)?trackId=(?P<id>\d+)r}   r   Nr   r   r   r   rJ	  rJ	  ^  s    'GGkJLr   rJ	  c                   $    \ rS rSrSrSrSrSrSrg)
IdolPlusIEie  zyt_dlp.extractor.idolplusIdolPlusz^https?://(?:www\.)?idolplus\.com/z[us]/(?:concert/|contents/?\?(?:[^#]+&)?albumId=)(?P<id>\w+)r}   r   Nr   r   r   r   rM	  rM	  e  s    )GGuJLr   rM	  c                       \ rS rSrSrSrSrg)TencentBaseIEil  yt_dlp.extractor.tencentTencentBaser   Nr   r   r   r   rP	  rP	  l  rK  r   rP	  c                       \ rS rSrSrSrSrg)
WeTvBaseIEiq  rQ	  WeTvBaser   Nr   r   r   r   rT	  rT	  q  s    (GGr   rT	  c                       \ rS rSrSrSrSrg)IflixBaseIEiv  rQ	  	IflixBaser   Nr   r   r   r   rW	  rW	  v  r  r   rW	  c                   $    \ rS rSrSrSrSrSrSrg)IflixEpisodeIEi{  rQ	  ziflix:episodezehttps?://(?:www\.)?iflix\.com/(?:[^?#]+/)?play/(?P<series_id>\w+)(?:-[^?#]+)?/(?P<id>\w+)(?:-[^?#]+)?r}   r   Nr   r   r   r   rZ	  rZ	  {  s    (GG|JLr   rZ	  c                   $    \ rS rSrSrSrSrSrSrg)IflixSeriesIEi  rQ	  IflixSerieszShttps?://(?:www\.)?iflix\.com/(?:[^?#]+/)?play/(?P<id>\w+)(?:-[^/?#]+)?/?(?:[?#]|$)r~   r   Nr   r   r   r   r\	  r\	    s    (GGiJLr   r\	  c                   $    \ rS rSrSrSrSrSrSrg)IlPostIEi  zyt_dlp.extractor.ilpostIlPostz6https?://(?:www\.)?ilpost\.it/episodes/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r_	  r_	        'GGKJLr   r_	  c                   $    \ rS rSrSrSrSrSrSrg)IltalehtiIEi  zyt_dlp.extractor.iltalehti	Iltalehtiz9https?://(?:www\.)?iltalehti\.fi/[^/?#]+/a/(?P<id>[^/?#])r}   r   Nr   r   r   r   rc	  rc	    s    *GGNJLr   rc	  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ImdbIEi  yt_dlp.extractor.imdbimdbzFhttps?://(?:www|m)\.imdb\.com/(?:video|title|list).*?[/-]vi(?P<id>\d+)z Internet Movie Database trailersr}   r   Nr   r   r   r   rf	  rf	    s    %GG\J0GLr   rf	  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
ImdbListIEi  rg	  z	imdb:listzGhttps?://(?:www\.)?imdb\.com/list/ls(?P<id>\d{9})(?!/videoplayer/vi\d+)zInternet Movie Database listsr~   r   Nr   r   r   r   rj	  rj	    s    %GG^J-GLr   rj	  c                       \ rS rSrSrSrSrg)ImgurBaseIEi  yt_dlp.extractor.imgur	ImgurBaser   Nr   r   r   r   rl	  rl	    r   r   rl	  c                       \ rS rSrSrSrSrg)ImgurGalleryBaseIEi  rm	  ImgurGalleryBaser   Nr   r   r   r   rp	  rp	        &G Gr   rp	  c                   $    \ rS rSrSrSrSrSrSrg)ImgurAlbumIEi  rm	  zimgur:albumz?https?://(?:i\.)?imgur\.com/a/(?:[^/?#]+-)?(?P<id>[a-zA-Z0-9]+)r~   r   Nr   r   r   r   rt	  rt	    s    &GGTJLr   rt	  c                   $    \ rS rSrSrSrSrSrSrg)ImgurGalleryIEi  rm	  zimgur:galleryzbhttps?://(?:i\.)?imgur\.com/(?:gallery|(?:t(?:opic)?|r)/[^/?#]+)/(?:[^/?#]+-)?(?P<id>[a-zA-Z0-9]+)r   r   Nr   r   r   r   rv	  rv	    s    &GGwJLr   rv	  c                   $    \ rS rSrSrSrSrSrSrg)ImgurIEi  rm	  ImgurzYhttps?://(?:i\.)?imgur\.com/(?!(?:a|gallery|t|topic|r)/)(?:[^/?#]+-)?(?P<id>[a-zA-Z0-9]+)r}   r   Nr   r   r   r   rx	  rx	    s    &GGnJLr   rx	  c                   $    \ rS rSrSrSrSrSrSrg)InaIEi  zyt_dlp.extractor.inaInaz:https?://(?:(?:www|m)\.)?ina\.fr/(?:[^?#]+/)(?P<id>[\w-]+)r}   r   Nr   r   r   r   r{	  r{	        $GGPJLr   r{	  c                   $    \ rS rSrSrSrSrSrSrg)IncIEi  zyt_dlp.extractor.incIncz9https?://(?:www\.)?inc\.com/(?:[^/]+/)+(?P<id>[^.]+).htmlr}   r   Nr   r   r   r   r	  r	        $GGNJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)IndavideoEmbedIEi  zyt_dlp.extractor.indavideoIndavideoEmbedzhttps?://(?:(?:embed\.)?indavideo\.hu/player/video/|assets\.indavideo\.hu/swf/player\.swf\?.*\b(?:v(?:ID|id))=)(?P<id>[\da-f]+)r}   r   Nr   r   r   r   r	  r	    s    *GG [JLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)InfoQIEi  zyt_dlp.extractor.infoqInfoQz6https?://(?:www\.)?infoq\.com/(?:[^/]+/)+(?P<id>[^/]+)r}   r   Nr   r   r   r   r	  r	        &GGKJLr   r	  c                       \ rS rSrSrSrSrg)InstagramBaseIEi  yt_dlp.extractor.instagramInstagramBaser   Nr   r   r   r   r	  r	    r  r   r	  c                   $    \ rS rSrSrSrSrSrSrg)InstagramIEi  r	  	Instagramzm(?P<url>https?://(?:www\.)?instagram\.com(?:/(?!share/)[^/?#]+)?/(?:p|tv|reels?(?!/audio/))/(?P<id>[^/?#&]+))r   r   Nr   r   r   r   r	  r	    s    *GG CJLr   r	  c                   (    \ rS rSrSrSrSrSrSrSr	g)	InstagramIOSIEi  r	  InstagramIOSz$instagram://media\?id=(?P<id>[\d_]+)zIOS instagram:// URLr}   r   Nr   r   r   r   r	  r	    s    *GG9J$GLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)InstagramStoryIEi  r	  zinstagram:storyzLhttps?://(?:www\.)?instagram\.com/stories/(?P<user>[^/?#]+)(?:/(?P<id>\d+))?r~   r   Nr   r   r   r   r	  r	    s    *GGbJLr   r	  c                       \ rS rSrSrSrSrg)InstagramPlaylistBaseIEi  r	  InstagramPlaylistBaser   Nr   r   r   r   r	  r	    s    *G%Gr   r	  c                   (    \ rS rSrSrSrSrSrSrSr	g)	InstagramTagIEi  r	  zinstagram:tagz<https?://(?:www\.)?instagram\.com/explore/tags/(?P<id>[^/]+)zInstagram hashtag search URLsr~   r   Nr   r   r   r   r	  r	    s    *GGQJ-GLr   r	  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
InstagramUserIEi
  r	  zinstagram:userz>https?://(?:www\.)?instagram\.com/(?P<id>[^/]{2,})/?(?:$|[?#])FzInstagram user profiler~   r   Nri  r   r   r   r	  r	  
  s     *GGSJH&GLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)InternazionaleIEi  zyt_dlp.extractor.internazionaleInternazionalezGhttps?://(?:www\.)?internazionale\.it/video/(?:[^/]+/)*(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r	  r	    s    /GG\JLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)InternetVideoArchiveIEi  z%yt_dlp.extractor.internetvideoarchiveInternetVideoArchivezYhttps?://video\.internetvideoarchive\.net/(?:player|flash/players)/.*?\?.*?publishedid.*?r}   r   Nr   r   r   r   r	  r	    s    5G$GoJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)InvestigationDiscoveryIEi!  rx  InvestigationDiscoveryzJhttps?://(?:www\.)?investigationdiscovery\.com/video/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   r	  r	  !  s    &G&G_JLr   r	  c                   (    \ rS rSrSrSrSrSrSrSr	g)		IqAlbumIEi(  yt_dlp.extractor.iqiyiziq.com:albumz9https?://(?:www\.)?iq\.com/album/(?:[\w%-]*-)?(?P<id>\w+)r  r   r   NrU  r   r   r   r	  r	  (  s    &GGPJILr   r	  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
IqIEi0  r	  ziq.comz8https?://(?:www\.)?iq\.com/play/(?:[\w%-]*-)?(?P<id>\w+)zInternational version of iQiyir  r}   r   Nr  r   r   r   r	  r	  0  s     &GGOJ.GILr   r	  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)	IqiyiIEi9  r	  iqiyiz9https?://(?:(?:[^.]+\.)?iqiyi\.com|www\.pps\.tv)/.+\.htmlu	   爱奇艺r   r   Nr   r   r   r   r	  r	  9  s     &GGQJGNLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)IslamChannelIEiB  yt_dlp.extractor.islamchannelIslamChannelz2https?://watch\.islamchannel\.tv/watch/(?P<id>\d+)r}   r   Nr   r   r   r   r	  r	  B      -GGHJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)IslamChannelSeriesIEiI  r	  IslamChannelSeriesz9https?://watch\.islamchannel\.tv/series/(?P<id>[a-f\d-]+)r~   r   Nr   r   r   r   r	  r	  I  s    -G"GOJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)IsraelNationalNewsIEiP  z#yt_dlp.extractor.israelnationalnewsIsraelNationalNewsz;https?://(?:www\.)?israelnationalnews\.com/news/(?P<id>\d+)r~   r   Nr   r   r   r   r	  r	  P  s    3G"GQJLr   r	  c                   (    \ rS rSrSrSrSrSrSrSr	g)	IviCompilationIEiW  yt_dlp.extractor.ivizivi:compilationzchttps?://(?:www\.)?ivi\.ru/watch/(?!\d+)(?P<compilationid>[a-z\d_-]+)(?:/season(?P<seasonid>\d+))?$zivi.ru compilationsr~   r   Nr   r   r   r   r	  r	  W  s    $GG{J#GLr   r	  c                   (    \ rS rSrSrSrSrSrSrSr	g)	IviIEi_  r	  iviz\https?://(?:www\.)?ivi\.(?:ru|tv)/(?:watch/(?:[^/]+/)?|video/player\?.*?videoId=)(?P<id>\d+)zivi.rur}   r   Nr   r   r   r   r	  r	  _  s    $GGsJGLr   r	  c                   (    \ rS rSrSrSrSrSrSrSr	g)		IvideonIEig  zyt_dlp.extractor.ivideonivideonz\https?://(?:www\.)?ivideon\.com/tv/(?:[^/]+/)*camera/(?P<id>\d+-[\da-f]+)/(?P<camera_id>\d+)z
Ivideon TVr}   r   Nr   r   r   r   r	  r	  g  s    (GGtJGLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)IvooxIEio  zyt_dlp.extractor.ivooxIvoox)zJhttps?://(?:www\.)?ivoox\.com/(?:\w{2}/)?[^/?#]+_rf_(?P<id>[0-9]+)_1\.htmlz)https?://go\.ivoox\.com/rf/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r	  r	  o  s    &GG SJLr   r	  c                        \ rS rSrSrSrSrSrg)IwaraBaseIEiv  yt_dlp.extractor.iwara	IwaraBaseiwarar   Nr   r   r   r   r	  r	  v      &GGNr   r	  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)	IwaraIEi|  r	  r	  zAhttps?://(?:www\.|ecchi\.)?iwara\.tv/videos?/(?P<id>[a-zA-Z0-9]+)r   r}   r   Nr  r   r   r   r	  r	  |  s     &GGWJNILr   r	  c                   (    \ rS rSrSrSrSrSrSrSr	g)	IwaraPlaylistIEi  r	  ziwara:playlistz8https?://(?:www\.)?iwara\.tv/playlist/(?P<id>[0-9a-f-]+)r	  r~   r   Nr  r   r   r   r	  r	    s    &GGMJNLr   r	  c                   (    \ rS rSrSrSrSrSrSrSr	g)	IwaraUserIEi  r	  z
iwara:userz5https?://(?:www\.)?iwara\.tv/profile/(?P<id>[^/?#&]+)r	  r~   r   Nr  r   r   r   r	  r	    s    &GGJJNLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)IxiguaIEi  zyt_dlp.extractor.ixiguaIxiguaz7https?://(?:\w+\.)?ixigua\.com/(?:video/)?(?P<id>\d+).+r}   r   Nr   r   r   r   r	  r	    rD  r   r	  c                   $    \ rS rSrSrSrSrSrSrg)
IzleseneIEi  zyt_dlp.extractor.izleseneIzlesenezu(?x)
        https?://(?:(?:www|m)\.)?izlesene\.com/
        (?:video|embedplayer)/(?:[^/]+/)?(?P<id>[0-9]+)
        r}   r   Nr   r   r   r   r	  r	    s    )GG NJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)	JStreamIEi  zyt_dlp.extractor.jstreamJStreamzFjstream:(?P<host>www\d+):(?P<id>(?P<publisher>[a-z0-9]+):(?P<mid>\d+))r}   r   Nr   r   r   r   r	  r	    s    (GG[JLr   r	  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
JTBCIEi  yt_dlp.extractor.jtbcJTBCz(?x)
        https?://(?:
            vod\.jtbc\.co\.kr/player/(?:program|clip)
            |tv\.jtbc\.co\.kr/(?:replay|trailer|clip)/pr\d+/pm\d+
        )/(?P<id>(?:ep|vo)\d+)z
jtbc.co.kr   r}   r   Nr  r   r   r   r	  r	    s#    %GG QJGILr   r	  c                   $    \ rS rSrSrSrSrSrSrg)JTBCProgramIEi  r	  zJTBC:programzihttps?://(?:vod\.jtbc\.co\.kr/program|tv\.jtbc\.co\.kr/replay)/(?P<id>pr\d+)/(?:replay|pm\d+)/?(?:$|[?#])r~   r   Nr   r   r   r   r	  r	    s    %GG EJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)JWPlatformIEi  zyt_dlp.extractor.jwplatform
JWPlatformz(?:https?://(?:content\.jwplatform|cdn\.jwplayer)\.com/(?:(?:feed|player|thumb|preview|manifest)s|jw6|v2/media)/|jwplatform:)(?P<id>[a-zA-Z0-9]{8})r}   r   Nr   r   r   r   r	  r	    s    +GG jJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)	JamendoIEi  yt_dlp.extractor.jamendoJamendoa'  (?x)
                    https?://
                        (?:
                            licensing\.jamendo\.com/[^/]+|
                            (?:www\.)?jamendo\.com
                        )
                        /track/(?P<id>[0-9]+)(?:/(?P<display_id>[^/?#&]+))?
                    r}   r   Nr   r   r   r   r	  r	    s    (GG FJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)JamendoAlbumIEi  r	  JamendoAlbumz4https?://(?:www\.)?jamendo\.com/album/(?P<id>[0-9]+)r~   r   Nr   r   r   r   r	  r	    s    (GGIJLr   r	  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)	JeuxVideoIEi  zyt_dlp.extractor.jeuxvideo	JeuxVideoNz*https?://.*?\.jeuxvideo\.com/.*/(.*?)\.htmFr}   r   rF  r   r   r   r	  r	    s     *GGH@JHLr   r	  c                       \ rS rSrSrSrSrg)JioSaavnBaseIEi  yt_dlp.extractor.jiosaavnJioSaavnBaser   Nr   r   r   r   r	  r	    r  r   r	  c                   $    \ rS rSrSrSrSrSrSrg)JioSaavnAlbumIEi  r	  zjiosaavn:albumzChttps?://(?:www\.)?(?:jio)?saavn\.com/album/[^/?#]+/(?P<id>[^/?#]+)r~   r   Nr   r   r   r   r	  r	    s    )GGXJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)JioSaavnArtistIEi  r	  zjiosaavn:artistzDhttps?://(?:www\.)?(?:jio)?saavn\.com/artist/[^/?#]+/(?P<id>[^/?#]+)r~   r   Nr   r   r   r   r	  r	    s    )GGYJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)JioSaavnPlaylistIEi  r	  zjiosaavn:playlistzehttps?://(?:www\.)?(?:jio)?saavn\.com/(?:s/playlist/(?:[^/?#]+/){2}|featured/[^/?#]+/)(?P<id>[^/?#]+)r~   r   Nr   r   r   r   r	  r	    s    )G!GzJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)JioSaavnShowIEi  r	  zjiosaavn:showzShttps?://(?:www\.)?(?:jio)?saavn\.com/shows/[^/?#]+/(?P<id>[^/?#]{11,})/?(?:$|[?#])r}   r   Nr   r   r   r   r	  r	    s    )GGhJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)JioSaavnShowPlaylistIEi  r	  zjiosaavn:show:playlistzUhttps?://(?:www\.)?(?:jio)?saavn\.com/shows/(?P<show>[^#/?]+)/(?P<season>\d+)/[^/?#]+r~   r   Nr   r   r   r   r	  r	    s    )G&GkJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)JioSaavnSongIEi   r	  zjiosaavn:songz^https?://(?:www\.)?(?:jio)?saavn\.com(?:/song/[^/?#]+/|/s/song/(?:[^/?#]+/){3})(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r	  r	     s    )GGsJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)JojIEi  zyt_dlp.extractor.jojJojz(?x)
                    (?:
                        joj:|
                        https?://media\.joj\.sk/embed/
                    )
                    (?P<id>[^/?#^]+)
                r}   r   Nr   r   r   r   r	  r	    s    $GG YJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)JoveIEi  zyt_dlp.extractor.joveJovez1https?://(?:www\.)?jove\.com/video/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r
  r
    s    %GGFJLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)KTHIEi  zyt_dlp.extractor.kthKTHz4https?://play\.kth\.se/(?:[^/]+/)+(?P<id>[a-z0-9_]+)r}   r   Nr   r   r   r   r
  r
    r  r   r
  c                   $    \ rS rSrSrSrSrSrSrg)KakaoIEi  zyt_dlp.extractor.kakaoKakaoz^https?://(?:play-)?tv\.kakao\.com/(?:channel/\d+|embed/player)/cliplink/(?P<id>\d+|[^?#&]+@my)r}   r   Nr   r   r   r   r
  r
        &GGuJLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)	KalturaIEi#  zyt_dlp.extractor.kalturaKalturaa  (?x)
                (?:
                    kaltura:(?P<partner_id>\w+):(?P<id>\w+)(?::(?P<player_type>\w+))?|
                    https?://
                        (?:(?:www|cdnapi(?:sec)?)\.)?kaltura\.com(?::\d+)?/
                        (?:
                            (?:
                                # flash player
                                index\.php/(?:kwidget|extwidget/preview)|
                                # html5 player
                                html5/html5lib/[^/]+/mwEmbedFrame\.php
                            )
                        )(?:/(?P<path>[^?]+))?(?:\?(?P<query>.*))?
                )
                r   r   Nr   r   r   r   r
  r
  #  s    (GG s
JLr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	KankaNewsIEi*  zyt_dlp.extractor.kankanews	KankaNewszDhttps?://(?:www\.)?kankanews\.com/a/\d+\-\d+\-\d+/(?P<id>\d+)\.shtmlFr}   r   NrZ  r   r   r   r
  r
  *  s    *GG`JHLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)KaraoketvIEi2  zyt_dlp.extractor.karaoketv	Karaoketvz6https?://(?:www\.)?karaoketv\.co\.il/[^/]+/(?P<id>\d+)r}   r   Nr   r   r   r   r
  r
  2  r  r   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)		KatsomoIEi9  yt_dlp.extractor.tv2Katsomozhttps?://(?:www\.)?(?:katsomo|mtv(uutiset)?)\.fi/(?:sarja/[0-9a-z-]+-\d+/[0-9a-z-]+-|(?:#!/)?jakso/(?:\d+/[^/]+/)?|video/prog)(?P<id>\d+)Fr}   r   NrZ  r   r   r   r
  r
  9  s    $GG bJHLr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
KelbyOneIEiA  zyt_dlp.extractor.kelbyoneKelbyOnez8https?://members\.kelbyone\.com/course/(?P<id>[^$&?#/]+)Fr~   r   NrZ  r   r   r   r
  r
  A  s    )GGMJHLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)Kenh14PlaylistIEiI  yt_dlp.extractor.kenh14Kenh14Playlistz>https?://video\.kenh14\.vn/playlist/[\w-]+-(?P<id>[0-9]+)\.chnr~   r   Nr   r   r   r   r
  r
  I  s    'GGUJLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)Kenh14VideoIEiP  r
  Kenh14Videoz@https?://video\.kenh14\.vn/(?:video/)?[\w-]+-(?P<id>[0-9]+)\.chnr}   r   Nr   r   r   r   r
  r
  P  s    'GGWJLr   r
  c                       \ rS rSrSrSrSrg)KhanAcademyBaseIEiW  yt_dlp.extractor.khanacademyKhanAcademyBaser   Nr   r   r   r   r"
  r"
  W  r  r   r"
  c                   $    \ rS rSrSrSrSrSrSrg)KhanAcademyIEi\  r#
  khanacademyzChttps?://(?:www\.)?khanacademy\.org/(?P<id>(?:[^/]+/){4}v/[^?#/&]+)r}   r   Nr   r   r   r   r&
  r&
  \      ,GGXJLr   r&
  c                   $    \ rS rSrSrSrSrSrSrg)KhanAcademyUnitIEic  r#
  zkhanacademy:unitzPhttps?://(?:www\.)?khanacademy\.org/(?P<id>(?:[^/]+/){1,2}[^?#/&]+)/?(?:[?#&]|$)r~   r   Nr   r   r   r   r*
  r*
  c  s    ,G GeJLr   r*
  c                       \ rS rSrSrSrSrg)
KickBaseIEij  yt_dlp.extractor.kickKickBaser   Nr   r   r   r   r,
  r,
  j  r  r   r,
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
KickClipIEio  r-
  z
kick:clipszVhttps?://(?:www\.)?kick\.com/[\w-]+(?:/clips/|/?\?(?:[^#]+&)?clip=)(?P<id>clip_[\w-]+)r   r}   r   NrU  r   r   r   r0
  r0
  o  s    %GGnJILr   r0
  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	KickIEiw  r-
  z	kick:livezZhttps?://(?:www\.)?kick\.com/(?!(?:video|categories|search|auth)(?:[/?#]|$))(?P<id>[\w-]+)r   r}   c                    > [         R                  U5      (       d  [        R                  U5      (       a  S$ [        TU ]  U5      $ r   )	KickVODIEr<   r0
  r   r   s     r   r<   KickIE.suitable~  s;    "++C00J4G4G4L4LuhSXSZScdgShhr   r   r   r   r    r!   r)   ro   rG   ru   r   r   r<   r"   r   r   s   @r   r2
  r2
  w  s0    %GGpJILi ir   r2
  c                   $    \ rS rSrSrSrSrSrSrg)KickStarterIEi  zyt_dlp.extractor.kickstarterKickStarterz=https?://(?:www\.)?kickstarter\.com/projects/(?P<id>[^/]*)/.*r}   r   Nr   r   r   r   r8
  r8
    r  r   r8
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	r4
  i  r-
  zkick:vodz[https?://(?:www\.)?kick\.com/[\w-]+/videos/(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})r   r}   r   NrU  r   r   r   r4
  r4
    s    %GGtJILr   r4
  c                   $    \ rS rSrSrSrSrSrSrg)KickerIEi  zyt_dlp.extractor.kickerKickerz5https?://(?:www\.)kicker\.(?:de)/(?P<id>[\w-]+)/videor}   r   Nr   r   r   r   r<
  r<
    ra	  r   r<
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	KikaIEi  yt_dlp.extractor.kikaKikaz=https?://(?:www\.)?kika\.de/[\w/-]+/videos/(?P<id>[a-z-]+\d+)zKiKA.der}   r   Nr   r   r   r   r?
  r?
    s    %GGTJGLr   r?
  c                   $    \ rS rSrSrSrSrSrSrg)KikaPlaylistIEi  r@
  KikaPlaylistz5https?://(?:www\.)?kika\.de/[\w-]+/(?P<id>[a-z-]+\d+)r~   r   Nr   r   r   r   rC
  rC
    s    %GGLJLr   rC
  c                        \ rS rSrSrSrSrSrg)KinjaEmbedIEi  zyt_dlp.extractor.kinjazkinja:embeda/  (?x)https?://(?:[^.]+\.)?
        (?:
            avclub|
            clickhole|
            deadspin|
            gizmodo|
            jalopnik|
            jezebel|
            kinja|
            kotaku|
            lifehacker|
            splinternews|
            the(?:inventory|onion|root|takeout)
        )\.com/
        (?:
            ajax/inset|
            embed/video
        )/iframe\?.*?\bid=
        (?P<type>
            fb|
            imgur|
            instagram|
            jwp(?:layer)?-video|
            kinjavideo|
            mcp|
            megaphone|
            soundcloud(?:-playlist)?|
            tumblr-post|
            twitch-stream|
            twitter|
            ustream-channel|
            vimeo|
            vine|
            youtube-(?:list|video)
        )-(?P<id>[^&]+)r   Nr   r   r   r   rF
  rF
    s    &GG iJr   rF
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	KinoPoiskIEi  zyt_dlp.extractor.kinopoisk	KinoPoiskz1https?://(?:www\.)?kinopoisk\.ru/film/(?P<id>\d+)r  r}   r   NrU  r   r   r   rH
  rH
    s    *GGGJILr   rH
  c                   $    \ rS rSrSrSrSrSrSrg)UnsupportedInfoExtractori  yt_dlp.extractor.unsupportedUnsupportedInfoExtractzhttps?://(?:www\.)?(?:)Fr   Nr#  r   r   r   rK
  rK
    s    ,G&G+JGr   rK
  c                   $    \ rS rSrSrSrSrSrSrg)
KnownDRMIEi  rL
  DRMa  https?://(?:www\.)?(?:play\.hbomax\.com|channel(?:4|5)\.com|peacocktv\.com|(?:[\w.]+\.)?disneyplus\.com|open\.spotify\.com|tvnz\.co\.nz|oneplus\.ch|artstation\.com/learning/courses|philo\.com|(?:[\w.]+\.)?mech-plus\.com|aha\.video|mubi\.com|vootkids\.com|nowtv\.it/watch|tv\.apple\.com|primevideo\.com|hulu\.com|resource\.inkryptvideos\.com|joyn\.de|amazon\.(?:\w{2}\.)?\w+/gp/video|music\.amazon\.(?:\w{2}\.)?\w+|(?:watch|front)\.njpwworld\.com|qub\.ca/vrai|(?:beta\.)?crunchyroll\.com|viki\.com|deezer\.com|b-ch\.com|ctv\.ca|noovo\.ca|tsn\.ca|paramountplus\.com|(?:m\.)?(?:sony)?crackle\.com|cw(?:tv(?:pr)?|seed)\.com|6play\.fr|rtlplay\.be|play\.rtl\.hr|rtlmost\.hu|plus\.rtl\.de(?!/podcast/)|mediasetinfinity\.es)Fr   Nr#  r   r   r   rO
  rO
    s    ,GG ]JGr   rO
  c                   $    \ rS rSrSrSrSrSrSrg)KnownPiracyIEi  rL
  PiracyaP  https?://(?:www\.)?(?:dood\.(?:to|watch|so|pm|wf|re)|viewsb\.com|filemoon\.sx|hentai\.animestigma\.com|thisav\.com|gounlimited\.to|highstream\.tv|uqload\.com|vedbam\.xyz|vadbam\.netvidlo\.us|wolfstream\.tv|xvideosharing\.com|(?:\w+\.)?viidshar\.com|sxyprn\.com|jable\.tv|91porn\.com|einthusan\.(?:tv|com|ca)|yourupload\.com|xanimu\.com)Fr   Nr#  r   r   r   rR
  rR
    s    ,GG |JGr   rR
  c                   $    \ rS rSrSrSrSrSrSrg)KommunetvIEi  zyt_dlp.extractor.kommunetv	Kommunetvz/https?://\w+\.kommunetv\.no/archive/(?P<id>\w+)r}   r   Nr   r   r   r   rU
  rU
    s    *GGFJLr   rU
  c                       \ rS rSrSrSrSrg)JixieBaseIEi  zyt_dlp.extractor.jixie	JixieBaser   Nr   r   r   r   rX
  rX
    r   r   rX
  c                   $    \ rS rSrSrSrSrSrSrg)KompasVideoIEi  zyt_dlp.extractor.kompasKompasVideoz<https?://video\.kompas\.com/\w+/(?P<id>\d+)/(?P<slug>[\w-]+)r}   r   Nr   r   r   r   r[
  r[
    s    'GGTJLr   r[
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	KooIEi  zyt_dlp.extractor.kooKooz:https?://(?:www\.)?kooapp\.com/koo/[^/]+/(?P<id>[^/&#$?]+)Fr}   r   NrZ  r   r   r   r^
  r^
    s    $GGOJHLr   r^
  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)

KrasViewIEi  zyt_dlp.extractor.krasviewKrasViewz1https?://krasview\.ru/(?:video|embed)/(?P<id>\d+)Fu   Красвьюr}   r   Nri  r   r   r   ra
  ra
    s     )GGFJHGLr   ra
  c                   $    \ rS rSrSrSrSrSrSrg)Ku6IEi  zyt_dlp.extractor.ku6Ku6z=https?://v\.ku6\.com/show/(?P<id>[a-zA-Z0-9\-\_]+)(?:\.)*htmlr}   r   Nr   r   r   r   rd
  rd
        $GGUJLr   rd
  c                   $    \ rS rSrSrSrSrSrSrg)KukuluLiveIEi  zyt_dlp.extractor.kukululive
KukuluLivez1https?://live\.erinn\.biz/live\.php\?h(?P<id>\d+)r}   r   Nr   r   r   r   rh
  rh
    s    +GGIJLr   rh
  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
KuwoAlbumIEi  yt_dlp.extractor.kuwoz
kuwo:albumz/https?://(?:www\.)?kuwo\.cn/album/(?P<id>\d+?)/Fu   酷我音乐 - 专辑r~   r   Nri  r   r   r   rk
  rk
    s     %GGEJH%GLr   rk
  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
KuwoCategoryIEi  rl
  zkuwo:categoryz3https?://yinyue\.kuwo\.cn/yy/cinfo_(?P<id>\d+?).htmFu   酷我音乐 - 分类r~   r   Nri  r   r   r   rn
  rn
    s     %GGIJH%GLr   rn
  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
KuwoChartIEi  rl
  z
kuwo:chartz5https?://yinyue\.kuwo\.cn/billboard_(?P<id>[^.]+).htmFu   酷我音乐 - 排行榜r~   r   Nri  r   r   r   rp
  rp
    s     %GGJJH(GLr   rp
  c                       \ rS rSrSrSrSrg)
KuwoBaseIEi  rl
  KuwoBaser   Nr   r   r   r   rr
  rr
    r  r   rr
  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
KuwoIEi  rl
  z	kuwo:songz.https?://(?:www\.)?kuwo\.cn/yinyue/(?P<id>\d+)Fu   酷我音乐r}   r   Nri  r   r   r   ru
  ru
    s     %GGDJHGLr   ru
  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
KuwoMvIEi&  rl
  zkuwo:mvz,https?://(?:www\.)?kuwo\.cn/mv/(?P<id>\d+?)/Fu   酷我音乐 - MVr}   r   Nri  r   r   r   rw
  rw
  &  s     %GGBJH!GLr   rw
  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
KuwoSingerIEi/  rl
  zkuwo:singerz2https?://(?:www\.)?kuwo\.cn/mingxing/(?P<id>[^/]+)Fu   酷我音乐 - 歌手r~   r   Nri  r   r   r   ry
  ry
  /  s     %GGGJH%GLr   ry
  c                   $    \ rS rSrSrSrSrSrSrg)LA7IEi8  yt_dlp.extractor.la7zla7.itz(?x)https?://(?:
        (?:www\.)?la7\.it/([^/]+)/(?:rivedila7|video|news)/|
        tg\.la7\.it/repliche-tgla7\?id=
    )(?P<id>.+)r}   r   Nr   r   r   r   r{
  r{
  8  s    $GG aJLr   r{
  c                   $    \ rS rSrSrSrSrSrSrg)LA7PodcastEpisodeIEi?  r|
  zla7.it:pod:episodez=https?://(?:www\.)?la7\.it/[^/]+/podcast/([^/]+-)?(?P<id>\d+)r}   r   Nr   r   r   r   r~
  r~
  ?  s    $G"GSJLr   r~
  c                   $    \ rS rSrSrSrSrSrSrg)LA7PodcastIEiF  r|
  zla7.it:podcastz<https?://(?:www\.)?la7\.it/(?P<id>[^/]+)/podcast/?(?:$|[#?])r~   r   Nr   r   r   r   r
  r
  F  s    $GGQJLr   r
  c                       \ rS rSrSrSrSrg)
LBRYBaseIEiM  yt_dlp.extractor.lbryLBRYBaser   Nr   r   r   r   r
  r
  M  r  r   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LBRYChannelIEiR  r
  zlbry:channelzs(?x)(?:https?://(?:www\.)?(?:lbry\.tv|odysee\.com)/|lbry://)(?P<id>@[^$@:/?#&]+(?:[:#][0-9a-f]{1,40})?)/?(?:[?&]|$)zodysee.com channelsr~   r   Nr   r   r   r   r
  r
  R  s    %GG JJ#GLr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LBRYIEiZ  r
  lbryz(?x)(?:https?://(?:www\.)?(?:lbry\.tv|odysee\.com)/|lbry://)
        (?:\$/(?:download|embed)/)?
        (?P<id>
            [^$@:/?#]+/[0-9a-f]{1,40}
            |(?:@[^$@:/?#&]+(?:[:#][0-9a-f]{1,40})?/)?[^$@:/?#&]+(?:[:#][0-9a-f]{1,40})?
        )z
odysee.comr}   r   Nr   r   r   r   r
  r
  Z  s    %GG VJGLr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LBRYPlaylistIEib  r
  zlbry:playlistz_(?x)(?:https?://(?:www\.)?(?:lbry\.tv|odysee\.com)/|lbry://)\$/(?:play)?list/(?P<id>[0-9a-f-]+)zodysee.com playlistsr~   r   Nr   r   r   r   r
  r
  b  s    %GGvJ$GLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)LCIIEij  zyt_dlp.extractor.lciLCIzLhttps?://(?:www\.)?(?:lci|tf1info)\.fr/(?:[^/?#]+/)+[\w-]+-(?P<id>\d+)\.htmlr}   r   Nr   r   r   r   r
  r
  j  s    $GGdJLr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LEGOIEiq  zyt_dlp.extractor.legoLEGOzthttps?://(?:www\.)?lego\.com/(?P<locale>[a-z]{2}-[a-z]{2})/(?:[^/]+/)*videos/(?:[^/]+/)*[^/?#]+-(?P<id>[0-9a-f]{32})   r}   r   NrU  r   r   r   r
  r
  q  s    %GG JJILr   r
  c                   $    \ rS rSrSrSrSrSrSrg)
LRTRadioIEiy  yt_dlp.extractor.lrtLRTRadiozIhttps?://(?:www\.)?lrt\.lt/radioteka/irasas/(?P<id>\d+)/(?P<path>[^?#/]+)r}   r   Nr   r   r   r   r
  r
  y  r	  r   r
  c                   $    \ rS rSrSrSrSrSrSrg)LRTStreamIEi  r
  	LRTStreamz>https?://(?:www\.)?lrt\.lt/mediateka/tiesiogiai/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r
  r
    s    $GGTJLr   r
  c                   (    \ rS rSrSrSrSS/rSrSrg)	LRTVODIEi  r
  LRTVODzGhttps?://(?:(?:www|archyvai)\.)?lrt\.lt/mediateka/irasas/(?P<id>[0-9]+)zahttps?://(?:(?:www|archyvai)\.)?lrt\.lt/mediateka/video/[^?#]+\?(?:[^#]*&)?episode=(?P<id>[0-9]+)r}   r   Nr   r   r   r   r
  r
    s#    $GG]  `F  GJLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)LSMLREmbedIEi  yt_dlp.extractor.lsm
LSMLREmbedz(?x)
        https?://(?:
            (?:latvijasradio|lr1|lr2|klasika|lr4|naba|radioteatris)\.lsm|
            pieci
        )\.lv/[^/?#]+/(?:
            pleijeris|embed
        )/?\?(?:[^#]+&)?(?:show|id)=(?P<id>\d+)r   r   Nr   r   r   r   r
  r
    s    $GG yJLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)LSMLTVEmbedIEi  r
  LSMLTVEmbedz8https?://ltv\.lsm\.lv/embed\?(?:[^#]+&)?c=(?P<id>[^#&]+)r}   r   Nr   r   r   r   r
  r
        $GGNJLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)LSMReplayIEi  r
  	LSMReplayz_https?://replay\.lsm\.lv/[^/?#]+/(?:skaties/|klausies/)?(?:ieraksts|statja)/[^/?#]+/(?P<id>\d+)r}   r   Nr   r   r   r   r
  r
    s    $GGuJLr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LaXarxaMesIEi  zyt_dlp.extractor.laxarxames
LaXarxaMeszShttps?://(?:www\.)?laxarxames\.cat/(?:[^/?#]+/)*?(player|movie-details)/(?P<id>\d+)
laxarxamesr}   r   Nr  r   r   r   r
  r
    s    +GGiJ!NLr   r
  c                       \ rS rSrSrSrSrg)LaracastsBaseIEi  yt_dlp.extractor.laracastsLaracastsBaser   Nr   r   r   r   r
  r
    r  r   r
  c                   $    \ rS rSrSrSrSrSrSrg)LaracastsIEi  r
  	laracastszPhttps?://(?:www\.)?laracasts\.com/series/(?P<id>[\w-]+/episodes/\d+)/?(?:[?#]|$)r}   r   Nr   r   r   r   r
  r
    s    *GGgJLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)LaracastsPlaylistIEi  r
  zlaracasts:serieszChttps?://(?:www\.)?laracasts\.com/series/(?P<id>[\w-]+)/?(?:[?#]|$)r~   r   Nr   r   r   r   r
  r
    s    *G GYJLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)LastFMIEi  yt_dlp.extractor.lastfmLastFMz>https?://(?:www\.)?last\.fm/music(?:/[^/]+){2}/(?P<id>[^/#?]+)r}   r   Nr   r   r   r   r
  r
    rm  r   r
  c                       \ rS rSrSrSrSrg)LastFMPlaylistBaseIEi  r
  LastFMPlaylistBaser   Nr   r   r   r   r
  r
    rF  r   r
  c                   $    \ rS rSrSrSrSrSrSrg)LastFMPlaylistIEi  r
  LastFMPlaylistzLhttps?://(?:www\.)?last\.fm/(music|tag)/(?P<id>[^/]+)(?:/[^/]+)?/?(?:[?#]|$)r~   r   Nr   r   r   r   r
  r
    s    'GGaJLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)LastFMUserIEi  r
  
LastFMUserz@https?://(?:www\.)?last\.fm/user/[^/]+/playlists/(?P<id>[^/#?]+)r~   r   Nr   r   r   r   r
  r
    s    'GGUJLr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LcpIEi  yt_dlp.extractor.lcpLcpz3https?://(?:www\.)?lcp\.fr/(?:[^/]+/)*(?P<id>[^/]+)Fr}   r   NrZ  r   r   r   r
  r
    s    $GGHJHLr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)		LcpPlayIEi  r
  LcpPlayzLhttps?://play\.lcp\.fr/embed/(?P<id>[^/]+)/(?P<account_id>[^/]+)/[^/]+/[^/]+Fr}   r   NrZ  r   r   r   r
  r
    s    $GGaJHLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)LeFigaroVideoEmbedIEi  yt_dlp.extractor.lefigaroLeFigaroVideoEmbedz8https?://video\.lefigaro\.fr/embed/[^?#]+/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r
  r
    s    )G"GNJLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)LeFigaroVideoSectionIEi  r
  LeFigaroVideoSectionz>https?://video\.lefigaro\.fr/figaro/(?P<id>[\w-]+)/?(?:[#?]|$)r~   r   Nr   r   r   r   r
  r
    s    )G$GTJLr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LeIEi  yt_dlp.extractor.leecoLezlhttps?://(?:www\.le\.com/ptv/vplay|(?:sports\.le|(?:www\.)?lesports)\.com/(?:match|video))/(?P<id>\d+)\.htmlu	   乐视网r}   r   Nr   r   r   r   r
  r
    s    &GG GJGLr   r
  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )LePlaylistIEi  r
  
LePlaylistz;https?://[a-z]+\.le\.com/(?!video)[a-z]+/(?P<id>[a-z0-9_]+)r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r
  r<   r   r   s     r   r<   LePlaylistIE.suitable  &    c**uE0@0EEr   r   r   r   s   @r   r
  r
    s+    &GGPJLF Fr   r
  c                   $    \ rS rSrSrSrSrSrSrg)LearningOnScreenIEi	  z!yt_dlp.extractor.learningonscreenLearningOnScreenzFhttps?://learningonscreen\.ac\.uk/ondemand/index\.php/prog/(?P<id>\w+)r}   r   Nr   r   r   r   r
  r
  	  s    1G G]JLr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	Lecture2GoIEi  zyt_dlp.extractor.lecture2go
Lecture2GozDhttps?://lecture2go\.uni-hamburg\.de/veranstaltungen/-/v/(?P<id>\d+)Fr}   r   NrZ  r   r   r   r
  r
    s    +GGZJHLr   r
  c                        \ rS rSrSrSrSrSrg)LecturioBaseIEi  yt_dlp.extractor.lecturioLecturioBaselecturior   Nr   r   r   r   r
  r
    r  r   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LecturioCourseIEi  r
  LecturioCoursezZhttps?://app\.lecturio\.com/(?:[^/]+/(?P<nt>[^/?#&]+)\.course|(?:#/)?course/c/(?P<id>\d+))r
  r~   r   Nr  r   r   r   r
  r
    s    )GGqJNLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)LecturioDeCourseIEi&  r
  LecturioDeCoursez<https?://(?:www\.)?lecturio\.de/[^/]+/(?P<id>[^/?#&]+)\.kursr
  r   NrO  r   r   r   r
  r
  &  s    )G GRJNr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
LecturioIEi-  r
  Lecturioa?  (?x)
                    https://
                        (?:
                            app\.lecturio\.com/([^/?#]+/(?P<nt>[^/?#&]+)\.lecture|(?:\#/)?lecture/c/\d+/(?P<id>\d+))|
                            (?:www\.)?lecturio\.de/(?:[^/?#]+/)+(?P<nt_de>[^/?#&]+)\.vortrag
                        )
                    r
  r}   r   Nr  r   r   r   r
  r
  -  s    )GG bJNLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)	LemondeIEi5  zyt_dlp.extractor.lemondeLemondez=https?://(?:.+?\.)?lemonde\.fr/(?:[^/]+/)*(?P<id>[^/]+)\.htmlr}   r   Nr   r   r   r   r
  r
  5  r  r   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LentaIEi<  zyt_dlp.extractor.lentaLentaz?https?://(?:www\.)?lenta\.ru/[^/]+/\d+/\d+/\d+/(?P<id>[^/?#&]+)Fr}   r   NrZ  r   r   r   r
  r
  <  s    &GGWJHLr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LetvCloudIEiD  r
  	LetvCloudz)https?://yuntv\.letv\.com/bcloud.html\?.+u	   乐视云r}   r   Nr   r   r   r   r
  r
  D  s    &GG?JGLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)LiTVIEiL  zyt_dlp.extractor.litvLiTVzahttps?://(?:www\.)?litv\.tv/(?:[^/?#]+/watch/|vod/[^/?#]+/content\.do\?content_id=)(?P<id>[\w-]+)r   r   Nr   r   r   r   r
  r
  L  s    %GGyJLr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LibraryOfCongressIEiS  z"yt_dlp.extractor.libraryofcongressloczchttps?://(?:www\.)?loc\.gov/(?:item/|today/cyberlc/feature_wdesc\.php\?.*\brec=)(?P<id>[0-9a-z_.]+)zLibrary of Congressr}   r   Nr   r   r   r   r
  r
  S  s    2GG{J#GLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)LibsynIEi[  zyt_dlp.extractor.libsynLibsynzO(?P<mainurl>https?://html5-player\.libsyn\.com/embed/episode/id/(?P<id>[0-9]+))r}   r   Nr   r   r   r   r
  r
  [  s    'GGdJLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)LifeEmbedIEib  yt_dlp.extractor.lifenewsz
life:embedz<https?://embed\.life\.ru/(?:embed|video)/(?P<id>[\da-f]{32})r}   r   Nr   r   r   r   r  r  b  s    )GGRJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
LifeNewsIEii  r  lifez%https?://life\.ru/t/[^/]+/(?P<id>\d+)zLife.rur   r   Nr   r   r   r   r  r  i  s    )GG:JGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)LikeeIEiq  yt_dlp.extractor.likeelikeezR(?x)https?://(www\.)?likee\.video/(?:(?P<channel_name>[^/]+)/video/|v/)(?P<id>\w+)r}   r   Nr   r   r   r   r  r  q      &GGhJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)LikeeUserIEix  r  z
likee:userz.https?://(www\.)?likee\.video/(?P<id>[^/]+)/?$r~   r   Nr   r   r   r   r  r  x  s    &GGCJLr   r  c                        \ rS rSrSrSrSrSrg)LinkedInBaseIEi  yt_dlp.extractor.linkedinLinkedInBaselinkedinr   Nr   r   r   r   r  r    r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LinkedInEventsIEi  r  zlinkedin:eventsz6https?://(?:www\.)?linkedin\.com/events/(?P<id>[\w-]+)r  r}   r   Nr  r   r   r   r  r    s    )GGLJNLr   r  c                   ,    \ rS rSrSrSrSS/rSrSrSr	g	)

LinkedInIEi  r  LinkedInzLhttps?://(?:www\.)?linkedin\.com/posts/[^/?#]+-(?P<id>\d+)-\w{4}/?(?:[?#]|$)zHhttps?://(?:www\.)?linkedin\.com/feed/update/urn:li:activity:(?P<id>\d+)r  r}   r   Nr  r   r   r   r  r    s(    )GGd  gt  uJNLr   r  c                        \ rS rSrSrSrSrSrg)LinkedInLearningBaseIEi  r  LinkedInLearningBaser  r   Nr   r   r   r   r  r    s    )G$GNr   r  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	LinkedInLearningCourseIEi  r  zlinkedin:learning:coursez9https?://(?:www\.)?linkedin\.com/learning/(?P<id>[^/?#]+)r  r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )LinkedInLearningIEr<   r   r   s     r   r<   !LinkedInLearningCourseIE.suitable  r  r   r   r|  r   s   @r   r  r    s0    )G(GNJNLT Tr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	r  i  r  zlinkedin:learningzPhttps?://(?:www\.)?linkedin\.com/learning/(?P<course_slug>[^/]+)/(?P<id>[^/?#]+)r  r}   r   Nr  r   r   r   r  r    s    )G!GeJNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
Liputan6IEi  zyt_dlp.extractor.liputan6Liputan6z7https?://www\.liputan6\.com/\w+/read/\d+/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r!  r!    s    )GGOJLr   r!  c                   $    \ rS rSrSrSrSrSrSrg)ListenNotesIEi  zyt_dlp.extractor.listennotesListenNoteszDhttps?://(?:www\.)?listennotes\.com/podcasts/[^/]+/[^/]+-(?P<id>.+)/r}   r   Nr   r   r   r   r$  r$    s    ,GGYJLr   r$  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LiveJournalIEi  zyt_dlp.extractor.livejournalLiveJournalzHhttps?://(?:[^.]+\.)?livejournal\.com/video/album/\d+.+?\bid=(?P<id>\d+)Fr}   r   NrZ  r   r   r   r'  r'    s    ,GG`JHLr   r'  c                   $    \ rS rSrSrSrSrSrSrg)LivestreamIEi  yt_dlp.extractor.livestream
livestreamz(?x)
        https?://(?:new\.)?livestream\.com/
        (?:accounts/(?P<account_id>\d+)|(?P<account_name>[^/]+))
        (?:/events/(?P<event_id>\d+)|/(?P<event_name>[^/]+))?
        (?:/videos/(?P<id>\d+))?
    r   r   Nr   r   r   r   r*  r*    s    +GG sJLr   r*  c                   $    \ rS rSrSrSrSrSrSrg)LivestreamOriginalIEi  r+  zlivestream:originalz(?x)https?://original\.livestream\.com/
        (?P<user>[^/\?#]+)(?:/(?P<type>video|folder)
        (?:(?:\?.*?Id=|/)(?P<id>.*?)(&|$))?)?
        r   r   Nr   r   r   r   r.  r.    s    +G#G nJLr   r.  c                   $    \ rS rSrSrSrSrSrSrg)LivestreamShortenerIEi  r+  zlivestream:shortenerz https?://livestre\.am/(?P<id>.+)Fr   Nr#  r   r   r   r0  r0    s    +G$G4JGr   r0  c                   $    \ rS rSrSrSrSrSrSrg)LivestreamfailsIEi  z yt_dlp.extractor.livestreamfailsLivestreamfailszDhttps?://(?:www\.)?livestreamfails\.com/(?:clip|post)/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r2  r2    s    0GGYJLr   r2  c                   $    \ rS rSrSrSrSrSrSrg)LnkIEi  zyt_dlp.extractor.lnkLnkz,https?://(?:www\.)?lnk\.lt/[^/]+/(?P<id>\d+)r}   r   Nr   r   r   r   r5  r5    s    $GGBJLr   r5  c                   $    \ rS rSrSrSrSrSrSrg)LocoIEi  zyt_dlp.extractor.locoLocozGhttps?://(?:www\.)?loco\.com/(?P<type>streamers|stream)/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r8  r8    s    %GG\JLr   r8  c                   $    \ rS rSrSrSrSrSrSrg)LoomFolderIEi  yt_dlp.extractor.loomzloom:folderz=https?://(?:www\.)?loom\.com/share/folder/(?P<id>[\da-f]{32})r~   r   Nr   r   r   r   r;  r;    s    %GGSJLr   r;  c                   $    \ rS rSrSrSrSrSrSrg)LoomIEi  r<  loomz@https?://(?:www\.)?loom\.com/(?:share|embed)/(?P<id>[\da-f]{32})r}   r   Nr   r   r   r   r>  r>    s    %GGVJLr   r>  c                       \ rS rSrSrSrSrg)NuevoBaseIEi  zyt_dlp.extractor.nuevo	NuevoBaser   Nr   r   r   r   rA  rA    r   r   rA  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LoveHomePornIEi  zyt_dlp.extractor.lovehomepornLoveHomePornzThttps?://(?:www\.)?lovehomeporn\.com/video/(?P<id>\d+)(?:/(?P<display_id>[^/?#&]+))?r   r}   r   NrU  r   r   r   rD  rD    s    -GGjJILr   rD  c                   $    \ rS rSrSrSrSrSrSrg)LumniIEi
  zyt_dlp.extractor.lumniLumniz1https?://(?:www\.)?lumni\.fr/video/(?P<id>[\w-]+)r}   r   Nr   r   r   r   rG  rG  
  r  r   rG  c                        \ rS rSrSrSrSrSrg)LyndaBaseIEi  yt_dlp.extractor.lynda	LyndaBaselyndar   Nr   r   r   r   rJ  rJ    r	  r   rJ  c                   (    \ rS rSrSrSrSrSrSrSr	g)	LyndaCourseIEi  rK  zlynda:coursezihttps?://(?:www|m)\.(?:lynda\.com|educourse\.ga)/(?P<coursepath>(?:[^/]+/){2,3}(?P<courseid>\d+))-2\.htmlzlynda.com online coursesrM  r   N
r   r   r    r!   r)   ro   rG   ri   rh   r"   r   r   r   rO  rO    s    &GG BJ(GNr   rO  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)	LyndaIEi  rK  rM  a:  (?x)
                    https?://
                        (?:www\.)?(?:lynda\.com|educourse\.ga)/
                        (?:
                            (?:[^/]+/){2,3}(?P<course_id>\d+)|
                            player/embed
                        )/
                        (?P<id>\d+)
                    zlynda.com videosr}   r   Nr   r   r   r   rR  rR    s#    &GG [J GNLr   rR  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MBNIEi(  zyt_dlp.extractor.mbnMBNzWhttps?://(?:www\.)?mbn\.co\.kr/vod/programContents/preview(?:list)?/\d+/\d+/(?P<id>\d+)u   mbn.co.kr (매일방송)r}   r   Nr   r   r   r   rT  rT  (  s    $GGpJ(GLr   rT  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MDRIEi0  zyt_dlp.extractor.mdrMDRzEhttps?://(?:www\.)?mdr\.de/(?:.*)/[a-z-]+-?(?P<id>\d+)(?:_.+?)?\.htmlzMDR.DEr}   r   Nr   r   r   r   rW  rW  0  s    $GG\JGLr   rW  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MGTVIEi8  zyt_dlp.extractor.mgtvMangoTVzChttps?://(?:w(?:ww)?\.)?mgtv\.com/[bv]/(?:[^/]+/)*(?P<id>\d+)\.htmlu   芒果TVr}   r   Nr   r   r   r   rZ  rZ  8  s    %GGZJGLr   rZ  c                   $    \ rS rSrSrSrSrSrSrg)MLBArticleIEi@  yt_dlp.extractor.mlb
MLBArticlez*https?://www\.mlb\.com/news/(?P<id>[\w-]+)r~   r   Nr   r   r   r   r]  r]  @  s    $GG@JLr   r]  c                       \ rS rSrSrSrSrg)	MLBBaseIEiG  r^  MLBBaser   Nr   r   r   r   ra  ra  G  r  r   ra  c                   $    \ rS rSrSrSrSrSrSrg)MLBIEiL  r^  MLBa6  (?x)
                    https?://
                        (?:[\da-z_-]+\.)*mlb\.com/
                        (?:
                            (?:
                                (?:[^/]+/)*video/[^/]+/c-|
                                (?:
                                    shared/video/embed/(?:embed|m-internal-embed)\.html|
                                    (?:[^/]+/)+(?:play|index)\.jsp|
                                )\?.*?\bcontent_id=
                            )
                            (?P<id>\d+)
                        )
                    r}   r   Nr   r   r   r   rd  rd  L  s    $GG _	JLr   rd  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MLBTVIEiS  r^  MLBTVz-https?://(?:www\.)?mlb\.com/tv/g(?P<id>\d{6})mlbr}   r   Nr  r   r   r   rg  rg  S  s    $GGCJNLr   rg  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )
MLBVideoIEi[  r^  MLBVideoz=https?://(?:www\.)?mlb\.com/(?:[^/]+/)*video/(?P<id>[^/?&#]+)r}   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )rd  r<   r   r   s     r   r<   MLBVideoIE.suitablea  &    s++uF1A#1FFr   r   r   r   s   @r   rk  rk  [  s+    $GGRJLG Gr   rk  c                   $    \ rS rSrSrSrSrSrSrg)MLSSoccerIEif  zyt_dlp.extractor.mlssoccer	MLSSoccera|  https?://(?:www\.)?(?:(?:cfmontreal|intermiamicf|lagalaxy|lafc|houstondynamofc|dcunited|atlutd|mlssoccer|fcdallas|columbuscrew|coloradorapids|fccincinnati|chicagofirefc|austinfc|nashvillesc|whitecapsfc|sportingkc|soundersfc|sjearthquakes|rsl|timbers|philadelphiaunion|orlandocitysc|newyorkredbulls|nycfc)\.com|(?:torontofc)\.ca|(?:revolutionsoccer)\.net)/video/#?(?P<id>[^/&$#?]+)r}   r   Nr   r   r   r   rq  rq  f  s    *GG TJLr   rq  c                        \ rS rSrSrSrSrSrg)MNetTVBaseIEim  rD  
MNetTVBasemnettvr   Nr   r   r   r   rt  rt  m      'GGNr   rt  c                   $    \ rS rSrSrSrSrSrSrg)MNetTVIEis  rD  MNetTVz(?x)https?://(?:www\.)?tvplus\.m\-net\.de/(?:
        [^?#]+\?(?:[^#]+&)?program=(?P<vid2>\d+)
        |(?:program|watch)/[^/]+/(?P<vid1>\d+)
    )rv  r   NrO  r   r   r   ry  ry  s  s    'GG qJNr   ry  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )MNetTVLiveIEiz  rD  
MNetTVLivez(?x)https?://(?:www\.)?tvplus\.m\-net\.de/(?:
        [^?#]+\?(?:[^#]+&)?channel=(?P<vid2>[^/?&#]+)
        |live/(?P<vid1>[^/?&#]+)
    )rv  c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )ry  r<   r   r   s     r   r<   MNetTVLiveIE.suitable  (     ))#..uIEG4DS4IIr   r   ru  r   s   @r   r|  r|  z  s.    'GG fJNJ Jr   r|  c                   $    \ rS rSrSrSrSrSrSrg)MNetTVRecordingsIEi  rD  MNetTVRecordingszy(?x)https?://(?:www\.)?tvplus\.m\-net\.de/(?:
        [^?#]+\?(?:[^#]+&)?recording=(?P<vid2>\d+)
        (?P<vid1>)
    )rv  r   NrO  r   r   r   r  r    s    'G G VJNr   r  c                   $    \ rS rSrSrSrSrSrSrg)MSNIEi  zyt_dlp.extractor.msnMSNzhttps?://(?:(?:www|preview)\.)?msn\.com/(?P<locale>[a-z]{2}-[a-z]{2})/(?:[^/?#]+/)+(?P<display_id>[^/?#]+)/[a-z]{2}-(?P<id>[\da-zA-Z]+)r   r   Nr   r   r   r   r  r    s    $GG ^JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MTVIEi  r  mtvzGhttps?://(?:www\.)?mtv\.com/(?:video-clips|episodes)/(?P<id>[\da-z]{6})r}   r   Nr   r   r   r   r  r    r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MTVUutisetArticleIEi  r
  MTVUutisetArticlez<https?://(?:www\.)mtvuutiset\.fi/artikkeli/[^/]+/(?P<id>\d+)Fr}   r   NrZ  r   r   r   r  r    s    $G!GRJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MaarivIEi  zyt_dlp.extractor.maarivzmaariv.co.ilzQhttps?://player\.maariv\.co\.il/public/player\.html\?(?:[^#]+&)?media=(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    'GGjJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MagellanTVIEi  zyt_dlp.extractor.magellantv
MagellanTVzAhttps?://(?:www\.)?magellantv\.com/(?:watch|video)/(?P<id>[\w-]+)r  r}   r   NrU  r   r   r   r  r    s    +GGWJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)MagentaMusikIEi  zyt_dlp.extractor.magentamusikMagentaMusikz3https?://(?:www\.)?magentamusik\.de/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r    r	  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MailRuIEi  yt_dlp.extractor.mailrumailrua  (?x)
                    https?://
                        (?:(?:www|m|videoapi)\.)?my\.mail\.ru/+
                        (?:
                            video/.*\#video=/?(?P<idv1>(?:[^/]+/){3}\d+)|
                            (?:videos/embed/)?(?:(?P<idv2prefix>(?:[^/]+/+){2})(?:video/(?:embed/)?)?(?P<idv2suffix>[^/]+/\d+))(?:\.html)?|
                            (?:video/embed|\+/video/meta)/(?P<metaid>\d+)
                        )
                    u   Видео@Mail.Rur}   r   Nr   r   r   r   r  r    s    'GG rJ"GLr   r  c                       \ rS rSrSrSrSrg)MailRuMusicSearchBaseIEi  r  MailRuMusicSearchBaser   Nr   r   r   r   r  r    s    'G%Gr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MailRuMusicIEi  r  zmailru:musicz>https?://my\.mail\.ru/+music/+songs/+[^/?#&]+-(?P<id>[\da-f]+)   Музыка@Mail.Rur}   r   Nr   r   r   r   r  r    s    'GGTJ$GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MailRuMusicSearchIEi  r  zmailru:music:searchz6https?://my\.mail\.ru/+music/+search/+(?P<id>[^/?#&]+)r  r~   r   Nr   r   r   r   r  r    s    'G#GKJ$GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MainStreamingIEi  zyt_dlp.extractor.mainstreamingMainStreamingzchttps?://(?:webtools-?)?(?P<host>[A-Za-z0-9-]*\.msvdn\.net)/(?:embed|amp_embed|content)/(?P<id>\w+)zMainStreaming Playerr   r   Nr   r   r   r   r  r    s    .GGyJ$GLr   r  c                        \ rS rSrSrSrSrSrg)MangomoloBaseIEi  yt_dlp.extractor.mangomoloMangomoloBasezl(?:https?:)?//(?:admin\.mangomolo\.com/analytics/index\.php/customers/embed/|player\.mangomolo\.com/v1/)Noner   Nr   r   r   r   r  r    s    *GG EJr   r  c                        \ rS rSrSrSrSrSrg)MangomoloLiveIEi  r  zmangomolo:livez(?:https?:)?//(?:admin\.mangomolo\.com/analytics/index\.php/customers/embed/|player\.mangomolo\.com/v1/)(?:live|index)\?.*?\bchannelid=(?P<id>(?:[A-Za-z0-9+/=]|%2B|%2F|%3D)+)r   Nr   r   r   r   r  r    s    *GG IJr   r  c                        \ rS rSrSrSrSrSrg)MangomoloVideoIEi  r  zmangomolo:videoz(?:https?:)?//(?:admin\.mangomolo\.com/analytics/index\.php/customers/embed/|player\.mangomolo\.com/v1/)video\?.*?\bid=(?P<id>\d+)r   Nr   r   r   r   r  r    s    *GG ^Jr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
ManotoTVIEi  yt_dlp.extractor.manotoManotoTVz7https?://(?:www\.)?manototv\.com/episode/(?P<id>[0-9]+)zManoto TV (Episode)r}   r   Nr   r   r   r   r  r    s    'GGLJ#GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ManotoTVLiveIEi  r  ManotoTVLivez&https?://(?:www\.)?manototv\.com/live/zManoto TV (Live)r}   r   Nr   r   r   r   r  r    s    'GG;J GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ManotoTVShowIEi  r  ManotoTVShowz4https?://(?:www\.)?manototv\.com/show/(?P<id>[0-9]+)zManoto TV (Show)r~   r   Nr   r   r   r   r  r    s    'GGIJ GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
ManyVidsIEi  zyt_dlp.extractor.manyvidsManyVidsz6(?i)https?://(?:www\.)?manyvids\.com/video/(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    )GGLJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	MaoriTVIEi  zyt_dlp.extractor.maoritvMaoriTVzIhttps?://(?:www\.)?maoritelevision\.com/shows/(?:[^/]+/)+(?P<id>[^/?&#]+)r}   r   Nr   r   r   r   r  r        (GG^JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		MarkizaIEi  yt_dlp.extractor.markizaMarkizaz]https?://(?:www\.)?videoarchiv\.markiza\.sk/(?:video/(?:[^/]+/)*|embed/)(?P<id>\d+)(?:[_/]|$)Fr   r   NrZ  r   r   r   r  r    s    (GGtJHLr   r  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	MarkizaPageIEi  r  MarkizaPagezOhttps?://(?:www\.)?(?:(?:[^/]+\.)?markiza|tvnoviny)\.sk/(?:[^/]+/)*(?P<id>\d+)_Fr}   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r  r<   r   r   s     r   r<   MarkizaPageIE.suitable$  (    !**3//uJUW5Ec5JJr   r   r   r   r    r!   r)   ro   rG   rP   r   r   r<   r"   r   r   s   @r   r  r    s0    (GGfJHLK Kr   r  c                   $    \ rS rSrSrSrSrSrSrg)MassengeschmackTVIEi)  z"yt_dlp.extractor.massengeschmacktvzmassengeschmack.tvz;https?://(?:www\.)?massengeschmack\.tv/play/(?P<id>[^?&#]+)r}   r   Nr   r   r   r   r  r  )  s    2G"GPJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	MastersIEi0  zyt_dlp.extractor.mastersMasterszShttps?://(?:www\.)?masters\.com/en_US/watch/(?P<date>\d{4}-\d{2}-\d{2})/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  0  s    (GGlJLr   r  c                   (    \ rS rSrSrSrSS/rSrSrg)		MatchTVIEi7  zyt_dlp.extractor.matchtvMatchTVz'https?://matchtv\.ru/on-air/?(?:$|[?#])z:https?://video\.matchtv\.ru/iframe/channel/106/?(?:$|[?#])r}   r   Nr   r   r   r   r  r  7  s    (GG<>|}JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MaveIEi>  zyt_dlp.extractor.maveMavez:https?://(?P<channel>[\w-]+)\.mave\.digital/(?P<id>ep-\d+)r   r}   r   NrU  r   r   r   r  r  >  s    %GGQJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)	MeWatchIEiF  yt_dlp.extractor.togglemewatchzEhttps?://(?:(?:www|live)\.)?mewatch\.sg/watch/[^/?#&]+-(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  F  s    'GGZJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	MedalTVIEiM  zyt_dlp.extractor.medaltvMedalTVzBhttps?://(?:www\.)?medal\.tv/games/[^/?#&]+/clips/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r  r  M  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)MediaKlikkIEiT  zyt_dlp.extractor.mediaklikk
MediaKlikkz(?x)https?://(?:www\.)?
                        (?:mediaklikk|m4sport|hirado)\.hu/.*?(?:videok?|cikk)/
                        (?:(?P<year>[0-9]{4})/(?P<month>[0-9]{1,2})/(?P<day>[0-9]{1,2})/)?
                        (?P<id>[^/#?_]+)r}   r   Nr   r   r   r   r  r  T  s    +GG CJLr   r  c                       \ rS rSrSrSrSrg)MediaStreamBaseIEi[  yt_dlp.extractor.mediastreamMediaStreamBaser   Nr   r   r   r   r  r  [  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)MediaStreamIEi`  r  MediaStreamz6https?://mdstrm\.com/(?:embed|live-stream)/(?P<id>\w+)r}   r   Nr   r   r   r   r  r  `  rn  r   r  c                   $    \ rS rSrSrSrSrSrSrg)MediaWorksNZVODIEig  zyt_dlp.extractor.mediaworksnzMediaWorksNZVODzThttps?://vodupload-api\.mediaworks\.nz/library/asset/published/(?P<id>[A-Za-z0-9-]+)r}   r   Nr   r   r   r   r  r  g  s    -GGiJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
MediaiteIEin  zyt_dlp.extractor.mediaiteMediaitez;https?://(?:www\.)?mediaite\.com(?!/category)(?:/[\w-]+){2}r}   r   Nr   r   r   r   r  r  n  s    )GGQJLr   r  c                       \ rS rSrSrSrSrg)MedialaanBaseIEiu  yt_dlp.extractor.medialaanMedialaanBaser   Nr   r   r   r   r  r  u  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)MedialaanIEiz  r  	MedialaanaA  (?x)
                    https?://
                        (?:
                            (?:embed\.)?mychannels.video/embed/|
                            embed\.mychannels\.video/(?:s(?:dk|cript)/)?production/|
                            (?:www\.)?(?:
                                (?:
                                    7sur7|
                                    demorgen|
                                    hln|
                                    joe|
                                    qmusic
                                )\.be|
                                (?:
                                    [abe]d|
                                    bndestem|
                                    destentor|
                                    gelderlander|
                                    pzc|
                                    tubantia|
                                    volkskrant
                                )\.nl
                            )/videos?/(?:[^/?#]+/)*[^/?&#]+(?:-|~p)
                        )
                        (?P<id>\d+)
                    r}   r   Nr   r   r   r   r  r  z  s    *GG uJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
MediasetIEi  yt_dlp.extractor.mediasetMediaseta  (?x)
                    (?:
                        mediaset:|
                        https?://
                            (?:\w+\.)+mediaset\.it/
                            (?:
                                (?:video|on-demand|movie)/(?:[^/]+/)+[^/]+_|
                                player/(?:v\d+/)?index\.html\?\S*?\bprogramGuid=
                            )
                    )(?P<id>F[0-9A-Z]{15})
                    r}   r   Nr   r   r   r   r  r    s    )GG WJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MediasetShowIEi  r  MediasetShowa  (?x)
                    (?:
                        https?://
                            (\w+\.)+mediaset\.it/
                            (?:
                                (?:fiction|programmi-tv|serie-tv|kids)/(?:.+?/)?
                                    (?:[a-z-]+)_SE(?P<id>\d{12})
                                    (?:,ST(?P<st>\d{12}))?
                                    (?:,sb(?P<sb>\d{9}))?$
                            )
                    )
                    r~   r   Nr   r   r   r   r  r    s    )GG FJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MediasiteCatalogIEi  yt_dlp.extractor.mediasiteMediasiteCatalogaC  (?xi)
                        (?P<url>https?://[^/]+/Mediasite)
                        /Catalog/Full/
                        (?P<catalog_id>(?:[0-9a-f]{32,34}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12,14}))
                        (?:
                            /(?P<current_folder_id>(?:[0-9a-f]{32,34}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12,14}))
                            /(?P<root_dynamic_folder_id>(?:[0-9a-f]{32,34}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12,14}))
                        )?
                    r~   r   Nr   r   r   r   r  r    s    *G G _	JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MediasiteIEi  r  	Mediasitez(?xi)https?://[^/]+/Mediasite/(?:Play|Showcase/[^/#?]+/Presentation)/(?P<id>(?:[0-9a-f]{32,34}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12,14}))(?P<query>\?[^#]+|)r}   r   Nr   r   r   r   r  r    s    *GG HJLr   r  c                        \ rS rSrSrSrSrSrg)MediasiteNamedCatalogIEi  r  MediasiteNamedCatalogzR(?xi)(?P<url>https?://[^/]+/Mediasite)/Catalog/catalogs/(?P<catalog_name>[^/?#&]+)r   Nr   r   r   r   r   r     s    *G%GeJr   r   c                   $    \ rS rSrSrSrSrSrSrg)MediciIEi  zyt_dlp.extractor.mediciMedicizLhttps?://(?:(?P<sub>www|edu)\.)?medici\.tv/[a-z]{2}/[\w.-]+/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r  r    s    'GGbJLr   r  c                       \ rS rSrSrSrSrg)MegaTVComBaseIEi  yt_dlp.extractor.megatvcomMegaTVComBaser   Nr   r   r   r   r  r    r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MegaTVComEmbedIEi  r  zmegatvcom:embedz:(?:https?:)?//(?:www\.)?megatv\.com/embed/?\?p=(?P<id>\d+)zmegatv.com embedded videosr}   r   Nr   r   r   r   r
  r
    s    *GGQJ*GLr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MegaTVComIEi  r  	megatvcomzVhttps?://(?:www\.)?megatv\.com/(?:\d{4}/\d{2}/\d{2}|[^/]+/(?P<id>\d+))/(?P<slug>[^/]+)zmegatv.com videosr}   r   Nr   r   r   r   r  r    s    *GGoJ!GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MegaphoneIEi  zyt_dlp.extractor.megaphonezmegaphone.fmz0https?://player\.megaphone\.fm/(?P<id>[A-Z0-9]+)zmegaphone.fm embedded playersr}   r   Nr   r   r   r   r  r    s    *GGEJ-GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MeipaiIEi  zyt_dlp.extractor.meipaiMeipaiz3https?://(?:www\.)?meipai\.com/media/(?P<id>[0-9]+)u   美拍r}   r   Nr   r   r   r   r  r    s    'GGHJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
MelonVODIEi  zyt_dlp.extractor.melonvodMelonVODzEhttps?://vod\.melon\.com/video/detail2\.html?\?.*?mvId=(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r    s    )GG\JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MetacriticIEi  zyt_dlp.extractor.metacritic
Metacriticz;https?://(?:www\.)?metacritic\.com/.+?/trailers/(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    +GGQJLr   r  c                   (    \ rS rSrSrSrSS/rSrSrg)	MicrosoftBuildIEi  yt_dlp.extractor.microsoftembedMicrosoftBuildz@https?://build\.microsoft\.com/[\w-]+/sessions/(?P<id>[\da-f-]+)zBhttps?://build\.microsoft\.com/[\w-]+/(?P<id>sessions)/?(?:[?#]|$)r   r   Nr   r   r   r   r  r    s#    /GGX  [b  cJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MicrosoftEmbedIEi  r  MicrosoftEmbedzShttps?://(?:www\.)?microsoft\.com/(?:[^/]+/)?videoplayer/embed/(?P<id>[a-z0-9A-Z]+)r}   r   Nr   r   r   r   r  r    s    /GGhJLr   r  c                       \ rS rSrSrSrSrg)MicrosoftMediusBaseIEi  r  MicrosoftMediusBaser   Nr   r   r   r   r!  r!    s    /G#Gr   r!  c                   $    \ rS rSrSrSrSrSrSrg)MicrosoftLearnEpisodeIEi  r  MicrosoftLearnEpisodezGhttps?://learn\.microsoft\.com/(?:[\w-]+/)?shows/[\w-]+/(?P<id>[^?#/]+)r}   r   Nr   r   r   r   r$  r$    s    /G%G^JLr   r$  c                   $    \ rS rSrSrSrSrSrSrg)MicrosoftLearnPlaylistIEi  r  MicrosoftLearnPlaylistz\https?://learn\.microsoft\.com/(?:[\w-]+/)?(?P<type>shows|events)/(?P<id>[\w-]+)/?(?:[?#]|$)r~   r   Nr   r   r   r   r'  r'    s    /G&GsJLr   r'  c                   $    \ rS rSrSrSrSrSrSrg)MicrosoftLearnSessionIEi  r  MicrosoftLearnSessionzHhttps?://learn\.microsoft\.com/(?:[\w-]+/)?events/[\w-]+/(?P<id>[^?#/]+)r}   r   Nr   r   r   r   r*  r*    s    /G%G_JLr   r*  c                   $    \ rS rSrSrSrSrSrSrg)MicrosoftMediusIEi  r  MicrosoftMediusz]https?://medius\.microsoft\.com/Embed/(?:Video\?id=|video-nc/|VideoDetails/)(?P<id>[\da-f-]+)r}   r   Nr   r   r   r   r-  r-    s    /GGtJLr   r-  c                   $    \ rS rSrSrSrSrSrSrg)MicrosoftStreamIEi  z yt_dlp.extractor.microsoftstreammicrosoftstreamzuhttps?://(?:web|www|msit)\.microsoftstream\.com/video/(?P<id>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})zMicrosoft Streamr   Nr#  r   r   r   r0  r0    s    0GG PJ Gr   r0  c                       \ rS rSrSrSrSrg)MindsBaseIEi  yt_dlp.extractor.minds	MindsBaser   Nr   r   r   r   r3  r3    r   r   r3  c                       \ rS rSrSrSrSrg)MindsFeedBaseIEi  r4  MindsFeedBaser   Nr   r   r   r   r7  r7    s    &GGr   r7  c                   $    \ rS rSrSrSrSrSrSrg)MindsChannelIEi  r4  zminds:channelzXhttps?://(?:www\.)?minds\.com/(?!(?:newsfeed|media|api|archive|groups)/)(?P<id>[^/?&#]+)r~   r   Nr   r   r   r   r:  r:    s    &GGmJLr   r:  c                   $    \ rS rSrSrSrSrSrSrg)MindsGroupIEi$  r4  zminds:groupz;https?://(?:www\.)?minds\.com/groups/profile/(?P<id>[0-9]+)r~   r   Nr   r   r   r   r<  r<  $  s    &GGPJLr   r<  c                   $    \ rS rSrSrSrSrSrSrg)MindsIEi+  r4  mindszLhttps?://(?:www\.)?minds\.com/(?:media|newsfeed|archive/view)/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r>  r>  +      &GGaJLr   r>  c                        \ rS rSrSrSrSrSrg)MinotoIEi2  zyt_dlp.extractor.minotoMinotozh(?:minoto:|https?://(?:play|iframe|embed)\.minoto-video\.com/(?P<player_id>[0-9]+)/)(?P<id>[a-zA-Z0-9]+)r   Nr   r   r   r   rB  rB  2  s    'GG}Jr   rB  c                   $    \ rS rSrSrSrSrSrSrg)	Mir24TvIEi8  zyt_dlp.extractor.mir24tvzmir24.tvz8https?://(?:www\.)?mir24\.tv/news/(?P<id>[0-9]+)/[^/?#]+r}   r   Nr   r   r   r   rE  rE  8  s    (GGMJLr   rE  c                       \ rS rSrSrSrSrg)MirrativBaseIEi?  yt_dlp.extractor.mirrativMirrativBaser   Nr   r   r   r   rG  rG  ?  r  r   rG  c                   $    \ rS rSrSrSrSrSrSrg)
MirrativIEiD  rH  mirrativz6https?://(?:www\.)?mirrativ\.com/live/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   rK  rK  D      )GGKJLr   rK  c                        \ rS rSrSrSrSrSrg)MirrativUserIEiK  rH  zmirrativ:userz1https?://(?:www\.)?mirrativ\.com/user/(?P<id>\d+)r   Nr   r   r   r   rO  rO  K  s    )GGGJr   rO  c                   $    \ rS rSrSrSrSrSrSrg)MirrorCoUKIEiQ  zyt_dlp.extractor.mirrorcouk
MirrorCoUKz7https?://(?:www\.)?mirror\.co\.uk/[/+[\w-]+-(?P<id>\d+)r}   r   Nr   r   r   r   rQ  rQ  Q  s    +GGOJLr   rQ  c                   $    \ rS rSrSrSrSrSrSrg)MixchArchiveIEiX  yt_dlp.extractor.mixchzmixch:archivez&https?://mixch\.tv/archive/(?P<id>\d+)r}   r   Nr   r   r   r   rT  rT  X  s    &GG;JLr   rT  c                   $    \ rS rSrSrSrSrSrSrg)MixchIEi_  rU  mixchz https?://mixch\.tv/u/(?P<id>\d+)r}   r   Nr   r   r   r   rW  rW  _  s    &GG5JLr   rW  c                   $    \ rS rSrSrSrSrSrSrg)MixchMovieIEif  rU  zmixch:moviez https?://mixch\.tv/m/(?P<id>\w+)r}   r   Nr   r   r   r   rZ  rZ  f  s    &GG5JLr   rZ  c                       \ rS rSrSrSrSrg)MixcloudBaseIEim  yt_dlp.extractor.mixcloudMixcloudBaser   Nr   r   r   r   r\  r\  m  r  r   r\  c                   $    \ rS rSrSrSrSrSrSrg)
MixcloudIEir  r]  mixcloudzihttps?://(?:(?:www|beta|m)\.)?mixcloud\.com/([^/]+)/(?!stream|uploads|favorites|listens|playlists)([^/]+)r}   r   Nr   r   r   r   r`  r`  r      )GG~JLr   r`  c                       \ rS rSrSrSrSrg)MixcloudPlaylistBaseIEiy  r]  MixcloudPlaylistBaser   Nr   r   r   r   rd  rd  y  r  r   rd  c                   $    \ rS rSrSrSrSrSrSrg)MixcloudPlaylistIEi~  r]  zmixcloud:playlistzQhttps?://(?:www\.)?mixcloud\.com/(?P<user>[^/]+)/playlists/(?P<playlist>[^/]+)/?$r~   r   Nr   r   r   r   rg  rg  ~  s    )G!GfJLr   rg  c                   $    \ rS rSrSrSrSrSrSrg)MixcloudUserIEi  r]  zmixcloud:userz]https?://(?:www\.)?mixcloud\.com/(?P<id>[^/]+)/(?P<type>uploads|favorites|listens|stream)?/?$r~   r   Nr   r   r   r   ri  ri    s    )GGrJLr   ri  c                   $    \ rS rSrSrSrSrSrSrg)MixlrIEi  yt_dlp.extractor.mixlrMixlrzFhttps?://(?:www\.)?(?P<username>[\w-]+)\.mixlr\.com/events/(?P<id>\d+)r}   r   Nr   r   r   r   rk  rk    s    &GG^JLr   rk  c                   $    \ rS rSrSrSrSrSrSrg)MixlrRecoringIEi  rl  MixlrRecoringzJhttps?://(?:www\.)?(?P<username>[\w-]+)\.mixlr\.com/recordings/(?P<id>\d+)r}   r   Nr   r   r   r   ro  ro    s    &GGbJLr   ro  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MmsIEi   yt_dlp.extractor.commonprotocolsMmsz(?i)mms://.+Fr}   r   Nr   r   r   r   rr  rr    s    0GGJGLr   rr  c                   $    \ rS rSrSrSrSrSrSrg)MochaVideoIEi  zyt_dlp.extractor.mocha
MochaVideoz5https?://video\.mocha\.com\.vn/(?P<video_slug>[\w-]+)r}   r   Nr   r   r   r   rv  rv    s    &GGLJLr   rv  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MojevideoIEi  zyt_dlp.extractor.mojevideo	MojevideozQhttps?://(?:www\.)?mojevideo\.sk/video/(?P<id>\w+)/(?P<display_id>[\w()]+?)\.htmlzmojevideo.skr}   r   Nr   r   r   r   ry  ry    s    *GGiJGLr   ry  c                   $    \ rS rSrSrSrSrSrSrg)
MojvideoIEi  zyt_dlp.extractor.mojvideoMojvideozNhttps?://(?:www\.)?mojvideo\.com/video-(?P<display_id>[^/]+)/(?P<id>[a-f0-9]+)r}   r   Nr   r   r   r   r|  r|    r1  r   r|  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MonsterSirenHypergryphMusicIEi  zyt_dlp.extractor.hypergryphmonstersirenz9https?://monster-siren\.hypergryph\.com/music/(?P<id>\d+)u   塞壬唱片r}   r   Nr   r   r   r   r  r    s    +GGOJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MonstercatIEi  zyt_dlp.extractor.monstercat
Monstercatz1https?://www\.monstercat\.com/release/(?P<id>\d+)r~   r   Nr   r   r   r   r  r    s    +GGGJLr   r  c                       \ rS rSrSrSrSrg)MotherlessPaginatedIEi  yt_dlp.extractor.motherlessMotherlessPaginatedr   Nr   r   r   r   r  r    s    +G#Gr   r  c                   $    \ rS rSrSrSrSrSrSrg)MotherlessGalleryIEi  r  MotherlessGalleryzGhttps?://(?:www\.)?motherless\.com/G[VIG]?(?P<id>[A-F0-9]+)/?(?:$|[#?])r~   r   Nr   r   r   r   r  r    s    +G!G\JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MotherlessGroupIEi  r  MotherlessGroupzJhttps?://(?:www\.)?motherless\.com/g[vifm]?/(?P<id>[a-z0-9_]+)/?(?:$|[#?])r~   r   Nr   r   r   r   r  r    s    +GG_JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MotherlessIEi  r  
MotherlesszXhttps?://(?:www\.)?motherless\.com/(?:g/[a-z0-9_]+/|G[VIG]?[A-F0-9]+/)?(?P<id>[A-F0-9]+)r   r}   r   NrU  r   r   r   r  r    s    +GGmJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)MotherlessUploaderIEi  r  MotherlessUploaderz<https?://(?:www\.)?motherless\.com/u/(?P<id>\w+)/?(?:$|[?#])r~   r   Nr   r   r   r   r  r    s    +G"GRJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
MotorsportIEi  zyt_dlp.extractor.motorsport
MotorsportzVhttps?://(?:www\.)?motorsport\.com/[^/?#]+/video/(?:[^/?#]+/)(?P<id>[^/]+)/?(?:$|[?#])Fzmotorsport.comr}   r   Nri  r   r   r   r  r    s     +GGkJHGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
MovieFapIEi  r  MovieFapz_https?://(?:www\.)?(?P<host>moviefap)\.com/videos/(?P<id>[0-9a-f]+)/(?P<display_id>[^/]+)\.htmlr   r}   r   NrU  r   r   r   r  r    s    (GGuJILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MoviepilotIEi  zyt_dlp.extractor.moviepilot
moviepilotz6https?://(?:www\.)?moviepilot\.de/movies/(?P<id>[^/]+)zMoviepilot trailerr}   r   Nr   r   r   r   r  r    s    +GGKJ"GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MoviewPlayIEi  zyt_dlp.extractor.moview
MoviewPlayz0https?://www\.moview\.id/play/\d+/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r    s    'GGGJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MoviezineIEi	  zyt_dlp.extractor.moviezine	Moviezinez5https?://(?:www\.)?moviezine\.se/video/(?P<id>[^?#]+)r}   r   Nr   r   r   r   r  r  	  s    *GGJJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MovingImageIEi  zyt_dlp.extractor.movingimageMovingImagez.https?://movingimage\.nls\.uk/film/(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    ,GGDJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
MuenchenTVIEi  zyt_dlp.extractor.muenchentv
MuenchenTVz*https?://(?:www\.)?muenchen\.tv/livestreamFu   münchen.tvr}   r   Nri  r   r   r   r  r    s     +GG?JHGLr   r  c                       \ rS rSrSrSrSrg)RozhlasBaseIEi   yt_dlp.extractor.rozhlasRozhlasBaser   Nr   r   r   r   r  r     rK  r   r  c                   $    \ rS rSrSrSrSrSrSrg)MujRozhlasIEi%  r  
MujRozhlasz=https?://(?:www\.)?mujrozhlas\.cz/(?:[^/]+/)*(?P<id>[^/?#&]+)r   r   Nr   r   r   r   r  r  %  s    (GGRJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
MurrtubeIEi,  yt_dlp.extractor.murrtubeMurrtubea7  (?x)
                        (?:
                            murrtube:|
                            https?://murrtube\.net/(?:v/|videos/(?P<slug>[a-z0-9-]+?)-)
                        )
                        (?P<id>[A-Z0-9]{4}|[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})
                    r   r}   r   NrU  r   r   r   r  r  ,  s    )GG RJILr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
MurrtubeUserIEi4  r  MurrtubeUserz%https?://murrtube\.net/(?P<id>[^/]+)$FzMurrtube user profiler~   r   Nri  r   r   r   r  r  4  s     )GG9JH%GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MuseAIIEi=  zyt_dlp.extractor.museaiMuseAIz3https?://(?:www\.)?muse\.ai/(?:v|embed)/(?P<id>\w+)r}   r   Nr   r   r   r   r  r  =      'GGIJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MuseScoreIEiD  zyt_dlp.extractor.musescore	MuseScorezPhttps?://(?:www\.)?musescore\.com/(?:user/\d+|[^/]+)(?:/scores)?/(?P<id>[^#&?]+)r}   r   Nr   r   r   r   r  r  D  s    *GGfJLr   r  c                       \ rS rSrSrSrSrg)MusicdexBaseIEiK  yt_dlp.extractor.musicdexMusicdexBaser   Nr   r   r   r   r  r  K  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)MusicdexAlbumIEiP  r  MusicdexAlbumz2https?://(?:www\.)?musicdex\.org/album/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  P  s    )GGHJLr   r  c                       \ rS rSrSrSrSrg)MusicdexPageIEiW  r  MusicdexPager   Nr   r   r   r   r  r  W  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)MusicdexArtistIEi\  r  MusicdexArtistz3https?://(?:www\.)?musicdex\.org/artist/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  \  s    )GGIJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MusicdexPlaylistIEic  r  MusicdexPlaylistz5https?://(?:www\.)?musicdex\.org/playlist/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  c  s    )G GKJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MusicdexSongIEij  r  MusicdexSongz2https?://(?:www\.)?musicdex\.org/track/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  j  s    )GGHJLr   r  c                       \ rS rSrSrSrSrg)	Mx3BaseIEiq  yt_dlp.extractor.mx3Mx3Baser   Nr   r   r   r   r  r  q  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)Mx3IEiv  r  Mx3z(https?://(?:www\.)?mx3\.ch/t/(?P<id>\w+)r}   r   Nr   r   r   r   r  r  v  s    $GG>JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)Mx3NeoIEi}  r  Mx3Neoz-https?://(?:www\.)?neo\.mx3\.ch/t/(?P<id>\w+)r}   r   Nr   r   r   r   r  r  }  s    $GGDJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)Mx3VolksmusikIEi  r  Mx3Volksmusikz4https?://(?:www\.)?volksmusik\.mx3\.ch/t/(?P<id>\w+)r}   r   Nr   r   r   r   r  r    s    $GGKJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
MxplayerIEi  yt_dlp.extractor.mxplayerMxplayerzehttps?://(?:www\.)?mxplayer\.in/(?P<type>movie|show/[-\w]+/[-\w]+)/(?P<display_id>[-\w]+)-(?P<id>\w+)r}   r   Nr   r   r   r   r  r    rb  r   r  c                   $    \ rS rSrSrSrSrSrSrg)MxplayerShowIEi  r  MxplayerShowzShttps?://(?:www\.)?mxplayer\.in/show/(?P<display_id>[-\w]+)-(?P<id>\w+)/?(?:$|[#?])r~   r   Nr   r   r   r   r  r    s    )GGjJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)MySpaceAlbumIEi  yt_dlp.extractor.myspacezMySpace:albumzChttps?://myspace\.com/([^/]+)/music/album/(?P<title>.*-)(?P<id>\d+)r~   r   Nr   r   r   r   r  r        (GGXJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	MySpaceIEi  r  MySpacea0  (?x)
                    https?://
                        myspace\.com/[^/]+/
                        (?P<mediatype>
                            video/[^/]+/(?P<video_id>\d+)|
                            music/song/[^/?#&]+-(?P<song_id>\d+)-\d+(?:[/?#&]|$)
                        )
                    r}   r   Nr   r   r   r   r  r    s    (GG OJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	MySpassIEi  zyt_dlp.extractor.myspassMySpassz=https?://(?:www\.)?myspass\.de/(?:[^/]+/)*(?P<id>\d+)/?[^/]*$r}   r   Nr   r   r   r   r  r    r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)MyVideoGeIEi  zyt_dlp.extractor.myvideoge	MyVideoGez/https?://(?:www\.)?myvideo\.ge/v/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r    s    *GGDJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MyVidsterIEi  zyt_dlp.extractor.myvidster	MyVidsterz3https?://(?:www\.)?myvidster\.com/video/(?P<id>\d+)r   r}   r   NrU  r   r   r   r  r    s    *GGIJILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	MzaaloIEi  zyt_dlp.extractor.mzaaloMzaalozi(?i)https?://(?:www\.)?mzaalo\.com/(?:play|watch)/(?P<type>movie|original|clip)/(?P<id>[a-f0-9-]+)/[\w-]+r  r}   r   NrU  r   r   r   r  r    s    'GGJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)N1InfoAssetIEi  yt_dlp.extractor.n1N1InfoAssetzFhttps?://best-vod\.umn\.cdn\.united\.cloud/stream\?asset=(?P<id>[^&]+)r}   r   Nr   r   r   r   r  r    s    #GG^JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	N1InfoIIEi  r  zN1Info:articlezLhttps?://(?:(?:\w+\.)?n1info\.\w+|nova\.rs)/(?:[^/?#]+/){1,2}(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r    s    #GGdJLr   r  c                       \ rS rSrSrSrSrg)NBACVPBaseIEi  yt_dlp.extractor.nba
NBACVPBaser   Nr   r   r   r   r  r        $GGr   r  c                       \ rS rSrSrSrSrg)	NBABaseIEi  r   NBABaser   Nr   r   r   r   r  r    r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NBAChannelIEi  r   znba:channelak  (?x)
        https?://(?:www\.)?nba\.com/
            (?P<team>
                blazers|
                bucks|
                bulls|
                cavaliers|
                celtics|
                clippers|
                grizzlies|
                hawks|
                heat|
                hornets|
                jazz|
                kings|
                knicks|
                lakers|
                magic|
                mavericks|
                nets|
                nuggets|
                pacers|
                pelicans|
                pistons|
                raptors|
                rockets|
                sixers|
                spurs|
                suns|
                thunder|
                timberwolves|
                warriors|
                wizards
            )
        (?:/play\#)?/(?:video/channel|series)/(?P<id>[^/?#&]+)Fr~   r   NrZ  r   r   r   r  r    s    $GG dJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
NBAEmbedIEi  r   z	nba:embedzhhttps?://secure\.nba\.com/assets/amp/include/video/(?:topI|i)frame\.html\?.*?\bcontentId=(?P<id>[^?#&]+)Fr   Nr  r   r   r   r	  r	    s    $GG AJHr   r	  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NBAIEi  r   nbaa{  (?x)
        https?://(?:www\.)?nba\.com/
            (?P<team>
                blazers|
                bucks|
                bulls|
                cavaliers|
                celtics|
                clippers|
                grizzlies|
                hawks|
                heat|
                hornets|
                jazz|
                kings|
                knicks|
                lakers|
                magic|
                mavericks|
                nets|
                nuggets|
                pacers|
                pelicans|
                pistons|
                raptors|
                rockets|
                sixers|
                spurs|
                suns|
                thunder|
                timberwolves|
                warriors|
                wizards
            )
        (?:/play\#)?/(?!video/channel|series)video/(?P<id>(?:[^/]+/)*[^/?#&]+)Fr}   r   NrZ  r   r   r   r  r    s    $GG tJHLr   r  c                       \ rS rSrSrSrSrg)NBAWatchBaseIEi  r   NBAWatchBaser   Nr   r   r   r   r  r    s    $GGr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NBAWatchCollectionIEi  r   znba:watch:collectionz[https?://(?:(?:www\.)?nba\.com(?:/watch)?|watch\.nba\.com)/list/collection/(?P<id>[^/?#&]+)Fr~   r   NrZ  r   r   r   r  r    s    $G$GrJHLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NBAWatchEmbedIEi  r   znba:watch:embedzUhttps?://(?:(?:www\.)?nba\.com(?:/watch)?|watch\.nba\.com)/embed\?.*?\bid=(?P<id>\d+)Fr}   r   NrZ  r   r   r   r  r    s    $GGoJHLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
NBAWatchIEi	  r   z	nba:watchzyhttps?://(?:(?:www\.)?nba\.com(?:/watch)?|watch\.nba\.com)/(?:nba/)?video/(?P<id>.+?(?=/index\.html)|(?:[^/]+/)*[^/?#&]+)Fr}   r   NrZ  r   r   r   r  r  	  s    $GG RJHLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NBCIEi  r  NBCz\https?(?P<permalink>://(?:www\.)?nbc\.com/(?:classic-tv/)?[^/?#]+/video/[^/?#]+/(?P<id>\w+))r  r}   r   NrU  r   r   r   r  r    s    $GGrJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)NBCOlympicsIEi  r  nbcolympicsz9https?://www\.nbcolympics\.com/videos?/(?P<id>[0-9a-z-]+)r}   r   Nr   r   r   r   r  r    r
  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NBCOlympicsStreamIEi   r  znbcolympics:streamz4https?://stream\.nbcolympics\.com/(?P<id>[0-9a-z-]+)Fr}   r   NrZ  r   r   r   r  r     s    $G"GIJHLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NBCSportsIEi(  r  	NBCSportszMhttps?://(?:www\.)?nbcsports\.com//?(?!vplayer/)(?:[^/]+/)+(?P<id>[0-9a-z-]+)Fr}   r   NrZ  r   r   r   r  r  (  s    $GGbJHLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NBCSportsStreamIEi0  r  NBCSportsStreamz4https?://stream\.nbcsports\.com/.+?\bpid=(?P<id>\d+)Fr}   r   NrZ  r   r   r   r"  r"  0  s    $GGKJHLr   r"  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NBCSportsVPlayerIEi8  r  NBCSportsVPlayerzfhttps?://(?:vplayer\.nbcsports\.com|(?:www\.)?nbcsports\.com/vplayer)/(?:[^/]+/)+(?P<id>[0-9a-zA-Z_]+)Fr}   r   NrZ  r   r   r   r%  r%  8  s    $G G}JHLr   r%  c                   $    \ rS rSrSrSrSrSrSrg)NBCStationsIEi@  r  NBCStationsa  https?://(?:www\.)?(?P<site>nbcbayarea|nbcboston|nbcchicago|nbcconnecticut|nbcdfw|nbclosangeles|nbcmiami|nbcnewyork|nbcphiladelphia|nbcsandiego|nbcwashington|necn|telemundo52|telemundoarizona|telemundochicago|telemundonuevainglaterra)\.com/(?:[^/?#]+/)*(?P<id>[^/?#]+)/?(?:$|[#?])r}   r   Nr   r   r   r   r(  r(  @  s    $GG nJLr   r(  c                        \ rS rSrSrSrSrSrg)NDREmbedBaseIEiG  yt_dlp.extractor.ndrzndr:embed:basezN(?:ndr:(?P<id_s>[\da-z]+)|https?://www\.ndr\.de/(?P<id>[\da-z]+)-ppjson\.json)r   Nr   r   r   r   r+  r+  G  s    $GGfJr   r+  c                   $    \ rS rSrSrSrSrSrSrg)
NDREmbedIEiM  r,  z	ndr:embedz^https?://(?:\w+\.)*ndr\.de/(?:[^/]+/)*(?P<id>[\da-z]+)-(?:(?:ard)?player|externalPlayer)\.htmlr}   r   Nr   r   r   r   r.  r.  M  s    $GGvJLr   r.  c                       \ rS rSrSrSrSrg)	NDRBaseIEiT  r,  NDRBaser   Nr   r   r   r   r0  r0  T  r  r   r0  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NDRIEiY  r,  ndrzDhttps?://(?:\w+\.)*ndr\.de/(?:[^/]+/)*(?P<id>[^/?#]+),[\da-z]+\.htmlzNDR.de - Norddeutscher Rundfunkr}   r   Nr   r   r   r   r3  r3  Y  s    $GG\J/GLr   r3  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NDTVIEia  zyt_dlp.extractor.ndtvNDTVzRhttps?://(?:[^/]+\.)?ndtv\.com/(?:[^/]+/)*videos?/?(?:[^/]+/)*[^/?^&]+-(?P<id>\d+)Fr}   r   NrZ  r   r   r   r6  r6  a  s    %GGhJHLr   r6  c                       \ rS rSrSrSrSrg)	NFBBaseIEii  yt_dlp.extractor.nfbNFBBaser   Nr   r   r   r   r9  r9  i  r  r   r9  c                   ,    \ rS rSrSrSrSS/rSrSrSr	g	)
NFBIEin  r:  nfbzHhttps?://(?:www\.)?(?P<site>nfb|onf)\.ca/(?P<type>film)/(?P<id>[^/?#&]+)zghttps?://(?:www\.)?(?P<site>nfb|onf)\.ca/(?P<type>series?)/(?P<id>[^/?#&]+/s(?:ea|ai)son\d+/episode\d+)z$nfb.ca and onf.ca films and episodesr}   r   Nr   r   r   r   r=  r=  n  s(    $GG^  aN  OJ4GLr   r=  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NFBSeriesIEiv  r:  z
nfb:serieszWhttps?://(?:www\.)?(?P<site>nfb|onf)\.ca/(?P<type>series?)/(?P<id>[^/?#&]+)/?(?:[?#]|$)znfb.ca and onf.ca seriesr~   r   Nr   r   r   r   r@  r@  v  s    $GGlJ(GLr   r@  c                   $    \ rS rSrSrSrSrSrSrg)NFHSNetworkIEi~  zyt_dlp.extractor.nfhsnetworkNFHSNetworkzVhttps?://(?:www\.)?nfhsnetwork\.com/events/[\w-]+/(?P<id>(?:gam|evt|dd|)?[\w\d]{0,10})r}   r   Nr   r   r   r   rB  rB  ~  s    ,GGnJLr   rB  c                       \ rS rSrSrSrSrg)	NFLBaseIEi  yt_dlp.extractor.nflNFLBaser   Nr   r   r   r   rE  rE    r  r   rE  c                   $    \ rS rSrSrSrSrSrSrg)NFLArticleIEi  rF  znfl.com:articlea  (?x)
                    https?://
                        (?P<host>
                            (?:www\.)?
                            (?:
                                (?:
                                    nfl|
                                    buffalobills|
                                    miamidolphins|
                                    patriots|
                                    newyorkjets|
                                    baltimoreravens|
                                    bengals|
                                    clevelandbrowns|
                                    steelers|
                                    houstontexans|
                                    colts|
                                    jaguars|
                                    (?:titansonline|tennesseetitans)|
                                    denverbroncos|
                                    (?:kc)?chiefs|
                                    raiders|
                                    chargers|
                                    dallascowboys|
                                    giants|
                                    philadelphiaeagles|
                                    (?:redskins|washingtonfootball)|
                                    chicagobears|
                                    detroitlions|
                                    packers|
                                    vikings|
                                    atlantafalcons|
                                    panthers|
                                    neworleanssaints|
                                    buccaneers|
                                    azcardinals|
                                    (?:stlouis|the)rams|
                                    49ers|
                                    seahawks
                                )\.com|
                                .+?\.clubs\.nfl\.com
                            )
                        )/
                    news/(?P<id>[^/#?&]+)r~   r   Nr   r   r   r   rI  rI    s    $GG [ JLr   rI  c                   $    \ rS rSrSrSrSrSrSrg)NFLIEi  rF  znfl.coma  (?x)
                    https?://
                        (?P<host>
                            (?:www\.)?
                            (?:
                                (?:
                                    nfl|
                                    buffalobills|
                                    miamidolphins|
                                    patriots|
                                    newyorkjets|
                                    baltimoreravens|
                                    bengals|
                                    clevelandbrowns|
                                    steelers|
                                    houstontexans|
                                    colts|
                                    jaguars|
                                    (?:titansonline|tennesseetitans)|
                                    denverbroncos|
                                    (?:kc)?chiefs|
                                    raiders|
                                    chargers|
                                    dallascowboys|
                                    giants|
                                    philadelphiaeagles|
                                    (?:redskins|washingtonfootball)|
                                    chicagobears|
                                    detroitlions|
                                    packers|
                                    vikings|
                                    atlantafalcons|
                                    panthers|
                                    neworleanssaints|
                                    buccaneers|
                                    azcardinals|
                                    (?:stlouis|the)rams|
                                    49ers|
                                    seahawks
                                )\.com|
                                .+?\.clubs\.nfl\.com
                            )
                        )/
                    (?:videos?|listen|audio)/(?P<id>[^/#?&]+)r}   r   Nr   r   r   r   rK  rK    s    $GG o JLr   rK  c                   $    \ rS rSrSrSrSrSrSrg)NFLPlusEpisodeIEi  rF  znfl.com:plus:episodez8https?://(?:www\.)?nfl\.com/plus/episodes/(?P<id>[\w-]+)r}   r   Nr   r   r   r   rM  rM    s    $G$GNJLr   rM  c                   $    \ rS rSrSrSrSrSrSrg)NFLPlusReplayIEi  rF  znfl.com:plus:replayzHhttps?://(?:www\.)?nfl\.com/plus/games/(?P<slug>[\w-]+)(?:/(?P<id>\d+))?r   r   Nr   r   r   r   rO  rO    s    $G#G_JLr   rO  c                       \ rS rSrSrSrSrg)	NHLBaseIEi  yt_dlp.extractor.nhlNHLBaser   Nr   r   r   r   rQ  rQ    r  r   rQ  c                   $    \ rS rSrSrSrSrSrSrg)NHLIEi  rR  znhl.comzFhttps?://(?:www\.)?(?P<site>nhl|wch2016)\.com/(?:[^/]+/)*c-(?P<id>\d+)r}   r   Nr   r   r   r   rU  rU    s    $GG\JLr   rU  c                   $    \ rS rSrSrSrSrSrSrg)NJoyEmbedIEi  r,  z
njoy:embedz^https?://(?:www\.)?n-joy\.de/(?:[^/]+/)*(?P<id>[\da-z]+)-(?:player|externalPlayer)_[^/]+\.htmlr}   r   Nr   r   r   r   rW  rW    s    $GGuJLr   rW  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NJoyIEi  r,  njoyz[https?://(?:www\.)?n-joy\.de/(?:[^/]+/)*(?:(?P<display_id>[^/?#]+),)?(?P<id>[\da-z]+)\.htmlzN-JOYr}   r   Nr   r   r   r   rY  rY    s    $GGrJGLr   rY  c                   $    \ rS rSrSrSrSrSrSrg)NOSNLArticleIEi  zyt_dlp.extractor.nosnlNOSNLArticlezGhttps?://nos\.nl/(?P<type>video|(\w+/)?\w+)/?\d+-(?P<display_id>[\w-]+)r   r   Nr   r   r   r   r\  r\    s    &GG_JLr   r\  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	NPOIEi  r  npo  (?x)
                    (?:
                        npo:|
                        https?://
                            (?:www\.)?
                            (?:
                                npo\.nl/(?:[^/]+/)*|
                                (?:ntr|npostart)\.nl/(?:[^/]+/){2,}|
                                omroepwnl\.nl/video/fragment/[^/]+__|
                                (?:zapp|npo3)\.nl/(?:[^/]+/){2,}
                            )
                        )
                        (?P<id>[^/?#]+)
                1npo.nl, ntr.nl, omroepwnl.nl, zapp.nl and npo3.nlr}   c                 z   >^ [        U4S j[        [        [        4 5       5      (       a  S$ [        TU ]  T5      $ )Nc              3   F   >#    U  H  nUR                  T5      v   M     g 7fr-   r  r  s     r   rD   !NPOIE.suitable.<locals>.<genexpr>  %      GEB  [[--E   !Fr   	NPOLiveIE
NPORadioIENPORadioFragmentIEr   r<   r   s    `r   r<   NPOIE.suitable  B     G$j2DEG G G 	,W%c*	,r   r   r   r   r    r!   r)   ro   rG   ri   r   r   r<   r"   r   r   s   @r   r_  r_    s1    $GG {JAGL, ,r   r_  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )NPOPlaylistBaseIEi  r  r`  ra  rb  c                 z   >^ [        U4S j[        [        [        4 5       5      (       a  S$ [        TU ]  T5      $ )Nc              3   F   >#    U  H  nUR                  T5      v   M     g 7fr-   r  r  s     r   rD   -NPOPlaylistBaseIE.suitable.<locals>.<genexpr>  rf  rg  Frh  r   s    `r   r<   NPOPlaylistBaseIE.suitable  rm  r   r   )r   r   r    r!   r)   ro   rG   ri   r   r<   r"   r   r   s   @r   rp  rp    s,    $GG {JAG, ,r   rp  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	AndereTijdenIEi  r  anderetijdenzIhttps?://(?:www\.)?anderetijden\.nl/programma/(?:[^/]+/)+(?P<id>[^/?#&]+)rb  r~   c                 z   >^ [        U4S j[        [        [        4 5       5      (       a  S$ [        TU ]  T5      $ )Nc              3   F   >#    U  H  nUR                  T5      v   M     g 7fr-   r  r  s     r   rD   *AndereTijdenIE.suitable.<locals>.<genexpr>  rf  rg  Frh  r   s    `r   r<   AndereTijdenIE.suitable  rm  r   r   rn  r   s   @r   rv  rv    s.    $GG^JAGL, ,r   rv  c                   $    \ rS rSrSrSrSrSrSrg)ri  i  r  znpo.nl:livez?https?://(?:www\.)?npo(?:start)?\.nl/live(?:/(?P<id>[^/?#&]+))?r}   r   Nr   r   r   r   ri  ri    s    $GGTJLr   ri  c                   $    \ rS rSrSrSrSrSrSrg)rk  i  r  znpo.nl:radio:fragmentz;https?://(?:www\.)?npo\.nl/radio/[^/]+/fragment/(?P<id>\d+)r}   r   Nr   r   r   r   rk  rk    s    $G%GQJLr   rk  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )rj  i  r  znpo.nl:radioz.https?://(?:www\.)?npo\.nl/radio/(?P<id>[^/]+)r}   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )rk  r<   r   r   s     r   r<   NPORadioIE.suitable  r  r   r   r   r   s   @r   rj  rj    s+    $GGCJLT Tr   rj  c                       \ rS rSrSrSrSrg)	NRKBaseIEi
  yt_dlp.extractor.nrkNRKBaser   Nr   r   r   r   r  r  
  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)NRKIEi  r  NRKa  (?x)
                        (?:
                            nrk:|
                            https?://
                                (?:
                                    (?:www\.)?nrk\.no/video/(?:PS\*|[^_]+_)|
                                    v8[-.]psapi\.nrk\.no/mediaelement/
                                )
                            )
                            (?P<id>[^?\#&]+)
                        r}   r   Nr   r   r   r   r  r    s    $GG JJLr   r  c                       \ rS rSrSrSrSrg)NRKPlaylistBaseIEi  r  NRKPlaylistBaser   Nr   r   r   r   r  r    r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)NRKPlaylistIEi  r  NRKPlaylistzBhttps?://(?:www\.)?nrk\.no/(?!video|skole)(?:[^/]+/)+(?P<id>[^/]+)r~   r   Nr   r   r   r   r  r    s    $GGWJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NRKRadioPodkastIEi"  r  NRKRadioPodkastzohttps?://radio\.nrk\.no/pod[ck]ast/(?:[^/]+/)+(?P<id>l_[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})r}   r   Nr   r   r   r   r  r  "  s    $GG JJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
NRKSkoleIEi)  r  NRKSkolez;https?://(?:www\.)?nrk\.no/skole/?\?.*\bmediaId=(?P<id>\d+)z	NRK Skoler}   r   Nr   r   r   r   r  r  )  s    $GGSJGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NRKTVEpisodeIEi1  r  NRKTVEpisodezhhttps?://tv\.nrk\.no/serie/(?P<id>[^/?#]+/sesong/(?P<season_number>\d+)/episode/(?P<episode_number>\d+))   r}   r   NrU  r   r   r   r  r  1  s    $GGJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)NRKTVEpisodesIEi9  r  NRKTVEpisodesz:https?://tv\.nrk\.no/program/[Ee]pisodes/[^/]+/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  9  s    $GGPJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
NRKTVIEi@  r  NRKTVzLhttps?://(?:tv|radio)\.nrk(?:super)?\.no/(?:[^/]+/)*(?P<id>[a-zA-Z]{4}\d{8})zNRK TV and NRK Radior  r}   r   Nr  r   r   r   r  r  @  s     $GGbJ$GILr   r  c                   $    \ rS rSrSrSrSrSrSrg)NRKTVDirekteIEiI  r  NRKTVDirektez7https?://(?:tv|radio)\.nrk\.no/direkte/(?P<id>[^/?#&]+)z$NRK TV Direkte and NRK Radio Direkter   Nr#  r   r   r   r  r  I  s    $GGLJ4Gr   r  c                       \ rS rSrSrSrSrg)NRKTVSerieBaseIEiP  r  NRKTVSerieBaser   Nr   r   r   r   r  r  P  s    $GGr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )NRKTVSeasonIEiU  r  NRKTVSeasonas  (?x)
                    https?://
                        (?P<domain>tv|radio)\.nrk\.no/
                        (?P<serie_kind>serie|pod[ck]ast)/
                        (?P<serie>[^/]+)/
                        (?:
                            (?:sesong/)?(?P<id>\d+)|
                            sesong/(?P<id_2>[^/?#&]+)
                        )
                    r~   c                    > [         R                  U5      (       d4  [        R                  U5      (       d  [        R                  U5      (       a  S$ [        TU ]  U5      $ r   )r  r<   r  r  r   r   s     r   r<   NRKTVSeasonIE.suitable[  sO     ))#...2I2I#2N2NRcRlRlmpRqRq 	,W%c*	,r   r   r   r   s   @r   r  r  U  s,    $GG SJL, ,r   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )NRKTVSeriesIEia  r  NRKTVSerieszkhttps?://(?P<domain>(?:tv|radio)\.nrk|(?:tv\.)?nrksuper)\.no/(?P<serie_kind>serie|pod[ck]ast)/(?P<id>[^/]+)r~   c                    >^ [        U4S j[        [        [        [        4 5       5      (       a  S$ [
        TU ]  T5      $ )Nc              3   F   >#    U  H  nUR                  T5      v   M     g 7fr-   r  r  s     r   rD   )NRKTVSeriesIE.suitable.<locals>.<genexpr>j  s%      `#^R S))#^rg  F)r   r  r  r  r  r   r<   r   s    `r   r<   NRKTVSeriesIE.suitableg  sI      `$+^=NP]#^` ` `E	( !#&	(r   r   r   r   s   @r   r  r  a  s,    $GG BJL( (r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NRLTVIEio  zyt_dlp.extractor.nrlNRLTVz8https?://(?:www\.)?nrl\.com/tv(/[^/]+)*/(?P<id>[^/?&#]+)Fr}   r   NrZ  r   r   r   r  r  o  s    $GGMJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	NTSLiveIEiw  zyt_dlp.extractor.ntsznts.livezChttps?://(?:www\.)?nts\.live/shows/[^/?#]+/episodes/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r  w  s    $GGXJLr   r  c                       \ rS rSrSrSrSrg)StreaksBaseIEi~  yt_dlp.extractor.streaksStreaksBaser   Nr   r   r   r   r  r  ~  rK  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NTVCoJpCUIEi  zyt_dlp.extractor.ntvcojpzcu.ntv.co.jpzJhttps?://cu\.ntv\.co\.jp/(?!program-list|search)(?P<id>[\w-]+)/?(?:[?#]|$)u   日テレ無料TADA!r}   r   Nr   r   r   r   r  r    s    (GGaJ$GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NTVDeIEi  zyt_dlp.extractor.ntvdezn-tv.dezfhttps?://(?:www\.)?n-tv\.de/mediathek/(?:videos|magazine)/[^/?#]+/[^/?#]+-article(?P<id>[^/?#]+)\.htmlr}   r   Nr   r   r   r   r  r    s    &GG|JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NTVRuIEi  zyt_dlp.extractor.ntvruzntv.ruz6https?://(?:www\.)?ntv\.ru/(?:[^/]+/)*(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r  r    r{  r   r  c                       \ rS rSrSrSrSrg)NYTimesBaseIEi  yt_dlp.extractor.nytimesNYTimesBaser   Nr   r   r   r   r  r    rK  r   r  c                   $    \ rS rSrSrSrSrSrSrg)NYTimesArticleIEi  r  NYTimesArticlezphttps?://(?:www\.)?nytimes\.com/\d{4}/\d{2}/\d{2}/(?!books|podcasts)[^/?#]+/(?:\w+/)?(?P<id>[^./?#]+)(?:\.html)?r   r   Nr   r   r   r   r  r    s    (GG KJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NYTimesCookingIEi  r  NYTimesCookingGuidez4https?://cooking\.nytimes\.com/guides/(?P<id>[\w-]+)r   r   Nr   r   r   r   r  r    s    (G#GJJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NYTimesCookingRecipeIEi  r  NYTimesCookingRecipez2https?://cooking\.nytimes\.com/recipes/(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    (G$GHJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	NYTimesIEi  r  NYTimeszhttps?://(?:(?:www\.)?nytimes\.com/video/(?:[^/]+/)+?|graphics8\.nytimes\.com/bcvideo/\d+(?:\.\d+)?/iframe/embed\.html\?videoId=)(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    (GG jJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
NZHeraldIEi  zyt_dlp.extractor.nzheraldnzheraldz?https?://(?:www\.)?nzherald\.co\.nz/[\w\/-]+\/(?P<id>[A-Z0-9]+)r}   r   Nr   r   r   r   r  r    s    )GGXJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NZOnScreenIEi  zyt_dlp.extractor.nzonscreen
NZOnScreenz3https?://www\.nzonscreen\.com/title/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r    s    +GGHJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NZZIEi  zyt_dlp.extractor.nzzNZZz=https?://(?:www\.)?nzz\.ch/(?:[^/]+/)*[^/?#]+-ld\.(?P<id>\d+)r~   r   Nr   r   r   r   r  r    s    $GGTJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NateIEi  yt_dlp.extractor.nateNatez*https?://tv\.nate\.com/clip/(?P<id>[0-9]+)r	  r}   r   NrU  r   r   r   r  r    s    %GG?JILr   r  c                   $    \ rS rSrSrSrSrSrSrg)NateProgramIEi  r  NateProgramz3https?://tv\.nate\.com/program/clips/(?P<id>[0-9]+)r~   r   Nr   r   r   r   r  r    s    %GGHJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NationalGeographicTVIEi  #yt_dlp.extractor.nationalgeographicNationalGeographicTVzGhttps?://(?:www\.)?nationalgeographic\.com/tv/watch/(?P<id>[\da-fA-F]+)r  r}   r   NrU  r   r   r   r  r    s    3G$G]JILr   r  c                   $    \ rS rSrSrSrSrSrSrg)NationalGeographicVideoIEi  r  znatgeo:videoz+https?://video\.nationalgeographic\.com/.*?r}   r   Nr   r   r   r   r  r    s    3GG@JLr   r  c                       \ rS rSrSrSrSrg)NaverBaseIEi  yt_dlp.extractor.naver	NaverBaser   Nr   r   r   r   r  r    r   r   r  c                   $    \ rS rSrSrSrSrSrSrg)NaverIEi  r  Naverz@https?://(?:m\.)?tv(?:cast)?\.naver\.com/(?:v|embed)/(?P<id>\d+)r}   r   Nr   r   r   r   r  r        &GGWJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NaverLiveIEi  r  z
Naver:livez6https?://(?:m\.)?tv(?:cast)?\.naver\.com/l/(?P<id>\d+)r}   r   Nr   r   r   r   r  r    s    &GGMJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
NaverNowIEi   r  navernowz+https?://now\.naver\.com/s/now\.(?P<id>\w+)r   r   Nr   r   r   r   r  r     s    &GGBJLr   r  c                        \ rS rSrSrSrSrSrg)NebulaBaseIEi  yt_dlp.extractor.nebula
NebulaBasewatchnebular   Nr   r   r   r   r  r    s    'GG"Nr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NebulaChannelIEi  r  znebula:channelzzhttps?://(?:www\.|beta\.)?(?:watchnebula\.com|nebula\.app|nebula\.tv)/(?!myshows|library|videos)(?P<id>[\w-]+)/?(?:$|[?#])r  r~   r   Nr  r   r   r   r  r    s    'GG TJ"NLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NebulaClassIEi  r  znebula:mediazhttps?://(?:www\.|beta\.)?(?:watchnebula\.com|nebula\.app|nebula\.tv)/(?!(?:myshows|library|videos)/)(?P<id>[\w-]+)/(?P<ep>[\w-]+)/?(?:$|[?#])r  r}   r   Nr  r   r   r   r  r    s    'GG iJ"NLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NebulaIEi  r  znebula:videoz[https?://(?:www\.|beta\.)?(?:watchnebula\.com|nebula\.app|nebula\.tv)/videos/(?P<id>[\w-]+)r  r}   r   Nr  r   r   r   r  r    s    'GGtJ"NLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NebulaSubscriptionsIEi%  r  znebula:subscriptionszwhttps?://(?:www\.|beta\.)?(?:watchnebula\.com|nebula\.app|nebula\.tv)/(?P<id>myshows|library/latest-videos)/?(?:$|[?#])r  r~   r   Nr  r   r   r   r  r  %  s    'G$G PJ"NLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NekoHackerIEi-  zyt_dlp.extractor.nekohacker
NekoHackerz<https?://(?:www\.)?nekohacker\.com/(?P<id>(?!free-dl)[\w-]+)r~   r   Nr   r   r   r   r   r   -  s    +GGRJLr   r   c                   $    \ rS rSrSrSrSrSrSrg)NerdCubedFeedIEi4  zyt_dlp.extractor.nerdcubedNerdCubedFeedz0https?://(?:www\.)?nerdcubed\.co\.uk/?(?:$|[#?])r~   r   Nr   r   r   r   r  r  4  s    *GGFJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
NestClipIEi;  yt_dlp.extractor.nestNestClipz8https?://video\.nest\.com/(?:embedded/)?clip/(?P<id>\w+)r}   r   Nr   r   r   r   r  r  ;  s    %GGNJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NestIEiB  r  Nestz8https?://video\.nest\.com/(?:embedded/)?live/(?P<id>\w+)r}   r   Nr   r   r   r   r
  r
  B  s    %GGNJLr   r
  c                       \ rS rSrSrSrSrg)NetEaseMusicBaseIEiI  yt_dlp.extractor.neteasemusicNetEaseMusicBaser   Nr   r   r   r   r  r  I  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NetEaseMusicAlbumIEiN  r  znetease:albumz8https?://music\.163\.com/(?:#/)?album\?id=(?P<id>[0-9]+)u   网易云音乐 - 专辑r~   r   Nr   r   r   r   r  r  N  s    -GGNJ(GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NetEaseMusicDjRadioIEiV  r  znetease:djradioz:https?://music\.163\.com/(?:#/)?djradio\?id=(?P<id>[0-9]+)u   网易云音乐 - 电台r~   r   Nr   r   r   r   r  r  V  s    -GGPJ(GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NetEaseMusicIEi^  r  znetease:songzGhttps?://(?:y\.)?music\.163\.com/(?:[#m]/)?song\?.*?\bid=(?P<id>[0-9]+)u   网易云音乐r}   r   Nr   r   r   r   r  r  ^  s    -GG_JGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NetEaseMusicListIEif  r  znetease:playlistzPhttps?://music\.163\.com/(?:#/)?(?:playlist|discover/toplist)\?id=(?P<id>[0-9]+)u   网易云音乐 - 歌单r~   r   Nr   r   r   r   r  r  f  s    -G GfJ(GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NetEaseMusicMvIEin  r  z
netease:mvz5https?://music\.163\.com/(?:#/)?mv\?id=(?P<id>[0-9]+)u   网易云音乐 - MVr}   r   Nr   r   r   r   r  r  n  s    -GGKJ$GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NetEaseMusicProgramIEiv  r  znetease:programz:https?://music\.163\.com/(?:#/)?program\?id=(?P<id>[0-9]+)u   网易云音乐 - 电台节目r   r   Nr   r   r   r   r  r  v  s    -GGPJ.GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NetEaseMusicSingerIEi~  r  znetease:singerz9https?://music\.163\.com/(?:#/)?artist\?id=(?P<id>[0-9]+)u   网易云音乐 - 歌手r~   r   Nr   r   r   r   r  r  ~  s    -GGOJ(GLr   r  c                        \ rS rSrSrSrSrSrg)NetPlusTVBaseIEi  rD  NetPlusTVBasenetplusr   Nr   r   r   r   r  r    s    'GGNr   r  c                   $    \ rS rSrSrSrSrSrSrg)NetPlusTVIEi  rD  	NetPlusTVz(?x)https?://(?:www\.)?netplus\.tv/(?:
        [^?#]+\?(?:[^#]+&)?program=(?P<vid2>\d+)
        |(?:program|watch)/[^/]+/(?P<vid1>\d+)
    )r!  r   NrO  r   r   r   r#  r#    s    'GG hJNr   r#  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )NetPlusTVLiveIEi  rD  NetPlusTVLivez(?x)https?://(?:www\.)?netplus\.tv/(?:
        [^?#]+\?(?:[^#]+&)?channel=(?P<vid2>[^/?&#]+)
        |live/(?P<vid1>[^/?&#]+)
    )r!  c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r#  r<   r   r   s     r   r<   NetPlusTVLiveIE.suitable  (    #,,S11uLuw7G7LLr   r   ru  r   s   @r   r&  r&    s.    'GG ]JNM Mr   r&  c                   $    \ rS rSrSrSrSrSrSrg)NetPlusTVRecordingsIEi  rD  NetPlusTVRecordingszr(?x)https?://(?:www\.)?netplus\.tv/(?:
        [^?#]+\?(?:[^#]+&)?recording=(?P<vid2>\d+)
        (?P<vid1>)
    )r!  r   NrO  r   r   r   r,  r,    s    'G#G MJNr   r,  c                       \ rS rSrSrSrSrg)NetverseBaseIEi  yt_dlp.extractor.netverseNetverseBaser   Nr   r   r   r   r/  r/    r  r   r/  c                   $    \ rS rSrSrSrSrSrSrg)
NetverseIEi  r0  NetversezNhttps?://(?:\w+\.)?netverse\.id/(?P<type>watch|video)/(?P<display_id>[^/?#&]+)r}   r   Nr   r   r   r   r3  r3    s    )GGdJLr   r3  c                   $    \ rS rSrSrSrSrSrSrg)NetversePlaylistIEi  r0  NetversePlaylistzLhttps?://(?:\w+\.)?netverse\.id/(?P<type>webseries)/(?P<display_id>[^/?#&]+)r~   r   Nr   r   r   r   r6  r6    s    )G GbJLr   r6  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NetverseSearchIEi  r0  NetverseSearchz8netsearch(?P<prefix>|[1-9][0-9]*|all):(?P<query>[\s\S]+)	netsearchr~   r   N)
r   r   r    r!   r)   ro   rG   rj   r   r"   r   r   r   r9  r9    s    )GGMJJLr   r9  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)

NetzkinoIEi  zyt_dlp.extractor.netzkinoNetzkinoz7https?://(?:www\.)?netzkino\.de/\#!/[^/]+/(?P<id>[^/]+)Fr   r}   r   Nr  r   r   r   r=  r=    s     )GGMJHILr   r=  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
NewgroundsIEi  yt_dlp.extractor.newgrounds
Newgroundsz]https?://(?:www\.)?newgrounds\.com/(?:audio/listen|portal/view)/(?P<id>\d+)(?:/format/flash)?
newgroundsr   r}   r   Nr  r   r   r   r@  r@    s     +GGsJ!NILr   r@  c                   $    \ rS rSrSrSrSrSrSrg)NewgroundsPlaylistIEi  rA  zNewgrounds:playlistzUhttps?://(?:www\.)?newgrounds\.com/(?:collection|[^/]+/search/[^/]+)/(?P<id>[^/?#&]+)r~   r   Nr   r   r   r   rE  rE    s    +G#GjJLr   rE  c                   $    \ rS rSrSrSrSrSrSrg)NewgroundsUserIEi  rA  zNewgrounds:userzEhttps?://(?P<id>[^\.]+)\.newgrounds\.com/(?:movies|audio)/?(?:[#?]|$)r~   r   Nr   r   r   r   rG  rG    s    +GG[JLr   rG  c                   $    \ rS rSrSrSrSrSrSrg)NewsPicksIEi  zyt_dlp.extractor.newspicks	NewsPicksz4https?://newspicks\.com/movie-series/(?P<id>[^?/#]+)r}   r   Nr   r   r   r   rI  rI        *GGHJLr   rI  c                   $    \ rS rSrSrSrSrSrSrg)NewsyIEi  zyt_dlp.extractor.newsyNewsyz7https?://(?:www\.)?newsy\.com/stories/(?P<id>[^/?#$&]+)r}   r   Nr   r   r   r   rM  rM    r   r   rM  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NextMediaIEi  yt_dlp.extractor.nextmedia	NextMediazHhttps?://hk\.apple\.nextmedia\.com/[^/]+/[^/]+/(?P<date>\d+)/(?P<id>\d+)u   蘋果日報r}   r   Nr   r   r   r   rP  rP    s    *GG`JGLr   rP  c                   (    \ rS rSrSrSrSrSrSrSr	g)	AppleDailyIEi  rQ  
AppleDailyzYhttps?://(www|ent)\.appledaily\.com\.tw/[^/]+/[^/]+/[^/]+/(?P<date>\d+)/(?P<id>\d+)(/.*)?u   臺灣蘋果日報r}   r   Nr   r   r   r   rT  rT    s    *GGqJ"GLr   rT  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NextMediaActionNewsIEi  rQ  NextMediaActionNewszNhttps?://hk\.dv\.nextmedia\.com/actionnews/[^/]+/(?P<date>\d+)/(?P<id>\d+)/\d+u   蘋果日報 - 動新聞r}   r   Nr   r   r   r   rW  rW    s    *G#GgJ(GLr   rW  c                   0    \ rS rSrSrSrSrSrSrSr	Sr
S	rg)
NextTVIEi  rQ  NextTVNz9https?://(?:www\.)?nexttv\.com\.tw/(?:[^/]+/)+(?P<id>\d+)Fu	   壹電視r}   r   )r   r   r    r!   r)   ro   r   rG   rP   ri   r   r"   r   r   r   rZ  rZ    s%    *GGHPJHGLr   rZ  c                   $    \ rS rSrSrSrSrSrSrg)NexxEmbedIEi  yt_dlp.extractor.nexx	NexxEmbedzHhttps?://embed\.nexx(?:\.cloud|cdn\.com)/\d+/(?:video/)?(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r]  r]    s    %GG_JLr   r]  c                   $    \ rS rSrSrSrSrSrSrg)NexxIEi  r^  Nexxaa  (?x)
                        (?:
                            https?://api\.nexx(?:\.cloud|cdn\.com)/v3(?:\.\d)?/(?P<domain_id>\d+)/videos/byid/|
                            nexx:(?:(?P<domain_id_s>\d+):)?|
                            https?://arc\.nexx\.cloud/api/video/
                        )
                        (?P<id>\d+)
                    r}   r   Nr   r   r   r   ra  ra    s    %GG FJLr   ra  c                   $    \ rS rSrSrSrSrSrSrg)NhkForSchoolBangumiIEi  yt_dlp.extractor.nhkNhkForSchoolBangumizbhttps?://www2\.nhk\.or\.jp/school/movie/(?P<type>bangumi|clip)\.cgi\?das_id=(?P<id>[a-zA-Z0-9_-]+)r}   r   Nr   r   r   r   rd  rd    s    $G#GzJLr   rd  c                   $    \ rS rSrSrSrSrSrSrg)NhkForSchoolProgramListIEi%  re  NhkForSchoolProgramListzhttps?://www\.nhk\.or\.jp/school/(?P<id>(?:rika|syakai|kokugo|sansuu|seikatsu|doutoku|ongaku|taiiku|zukou|gijutsu|katei|sougou|eigo|tokkatsu|tokushi|sonota)/[a-zA-Z0-9_-]+)r~   r   Nr   r   r   r   rh  rh  %  s    $G'G CJLr   rh  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NhkForSchoolSubjectIEi,  re  NhkForSchoolSubjectzhttps?://www\.nhk\.or\.jp/school/(?P<id>rika|syakai|kokugo|sansuu|seikatsu|doutoku|ongaku|taiiku|zukou|gijutsu|katei|sougou|eigo|tokkatsu|tokushi|sonota)/?(?:[\?#].*)?$up   Portal page for each school subjects, like Japanese (kokugo, 国語) or math (sansuu/suugaku or 算数・数学)r~   r   Nr   r   r   r   rk  rk  ,  s!    $G#G @J AGLr   rk  c                   $    \ rS rSrSrSrSrSrSrg)NhkRadioNewsPageIEi4  re  NhkRadioNewsPagez/https?://www\.nhk\.or\.jp/radionews/?(?:$|[?#])r~   r   Nr   r   r   r   rn  rn  4  s    $G GEJLr   rn  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NhkRadiruIEi;  re  	NhkRadiruzhttps?://www\.nhk\.or\.jp/radio/(?:player/ondemand|ondemand/detail)\.html\?p=(?P<site>[\da-zA-Z]+)_(?P<corner>[\da-zA-Z]+)(?:_(?P<headline>[\da-zA-Z]+))?u   NHK らじる (Radiru/Rajiru)r   r   Nr   r   r   r   rq  rq  ;  s    $GG uJ-GLr   rq  c                   $    \ rS rSrSrSrSrSrSrg)NhkRadiruLiveIEiC  re  NhkRadiruLivez<https?://www\.nhk\.or\.jp/radio/player/\?ch=(?P<id>r[12]|fm)r}   r   Nr   r   r   r   rt  rt  C  s    $GGSJLr   rt  c                       \ rS rSrSrSrSrg)	NhkBaseIEiJ  re  NhkBaser   Nr   r   r   r   rw  rw  J  r  r   rw  c                   (    \ rS rSrSrSr/ SQrSrSrg)NhkVodIEiO  re  NhkVod)zuhttps?://www3\.nhk\.or\.jp/nhkworld/(?P<lang>[a-z]{2})/shows/(?:(?P<type>video)/)?(?P<id>\d{4}[\da-z]\d+)/?(?:$|[?#])zyhttps?://www3\.nhk\.or\.jp/nhkworld/(?P<lang>[a-z]{2})/(?:ondemand|shows)/(?P<type>audio)/(?P<id>[^/?#]+?-\d{8}-[\da-z]+)zghttps?://www3\.nhk\.or\.jp/nhkworld/(?P<lang>[a-z]{2})/ondemand/(?P<type>video)/(?P<id>\d{4}[\da-z]\d+)r}   r   Nr   r   r   r   rz  rz  O  s    $GG DJLr   rz  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )NhkVodProgramIEiV  re  NhkVodProgramz(?x)
        https?://www3\.nhk\.or\.jp/nhkworld/(?P<lang>[a-z]{2})/(?:shows|tv)/
        (?:(?P<type>audio)/programs/)?(?P<id>\w+)/?
        (?:\?(?:[^#]+&)?type=(?P<episode_type>clip|(?:radio|tv)Episode))?r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )rz  r<   r   r   s     r   r<   NhkVodProgramIE.suitable\  r  r   r   r   r   s   @r   r}  r}  V  s.    $GG kJLJ Jr   r}  c                   $    \ rS rSrSrSrSrSrSrg)NickIEia  zyt_dlp.extractor.nickznick.comzHhttps?://(?:www\.)?nick\.com/(?:video-clips|episodes)/(?P<id>[\da-z]{6})r}   r   Nr   r   r   r   r  r  a  s    %GG^JLr   r  c                       \ rS rSrSrSrSrg)NiconicoChannelPlusBaseIEih  $yt_dlp.extractor.niconicochannelplusNiconicoChannelPlusBaser   Nr   r   r   r   r  r  h  s    4G'Gr   r  c                       \ rS rSrSrSrSrg) NiconicoChannelPlusChannelBaseIEim  r  NiconicoChannelPlusChannelBaser   Nr   r   r   r   r  r  m  s    4G.Gr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	!NiconicoChannelPlusChannelLivesIEir  r  z!NiconicoChannelPlus:channel:livesz3https?://nicochannel\.jp/(?P<id>[a-z\d\._-]+)/livesui   ニコニコチャンネルプラス - チャンネル - ライブリスト. nicochannel.jp/channel/livesr~   r   Nr   r   r   r   r  r  r  s    4G1GIJyGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	"NiconicoChannelPlusChannelVideosIEiz  r  z"NiconicoChannelPlus:channel:videosz=https?://nicochannel\.jp/(?P<id>[a-z\d\._-]+)/videos(?:\?.*)?ug   ニコニコチャンネルプラス - チャンネル - 動画リスト. nicochannel.jp/channel/videosr~   r   Nr   r   r   r   r  r  z  s    4G2GTJwGLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
NiconicoChannelPlusIEi  r  NiconicoChannelPluszLhttps?://nicochannel\.jp/(?P<channel>[\w.-]+)/(?:video|live)/(?P<code>sm\w+)u$   ニコニコチャンネルプラスr   r}   r   Nr  r   r   r   r  r    s     4G#GbJ4GILr   r  c                       \ rS rSrSrSrSrg)NiconicoPlaylistBaseIEi  yt_dlp.extractor.niconicoNiconicoPlaylistBaser   Nr   r   r   r   r  r    r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)NiconicoHistoryIEi  r  zniconico:historyzBhttps?://(?:www\.|sp\.)?nicovideo\.jp/my/(?P<id>history(?:/like)?)z1NicoNico user history or likes. Requires cookies.r   Nr#  r   r   r   r  r    s    )G GXJAGr   r  c                        \ rS rSrSrSrSrSrg)NiconicoBaseIEi  r  NiconicoBaseniconicor   Nr   r   r   r   r  r    r  r   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)	
NiconicoIEi  r  r  zLhttps?://(?:(?:embed|sp|www)\.)?nicovideo\.jp/watch/(?P<id>(?:[a-z]{2})?\d+)u   ニコニコ動画r}   r   Nr   r   r   r   r  r    s     )GGbJ"GNLr   r  c                   0    \ rS rSrSrSrSrSrSrSr	Sr
S	rg
)NiconicoLiveIEi  r  zniconico:livezDhttps?://(?:sp\.)?live2?\.nicovideo\.jp/(?:watch|gate)/(?P<id>lv\d+)u   ニコニコ生放送r  r   r}   r   Nr   r   r    r!   r)   ro   rG   ri   rh   ru   r   r"   r   r   r   r  r    s%    )GG[J%GNILr   r  c                   $    \ rS rSrSrSrSrSrSrg)NiconicoPlaylistIEi  r  zniconico:playlistzbhttps?://(?:(?:www\.|sp\.)?nicovideo\.jp|nico\.ms)/(?:user/\d+/)?(?:my/)?mylist/(?:#/)?(?P<id>\d+)r~   r   Nr   r   r   r   r  r    s    )G!G{JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NiconicoSeriesIEi  r  zniconico:serieszShttps?://(?:(?:www\.|sp\.)?nicovideo\.jp(?:/user/\d+)?|nico\.ms)/series/(?P<id>\d+)r~   r   Nr   r   r   r   r  r    s    )GGlJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NiconicoUserIEi  r  NiconicoUserzHhttps?://(?:www\.)?nicovideo\.jp/user/(?P<id>\d+)(?:/video)?/?(?:$|[#?])r~   r   Nr   r   r   r   r  r    s    )GG^JLr   r  c                       \ rS rSrSrSrSrg)NicovideoSearchBaseIEi  r  NicovideoSearchBaser   Nr   r   r   r   r  r    s    )G#Gr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
NicovideoSearchDateIEi  r  znicovideo:search:datez=nicosearchdate(?P<prefix>|[1-9][0-9]*|all):(?P<query>[\s\S]+)zNico video search, newest firstnicosearchdater~   r   Nr  r   r   r   r  r    s     )G%GRJ/G!JLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
NicovideoSearchIEi  r  znicovideo:searchz9nicosearch(?P<prefix>|[1-9][0-9]*|all):(?P<query>[\s\S]+)zNico video search
nicosearchr~   r   Nr  r   r   r   r  r    s     )G GNJ!GJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NicovideoSearchURLIEi  r  znicovideo:search_urlz8https?://(?:www\.)?nicovideo\.jp/search/(?P<id>[^?#&]+)?zNico video search URLsr~   r   Nr   r   r   r   r  r    s    )G$GMJ&GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NicovideoTagURLIEi  r  zniconico:tagz5https?://(?:www\.)?nicovideo\.jp/tag/(?P<id>[^?#&]+)?zNicoNico video tag URLsr~   r   Nr   r   r   r   r  r    s    )GGJJ'GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NinaProtocolIEi  zyt_dlp.extractor.ninaprotocolNinaProtocolz=https?://(?:www\.)?ninaprotocol\.com/releases/(?P<id>[^/#?]+)r~   r   Nr   r   r   r   r  r    s    -GGRJLr   r  c                        \ rS rSrSrSrSrSrg)NineCNineMediaIEi  r1  9c9mediaz09c9media:(?P<destination_code>[^:]+):(?P<id>\d+)r   Nr   r   r   r   r  r    s    /GGDJr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		NineGagIEi  zyt_dlp.extractor.ninegag9gagz1https?://(?:www\.)?9gag\.com/gag/(?P<id>[^/?&#]+)9GAGr}   r   Nr   r   r   r   r  r    s    (GGFJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
NineNewsIEi   zyt_dlp.extractor.ninenews9NewszLhttps?://(?:www\.)?9news\.com\.au/(?:[\w-]+/){2,3}(?P<id>[\w-]+)/?(?:$|[?#])r}   r   Nr   r   r   r   r  r     s    )GGdJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	NineNowIEi   zyt_dlp.extractor.ninenowz9now.com.auzVhttps?://(?:www\.)?9now\.com\.au/(?:[^/?#]+/){2}(?P<id>(?P<type>clip|episode)-[^/?#]+)r}   r   Nr   r   r   r   r  r     s    (GGlJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
NintendoIEi   zyt_dlp.extractor.nintendoNintendozdhttps?://(?:www\.)?nintendo\.com/(?:(?P<locale>\w{2}(?:-\w{2})?)/)?nintendo-direct/(?P<slug>[^/?#]+)r@  r}   r   NrU  r   r   r   r  r     s    )GG{JILr   r  c                   $    \ rS rSrSrSrSrSrSrg)NitterIEi   zyt_dlp.extractor.nitterNittera  https?://(?:3nzoldnxplag42gqjs23xvghtzf6t6yzssrtytnntc6ppc7xxuoneoad\.onion|nitter\.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd\.onion|nitter7bryz3jv7e3uekphigvmoyoem4al3fynerxkj22dmoxoq553qd\.onion|npf37k3mtzwxreiw52ccs5ay4e6qt2fkcs2ndieurdyn2cuzzsfyfvid\.onion|nitter\.v6vgyqpa7yefkorazmg5d5fimstmvm2vtbirt6676mt7qmllrcnwycqd\.onion|i23nv6w3juvzlw32xzoxcqzktegd4i4fu3nmnc2ewv4ggiu4ledwklad\.onion|26oq3gioiwcmfojub37nz5gzbkdiqp7fue5kvye7d4txv4ny6fb4wwid\.onion|vfaomgh4jxphpbdfizkm5gbtjahmei234giqj4facbwhrfjtcldauqad\.onion|iwgu3cv7ywf3gssed5iqtavmrlszgsxazkmwwnt4h2kdait75thdyrqd\.onion|erpnncl5nhyji3c32dcfmztujtl3xaddqb457jsbkulq24zqq7ifdgad\.onion|ckzuw5misyahmg7j5t5xwwuj3bwy62jfolxyux4brfflramzsvvd3syd\.onion|jebqj47jgxleaiosfcxfibx2xdahjettuydlxbg64azd4khsxv6kawid\.onion|nttr2iupbb6fazdpr2rgbooon2tzbbsvvkagkgkwohhodjzj43stxhad\.onion|nitraeju2mipeziu2wtcrqsxg7h62v5y4eqgwi75uprynkj74gevvuqd\.onion|nitter\.lqs5fjmajyp7rvp4qvyubwofzi6d4imua7vs237rkc4m5qogitqwrgyd\.onion|ibsboeui2im5o7dxnik3s5yghufumgy5abevtij5nbizequfpu4qi4ad\.onion|ec5nvbycpfa5k6ro77blxgkyrzbkv7uy6r5cngcbkadtjj2733nm3uyd\.onion|nitter\.i2p|u6ikd6zndl3c4dsdq4mmujpntgeevdk5qzkfb57r4tnfeccrn2qa\.b32\.i2p|nitterlgj3n5fgwesu3vxc5h67ruku33nqaoeoocae2mvlzhsu6k7fqd\.onion|nitter\.lacontrevoie\.fr|nitter\.fdn\.fr|nitter\.1d4\.us|nitter\.kavin\.rocks|nitter\.unixfox\.eu|nitter\.domain\.glass|nitter\.namazso\.eu|birdsite\.xanny\.family|nitter\.moomoo\.me|bird\.trom\.tf|nitter\.it|twitter\.censors\.us|nitter\.grimneko\.de|twitter\.076\.ne\.jp|nitter\.fly\.dev|notabird\.site|nitter\.weiler\.rocks|nitter\.sethforprivacy\.com|nitter\.cutelab\.space|nitter\.nl|nitter\.mint\.lgbt|nitter\.bus\-hit\.me|nitter\.esmailelbob\.xyz|tw\.artemislena\.eu|nitter\.winscloud\.net|nitter\.tiekoetter\.com|nitter\.spaceint\.fr|nitter\.privacy\.com\.de|nitter\.poast\.org|nitter\.bird\.froth\.zone|nitter\.dcs0\.hu|twitter\.dr460nf1r3\.org|nitter\.garudalinux\.org|twitter\.femboy\.hu|nitter\.cz|nitter\.privacydev\.net|nitter\.evil\.site|tweet\.lambda\.dance|nitter\.kylrth\.com|nitter\.foss\.wtf|nitter\.priv\.pw|nitter\.tokhmi\.xyz|nitter\.catalyst\.sx|unofficialbird\.com|nitter\.projectsegfau\.lt|nitter\.eu\.projectsegfau\.lt|singapore\.unofficialbird\.com|canada\.unofficialbird\.com|india\.unofficialbird\.com|nederland\.unofficialbird\.com|uk\.unofficialbird\.com|n\.l5\.ca|nitter\.slipfox\.xyz|nitter\.soopy\.moe|nitter\.qwik\.space|read\.whatever\.social|nitter\.rawbit\.ninja|nt\.vern\.cc|ntr\.odyssey346\.dev|nitter\.ir|nitter\.privacytools\.io|nitter\.sneed\.network|n\.sneed\.network|nitter\.manasiwibi\.com|nitter\.smnz\.de|nitter\.twei\.space|nitter\.inpt\.fr|nitter\.d420\.de|nitter\.caioalonso\.com|nitter\.at|nitter\.drivet\.xyz|nitter\.pw|nitter\.nicfab\.eu|bird\.habedieeh\.re|nitter\.hostux\.net|nitter\.adminforge\.de|nitter\.platypush\.tech|nitter\.mask\.sh|nitter\.pufe\.org|nitter\.us\.projectsegfau\.lt|nitter\.arcticfoxes\.net|t\.com\.sb|nitter\.kling\.gg|nitter\.ktachibana\.party|nitter\.riverside\.rocks|nitter\.girlboss\.ceo|nitter\.lunar\.icu|twitter\.moe\.ngo|nitter\.freedit\.eu|ntr\.frail\.duckdns\.org|nitter\.librenode\.org|n\.opnxng\.com|nitter\.plus\.st|nitter\.ethibox\.fr|nitter\.net|is\-nitter\.resolv\.ee|lu\-nitter\.resolv\.ee|nitter\.13ad\.de|nitter\.40two\.app|nitter\.cattube\.org|nitter\.cc|nitter\.dark\.fail|nitter\.himiko\.cloud|nitter\.koyu\.space|nitter\.mailstation\.de|nitter\.mastodont\.cat|nitter\.tedomum\.net|nitter\.tokhmi\.xyz|nitter\.weaponizedhumiliation\.com|nitter\.vxempire\.xyz|tweet\.lambda\.dance|nitter\.ca|nitter\.42l\.fr|nitter\.pussthecat\.org|nitter\.nixnet\.services|nitter\.eu|nitter\.actionsack\.com|nitter\.hu|twitr\.gq|nittereu\.moomoo\.me|bird\.from\.tf|twitter\.grimneko\.de|nitter\.alefvanoon\.xyz|n\.hyperborea\.cloud|twitter\.mstdn\.social|nitter\.silkky\.cloud|nttr\.stream|fuckthesacklers\.network|nitter\.govt\.land|nitter\.datatunnel\.xyz|de\.nttr\.stream|twtr\.bch\.bar|nitter\.exonip\.de|nitter\.mastodon\.pro|nitter\.notraxx\.ch|nitter\.skrep\.in|nitter\.snopyta\.org)/(?P<uploader_id>.+)/status/(?P<id>[0-9]+)(#.)?r}   r   Nr   r   r   r   r  r     s    'GG kDJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NobelPrizeIEi   zyt_dlp.extractor.nobelprize
NobelPrizez?https?://(?:(?:mediaplayer|www)\.)?nobelprize\.org/mediaplayer/r}   r   Nr   r   r   r   r  r         +GGTJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NoicePodcastIEi%   zyt_dlp.extractor.noiceNoicePodcastz6https?://open\.noice\.id/content/(?P<id>[a-fA-F0-9-]+)r}   r   Nr   r   r   r   r  r  %   rL  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
NonkTubeIEi,   zyt_dlp.extractor.nonktubeNonkTubezahttps?://(?:www\.)?nonktube\.com/(?:(?:video|embed)/|media/nuevo/embed\.php\?.*?\bid=)(?P<id>\d+)r   r}   r   NrU  r   r   r   r  r  ,   s    )GGzJILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NoodleMagazineIEi4   zyt_dlp.extractor.noodlemagazineNoodleMagazinezChttps?://(?:www|adult\.)?noodlemagazine\.com/watch/(?P<id>[0-9-_]+)r   r}   r   NrU  r   r   r   r  r  4   s    /GGXJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)NovaEmbedIEi<   yt_dlp.extractor.nova	NovaEmbedz;https?://media(?:tn)?\.cms\.nova\.cz/embed/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r  r  <   s    %GGQJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NovaIEiC   r  Novazhttps?://(?:[^.]+\.)?(?P<site>tv(?:noviny)?|tn|novaplus|vymena|fanda|krasna|doma|prask)\.nova\.cz/(?:[^/]+/)+(?P<id>[^/]+?)(?:\.html|/|$)uI   TN.cz, Prásk.tv, Nova.cz, Novaplus.cz, FANDA.tv, Krásná.cz and Doma.czr}   r   Nr   r   r   r   r  r  C   s    %GG aJYGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
NovaPlayIEiK   zyt_dlp.extractor.novaplayNovaPlayz0https?://play\.nova\.bg/video/[^?#]+/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  K       )GGFJLr   r  c                       \ rS rSrSrSrSrg)NownessBaseIEiR   yt_dlp.extractor.nownessNownessBaser   Nr   r   r   r   r  r  R   rK  r   r  c                   $    \ rS rSrSrSrSrSrSrg)	NownessIEiW   r  nownesszchttps?://(?:(?:www|cn)\.)?nowness\.com/(?:story|(?:series|category)/[^/]+)/(?P<id>[^/]+?)(?:$|[?#])r}   r   Nr   r   r   r   r  r  W   s    (GGxJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NownessPlaylistIEi^   r  znowness:playlistz;https?://(?:(?:www|cn)\.)?nowness\.com/playlist/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  ^   s    (G GQJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NownessSeriesIEie   r  znowness:serieszFhttps?://(?:(?:www|cn)\.)?nowness\.com/series/(?P<id>[^/]+?)(?:$|[?#])r~   r   Nr   r   r   r   r  r  e   s    (GG[JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NozIEil   zyt_dlp.extractor.nozNozz0https?://(?:www\.)?noz\.de/video/(?P<id>[0-9]+)/Fr}   r   NrZ  r   r   r   r  r  l   s    $GGEJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)NprIEit   zyt_dlp.extractor.nprNprzMhttps?://(?:www\.)?npr\.org/(?:sections/[^/]+/)?\d{4}/\d{2}/\d{2}/(?P<id>\d+)r   r   Nr   r   r   r   r  r  t   s    $GGfJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
NubilesPornIEi{   zyt_dlp.extractor.nubilespornNubilesPornz(?x)
        https://members\.nubiles-porn\.com/video/watch/(?P<id>\d+)
        (?:/(?P<display_id>[\w\-]+-s(?P<season>\d+)e(?P<episode>\d+)))?
    znubiles-pornr   r}   r   Nr  r   r   r   r  r  {   s#    ,GG rJ#NILr   r  c                       \ rS rSrSrSrSrg)
NuumBaseIEi   yt_dlp.extractor.nuumNuumBaser   Nr   r   r   r   r  r     r  r   r  c                        \ rS rSrSrSrSrSrg)
NuumLiveIEi   r  z	nuum:livez5https?://nuum\.ru/channel/(?P<id>[^/#?]+)/?(?:$|[#?])r   Nr   r   r   r   r  r     s    %GGIJr   r  c                   $    \ rS rSrSrSrSrSrSrg)NuumMediaIEi   r  z
nuum:mediaz8https?://nuum\.ru/(?:streams|videos|clips)/(?P<id>[\d]+)r}   r   Nr   r   r   r   r  r     s    %GGMJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	NuumTabIEi   r  znuum:tabzHhttps?://nuum\.ru/channel/(?P<id>[^/#?]+)/(?P<type>streams|videos|clips)r~   r   Nr   r   r   r   r  r     s    %GG\JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	NuvidIEi   zyt_dlp.extractor.nuvidNuvidz3https?://(?:www|m)\.nuvid\.com/video/(?P<id>[0-9]+)r   r}   r   NrU  r   r   r   r   r      s    &GGHJILr   r   c                   $    \ rS rSrSrSrSrSrSrg)OCWMITIEi   yt_dlp.extractor.mitzocw.mit.eduz5https?://ocw\.mit\.edu/courses/(?P<topic>[a-z0-9\-]+)r}   r   Nr   r   r   r   r  r     s    $GGKJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ORFFM4StoryIEi   yt_dlp.extractor.orfzorf:fm4:storyz)https?://fm4\.orf\.at/stories/(?P<id>\d+)zfm4.orf.at storiesr~   r   Nr   r   r   r   r  r     s    $GG?J"GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		ORFIPTVIEi   r  zorf:iptvz1https?://iptv\.orf\.at/(?:#/)?stories/(?P<id>\d+)ziptv.ORF.atr}   r   Nr   r   r   r   r	  r	     s    $GGGJGLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)ORFONIEi   r  zorf:onz<https?://on\.orf\.at/video/(?P<id>\d+)(?:/(?P<segment>\d+))?r   r   Nr   r   r   r   r  r     s    $GGSJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ORFPodcastIEi   r  zorf:podcastzhttps?://sound\.orf\.at/podcast/(?P<station>bgl|fm4|ktn|noe|oe1|oe3|ooe|sbg|stm|tir|tv|vbg|wie)/(?P<show>[\w-]+)/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r     s    $GG WJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
ORFRadioIEi   r  z	orf:radioa=  (?x)
        https?://(?:
            (?P<station>fm4|noe|wien|burgenland|ooe|steiermark|kaernten|salzburg|tirol|vorarlberg|oe3|oe1)\.orf\.at/player|
            radiothek\.orf\.at/(?P<station2>fm4|noe|wien|burgenland|ooe|steiermark|kaernten|salzburg|tirol|vorarlberg|oe3|oe1)
        )/(?P<date>[0-9]+)/(?P<show>\w+)r   r   Nr   r   r   r   r  r     s    $GG ZJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)OdnoklassnikiIEi   zyt_dlp.extractor.odnoklassnikiOdnoklassnikia  (?x)
                https?://
                    (?:(?:www|m|mobile)\.)?
                    (?:odnoklassniki|ok)\.ru/
                    (?:
                        video(?P<embed>embed)?/|
                        web-api/video/moviePlayer/|
                        live/|
                        dk\?.*?st\.mvId=
                    )
                    (?P<id>[\d-]+)
                r}   r   Nr   r   r   r   r  r     s    .GG kJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)OfTVIEi   yt_dlp.extractor.oftvOfTVz+https?://(?:www\.)?of\.tv/video/(?P<id>\w+)r}   r   Nr   r   r   r   r  r     s    %GGAJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)OfTVPlaylistIEi   r  OfTVPlaylistzDhttps?://(?:www\.)?of\.tv/creators/(?P<id>[a-zA-Z0-9-]+)/?(?:$|[?#])r~   r   Nr   r   r   r   r  r     s    %GGYJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)OktoberfestTVIEi   zyt_dlp.extractor.oktoberfesttvOktoberfestTVzGhttps?://(?:www\.)?oktoberfest-tv\.de/[^/]+/[^/]+/video/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r         .GG\JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)OlympicsReplayIEi   zyt_dlp.extractor.olympicsOlympicsReplayzshttps?://(?:www\.)?olympics\.com/[a-z]{2}/(?:paris-2024/)?(?:replay|videos?|original-series/episode)/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r     s    )GG JJLr   r  c                   ,    \ rS rSrSrSr/ SQrSrSrSr	g)	On24IEi   zyt_dlp.extractor.on24on24)zChttps?://event\.on24\.com/wcc/r/(?P<id>\d{7})/(?P<key>[0-9A-F]{32})zhttps?://event\.on24\.com/eventRegistration/console/(?:EventConsoleApollo\.jsp|apollox/mainEvent/?)\?(?:[^#]*&)?eventid=(?P<id>\d{7})&(?:[^#]+&)?key=(?P<key>[0-9A-F]{32})zhttps?://event\.on24\.com/eventRegistration/EventLobbyServlet/?\?(?:[^#]*&)?eventid=(?P<id>\d{7})&(?:[^#]+&)?key=(?P<key>[0-9A-F]{32})ON24r}   r   Nr   r   r   r   r"  r"     s    %GG ]JGLr   r"  c                   $    \ rS rSrSrSrSrSrSrg)OnDemandChinaEpisodeIEi   zyt_dlp.extractor.odkmediaOnDemandChinaEpisodezThttps?://www\.ondemandchina\.com/\w+/watch/(?P<series>[\w-]+)/(?P<id>ep-(?P<ep>\d+))r}   r   Nr   r   r   r   r&  r&     s    )G$GlJLr   r&  c                   (    \ rS rSrSrSrSrSrSrSr	g)	OnDemandKoreaIEi!  yt_dlp.extractor.ondemandkoreaOnDemandKoreazehttps?://(?:www\.)?ondemandkorea\.com/(?:en/)?player/vod/[a-z0-9-]+\?(?:[^#]+&)?contentId=(?P<id>\d+)r   r}   r   NrU  r   r   r   r)  r)  !  s    .GG|JILr   r)  c                   $    \ rS rSrSrSrSrSrSrg)OnDemandKoreaProgramIEi!  r*  OnDemandKoreaProgramzRhttps?://(?:www\.)?ondemandkorea\.com/(?:en/)?player/vod/(?P<id>[a-z0-9-]+)(?:$|#)r~   r   Nr   r   r   r   r-  r-  !  s    .G$GgJLr   r-  c                   $    \ rS rSrSrSrSrSrSrg)OneFootballIEi!  zyt_dlp.extractor.onefootballOneFootballzGhttps?://(?:www\.)?onefootball\.com/[a-z]{2}/video/[^/&?#]+-(?P<id>\d+)r}   r   Nr   r   r   r   r0  r0  !  ri  r   r0  c                   (    \ rS rSrSrSrSrSrSrSr	g)	OneNewsNZIEi!  zyt_dlp.extractor.onenewsnz1NewszEhttps?://(?:www\.)?(?:1|one)news\.co\.nz/\d+/\d+/\d+/(?P<id>[^/?#&]+)z1news.co.nz article videosr~   r   Nr   r   r   r   r3  r3  !  s    *GG^J*GLr   r3  c                   $    \ rS rSrSrSrSrSrSrg)OnePlacePodcastIEi!!  zyt_dlp.extractor.oneplaceOnePlacePodcastzAhttps?://www\.oneplace\.com/[\w]+/[^/]+/listen/[\w-]+-(?P<id>\d+)r}   r   Nr   r   r   r   r6  r6  !!  s    )GGYJLr   r6  c                   $    \ rS rSrSrSrSrSrSrg)OnetChannelIEi(!  r  zonet.tv:channelzOhttps?://(?:(?:www\.)?onet\.tv|onet100\.vod\.pl)/[a-z]/(?P<id>[a-z]+)(?:[?#]|$)r~   r   Nr   r   r   r   r9  r9  (!  s    %GGfJLr   r9  c                   $    \ rS rSrSrSrSrSrSrg)OnetIEi/!  r  zonet.tvzjhttps?://(?:(?:www\.)?onet\.tv|onet100\.vod\.pl)/[a-z]/[a-z]+/(?P<display_id>[0-9a-z-]+)/(?P<id>[0-9a-z]+)r}   r   Nr   r   r   r   r;  r;  /!  s    %GG BJLr   r;  c                        \ rS rSrSrSrSrSrg)	OnetMVPIEi6!  r  OnetMVPzonetmvp:(?P<id>\d+\.\d+)r   Nr   r   r   r   r=  r=  6!  s    %GG.Jr   r=  c                   $    \ rS rSrSrSrSrSrSrg)OnetPlIEi<!  r  zonet.plz[https?://(?:[^/]+\.)?(?:onet|businessinsider\.com|plejada)\.pl/(?:[^/]+/)+(?P<id>[0-9a-z]+)r}   r   Nr   r   r   r   r@  r@  <!  s    %GGqJLr   r@  c                   $    \ rS rSrSrSrSrSrSrg)OnionStudiosIEiC!  zyt_dlp.extractor.onionstudiosOnionStudiosz[https?://(?:www\.)?onionstudios\.com/(?:video(?:s/[^/]+-|/)|embed\?.*\bid=)(?P<id>\d+)(?!-)r}   r   Nr   r   r   r   rB  rB  C!  s    -GGsJLr   rB  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)	OnsenIEiJ!  zyt_dlp.extractor.onsenonsenz=https?://(?:(?:share|www)\.)onsen\.ag/program/(?P<id>[^/?#]+)u<   インターネットラジオステーション＜音泉＞r   r   Nr   r   r   r   rE  rE  J!  s     &GGRJLGNLr   rE  c                       \ rS rSrSrSrSrg)OpenRecBaseIEiS!  yt_dlp.extractor.openrecOpenRecBaser   Nr   r   r   r   rH  rH  S!  rK  r   rH  c                   $    \ rS rSrSrSrSrSrSrg)OpenRecCaptureIEiX!  rI  zopenrec:capturez6https?://(?:www\.)?openrec\.tv/capture/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   rL  rL  X!  s    (GGKJLr   rL  c                        \ rS rSrSrSrSrSrg)	OpenRecIEi_!  rI  openrecz3https?://(?:www\.)?openrec\.tv/live/(?P<id>[^/?#]+)r   Nr   r   r   r   rN  rN  _!  s    (GGHJr   rN  c                   $    \ rS rSrSrSrSrSrSrg)OpenRecMovieIEie!  rI  zopenrec:moviez4https?://(?:www\.)?openrec\.tv/movie/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   rQ  rQ  e!  s    (GGIJLr   rQ  c                       \ rS rSrSrSrSrg)OpencastBaseIEil!  yt_dlp.extractor.opencastOpencastBaser   Nr   r   r   r   rS  rS  l!  r  r   rS  c                   $    \ rS rSrSrSrSrSrSrg)
OpencastIEiq!  rT  Opencasta  (?x)
        https?://(?P<host>(?:
                            opencast\.informatik\.kit\.edu|
                            electures\.uni-muenster\.de|
                            oc-presentation\.ltcc\.tuwien\.ac\.at|
                            medien\.ph-noe\.ac\.at|
                            oc-video\.ruhr-uni-bochum\.de|
                            oc-video1\.ruhr-uni-bochum\.de|
                            opencast\.informatik\.uni-goettingen\.de|
                            heicast\.uni-heidelberg\.de|
                            opencast\.hawk\.de:8080|
                            opencast\.hs-osnabrueck\.de|
                            video[0-9]+\.virtuos\.uni-osnabrueck\.de|
                            opencast\.uni-koeln\.de|
                            media\.opencast\.hochschule-rhein-waal\.de|
                            matterhorn\.dce\.harvard\.edu|
                            hs-harz\.opencast\.uni-halle\.de|
                            videocampus\.urz\.uni-leipzig\.de|
                            media\.uct\.ac\.za|
                            vid\.igb\.illinois\.edu|
                            cursosabertos\.c3sl\.ufpr\.br|
                            mcmedia\.missioncollege\.org|
                            clases\.odon\.edu\.uy
                        ))/paella/ui/watch\.html\?
        (?:[^#]+&)?id=(?P<id>[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12})r}   r   Nr   r   r   r   rW  rW  q!  s    )GG |JLr   rW  c                   $    \ rS rSrSrSrSrSrSrg)OpencastPlaylistIEix!  rT  OpencastPlaylista  (?x)
        https?://(?P<host>(?:
                            opencast\.informatik\.kit\.edu|
                            electures\.uni-muenster\.de|
                            oc-presentation\.ltcc\.tuwien\.ac\.at|
                            medien\.ph-noe\.ac\.at|
                            oc-video\.ruhr-uni-bochum\.de|
                            oc-video1\.ruhr-uni-bochum\.de|
                            opencast\.informatik\.uni-goettingen\.de|
                            heicast\.uni-heidelberg\.de|
                            opencast\.hawk\.de:8080|
                            opencast\.hs-osnabrueck\.de|
                            video[0-9]+\.virtuos\.uni-osnabrueck\.de|
                            opencast\.uni-koeln\.de|
                            media\.opencast\.hochschule-rhein-waal\.de|
                            matterhorn\.dce\.harvard\.edu|
                            hs-harz\.opencast\.uni-halle\.de|
                            videocampus\.urz\.uni-leipzig\.de|
                            media\.uct\.ac\.za|
                            vid\.igb\.illinois\.edu|
                            cursosabertos\.c3sl\.ufpr\.br|
                            mcmedia\.missioncollege\.org|
                            clases\.odon\.edu\.uy
                        ))(?:
            /engage/ui/index\.html\?(?:[^#]+&)?epFrom=|
            /ltitools/index\.html\?(?:[^#]+&)?series=
        )(?P<id>[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12})r~   r   Nr   r   r   r   rZ  rZ  x!  s    )G G LJLr   rZ  c                   $    \ rS rSrSrSrSrSrSrg)OraTVIEi!  zyt_dlp.extractor.oraOraTVzJhttps?://(?:www\.)?(?:ora\.tv|unsafespeech\.com)/([^/]+/)*(?P<id>[^/\?#]+)r}   r   Nr   r   r   r   r]  r]  !  s    $GGaJLr   r]  c                        \ rS rSrSrSrSrSrg)OsnatelTVBaseIEi!  rD  OsnatelTVBase	osnateltvr   Nr   r   r   r   r`  r`  !      'GG Nr   r`  c                   $    \ rS rSrSrSrSrSrSrg)OsnatelTVIEi!  rD  	OsnatelTVz(?x)https?://(?:www\.)?tvonline\.osnatel\.de/(?:
        [^?#]+\?(?:[^#]+&)?program=(?P<vid2>\d+)
        |(?:program|watch)/[^/]+/(?P<vid1>\d+)
    )rb  r   NrO  r   r   r   re  re  !  s    'GG sJ Nr   re  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )OsnatelTVLiveIEi!  rD  OsnatelTVLivez(?x)https?://(?:www\.)?tvonline\.osnatel\.de/(?:
        [^?#]+\?(?:[^#]+&)?channel=(?P<vid2>[^/?&#]+)
        |live/(?P<vid1>[^/?&#]+)
    )rb  c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )re  r<   r   r   s     r   r<   OsnatelTVLiveIE.suitable!  r*  r   r   ru  r   s   @r   rh  rh  !  s.    'GG hJ NM Mr   rh  c                   $    \ rS rSrSrSrSrSrSrg)OsnatelTVRecordingsIEi!  rD  OsnatelTVRecordingsz|(?x)https?://(?:www\.)?tvonline\.osnatel\.de/(?:
        [^?#]+\?(?:[^#]+&)?recording=(?P<vid2>\d+)
        (?P<vid1>)
    )rb  r   NrO  r   r   r   rm  rm  !  s    'G#G XJ Nr   rm  c                   $    \ rS rSrSrSrSrSrSrg)OutsideTVIEi!  zyt_dlp.extractor.outsidetv	OutsideTVz`https?://(?:www\.)?outsidetv\.com/(?:[^/]+/)*?play/[a-zA-Z0-9]{8}/\d+/\d+/(?P<id>[a-zA-Z0-9]{8})r}   r   Nr   r   r   r   rp  rp  !  s    *GGwJLr   rp  c                   $    \ rS rSrSrSrSrSrSrg)
OwnCloudIEi!  zyt_dlp.extractor.owncloudOwnCloudzThttps?://(?:(?:[^\.]+\.)?sciebo\.de|cloud\.uni-koblenz-landau\.de)/s/(?P<id>[\w.-]+)r}   r   Nr   r   r   r   rs  rs  !  s    )GGmJLr   rs  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
PBSIEi!  yt_dlp.extractor.pbspbsa  (?x)https?://
        (?:
            # Player
            (?:video|player)\.pbs\.org/(?:widget/)?partnerplayer/(?P<player_id>[^/?#]+) |
            # Direct video URL, or article with embedded player
            (?:(?:video|www|player)\.pbs\.org|video\.aptv\.org|video\.gpb\.org|video\.mpbonline\.org|video\.wnpt\.org|video\.wfsu\.org|video\.wsre\.org|video\.wtcitv\.org|video\.pba\.org|video\.alaskapublic\.org|video\.azpbs\.org|portal\.knme\.org|video\.vegaspbs\.org|watch\.aetn\.org|video\.ket\.org|video\.wkno\.org|video\.lpb\.org|videos\.oeta\.tv|video\.optv\.org|watch\.wsiu\.org|video\.keet\.org|pbs\.kixe\.org|video\.kpbs\.org|video\.kqed\.org|vids\.kvie\.org|(?:video\.|www\.)pbssocal\.org|video\.valleypbs\.org|video\.cptv\.org|watch\.knpb\.org|video\.soptv\.org|video\.rmpbs\.org|video\.kenw\.org|video\.kued\.org|video\.wyomingpbs\.org|video\.cpt12\.org|video\.kbyueleven\.org|(?:video\.|www\.)thirteen\.org|video\.wgbh\.org|video\.wgby\.org|watch\.njtvonline\.org|watch\.wliw\.org|video\.mpt\.tv|watch\.weta\.org|video\.whyy\.org|video\.wlvt\.org|video\.wvpt\.net|video\.whut\.org|video\.wedu\.org|video\.wgcu\.org|video\.wpbt2\.org|video\.wucftv\.org|video\.wuft\.org|watch\.wxel\.org|video\.wlrn\.org|video\.wusf\.usf\.edu|video\.scetv\.org|video\.unctv\.org|video\.pbshawaii\.org|video\.idahoptv\.org|video\.ksps\.org|watch\.opb\.org|watch\.nwptv\.org|video\.will\.illinois\.edu|video\.networkknowledge\.tv|video\.wttw\.com|video\.iptv\.org|video\.ninenet\.org|video\.wfwa\.org|video\.wfyi\.org|video\.mptv\.org|video\.wnin\.org|video\.wnit\.org|video\.wpt\.org|video\.wvut\.org|video\.weiu\.net|video\.wqpt\.org|video\.wycc\.org|video\.wipb\.org|video\.indianapublicmedia\.org|watch\.cetconnect\.org|video\.thinktv\.org|video\.wbgu\.org|video\.wgvu\.org|video\.netnebraska\.org|video\.pioneer\.org|watch\.sdpb\.org|video\.tpt\.org|watch\.ksmq\.org|watch\.kpts\.org|watch\.ktwu\.org|watch\.easttennesseepbs\.org|video\.wcte\.tv|video\.wljt\.org|video\.wosu\.org|video\.woub\.org|video\.wvpublic\.org|video\.wkyupbs\.org|video\.kera\.org|video\.mpbn\.net|video\.mountainlake\.org|video\.nhptv\.org|video\.vpt\.org|video\.witf\.org|watch\.wqed\.org|video\.wmht\.org|video\.deltabroadcasting\.org|video\.dptv\.org|video\.wcmu\.org|video\.wkar\.org|wnmuvideo\.nmu\.edu|video\.wdse\.org|video\.wgte\.org|video\.lptv\.org|video\.kmos\.org|watch\.montanapbs\.org|video\.krwg\.org|video\.kacvtv\.org|video\.kcostv\.org|video\.wcny\.org|video\.wned\.org|watch\.wpbstv\.org|video\.wskg\.org|video\.wxxi\.org|video\.wpsu\.org|on-demand\.wvia\.org|video\.wtvi\.org|video\.westernreservepublicmedia\.org|video\.ideastream\.org|video\.kcts9\.org|video\.basinpbs\.org|video\.houstonpbs\.org|video\.klrn\.org|video\.klru\.tv|video\.wtjx\.org|video\.ideastations\.org|video\.kbtc\.org)/(?:
              (?:(?:vir|port)alplayer|video)/(?P<id>[0-9]+)(?:[?/#]|$) |
              (?:[^/?#]+/){1,5}(?P<presumptive_id>[^/?#]+?)(?:\.html)?/?(?:$|[?#])
            )
        )
    ap  Public Broadcasting Service (PBS) and member stations: PBS: Public Broadcasting Service, APT - Alabama Public Television (WBIQ), GPB/Georgia Public Broadcasting (WGTV), Mississippi Public Broadcasting (WMPN), Nashville Public Television (WNPT), WFSU-TV (WFSU), WSRE (WSRE), WTCI (WTCI), WPBA/Channel 30 (WPBA), Alaska Public Media (KAKM), Arizona PBS (KAET), KNME-TV/Channel 5 (KNME), Vegas PBS (KLVX), AETN/ARKANSAS ETV NETWORK (KETS), KET (WKLE), WKNO/Channel 10 (WKNO), LPB/LOUISIANA PUBLIC BROADCASTING (WLPB), OETA (KETA), Ozarks Public Television (KOZK), WSIU Public Broadcasting (WSIU), KEET TV (KEET), KIXE/Channel 9 (KIXE), KPBS San Diego (KPBS), KQED (KQED), KVIE Public Television (KVIE), PBS SoCal/KOCE (KOCE), ValleyPBS (KVPT), CONNECTICUT PUBLIC TELEVISION (WEDH), KNPB Channel 5 (KNPB), SOPTV (KSYS), Rocky Mountain PBS (KRMA), KENW-TV3 (KENW), KUED Channel 7 (KUED), Wyoming PBS (KCWC), Colorado Public Television / KBDI 12 (KBDI), KBYU-TV (KBYU), Thirteen/WNET New York (WNET), WGBH/Channel 2 (WGBH), WGBY (WGBY), NJTV Public Media NJ (WNJT), WLIW21 (WLIW), mpt/Maryland Public Television (WMPB), WETA Television and Radio (WETA), WHYY (WHYY), PBS 39 (WLVT), WVPT - Your Source for PBS and More! (WVPT), Howard University Television (WHUT), WEDU PBS (WEDU), WGCU Public Media (WGCU), WPBT2 (WPBT), WUCF TV (WUCF), WUFT/Channel 5 (WUFT), WXEL/Channel 42 (WXEL), WLRN/Channel 17 (WLRN), WUSF Public Broadcasting (WUSF), ETV (WRLK), UNC-TV (WUNC), PBS Hawaii - Oceanic Cable Channel 10 (KHET), Idaho Public Television (KAID), KSPS (KSPS), OPB (KOPB), KWSU/Channel 10 & KTNW/Channel 31 (KWSU), WILL-TV (WILL), Network Knowledge - WSEC/Springfield (WSEC), WTTW11 (WTTW), Iowa Public Television/IPTV (KDIN), Nine Network (KETC), PBS39 Fort Wayne (WFWA), WFYI Indianapolis (WFYI), Milwaukee Public Television (WMVS), WNIN (WNIN), WNIT Public Television (WNIT), WPT (WPNE), WVUT/Channel 22 (WVUT), WEIU/Channel 51 (WEIU), WQPT-TV (WQPT), WYCC PBS Chicago (WYCC), WIPB-TV (WIPB), WTIU (WTIU), CET  (WCET), ThinkTVNetwork (WPTD), WBGU-TV (WBGU), WGVU TV (WGVU), NET1 (KUON), Pioneer Public Television (KWCM), SDPB Television (KUSD), TPT (KTCA), KSMQ (KSMQ), KPTS/Channel 8 (KPTS), KTWU/Channel 11 (KTWU), East Tennessee PBS (WSJK), WCTE-TV (WCTE), WLJT, Channel 11 (WLJT), WOSU TV (WOSU), WOUB/WOUC (WOUB), WVPB (WVPB), WKYU-PBS (WKYU), KERA 13 (KERA), MPBN (WCBB), Mountain Lake PBS (WCFE), NHPTV (WENH), Vermont PBS (WETK), witf (WITF), WQED Multimedia (WQED), WMHT Educational Telecommunications (WMHT), Q-TV (WDCQ), WTVS Detroit Public TV (WTVS), CMU Public Television (WCMU), WKAR-TV (WKAR), WNMU-TV Public TV 13 (WNMU), WDSE - WRPT (WDSE), WGTE TV (WGTE), Lakeland Public Television (KAWE), KMOS-TV - Channels 6.1, 6.2 and 6.3 (KMOS), MontanaPBS (KUSM), KRWG/Channel 22 (KRWG), KACV (KACV), KCOS/Channel 13 (KCOS), WCNY/Channel 24 (WCNY), WNED (WNED), WPBS (WPBS), WSKG Public TV (WSKG), WXXI (WXXI), WPSU (WPSU), WVIA Public Media Studios (WVIA), WTVI (WTVI), Western Reserve PBS (WNEO), WVIZ/PBS ideastream (WVIZ), KCTS 9 (KCTS), Basin PBS (KPBT), KUHT / Channel 8 (KUHT), KLRN (KLRN), KLRU (KLRU), WTJX Channel 12 (WTJX), WCVE PBS (WCVE), KBTC Public Television (KBTC)
   r   r   Nr  r   r   r   rv  rv  !  s&    $GG S3J A2GILr   rv  c                   $    \ rS rSrSrSrSrSrSrg)	PBSKidsIEi!  rw  PBSKidsz8https?://(?:www\.)?pbskids\.org/video/[\w-]+/(?P<id>\d+)r}   r   Nr   r   r   r   r{  r{  !  s    $GGOJLr   r{  c                   $    \ rS rSrSrSrSrSrSrg)	PGATourIEi!  zyt_dlp.extractor.pgatourPGATourzBhttps?://(?:www\.)?pgatour\.com/video/[\w-]+/(?P<tc>T)?(?P<id>\d+)r}   r   Nr   r   r   r   r~  r~  !  r  r   r~  c                       \ rS rSrSrSrSrg)	PRXBaseIEi!  yt_dlp.extractor.prxPRXBaser   Nr   r   r   r   r  r  !  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)PRXAccountIEi!  r  
PRXAccountz;https?://(?:(?:beta|listen)\.)?prx.org/accounts/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  !  s    $GGPJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)PRXSeriesIEi!  r  	PRXSeriesz9https?://(?:(?:beta|listen)\.)?prx.org/series/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  !  s    $GGNJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
PRXSeriesSearchIEi!  r  zprxseries:searchz8prxseries(?P<prefix>|[1-9][0-9]*|all):(?P<query>[\s\S]+)zPRX Series Search	prxseriesr~   r   Nr  r   r   r   r  r  !  s     $G GMJ!GJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
PRXStoriesSearchIEi!  r  zprxstories:searchz9prxstories(?P<prefix>|[1-9][0-9]*|all):(?P<query>[\s\S]+)zPRX Stories Search
prxstoriesr~   r   Nr  r   r   r   r  r  !  s     $G!GNJ"GJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
PRXStoryIEi!  r  PRXStoryz:https?://(?:(?:beta|listen)\.)?prx.org/stories/(?P<id>\d+)r   r   Nr   r   r   r   r  r  !  s    $GGOJLr   r  c                       \ rS rSrSrSrSrg)PacktPubBaseIEi!  yt_dlp.extractor.packtpubPacktPubBaser   Nr   r   r   r   r  r  !  r  r   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )PacktPubCourseIEi!  r  PacktPubCoursezf(?P<url>https?://(?:(?:www\.)?packtpub\.com/mapt|subscription\.packtpub\.com)/video/[^/]+/(?P<id>\d+))r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )
PacktPubIEr<   r   r   s     r   r<   PacktPubCourseIE.suitable"  r  r   r   r   r   s   @r   r  r  !  s+    )GG~JLL Lr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	r  i"  r  PacktPubzhttps?://(?:(?:www\.)?packtpub\.com/mapt|subscription\.packtpub\.com)/video/[^/]+/(?P<course_id>\d+)/(?P<chapter_id>[^/]+)/(?P<id>[^/]+)(?:/(?P<display_id>[^/?&#]+))?packtpubr}   r   Nr  r   r   r   r  r  "  s    )GG JNLr   r  c                       \ rS rSrSrSrSrg)PalcoMP3BaseIEi"  yt_dlp.extractor.palcomp3PalcoMP3Baser   Nr   r   r   r   r  r  "  r  r   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )PalcoMP3ArtistIEi"  r  zPalcoMP3:artistz:https?://(?:www\.)?palcomp3\.com(?:\.br)?/(?P<id>[^/?&#]+)r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )
PalcoMP3IEr9   r   r<   r   s     r   r<   PalcoMP3ArtistIE.suitable"  s(    "33C88uSeg>Ns>SSr   r   r   r   s   @r   r  r  "  s+    )GGPJLT Tr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )r  i"  r  zPalcoMP3:songzLhttps?://(?:www\.)?palcomp3\.com(?:\.br)?/(?P<artist>[^/]+)/(?P<id>[^/?&#]+)r}   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )PalcoMP3VideoIEr<   r   r   s     r   r<   PalcoMP3IE.suitable$"  rw  r   r   r   r   s   @r   r  r  "  s+    )GGbJLQ Qr   r  c                   $    \ rS rSrSrSrSrSrSrg)r  i)"  r  zPalcoMP3:videozThttps?://(?:www\.)?palcomp3\.com(?:\.br)?/(?P<artist>[^/]+)/(?P<id>[^/?&#]+)/?#cliper}   r   Nr   r   r   r   r  r  )"  s    )GGjJLr   r  c                       \ rS rSrSrSrSrg)PanoptoBaseIEi0"  yt_dlp.extractor.panoptoPanoptoBaser   Nr   r   r   r   r  r  0"  rK  r   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )	PanoptoIEi5"  r  Panoptozt(?P<base_url>https?://[\w.-]+\.panopto.(?:com|eu)/Panopto)/Pages/(Viewer|Embed)\.aspx.*(?:\?|&)id=(?P<id>[a-f0-9-]+)r}   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )PanoptoPlaylistIEr<   r   r   s     r   r<   PanoptoIE.suitable;"  s(    )22377uRUW=Mc=RRr   r   r   r   s   @r   r  r  5"  s.    (GG LJLS Sr   r  c                   $    \ rS rSrSrSrSrSrSrg)PanoptoListIEi@"  r  PanoptoListzT(?P<base_url>https?://[\w.-]+\.panopto.(?:com|eu)/Panopto)/Pages/Sessions/List\.aspxr~   r   Nr   r   r   r   r  r  @"  s    (GGjJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)r  iG"  r  PanoptoPlaylistzu(?P<base_url>https?://[\w.-]+\.panopto.(?:com|eu)/Panopto)/Pages/(Viewer|Embed)\.aspx.*(?:\?|&)pid=(?P<id>[a-f0-9-]+)r~   r   Nr   r   r   r   r  r  G"  s    (GG MJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ParamountPressExpressIEiN"  yt_dlp.extractor.cbsParamountPressExpresszchttps?://(?:www\.)?paramountpressexpress\.com(?:/[\w-]+)+/(?P<yt>yt-)?video/?\?watch=(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  N"  s    $G%G{JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ParlerIEiU"  zyt_dlp.extractor.parlerParlerzMhttps?://parler\.com/feed/(?P<id>[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12})zPosts on parler.comr}   r   Nr   r   r   r   r  r  U"  s    'GGaJ#GLr   r  c                       \ rS rSrSrSrSrg)RedBeeBaseIEi]"  yt_dlp.extractor.redbee
RedBeeBaser   Nr   r   r   r   r  r  ]"  r"  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ParliamentLiveUKIEib"  r  zparliamentlive.tvzu(?i)https?://(?:www\.)?parliamentlive\.tv/Event/Index/(?P<id>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})zUK parliament videosr}   r   Nr   r   r   r   r  r  b"  s    'G!G PJ$GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
ParlviewIEij"  zyt_dlp.extractor.parlviewParlviewz`https?://(?:www\.)?aph\.gov\.au/News_and_Events/Watch_Read_Listen/ParlView/video/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r  j"  s    )GGvJLr   r  c                       \ rS rSrSrSrSrg)PartiBaseIEiq"  yt_dlp.extractor.parti	PartiBaser   Nr   r   r   r   r  r  q"  r   r   r  c                   $    \ rS rSrSrSrSrSrSrg)PartiLivestreamIEiv"  r  zparti:livestreamzHhttps?://(?:www\.)?parti\.com/creator/(?P<service>[\w]+)/(?P<id>[\w/-]+)r}   r   Nr   r   r   r   r  r  v"  s    &G G_JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)PartiVideoIEi}"  r  zparti:videoz/https?://(?:www\.)?parti\.com/video/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  }"  s    &GGEJLr   r  c                       \ rS rSrSrSrSrg)PatreonBaseIEi"  yt_dlp.extractor.patreonPatreonBaser   Nr   r   r   r   r  r  "  rK  r   r  c                   $    \ rS rSrSrSrSrSrSrg)PatreonCampaignIEi"  r  zpatreon:campaignz(?x)
        https?://(?:www\.)?patreon\.com/(?:
            (?:m|api/campaigns)/(?P<campaign_id>\d+)|
            (?:cw?/)?(?P<vanity>(?!creation[?/]|posts/|rss[?/])[\w-]+)
        )(?:/posts)?/?(?:$|[?#])r~   r   Nr   r   r   r   r  r  "  s    (G G jJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	PatreonIEi"  r  patreonzPhttps?://(?:www\.)?patreon\.com/(?:creation\?hid=|posts/(?:[\w-]+-)?)(?P<id>\d+)r}   r   Nr   r   r   r   r  r  "      (GGhJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)PearVideoIEi"  zyt_dlp.extractor.pearvideo	PearVideoz3https?://(?:www\.)?pearvideo\.com/video_(?P<id>\d+)r}   r   Nr   r   r   r   r  r  "  s    *GGIJLr   r  c                       \ rS rSrSrSrSrg)PeekVidsBaseIEi"  yt_dlp.extractor.peekvidsPeekVidsBaser   Nr   r   r   r   r  r  "  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
PeekVidsIEi"  r  PeekVidsz(?x)
        https?://(?:www\.)?(?P<domain>peekvids\.com)/
        (?:(?:[^/?#]+/){2}|embed/?\?(?:[^#]*&)?v=)
        (?P<id>[^/?&#]*)
    r   r}   r   NrU  r   r   r   r  r  "  s    )GG fJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)PeerTVIEi"  zyt_dlp.extractor.peertvzpeer.tvz4https?://(?:www\.)?peer\.tv/(?:de|it|en)/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  "  s    'GGJJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
PeerTubeIEi"  yt_dlp.extractor.peertubePeerTubea  (?x)
                    (?:
                        peertube:(?P<host>[^:]+):|
                        https?://(?P<host_2>(?:
                            # Taken from https://instances.joinpeertube.org/instances
                            0ch\.tv|
                            3dctube\.3dcandy\.social|
                            all\.electric\.kitchen|
                            alterscope\.fr|
                            anarchy\.tube|
                            apathy\.tv|
                            apertatube\.net|
                            archive\.nocopyrightintended\.tv|
                            archive\.reclaim\.tv|
                            area51\.media|
                            astrotube-ufe\.obspm\.fr|
                            astrotube\.obspm\.fr|
                            audio\.freediverse\.com|
                            azxtube\.youssefc\.tn|
                            bark\.video|
                            battlepenguin\.video|
                            bava\.tv|
                            bee-tube\.fr|
                            beetoons\.tv|
                            biblion\.refchat\.net|
                            biblioteca\.theowlclub\.net|
                            bideoak\.argia\.eus|
                            bideoteka\.eus|
                            birdtu\.be|
                            bitcointv\.com|
                            bonn\.video|
                            breeze\.tube|
                            brioco\.live|
                            brocosoup\.fr|
                            canal\.facil\.services|
                            canard\.tube|
                            cdn01\.tilvids\.com|
                            celluloid-media\.huma-num\.fr|
                            chicago1\.peertube\.support|
                            cliptube\.org|
                            cloudtube\.ise\.fraunhofer\.de|
                            comf\.tube|
                            comics\.peertube\.biz|
                            commons\.tube|
                            communitymedia\.video|
                            conspiracydistillery\.com|
                            crank\.recoil\.org|
                            dalek\.zone|
                            dalliance\.network|
                            dangly\.parts|
                            darkvapor\.nohost\.me|
                            daschauher\.aksel\.rocks|
                            digitalcourage\.video|
                            displayeurope\.video|
                            ds106\.tv|
                            dud-video\.inf\.tu-dresden\.de|
                            dud175\.inf\.tu-dresden\.de|
                            dytube\.com|
                            ebildungslabor\.video|
                            evangelisch\.video|
                            fair\.tube|
                            fedi\.video|
                            fedimovie\.com|
                            fediverse\.tv|
                            film\.k-prod\.fr|
                            flipboard\.video|
                            foss\.video|
                            fossfarmers\.company|
                            fotogramas\.politicaconciencia\.org|
                            freediverse\.com|
                            freesoto-u2151\.vm\.elestio\.app|
                            freesoto\.tv|
                            garr\.tv|
                            greatview\.video|
                            grypstube\.uni-greifswald\.de|
                            habratube\.site|
                            ilbjach\.ru|
                            infothema\.net|
                            itvplus\.iiens\.net|
                            johnydeep\.net|
                            juggling\.digital|
                            jupiter\.tube|
                            kadras\.live|
                            kino\.kompot\.si|
                            kino\.schuerz\.at|
                            kinowolnosc\.pl|
                            kirche\.peertube-host\.de|
                            kiwi\.froggirl\.club|
                            kodcast\.com|
                            kolektiva\.media|
                            kpop\.22x22\.ru|
                            kumi\.tube|
                            la2\.peertube\.support|
                            la3\.peertube\.support|
                            la4\.peertube\.support|
                            lastbreach\.tv|
                            lawsplaining\.peertube\.biz|
                            leopard\.tube|
                            live\.codinglab\.ch|
                            live\.libratoi\.org|
                            live\.oldskool\.fi|
                            live\.solari\.com|
                            lucarne\.balsamine\.be|
                            luxtube\.lu|
                            makertube\.net|
                            media\.econoalchemist\.com|
                            media\.exo\.cat|
                            media\.fsfe\.org|
                            media\.gzevd\.de|
                            media\.interior\.edu\.uy|
                            media\.krashboyz\.org|
                            media\.mzhd\.de|
                            media\.smz-ma\.de|
                            media\.theplattform\.net|
                            media\.undeadnetwork\.de|
                            medias\.debrouillonet\.org|
                            medias\.pingbase\.net|
                            mediatube\.fermalo\.fr|
                            melsungen\.peertube-host\.de|
                            merci-la-police\.fr|
                            mindlyvideos\.com|
                            mirror\.peertube\.metalbanana\.net|
                            mirrored\.rocks|
                            mix\.video|
                            mountaintown\.video|
                            movies\.metricsmaster\.eu|
                            mtube\.mooo\.com|
                            mytube\.kn-cloud\.de|
                            mytube\.le5emeaxe\.fr|
                            mytube\.madzel\.de|
                            nadajemy\.com|
                            nanawel-peertube\.dyndns\.org|
                            neat\.tube|
                            nethack\.tv|
                            nicecrew\.tv|
                            nightshift\.minnix\.dev|
                            nolog\.media|
                            nyltube\.nylarea\.com|
                            ocfedtest\.hosted\.spacebear\.ee|
                            openmedia\.edunova\.it|
                            p2ptv\.ru|
                            p\.eertu\.be|
                            p\.lu|
                            pastafriday\.club|
                            patriottube\.sonsofliberty\.red|
                            pcbu\.nl|
                            peer\.azurs\.fr|
                            peer\.d0g4\.me|
                            peer\.lukeog\.com|
                            peer\.madiator\.cloud|
                            peer\.raise-uav\.com|
                            peershare\.togart\.de|
                            peertube-blablalinux\.be|
                            peertube-demo\.learning-hub\.fr|
                            peertube-docker\.cpy\.re|
                            peertube-eu\.howlround\.com|
                            peertube-u5014\.vm\.elestio\.app|
                            peertube-us\.howlround\.com|
                            peertube\.020\.pl|
                            peertube\.0x5e\.eu|
                            peertube\.1984\.cz|
                            peertube\.2i2l\.net|
                            peertube\.adjutor\.xyz|
                            peertube\.adresse\.data\.gouv\.fr|
                            peertube\.alpharius\.io|
                            peertube\.am-networks\.fr|
                            peertube\.anduin\.net|
                            peertube\.anti-logic\.com|
                            peertube\.arch-linux\.cz|
                            peertube\.art3mis\.de|
                            peertube\.artsrn\.ualberta\.ca|
                            peertube\.askan\.info|
                            peertube\.astral0pitek\.synology\.me|
                            peertube\.atsuchan\.page|
                            peertube\.automat\.click|
                            peertube\.b38\.rural-it\.org|
                            peertube\.be|
                            peertube\.beeldengeluid\.nl|
                            peertube\.bgzashtita\.es|
                            peertube\.bike|
                            peertube\.bildung-ekhn\.de|
                            peertube\.biz|
                            peertube\.br0\.fr|
                            peertube\.bridaahost\.ynh\.fr|
                            peertube\.bubbletea\.dev|
                            peertube\.bubuit\.net|
                            peertube\.cabaal\.net|
                            peertube\.chatinbit\.com|
                            peertube\.chaunchy\.com|
                            peertube\.chir\.rs|
                            peertube\.christianpacaud\.com|
                            peertube\.chtisurel\.net|
                            peertube\.chuggybumba\.com|
                            peertube\.cipherbliss\.com|
                            peertube\.cirkau\.art|
                            peertube\.cloud\.nerdraum\.de|
                            peertube\.cloud\.sans\.pub|
                            peertube\.coko\.foundation|
                            peertube\.communecter\.org|
                            peertube\.concordia\.social|
                            peertube\.corrigan\.xyz|
                            peertube\.cpge-brizeux\.fr|
                            peertube\.ctseuro\.com|
                            peertube\.cuatrolibertades\.org|
                            peertube\.cube4fun\.net|
                            peertube\.dair-institute\.org|
                            peertube\.davigge\.com|
                            peertube\.dc\.pini\.fr|
                            peertube\.deadtom\.me|
                            peertube\.debian\.social|
                            peertube\.delta0189\.xyz|
                            peertube\.demonix\.fr|
                            peertube\.designersethiques\.org|
                            peertube\.desmu\.fr|
                            peertube\.devol\.it|
                            peertube\.dk|
                            peertube\.doesstuff\.social|
                            peertube\.eb8\.org|
                            peertube\.education-forum\.com|
                            peertube\.elforcer\.ru|
                            peertube\.em\.id\.lv|
                            peertube\.ethibox\.fr|
                            peertube\.eu\.org|
                            peertube\.european-pirates\.eu|
                            peertube\.eus|
                            peertube\.euskarabildua\.eus|
                            peertube\.expi\.studio|
                            peertube\.familie-berner\.de|
                            peertube\.familleboisteau\.fr|
                            peertube\.fedihost\.website|
                            peertube\.fenarinarsa\.com|
                            peertube\.festnoz\.de|
                            peertube\.forteza\.fr|
                            peertube\.freestorm\.online|
                            peertube\.functional\.cafe|
                            peertube\.gaminglinux\.fr|
                            peertube\.gargantia\.fr|
                            peertube\.geekgalaxy\.fr|
                            peertube\.gemlog\.ca|
                            peertube\.genma\.fr|
                            peertube\.get-racing\.de|
                            peertube\.ghis94\.ovh|
                            peertube\.gidikroon\.eu|
                            peertube\.giftedmc\.com|
                            peertube\.grosist\.fr|
                            peertube\.gruntwerk\.org|
                            peertube\.gsugambit\.com|
                            peertube\.hackerfoo\.com|
                            peertube\.hellsite\.net|
                            peertube\.helvetet\.eu|
                            peertube\.histoirescrepues\.fr|
                            peertube\.home\.x0r\.fr|
                            peertube\.hyperfreedom\.org|
                            peertube\.ichigo\.everydayimshuflin\.com|
                            peertube\.ifwo\.eu|
                            peertube\.in\.ua|
                            peertube\.inapurna\.org|
                            peertube\.informaction\.info|
                            peertube\.interhop\.org|
                            peertube\.it|
                            peertube\.it-arts\.net|
                            peertube\.jensdiemer\.de|
                            peertube\.johntheserg\.al|
                            peertube\.kaleidos\.net|
                            peertube\.kalua\.im|
                            peertube\.kcore\.org|
                            peertube\.keazilla\.net|
                            peertube\.klaewyss\.fr|
                            peertube\.kleph\.eu|
                            peertube\.kodein\.be|
                            peertube\.kooperatywa\.tech|
                            peertube\.kriom\.net|
                            peertube\.kx\.studio|
                            peertube\.kyriog\.eu|
                            peertube\.la-famille-muller\.fr|
                            peertube\.labeuropereunion\.eu|
                            peertube\.lagvoid\.com|
                            peertube\.lhc\.net\.br|
                            peertube\.libresolutions\.network|
                            peertube\.libretic\.fr|
                            peertube\.librosphere\.fr|
                            peertube\.logilab\.fr|
                            peertube\.lon\.tv|
                            peertube\.louisematic\.site|
                            peertube\.luckow\.org|
                            peertube\.luga\.at|
                            peertube\.lyceeconnecte\.fr|
                            peertube\.madixam\.xyz|
                            peertube\.magicstone\.dev|
                            peertube\.marienschule\.de|
                            peertube\.marud\.fr|
                            peertube\.maxweiss\.io|
                            peertube\.miguelcr\.me|
                            peertube\.mikemestnik\.net|
                            peertube\.mobilsicher\.de|
                            peertube\.monlycee\.net|
                            peertube\.mxinfo\.fr|
                            peertube\.naln1\.ca|
                            peertube\.netzbegruenung\.de|
                            peertube\.nicolastissot\.fr|
                            peertube\.nogafam\.fr|
                            peertube\.normalgamingcommunity\.cz|
                            peertube\.nz|
                            peertube\.offerman\.com|
                            peertube\.ohioskates\.com|
                            peertube\.onionstorm\.net|
                            peertube\.opencloud\.lu|
                            peertube\.otakufarms\.com|
                            peertube\.paladyn\.org|
                            peertube\.pix-n-chill\.fr|
                            peertube\.r2\.enst\.fr|
                            peertube\.r5c3\.fr|
                            peertube\.redpill-insight\.com|
                            peertube\.researchinstitute\.at|
                            peertube\.revelin\.fr|
                            peertube\.rlp\.schule|
                            peertube\.rokugan\.fr|
                            peertube\.rougevertbleu\.tv|
                            peertube\.roundpond\.net|
                            peertube\.rural-it\.org|
                            peertube\.satoshishop\.de|
                            peertube\.scyldings\.com|
                            peertube\.securitymadein\.lu|
                            peertube\.semperpax\.com|
                            peertube\.semweb\.pro|
                            peertube\.sensin\.eu|
                            peertube\.sidh\.bzh|
                            peertube\.skorpil\.cz|
                            peertube\.smertrios\.com|
                            peertube\.sqweeb\.net|
                            peertube\.stattzeitung\.org|
                            peertube\.stream|
                            peertube\.su|
                            peertube\.swrs\.net|
                            peertube\.takeko\.cyou|
                            peertube\.taxinachtegel\.de|
                            peertube\.teftera\.com|
                            peertube\.teutronic-services\.de|
                            peertube\.ti-fr\.com|
                            peertube\.tiennot\.net|
                            peertube\.tmp\.rcp\.tf|
                            peertube\.tspu\.edu\.ru|
                            peertube\.tv|
                            peertube\.tweb\.tv|
                            peertube\.underworld\.fr|
                            peertube\.vapronva\.pw|
                            peertube\.veen\.world|
                            peertube\.vesdia\.eu|
                            peertube\.virtual-assembly\.org|
                            peertube\.viviers-fibre\.net|
                            peertube\.vlaki\.cz|
                            peertube\.wiesbaden\.social|
                            peertube\.wivodaim\.net|
                            peertube\.wtf|
                            peertube\.wtfayla\.net|
                            peertube\.xrcb\.cat|
                            peertube\.xwiki\.com|
                            peertube\.zd\.do|
                            peertube\.zetamc\.net|
                            peertube\.zmuuf\.org|
                            peertube\.zoz-serv\.org|
                            peertube\.zwindler\.fr|
                            peervideo\.ru|
                            periscope\.numenaute\.org|
                            pete\.warpnine\.de|
                            petitlutinartube\.fr|
                            phijkchu\.com|
                            phoenixproject\.group|
                            piraten\.space|
                            pirtube\.calut\.fr|
                            pityu\.flaki\.hu|
                            play\.mittdata\.se|
                            player\.ojamajo\.moe|
                            podlibre\.video|
                            portal\.digilab\.nfa\.cz|
                            private\.fedimovie\.com|
                            pt01\.lehrerfortbildung-bw\.de|
                            pt\.diaspodon\.fr|
                            pt\.freedomwolf\.cc|
                            pt\.gordons\.gen\.nz|
                            pt\.ilyamikcoder\.com|
                            pt\.irnok\.net|
                            pt\.mezzo\.moe|
                            pt\.na4\.eu|
                            pt\.netcraft\.ch|
                            pt\.rwx\.ch|
                            pt\.sfunk1x\.com|
                            pt\.thishorsie\.rocks|
                            pt\.vern\.cc|
                            ptb\.lunarviews\.net|
                            ptube\.de|
                            ptube\.ranranhome\.info|
                            puffy\.tube|
                            puppet\.zone|
                            qtube\.qlyoung\.net|
                            quantube\.win|
                            rankett\.net|
                            replay\.jres\.org|
                            review\.peertube\.biz|
                            sdmtube\.fr|
                            secure\.direct-live\.net|
                            secure\.scanovid\.com|
                            seka\.pona\.la|
                            serv3\.wiki-tube\.de|
                            skeptube\.fr|
                            social\.fedimovie\.com|
                            socpeertube\.ru|
                            sovran\.video|
                            special\.videovortex\.tv|
                            spectra\.video|
                            stl1988\.peertube-host\.de|
                            stream\.biovisata\.lt|
                            stream\.conesphere\.cloud|
                            stream\.elven\.pw|
                            stream\.jurnalfm\.md|
                            stream\.k-prod\.fr|
                            stream\.litera\.tools|
                            stream\.nuemedia\.se|
                            stream\.rlp-media\.de|
                            stream\.vrse\.be|
                            studios\.racer159\.com|
                            styxhexenhammer666\.com|
                            syrteplay\.obspm\.fr|
                            t\.0x0\.st|
                            tbh\.co-shaoghal\.net|
                            test-fab\.ynh\.fr|
                            testube\.distrilab\.fr|
                            tgi\.hosted\.spacebear\.ee|
                            theater\.ethernia\.net|
                            thecool\.tube|
                            thevideoverse\.com|
                            tilvids\.com|
                            tinkerbetter\.tube|
                            tinsley\.video|
                            trailers\.ddigest\.com|
                            tube-action-educative\.apps\.education\.fr|
                            tube-arts-lettres-sciences-humaines\.apps\.education\.fr|
                            tube-cycle-2\.apps\.education\.fr|
                            tube-cycle-3\.apps\.education\.fr|
                            tube-education-physique-et-sportive\.apps\.education\.fr|
                            tube-enseignement-professionnel\.apps\.education\.fr|
                            tube-institutionnel\.apps\.education\.fr|
                            tube-langues-vivantes\.apps\.education\.fr|
                            tube-maternelle\.apps\.education\.fr|
                            tube-numerique-educatif\.apps\.education\.fr|
                            tube-sciences-technologies\.apps\.education\.fr|
                            tube-test\.apps\.education\.fr|
                            tube1\.perron-service\.de|
                            tube\.9minuti\.it|
                            tube\.abolivier\.bzh|
                            tube\.alado\.space|
                            tube\.amic37\.fr|
                            tube\.area404\.cloud|
                            tube\.arthack\.nz|
                            tube\.asulia\.fr|
                            tube\.awkward\.company|
                            tube\.azbyka\.ru|
                            tube\.azkware\.net|
                            tube\.bartrip\.me\.uk|
                            tube\.belowtoxic\.media|
                            tube\.bingle\.plus|
                            tube\.bit-friends\.de|
                            tube\.bstly\.de|
                            tube\.chosto\.me|
                            tube\.cms\.garden|
                            tube\.communia\.org|
                            tube\.cyberia\.club|
                            tube\.cybershock\.life|
                            tube\.dembased\.xyz|
                            tube\.dev\.displ\.eu|
                            tube\.digitalesozialearbeit\.de|
                            tube\.distrilab\.fr|
                            tube\.doortofreedom\.org|
                            tube\.dsocialize\.net|
                            tube\.e-jeremy\.com|
                            tube\.ebin\.club|
                            tube\.elemac\.fr|
                            tube\.erzbistum-hamburg\.de|
                            tube\.exozy\.me|
                            tube\.fdn\.fr|
                            tube\.fedi\.quebec|
                            tube\.fediverse\.at|
                            tube\.felinn\.org|
                            tube\.flokinet\.is|
                            tube\.foad\.me\.uk|
                            tube\.freepeople\.fr|
                            tube\.friloux\.me|
                            tube\.froth\.zone|
                            tube\.fulda\.social|
                            tube\.futuretic\.fr|
                            tube\.g1zm0\.de|
                            tube\.g4rf\.net|
                            tube\.gaiac\.io|
                            tube\.geekyboo\.net|
                            tube\.genb\.de|
                            tube\.ghk-academy\.info|
                            tube\.gi-it\.de|
                            tube\.grap\.coop|
                            tube\.graz\.social|
                            tube\.grin\.hu|
                            tube\.hokai\.lol|
                            tube\.int5\.net|
                            tube\.interhacker\.space|
                            tube\.invisible\.ch|
                            tube\.io18\.top|
                            tube\.itsg\.host|
                            tube\.jeena\.net|
                            tube\.kh-berlin\.de|
                            tube\.kockatoo\.org|
                            tube\.kotur\.org|
                            tube\.koweb\.fr|
                            tube\.la-dina\.net|
                            tube\.lab\.nrw|
                            tube\.lacaveatonton\.ovh|
                            tube\.laurent-malys\.fr|
                            tube\.leetdreams\.ch|
                            tube\.linkse\.media|
                            tube\.lokad\.com|
                            tube\.lucie-philou\.com|
                            tube\.media-techport\.de|
                            tube\.morozoff\.pro|
                            tube\.neshweb\.net|
                            tube\.nestor\.coop|
                            tube\.network\.europa\.eu|
                            tube\.nicfab\.eu|
                            tube\.nieuwwestbrabant\.nl|
                            tube\.nogafa\.org|
                            tube\.novg\.net|
                            tube\.nox-rhea\.org|
                            tube\.nuagelibre\.fr|
                            tube\.numerique\.gouv\.fr|
                            tube\.nuxnik\.com|
                            tube\.nx12\.net|
                            tube\.octaplex\.net|
                            tube\.oisux\.org|
                            tube\.okcinfo\.news|
                            tube\.onlinekirche\.net|
                            tube\.opportunis\.me|
                            tube\.oraclefilms\.com|
                            tube\.org\.il|
                            tube\.pacapime\.ovh|
                            tube\.parinux\.org|
                            tube\.pastwind\.top|
                            tube\.picasoft\.net|
                            tube\.pilgerweg-21\.de|
                            tube\.pmj\.rocks|
                            tube\.pol\.social|
                            tube\.ponsonaille\.fr|
                            tube\.portes-imaginaire\.org|
                            tube\.public\.apolut\.net|
                            tube\.pustule\.org|
                            tube\.pyngu\.com|
                            tube\.querdenken-711\.de|
                            tube\.rebellion\.global|
                            tube\.reseau-canope\.fr|
                            tube\.rhythms-of-resistance\.org|
                            tube\.risedsky\.ovh|
                            tube\.rooty\.fr|
                            tube\.rsi\.cnr\.it|
                            tube\.ryne\.moe|
                            tube\.schleuss\.online|
                            tube\.schule\.social|
                            tube\.sekretaerbaer\.net|
                            tube\.shanti\.cafe|
                            tube\.shela\.nu|
                            tube\.skrep\.in|
                            tube\.sleeping\.town|
                            tube\.sp-codes\.de|
                            tube\.spdns\.org|
                            tube\.systerserver\.net|
                            tube\.systest\.eu|
                            tube\.tappret\.fr|
                            tube\.techeasy\.org|
                            tube\.thierrytalbert\.fr|
                            tube\.tinfoil-hat\.net|
                            tube\.toldi\.eu|
                            tube\.tpshd\.de|
                            tube\.trax\.im|
                            tube\.troopers\.agency|
                            tube\.ttk\.is|
                            tube\.tuxfriend\.fr|
                            tube\.tylerdavis\.xyz|
                            tube\.ullihome\.de|
                            tube\.ulne\.be|
                            tube\.undernet\.uy|
                            tube\.vrpnet\.org|
                            tube\.wolfe\.casa|
                            tube\.xd0\.de|
                            tube\.xn--baw-joa\.social|
                            tube\.xy-space\.de|
                            tube\.yapbreak\.fr|
                            tubedu\.org|
                            tubulus\.openlatin\.org|
                            turtleisland\.video|
                            tututu\.tube|
                            tv\.adast\.dk|
                            tv\.adn\.life|
                            tv\.arns\.lt|
                            tv\.atmx\.ca|
                            tv\.based\.quest|
                            tv\.farewellutopia\.com|
                            tv\.filmfreedom\.net|
                            tv\.gravitons\.org|
                            tv\.io\.seg\.br|
                            tv\.lumbung\.space|
                            tv\.pirateradio\.social|
                            tv\.pirati\.cz|
                            tv\.santic-zombie\.ru|
                            tv\.undersco\.re|
                            tv\.zonepl\.net|
                            tvox\.ru|
                            twctube\.twc-zone\.eu|
                            twobeek\.com|
                            urbanists\.video|
                            v\.9tail\.net|
                            v\.basspistol\.org|
                            v\.j4\.lc|
                            v\.kisombrella\.top|
                            v\.koa\.im|
                            v\.kyaru\.xyz|
                            v\.lor\.sh|
                            v\.mkp\.ca|
                            v\.posm\.gay|
                            v\.slaycer\.top|
                            veedeo\.org|
                            vhs\.absturztau\.be|
                            vid\.cthos\.dev|
                            vid\.kinuseka\.us|
                            vid\.mkp\.ca|
                            vid\.nocogabriel\.fr|
                            vid\.norbipeti\.eu|
                            vid\.northbound\.online|
                            vid\.ohboii\.de|
                            vid\.plantplotting\.co\.uk|
                            vid\.pretok\.tv|
                            vid\.prometheus\.systems|
                            vid\.soafen\.love|
                            vid\.twhtv\.club|
                            vid\.wildeboer\.net|
                            video-cave-v2\.de|
                            video-liberty\.com|
                            video\.076\.ne\.jp|
                            video\.1146\.nohost\.me|
                            video\.9wd\.eu|
                            video\.abraum\.de|
                            video\.ados\.accoord\.fr|
                            video\.amiga-ng\.org|
                            video\.anartist\.org|
                            video\.asgardius\.company|
                            video\.audiovisuel-participatif\.org|
                            video\.bards\.online|
                            video\.barkoczy\.social|
                            video\.benetou\.fr|
                            video\.beyondwatts\.social|
                            video\.bgeneric\.net|
                            video\.bilecik\.edu\.tr|
                            video\.blast-info\.fr|
                            video\.bmu\.cloud|
                            video\.catgirl\.biz|
                            video\.causa-arcana\.com|
                            video\.chasmcity\.net|
                            video\.chbmeyer\.de|
                            video\.cigliola\.com|
                            video\.citizen4\.eu|
                            video\.clumsy\.computer|
                            video\.cnnumerique\.fr|
                            video\.cnr\.it|
                            video\.cnt\.social|
                            video\.coales\.co|
                            video\.comune\.trento\.it|
                            video\.coyp\.us|
                            video\.csc49\.fr|
                            video\.davduf\.net|
                            video\.davejansen\.com|
                            video\.dlearning\.nl|
                            video\.dnfi\.no|
                            video\.dresden\.network|
                            video\.drgnz\.club|
                            video\.dudenas\.lt|
                            video\.eientei\.org|
                            video\.ellijaymakerspace\.org|
                            video\.emergeheart\.info|
                            video\.eradicatinglove\.xyz|
                            video\.everythingbagel\.me|
                            video\.extremelycorporate\.ca|
                            video\.fabiomanganiello\.com|
                            video\.fedi\.bzh|
                            video\.fhtagn\.org|
                            video\.firehawk-systems\.com|
                            video\.fox-romka\.ru|
                            video\.fuss\.bz\.it|
                            video\.glassbeadcollective\.org|
                            video\.graine-pdl\.org|
                            video\.gyt\.is|
                            video\.hainry\.fr|
                            video\.hardlimit\.com|
                            video\.hostux\.net|
                            video\.igem\.org|
                            video\.infojournal\.fr|
                            video\.internet-czas-dzialac\.pl|
                            video\.interru\.io|
                            video\.ipng\.ch|
                            video\.ironsysadmin\.com|
                            video\.islameye\.com|
                            video\.jacen\.moe|
                            video\.jadin\.me|
                            video\.jeffmcbride\.net|
                            video\.jigmedatse\.com|
                            video\.kuba-orlik\.name|
                            video\.lacalligramme\.fr|
                            video\.lanceurs-alerte\.fr|
                            video\.laotra\.red|
                            video\.lapineige\.fr|
                            video\.laraffinerie\.re|
                            video\.lavolte\.net|
                            video\.liberta\.vip|
                            video\.libreti\.net|
                            video\.licentia\.net|
                            video\.linc\.systems|
                            video\.linux\.it|
                            video\.linuxtrent\.it|
                            video\.liveitlive\.show|
                            video\.lono\.space|
                            video\.lrose\.de|
                            video\.lunago\.net|
                            video\.lundi\.am|
                            video\.lycee-experimental\.org|
                            video\.maechler\.cloud|
                            video\.marcorennmaus\.de|
                            video\.mass-trespass\.uk|
                            video\.matomocamp\.org|
                            video\.medienzentrum-harburg\.de|
                            video\.mentality\.rip|
                            video\.metaversum\.wtf|
                            video\.midreality\.com|
                            video\.mttv\.it|
                            video\.mugoreve\.fr|
                            video\.mxtthxw\.art|
                            video\.mycrowd\.ca|
                            video\.niboe\.info|
                            video\.nogafam\.es|
                            video\.nstr\.no|
                            video\.occm\.cc|
                            video\.off-investigation\.fr|
                            video\.olos311\.org|
                            video\.ordinobsolete\.fr|
                            video\.osvoj\.ru|
                            video\.ourcommon\.cloud|
                            video\.ozgurkon\.org|
                            video\.pcf\.fr|
                            video\.pcgaldo\.com|
                            video\.phyrone\.de|
                            video\.poul\.org|
                            video\.publicspaces\.net|
                            video\.pullopen\.xyz|
                            video\.r3s\.nrw|
                            video\.rainevixen\.com|
                            video\.resolutions\.it|
                            video\.retroedge\.tech|
                            video\.rhizome\.org|
                            video\.rlp-media\.de|
                            video\.rs-einrich\.de|
                            video\.rubdos\.be|
                            video\.sadmin\.io|
                            video\.sftblw\.moe|
                            video\.shitposter\.club|
                            video\.simplex-software\.ru|
                            video\.slipfox\.xyz|
                            video\.snug\.moe|
                            video\.software-fuer-engagierte\.de|
                            video\.soi\.ch|
                            video\.sonet\.ws|
                            video\.surazal\.net|
                            video\.taskcards\.eu|
                            video\.team-lcbs\.eu|
                            video\.techforgood\.social|
                            video\.telemillevaches\.net|
                            video\.thepolarbear\.co\.uk|
                            video\.thinkof\.name|
                            video\.tii\.space|
                            video\.tkz\.es|
                            video\.trankil\.info|
                            video\.triplea\.fr|
                            video\.tum\.social|
                            video\.turbo\.chat|
                            video\.uriopss-pdl\.fr|
                            video\.ustim\.ru|
                            video\.ut0pia\.org|
                            video\.vaku\.org\.ua|
                            video\.vegafjord\.me|
                            video\.veloma\.org|
                            video\.violoncello\.ch|
                            video\.voidconspiracy\.band|
                            video\.wakkeren\.nl|
                            video\.windfluechter\.org|
                            video\.ziez\.eu|
                            videos-passages\.huma-num\.fr|
                            videos\.aadtp\.be|
                            videos\.ahp-numerique\.fr|
                            videos\.alamaisondulibre\.org|
                            videos\.archigny\.net|
                            videos\.aroaduntraveled\.com|
                            videos\.b4tech\.org|
                            videos\.benjaminbrady\.ie|
                            videos\.bik\.opencloud\.lu|
                            videos\.cloudron\.io|
                            videos\.codingotaku\.com|
                            videos\.coletivos\.org|
                            videos\.collate\.social|
                            videos\.danksquad\.org|
                            videos\.digitaldragons\.eu|
                            videos\.dromeadhere\.fr|
                            videos\.explain-it\.org|
                            videos\.factsonthegroundshow\.com|
                            videos\.foilen\.com|
                            videos\.fsci\.in|
                            videos\.gamercast\.net|
                            videos\.gianmarco\.gg|
                            videos\.globenet\.org|
                            videos\.grafo\.zone|
                            videos\.hauspie\.fr|
                            videos\.hush\.is|
                            videos\.hyphalfusion\.network|
                            videos\.icum\.to|
                            videos\.im\.allmendenetz\.de|
                            videos\.jacksonchen666\.com|
                            videos\.john-livingston\.fr|
                            videos\.knazarov\.com|
                            videos\.kuoushi\.com|
                            videos\.laliguepaysdelaloire\.org|
                            videos\.lemouvementassociatif-pdl\.org|
                            videos\.leslionsfloorball\.fr|
                            videos\.librescrum\.org|
                            videos\.mastodont\.cat|
                            videos\.metus\.ca|
                            videos\.miolo\.org|
                            videos\.offroad\.town|
                            videos\.openmandriva\.org|
                            videos\.parleur\.net|
                            videos\.pcorp\.us|
                            videos\.pop\.eu\.com|
                            videos\.rampin\.org|
                            videos\.rauten\.co\.za|
                            videos\.ritimo\.org|
                            videos\.sarcasmstardust\.com|
                            videos\.scanlines\.xyz|
                            videos\.shmalls\.pw|
                            videos\.stadtfabrikanten\.org|
                            videos\.supertuxkart\.net|
                            videos\.testimonia\.org|
                            videos\.thinkerview\.com|
                            videos\.torrenezzi10\.xyz|
                            videos\.trom\.tf|
                            videos\.utsukta\.org|
                            videos\.viorsan\.com|
                            videos\.wherelinux\.xyz|
                            videos\.wikilibriste\.fr|
                            videos\.yesil\.club|
                            videos\.yeswiki\.net|
                            videotube\.duckdns\.org|
                            vids\.capypara\.de|
                            vids\.roshless\.me|
                            vids\.stary\.pc\.pl|
                            vids\.tekdmn\.me|
                            vidz\.julien\.ovh|
                            views\.southfox\.me|
                            virtual-girls-are\.definitely-for\.me|
                            viste\.pt|
                            vnchich\.com|
                            vnop\.org|
                            vod\.newellijay\.tv|
                            voluntarytube\.com|
                            vtr\.chikichiki\.tube|
                            vulgarisation-informatique\.fr|
                            watch\.easya\.solutions|
                            watch\.goodluckgabe\.life|
                            watch\.ignorance\.eu|
                            watch\.jimmydore\.com|
                            watch\.libertaria\.space|
                            watch\.nuked\.social|
                            watch\.ocaml\.org|
                            watch\.thelema\.social|
                            watch\.tubelab\.video|
                            web-fellow\.de|
                            webtv\.vandoeuvre\.net|
                            wetubevid\.online|
                            wikileaks\.video|
                            wiwi\.video|
                            wow\.such\.disappointment\.fail|
                            www\.jvideos\.net|
                            www\.kotikoff\.net|
                            www\.makertube\.net|
                            www\.mypeer\.tube|
                            www\.nadajemy\.com|
                            www\.neptube\.io|
                            www\.rocaguinarda\.tv|
                            www\.vnshow\.net|
                            xxivproduction\.video|
                            yt\.orokoro\.ru|
                            ytube\.retronerd\.at|
                            zumvideo\.de|

                            # from youtube-dl
                            peertube\.rainbowswingers\.net|
                            tube\.stanisic\.nl|
                            peer\.suiri\.us|
                            medias\.libox\.fr|
                            videomensoif\.ynh\.fr|
                            peertube\.travelpandas\.eu|
                            peertube\.rachetjay\.fr|
                            peertube\.montecsys\.fr|
                            tube\.eskuero\.me|
                            peer\.tube|
                            peertube\.umeahackerspace\.se|
                            tube\.nx-pod\.de|
                            video\.monsieurbidouille\.fr|
                            tube\.openalgeria\.org|
                            vid\.lelux\.fi|
                            video\.anormallostpod\.ovh|
                            tube\.crapaud-fou\.org|
                            peertube\.stemy\.me|
                            lostpod\.space|
                            exode\.me|
                            peertube\.snargol\.com|
                            vis\.ion\.ovh|
                            videosdulib\.re|
                            v\.mbius\.io|
                            videos\.judrey\.eu|
                            peertube\.osureplayviewer\.xyz|
                            peertube\.mathieufamily\.ovh|
                            www\.videos-libr\.es|
                            fightforinfo\.com|
                            peertube\.fediverse\.ru|
                            peertube\.oiseauroch\.fr|
                            video\.nesven\.eu|
                            v\.bearvideo\.win|
                            video\.qoto\.org|
                            justporn\.cc|
                            video\.vny\.fr|
                            peervideo\.club|
                            tube\.taker\.fr|
                            peertube\.chantierlibre\.org|
                            tube\.ipfixe\.info|
                            tube\.kicou\.info|
                            tube\.dodsorf\.as|
                            videobit\.cc|
                            video\.yukari\.moe|
                            videos\.elbinario\.net|
                            hkvideo\.live|
                            pt\.tux\.tf|
                            www\.hkvideo\.live|
                            FIGHTFORINFO\.com|
                            pt\.765racing\.com|
                            peertube\.gnumeria\.eu\.org|
                            nordenmedia\.com|
                            peertube\.co\.uk|
                            tube\.darfweb\.eu|
                            tube\.kalah-france\.org|
                            0ch\.in|
                            vod\.mochi\.academy|
                            film\.node9\.org|
                            peertube\.hatthieves\.es|
                            video\.fitchfamily\.org|
                            peertube\.ddns\.net|
                            video\.ifuncle\.kr|
                            video\.fdlibre\.eu|
                            tube\.22decembre\.eu|
                            peertube\.harmoniescreatives\.com|
                            tube\.fabrigli\.fr|
                            video\.thedwyers\.co|
                            video\.bruitbruit\.com|
                            peertube\.foxfam\.club|
                            peer\.philoxweb\.be|
                            videos\.bugs\.social|
                            peertube\.malbert\.xyz|
                            peertube\.bilange\.ca|
                            libretube\.net|
                            diytelevision\.com|
                            peertube\.fedilab\.app|
                            libre\.video|
                            video\.mstddntfdn\.online|
                            us\.tv|
                            peertube\.sl-network\.fr|
                            peertube\.dynlinux\.io|
                            peertube\.david\.durieux\.family|
                            peertube\.linuxrocks\.online|
                            peerwatch\.xyz|
                            v\.kretschmann\.social|
                            tube\.otter\.sh|
                            yt\.is\.nota\.live|
                            tube\.dragonpsi\.xyz|
                            peertube\.boneheadmedia\.com|
                            videos\.funkwhale\.audio|
                            watch\.44con\.com|
                            peertube\.gcaillaut\.fr|
                            peertube\.icu|
                            pony\.tube|
                            spacepub\.space|
                            tube\.stbr\.io|
                            v\.mom-gay\.faith|
                            tube\.port0\.xyz|
                            peertube\.simounet\.net|
                            play\.jergefelt\.se|
                            peertube\.zeteo\.me|
                            tube\.danq\.me|
                            peertube\.kerenon\.com|
                            tube\.fab-l3\.org|
                            tube\.calculate\.social|
                            peertube\.mckillop\.org|
                            tube\.netzspielplatz\.de|
                            vod\.ksite\.de|
                            peertube\.laas\.fr|
                            tube\.govital\.net|
                            peertube\.stephenson\.cc|
                            bistule\.nohost\.me|
                            peertube\.kajalinifi\.de|
                            video\.ploud\.jp|
                            video\.omniatv\.com|
                            peertube\.ffs2play\.fr|
                            peertube\.leboulaire\.ovh|
                            peertube\.tronic-studio\.com|
                            peertube\.public\.cat|
                            peertube\.metalbanana\.net|
                            video\.1000i100\.fr|
                            peertube\.alter-nativ-voll\.de|
                            tube\.pasa\.tf|
                            tube\.worldofhauru\.xyz|
                            pt\.kamp\.site|
                            peertube\.teleassist\.fr|
                            videos\.mleduc\.xyz|
                            conf\.tube|
                            media\.privacyinternational\.org|
                            pt\.forty-two\.nl|
                            video\.halle-leaks\.de|
                            video\.grosskopfgames\.de|
                            peertube\.schaeferit\.de|
                            peertube\.jackbot\.fr|
                            tube\.extinctionrebellion\.fr|
                            peertube\.f-si\.org|
                            video\.subak\.ovh|
                            videos\.koweb\.fr|
                            peertube\.zergy\.net|
                            peertube\.roflcopter\.fr|
                            peertube\.floss-marketing-school\.com|
                            vloggers\.social|
                            peertube\.iriseden\.eu|
                            videos\.ubuntu-paris\.org|
                            peertube\.mastodon\.host|
                            armstube\.com|
                            peertube\.s2s\.video|
                            peertube\.lol|
                            tube\.open-plug\.eu|
                            open\.tube|
                            peertube\.ch|
                            peertube\.normandie-libre\.fr|
                            peertube\.slat\.org|
                            video\.lacaveatonton\.ovh|
                            peertube\.uno|
                            peertube\.servebeer\.com|
                            peertube\.fedi\.quebec|
                            tube\.h3z\.jp|
                            tube\.plus200\.com|
                            peertube\.eric\.ovh|
                            tube\.metadocs\.cc|
                            tube\.unmondemeilleur\.eu|
                            gouttedeau\.space|
                            video\.antirep\.net|
                            nrop\.cant\.at|
                            tube\.ksl-bmx\.de|
                            tube\.plaf\.fr|
                            tube\.tchncs\.de|
                            video\.devinberg\.com|
                            hitchtube\.fr|
                            peertube\.kosebamse\.com|
                            yunopeertube\.myddns\.me|
                            peertube\.varney\.fr|
                            peertube\.anon-kenkai\.com|
                            tube\.maiti\.info|
                            tubee\.fr|
                            videos\.dinofly\.com|
                            toobnix\.org|
                            videotape\.me|
                            voca\.tube|
                            video\.heromuster\.com|
                            video\.lemediatv\.fr|
                            video\.up\.edu\.ph|
                            balafon\.video|
                            video\.ivel\.fr|
                            thickrips\.cloud|
                            pt\.laurentkruger\.fr|
                            video\.monarch-pass\.net|
                            peertube\.artica\.center|
                            video\.alternanet\.fr|
                            indymotion\.fr|
                            fanvid\.stopthatimp\.net|
                            video\.farci\.org|
                            v\.lesterpig\.com|
                            video\.okaris\.de|
                            tube\.pawelko\.net|
                            peertube\.mablr\.org|
                            tube\.fede\.re|
                            pytu\.be|
                            evertron\.tv|
                            devtube\.dev-wiki\.de|
                            raptube\.antipub\.org|
                            video\.selea\.se|
                            peertube\.mygaia\.org|
                            video\.oh14\.de|
                            peertube\.livingutopia\.org|
                            peertube\.the-penguin\.de|
                            tube\.thechangebook\.org|
                            tube\.anjara\.eu|
                            pt\.pube\.tk|
                            video\.samedi\.pm|
                            mplayer\.demouliere\.eu|
                            widemus\.de|
                            peertube\.me|
                            peertube\.zapashcanon\.fr|
                            video\.latavernedejohnjohn\.fr|
                            peertube\.pcservice46\.fr|
                            peertube\.mazzonetto\.eu|
                            video\.irem\.univ-paris-diderot\.fr|
                            video\.livecchi\.cloud|
                            alttube\.fr|
                            video\.coop\.tools|
                            video\.cabane-libre\.org|
                            peertube\.openstreetmap\.fr|
                            videos\.alolise\.org|
                            irrsinn\.video|
                            video\.antopie\.org|
                            scitech\.video|
                            tube2\.nemsia\.org|
                            video\.amic37\.fr|
                            peertube\.freeforge\.eu|
                            video\.arbitrarion\.com|
                            video\.datsemultimedia\.com|
                            stoptrackingus\.tv|
                            peertube\.ricostrongxxx\.com|
                            docker\.videos\.lecygnenoir\.info|
                            peertube\.togart\.de|
                            tube\.postblue\.info|
                            videos\.domainepublic\.net|
                            peertube\.cyber-tribal\.com|
                            video\.gresille\.org|
                            peertube\.dsmouse\.net|
                            cinema\.yunohost\.support|
                            tube\.theocevaer\.fr|
                            repro\.video|
                            tube\.4aem\.com|
                            quaziinc\.com|
                            peertube\.metawurst\.space|
                            videos\.wakapo\.com|
                            video\.ploud\.fr|
                            video\.freeradical\.zone|
                            tube\.valinor\.fr|
                            refuznik\.video|
                            pt\.kircheneuenburg\.de|
                            peertube\.asrun\.eu|
                            peertube\.lagob\.fr|
                            videos\.side-ways\.net|
                            91video\.online|
                            video\.valme\.io|
                            video\.taboulisme\.com|
                            videos-libr\.es|
                            tv\.mooh\.fr|
                            nuage\.acostey\.fr|
                            video\.monsieur-a\.fr|
                            peertube\.librelois\.fr|
                            videos\.pair2jeux\.tube|
                            videos\.pueseso\.club|
                            peer\.mathdacloud\.ovh|
                            media\.assassinate-you\.net|
                            vidcommons\.org|
                            ptube\.rousset\.nom\.fr|
                            tube\.cyano\.at|
                            videos\.squat\.net|
                            video\.iphodase\.fr|
                            peertube\.makotoworkshop\.org|
                            peertube\.serveur\.slv-valbonne\.fr|
                            vault\.mle\.party|
                            hostyour\.tv|
                            videos\.hack2g2\.fr|
                            libre\.tube|
                            pire\.artisanlogiciel\.net|
                            videos\.numerique-en-commun\.fr|
                            video\.netsyms\.com|
                            video\.die-partei\.social|
                            video\.writeas\.org|
                            peertube\.swarm\.solvingmaz\.es|
                            tube\.pericoloso\.ovh|
                            watching\.cypherpunk\.observer|
                            videos\.adhocmusic\.com|
                            tube\.rfc1149\.net|
                            peertube\.librelabucm\.org|
                            videos\.numericoop\.fr|
                            peertube\.koehn\.com|
                            peertube\.anarchmusicall\.net|
                            tube\.kampftoast\.de|
                            vid\.y-y\.li|
                            peertube\.xtenz\.xyz|
                            diode\.zone|
                            tube\.egf\.mn|
                            peertube\.nomagic\.uk|
                            visionon\.tv|
                            videos\.koumoul\.com|
                            video\.rastapuls\.com|
                            video\.mantlepro\.com|
                            video\.deadsuperhero\.com|
                            peertube\.musicstudio\.pro|
                            peertube\.we-keys\.fr|
                            artitube\.artifaille\.fr|
                            peertube\.ethernia\.net|
                            tube\.midov\.pl|
                            peertube\.fr|
                            watch\.snoot\.tube|
                            peertube\.donnadieu\.fr|
                            argos\.aquilenet\.fr|
                            tube\.nemsia\.org|
                            tube\.bruniau\.net|
                            videos\.darckoune\.moe|
                            tube\.traydent\.info|
                            dev\.videos\.lecygnenoir\.info|
                            peertube\.nayya\.org|
                            peertube\.live|
                            peertube\.mofgao\.space|
                            video\.lequerrec\.eu|
                            peertube\.amicale\.net|
                            aperi\.tube|
                            tube\.ac-lyon\.fr|
                            video\.lw1\.at|
                            www\.yiny\.org|
                            videos\.pofilo\.fr|
                            tube\.lou\.lt|
                            choob\.h\.etbus\.ch|
                            tube\.hoga\.fr|
                            peertube\.heberge\.fr|
                            video\.obermui\.de|
                            videos\.cloudfrancois\.fr|
                            betamax\.video|
                            video\.typica\.us|
                            tube\.piweb\.be|
                            video\.blender\.org|
                            peertube\.cat|
                            tube\.kdy\.ch|
                            pe\.ertu\.be|
                            peertube\.social|
                            videos\.lescommuns\.org|
                            tv\.datamol\.org|
                            videonaute\.fr|
                            dialup\.express|
                            peertube\.nogafa\.org|
                            megatube\.lilomoino\.fr|
                            peertube\.tamanoir\.foucry\.net|
                            peertube\.devosi\.org|
                            peertube\.1312\.media|
                            tube\.bootlicker\.party|
                            skeptikon\.fr|
                            video\.blueline\.mg|
                            tube\.homecomputing\.fr|
                            tube\.ouahpiti\.info|
                            video\.tedomum\.net|
                            video\.g3l\.org|
                            fontube\.fr|
                            peertube\.gaialabs\.ch|
                            tube\.kher\.nl|
                            peertube\.qtg\.fr|
                            video\.migennes\.net|
                            tube\.p2p\.legal|
                            troll\.tv|
                            videos\.iut-orsay\.fr|
                            peertube\.solidev\.net|
                            videos\.cemea\.org|
                            video\.passageenseine\.fr|
                            videos\.festivalparminous\.org|
                            peertube\.touhoppai\.moe|
                            sikke\.fi|
                            peer\.hostux\.social|
                            share\.tube|
                            peertube\.walkingmountains\.fr|
                            videos\.benpro\.fr|
                            peertube\.parleur\.net|
                            peertube\.heraut\.eu|
                            tube\.aquilenet\.fr|
                            peertube\.gegeweb\.eu|
                            framatube\.org|
                            thinkerview\.video|
                            tube\.conferences-gesticulees\.net|
                            peertube\.datagueule\.tv|
                            video\.lqdn\.fr|
                            tube\.mochi\.academy|
                            media\.zat\.im|
                            video\.colibris-outilslibres\.org|
                            tube\.svnet\.fr|
                            peertube\.video|
                            peertube2\.cpy\.re|
                            peertube3\.cpy\.re|
                            videos\.tcit\.fr|
                            peertube\.cpy\.re|
                            canard\.tube
                        ))/(?:videos/(?:watch|embed)|api/v\d/videos|w)/
                    )
                    (?P<id>[\da-zA-Z]{22}|[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12})
                    r}   r   Nr   r   r   r   r  r  "  s    )GG {uJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)PeerTubePlaylistIEi"  r  zPeerTube:Playlista  (?x)
                        https?://(?P<host>(?:
                            # Taken from https://instances.joinpeertube.org/instances
                            0ch\.tv|
                            3dctube\.3dcandy\.social|
                            all\.electric\.kitchen|
                            alterscope\.fr|
                            anarchy\.tube|
                            apathy\.tv|
                            apertatube\.net|
                            archive\.nocopyrightintended\.tv|
                            archive\.reclaim\.tv|
                            area51\.media|
                            astrotube-ufe\.obspm\.fr|
                            astrotube\.obspm\.fr|
                            audio\.freediverse\.com|
                            azxtube\.youssefc\.tn|
                            bark\.video|
                            battlepenguin\.video|
                            bava\.tv|
                            bee-tube\.fr|
                            beetoons\.tv|
                            biblion\.refchat\.net|
                            biblioteca\.theowlclub\.net|
                            bideoak\.argia\.eus|
                            bideoteka\.eus|
                            birdtu\.be|
                            bitcointv\.com|
                            bonn\.video|
                            breeze\.tube|
                            brioco\.live|
                            brocosoup\.fr|
                            canal\.facil\.services|
                            canard\.tube|
                            cdn01\.tilvids\.com|
                            celluloid-media\.huma-num\.fr|
                            chicago1\.peertube\.support|
                            cliptube\.org|
                            cloudtube\.ise\.fraunhofer\.de|
                            comf\.tube|
                            comics\.peertube\.biz|
                            commons\.tube|
                            communitymedia\.video|
                            conspiracydistillery\.com|
                            crank\.recoil\.org|
                            dalek\.zone|
                            dalliance\.network|
                            dangly\.parts|
                            darkvapor\.nohost\.me|
                            daschauher\.aksel\.rocks|
                            digitalcourage\.video|
                            displayeurope\.video|
                            ds106\.tv|
                            dud-video\.inf\.tu-dresden\.de|
                            dud175\.inf\.tu-dresden\.de|
                            dytube\.com|
                            ebildungslabor\.video|
                            evangelisch\.video|
                            fair\.tube|
                            fedi\.video|
                            fedimovie\.com|
                            fediverse\.tv|
                            film\.k-prod\.fr|
                            flipboard\.video|
                            foss\.video|
                            fossfarmers\.company|
                            fotogramas\.politicaconciencia\.org|
                            freediverse\.com|
                            freesoto-u2151\.vm\.elestio\.app|
                            freesoto\.tv|
                            garr\.tv|
                            greatview\.video|
                            grypstube\.uni-greifswald\.de|
                            habratube\.site|
                            ilbjach\.ru|
                            infothema\.net|
                            itvplus\.iiens\.net|
                            johnydeep\.net|
                            juggling\.digital|
                            jupiter\.tube|
                            kadras\.live|
                            kino\.kompot\.si|
                            kino\.schuerz\.at|
                            kinowolnosc\.pl|
                            kirche\.peertube-host\.de|
                            kiwi\.froggirl\.club|
                            kodcast\.com|
                            kolektiva\.media|
                            kpop\.22x22\.ru|
                            kumi\.tube|
                            la2\.peertube\.support|
                            la3\.peertube\.support|
                            la4\.peertube\.support|
                            lastbreach\.tv|
                            lawsplaining\.peertube\.biz|
                            leopard\.tube|
                            live\.codinglab\.ch|
                            live\.libratoi\.org|
                            live\.oldskool\.fi|
                            live\.solari\.com|
                            lucarne\.balsamine\.be|
                            luxtube\.lu|
                            makertube\.net|
                            media\.econoalchemist\.com|
                            media\.exo\.cat|
                            media\.fsfe\.org|
                            media\.gzevd\.de|
                            media\.interior\.edu\.uy|
                            media\.krashboyz\.org|
                            media\.mzhd\.de|
                            media\.smz-ma\.de|
                            media\.theplattform\.net|
                            media\.undeadnetwork\.de|
                            medias\.debrouillonet\.org|
                            medias\.pingbase\.net|
                            mediatube\.fermalo\.fr|
                            melsungen\.peertube-host\.de|
                            merci-la-police\.fr|
                            mindlyvideos\.com|
                            mirror\.peertube\.metalbanana\.net|
                            mirrored\.rocks|
                            mix\.video|
                            mountaintown\.video|
                            movies\.metricsmaster\.eu|
                            mtube\.mooo\.com|
                            mytube\.kn-cloud\.de|
                            mytube\.le5emeaxe\.fr|
                            mytube\.madzel\.de|
                            nadajemy\.com|
                            nanawel-peertube\.dyndns\.org|
                            neat\.tube|
                            nethack\.tv|
                            nicecrew\.tv|
                            nightshift\.minnix\.dev|
                            nolog\.media|
                            nyltube\.nylarea\.com|
                            ocfedtest\.hosted\.spacebear\.ee|
                            openmedia\.edunova\.it|
                            p2ptv\.ru|
                            p\.eertu\.be|
                            p\.lu|
                            pastafriday\.club|
                            patriottube\.sonsofliberty\.red|
                            pcbu\.nl|
                            peer\.azurs\.fr|
                            peer\.d0g4\.me|
                            peer\.lukeog\.com|
                            peer\.madiator\.cloud|
                            peer\.raise-uav\.com|
                            peershare\.togart\.de|
                            peertube-blablalinux\.be|
                            peertube-demo\.learning-hub\.fr|
                            peertube-docker\.cpy\.re|
                            peertube-eu\.howlround\.com|
                            peertube-u5014\.vm\.elestio\.app|
                            peertube-us\.howlround\.com|
                            peertube\.020\.pl|
                            peertube\.0x5e\.eu|
                            peertube\.1984\.cz|
                            peertube\.2i2l\.net|
                            peertube\.adjutor\.xyz|
                            peertube\.adresse\.data\.gouv\.fr|
                            peertube\.alpharius\.io|
                            peertube\.am-networks\.fr|
                            peertube\.anduin\.net|
                            peertube\.anti-logic\.com|
                            peertube\.arch-linux\.cz|
                            peertube\.art3mis\.de|
                            peertube\.artsrn\.ualberta\.ca|
                            peertube\.askan\.info|
                            peertube\.astral0pitek\.synology\.me|
                            peertube\.atsuchan\.page|
                            peertube\.automat\.click|
                            peertube\.b38\.rural-it\.org|
                            peertube\.be|
                            peertube\.beeldengeluid\.nl|
                            peertube\.bgzashtita\.es|
                            peertube\.bike|
                            peertube\.bildung-ekhn\.de|
                            peertube\.biz|
                            peertube\.br0\.fr|
                            peertube\.bridaahost\.ynh\.fr|
                            peertube\.bubbletea\.dev|
                            peertube\.bubuit\.net|
                            peertube\.cabaal\.net|
                            peertube\.chatinbit\.com|
                            peertube\.chaunchy\.com|
                            peertube\.chir\.rs|
                            peertube\.christianpacaud\.com|
                            peertube\.chtisurel\.net|
                            peertube\.chuggybumba\.com|
                            peertube\.cipherbliss\.com|
                            peertube\.cirkau\.art|
                            peertube\.cloud\.nerdraum\.de|
                            peertube\.cloud\.sans\.pub|
                            peertube\.coko\.foundation|
                            peertube\.communecter\.org|
                            peertube\.concordia\.social|
                            peertube\.corrigan\.xyz|
                            peertube\.cpge-brizeux\.fr|
                            peertube\.ctseuro\.com|
                            peertube\.cuatrolibertades\.org|
                            peertube\.cube4fun\.net|
                            peertube\.dair-institute\.org|
                            peertube\.davigge\.com|
                            peertube\.dc\.pini\.fr|
                            peertube\.deadtom\.me|
                            peertube\.debian\.social|
                            peertube\.delta0189\.xyz|
                            peertube\.demonix\.fr|
                            peertube\.designersethiques\.org|
                            peertube\.desmu\.fr|
                            peertube\.devol\.it|
                            peertube\.dk|
                            peertube\.doesstuff\.social|
                            peertube\.eb8\.org|
                            peertube\.education-forum\.com|
                            peertube\.elforcer\.ru|
                            peertube\.em\.id\.lv|
                            peertube\.ethibox\.fr|
                            peertube\.eu\.org|
                            peertube\.european-pirates\.eu|
                            peertube\.eus|
                            peertube\.euskarabildua\.eus|
                            peertube\.expi\.studio|
                            peertube\.familie-berner\.de|
                            peertube\.familleboisteau\.fr|
                            peertube\.fedihost\.website|
                            peertube\.fenarinarsa\.com|
                            peertube\.festnoz\.de|
                            peertube\.forteza\.fr|
                            peertube\.freestorm\.online|
                            peertube\.functional\.cafe|
                            peertube\.gaminglinux\.fr|
                            peertube\.gargantia\.fr|
                            peertube\.geekgalaxy\.fr|
                            peertube\.gemlog\.ca|
                            peertube\.genma\.fr|
                            peertube\.get-racing\.de|
                            peertube\.ghis94\.ovh|
                            peertube\.gidikroon\.eu|
                            peertube\.giftedmc\.com|
                            peertube\.grosist\.fr|
                            peertube\.gruntwerk\.org|
                            peertube\.gsugambit\.com|
                            peertube\.hackerfoo\.com|
                            peertube\.hellsite\.net|
                            peertube\.helvetet\.eu|
                            peertube\.histoirescrepues\.fr|
                            peertube\.home\.x0r\.fr|
                            peertube\.hyperfreedom\.org|
                            peertube\.ichigo\.everydayimshuflin\.com|
                            peertube\.ifwo\.eu|
                            peertube\.in\.ua|
                            peertube\.inapurna\.org|
                            peertube\.informaction\.info|
                            peertube\.interhop\.org|
                            peertube\.it|
                            peertube\.it-arts\.net|
                            peertube\.jensdiemer\.de|
                            peertube\.johntheserg\.al|
                            peertube\.kaleidos\.net|
                            peertube\.kalua\.im|
                            peertube\.kcore\.org|
                            peertube\.keazilla\.net|
                            peertube\.klaewyss\.fr|
                            peertube\.kleph\.eu|
                            peertube\.kodein\.be|
                            peertube\.kooperatywa\.tech|
                            peertube\.kriom\.net|
                            peertube\.kx\.studio|
                            peertube\.kyriog\.eu|
                            peertube\.la-famille-muller\.fr|
                            peertube\.labeuropereunion\.eu|
                            peertube\.lagvoid\.com|
                            peertube\.lhc\.net\.br|
                            peertube\.libresolutions\.network|
                            peertube\.libretic\.fr|
                            peertube\.librosphere\.fr|
                            peertube\.logilab\.fr|
                            peertube\.lon\.tv|
                            peertube\.louisematic\.site|
                            peertube\.luckow\.org|
                            peertube\.luga\.at|
                            peertube\.lyceeconnecte\.fr|
                            peertube\.madixam\.xyz|
                            peertube\.magicstone\.dev|
                            peertube\.marienschule\.de|
                            peertube\.marud\.fr|
                            peertube\.maxweiss\.io|
                            peertube\.miguelcr\.me|
                            peertube\.mikemestnik\.net|
                            peertube\.mobilsicher\.de|
                            peertube\.monlycee\.net|
                            peertube\.mxinfo\.fr|
                            peertube\.naln1\.ca|
                            peertube\.netzbegruenung\.de|
                            peertube\.nicolastissot\.fr|
                            peertube\.nogafam\.fr|
                            peertube\.normalgamingcommunity\.cz|
                            peertube\.nz|
                            peertube\.offerman\.com|
                            peertube\.ohioskates\.com|
                            peertube\.onionstorm\.net|
                            peertube\.opencloud\.lu|
                            peertube\.otakufarms\.com|
                            peertube\.paladyn\.org|
                            peertube\.pix-n-chill\.fr|
                            peertube\.r2\.enst\.fr|
                            peertube\.r5c3\.fr|
                            peertube\.redpill-insight\.com|
                            peertube\.researchinstitute\.at|
                            peertube\.revelin\.fr|
                            peertube\.rlp\.schule|
                            peertube\.rokugan\.fr|
                            peertube\.rougevertbleu\.tv|
                            peertube\.roundpond\.net|
                            peertube\.rural-it\.org|
                            peertube\.satoshishop\.de|
                            peertube\.scyldings\.com|
                            peertube\.securitymadein\.lu|
                            peertube\.semperpax\.com|
                            peertube\.semweb\.pro|
                            peertube\.sensin\.eu|
                            peertube\.sidh\.bzh|
                            peertube\.skorpil\.cz|
                            peertube\.smertrios\.com|
                            peertube\.sqweeb\.net|
                            peertube\.stattzeitung\.org|
                            peertube\.stream|
                            peertube\.su|
                            peertube\.swrs\.net|
                            peertube\.takeko\.cyou|
                            peertube\.taxinachtegel\.de|
                            peertube\.teftera\.com|
                            peertube\.teutronic-services\.de|
                            peertube\.ti-fr\.com|
                            peertube\.tiennot\.net|
                            peertube\.tmp\.rcp\.tf|
                            peertube\.tspu\.edu\.ru|
                            peertube\.tv|
                            peertube\.tweb\.tv|
                            peertube\.underworld\.fr|
                            peertube\.vapronva\.pw|
                            peertube\.veen\.world|
                            peertube\.vesdia\.eu|
                            peertube\.virtual-assembly\.org|
                            peertube\.viviers-fibre\.net|
                            peertube\.vlaki\.cz|
                            peertube\.wiesbaden\.social|
                            peertube\.wivodaim\.net|
                            peertube\.wtf|
                            peertube\.wtfayla\.net|
                            peertube\.xrcb\.cat|
                            peertube\.xwiki\.com|
                            peertube\.zd\.do|
                            peertube\.zetamc\.net|
                            peertube\.zmuuf\.org|
                            peertube\.zoz-serv\.org|
                            peertube\.zwindler\.fr|
                            peervideo\.ru|
                            periscope\.numenaute\.org|
                            pete\.warpnine\.de|
                            petitlutinartube\.fr|
                            phijkchu\.com|
                            phoenixproject\.group|
                            piraten\.space|
                            pirtube\.calut\.fr|
                            pityu\.flaki\.hu|
                            play\.mittdata\.se|
                            player\.ojamajo\.moe|
                            podlibre\.video|
                            portal\.digilab\.nfa\.cz|
                            private\.fedimovie\.com|
                            pt01\.lehrerfortbildung-bw\.de|
                            pt\.diaspodon\.fr|
                            pt\.freedomwolf\.cc|
                            pt\.gordons\.gen\.nz|
                            pt\.ilyamikcoder\.com|
                            pt\.irnok\.net|
                            pt\.mezzo\.moe|
                            pt\.na4\.eu|
                            pt\.netcraft\.ch|
                            pt\.rwx\.ch|
                            pt\.sfunk1x\.com|
                            pt\.thishorsie\.rocks|
                            pt\.vern\.cc|
                            ptb\.lunarviews\.net|
                            ptube\.de|
                            ptube\.ranranhome\.info|
                            puffy\.tube|
                            puppet\.zone|
                            qtube\.qlyoung\.net|
                            quantube\.win|
                            rankett\.net|
                            replay\.jres\.org|
                            review\.peertube\.biz|
                            sdmtube\.fr|
                            secure\.direct-live\.net|
                            secure\.scanovid\.com|
                            seka\.pona\.la|
                            serv3\.wiki-tube\.de|
                            skeptube\.fr|
                            social\.fedimovie\.com|
                            socpeertube\.ru|
                            sovran\.video|
                            special\.videovortex\.tv|
                            spectra\.video|
                            stl1988\.peertube-host\.de|
                            stream\.biovisata\.lt|
                            stream\.conesphere\.cloud|
                            stream\.elven\.pw|
                            stream\.jurnalfm\.md|
                            stream\.k-prod\.fr|
                            stream\.litera\.tools|
                            stream\.nuemedia\.se|
                            stream\.rlp-media\.de|
                            stream\.vrse\.be|
                            studios\.racer159\.com|
                            styxhexenhammer666\.com|
                            syrteplay\.obspm\.fr|
                            t\.0x0\.st|
                            tbh\.co-shaoghal\.net|
                            test-fab\.ynh\.fr|
                            testube\.distrilab\.fr|
                            tgi\.hosted\.spacebear\.ee|
                            theater\.ethernia\.net|
                            thecool\.tube|
                            thevideoverse\.com|
                            tilvids\.com|
                            tinkerbetter\.tube|
                            tinsley\.video|
                            trailers\.ddigest\.com|
                            tube-action-educative\.apps\.education\.fr|
                            tube-arts-lettres-sciences-humaines\.apps\.education\.fr|
                            tube-cycle-2\.apps\.education\.fr|
                            tube-cycle-3\.apps\.education\.fr|
                            tube-education-physique-et-sportive\.apps\.education\.fr|
                            tube-enseignement-professionnel\.apps\.education\.fr|
                            tube-institutionnel\.apps\.education\.fr|
                            tube-langues-vivantes\.apps\.education\.fr|
                            tube-maternelle\.apps\.education\.fr|
                            tube-numerique-educatif\.apps\.education\.fr|
                            tube-sciences-technologies\.apps\.education\.fr|
                            tube-test\.apps\.education\.fr|
                            tube1\.perron-service\.de|
                            tube\.9minuti\.it|
                            tube\.abolivier\.bzh|
                            tube\.alado\.space|
                            tube\.amic37\.fr|
                            tube\.area404\.cloud|
                            tube\.arthack\.nz|
                            tube\.asulia\.fr|
                            tube\.awkward\.company|
                            tube\.azbyka\.ru|
                            tube\.azkware\.net|
                            tube\.bartrip\.me\.uk|
                            tube\.belowtoxic\.media|
                            tube\.bingle\.plus|
                            tube\.bit-friends\.de|
                            tube\.bstly\.de|
                            tube\.chosto\.me|
                            tube\.cms\.garden|
                            tube\.communia\.org|
                            tube\.cyberia\.club|
                            tube\.cybershock\.life|
                            tube\.dembased\.xyz|
                            tube\.dev\.displ\.eu|
                            tube\.digitalesozialearbeit\.de|
                            tube\.distrilab\.fr|
                            tube\.doortofreedom\.org|
                            tube\.dsocialize\.net|
                            tube\.e-jeremy\.com|
                            tube\.ebin\.club|
                            tube\.elemac\.fr|
                            tube\.erzbistum-hamburg\.de|
                            tube\.exozy\.me|
                            tube\.fdn\.fr|
                            tube\.fedi\.quebec|
                            tube\.fediverse\.at|
                            tube\.felinn\.org|
                            tube\.flokinet\.is|
                            tube\.foad\.me\.uk|
                            tube\.freepeople\.fr|
                            tube\.friloux\.me|
                            tube\.froth\.zone|
                            tube\.fulda\.social|
                            tube\.futuretic\.fr|
                            tube\.g1zm0\.de|
                            tube\.g4rf\.net|
                            tube\.gaiac\.io|
                            tube\.geekyboo\.net|
                            tube\.genb\.de|
                            tube\.ghk-academy\.info|
                            tube\.gi-it\.de|
                            tube\.grap\.coop|
                            tube\.graz\.social|
                            tube\.grin\.hu|
                            tube\.hokai\.lol|
                            tube\.int5\.net|
                            tube\.interhacker\.space|
                            tube\.invisible\.ch|
                            tube\.io18\.top|
                            tube\.itsg\.host|
                            tube\.jeena\.net|
                            tube\.kh-berlin\.de|
                            tube\.kockatoo\.org|
                            tube\.kotur\.org|
                            tube\.koweb\.fr|
                            tube\.la-dina\.net|
                            tube\.lab\.nrw|
                            tube\.lacaveatonton\.ovh|
                            tube\.laurent-malys\.fr|
                            tube\.leetdreams\.ch|
                            tube\.linkse\.media|
                            tube\.lokad\.com|
                            tube\.lucie-philou\.com|
                            tube\.media-techport\.de|
                            tube\.morozoff\.pro|
                            tube\.neshweb\.net|
                            tube\.nestor\.coop|
                            tube\.network\.europa\.eu|
                            tube\.nicfab\.eu|
                            tube\.nieuwwestbrabant\.nl|
                            tube\.nogafa\.org|
                            tube\.novg\.net|
                            tube\.nox-rhea\.org|
                            tube\.nuagelibre\.fr|
                            tube\.numerique\.gouv\.fr|
                            tube\.nuxnik\.com|
                            tube\.nx12\.net|
                            tube\.octaplex\.net|
                            tube\.oisux\.org|
                            tube\.okcinfo\.news|
                            tube\.onlinekirche\.net|
                            tube\.opportunis\.me|
                            tube\.oraclefilms\.com|
                            tube\.org\.il|
                            tube\.pacapime\.ovh|
                            tube\.parinux\.org|
                            tube\.pastwind\.top|
                            tube\.picasoft\.net|
                            tube\.pilgerweg-21\.de|
                            tube\.pmj\.rocks|
                            tube\.pol\.social|
                            tube\.ponsonaille\.fr|
                            tube\.portes-imaginaire\.org|
                            tube\.public\.apolut\.net|
                            tube\.pustule\.org|
                            tube\.pyngu\.com|
                            tube\.querdenken-711\.de|
                            tube\.rebellion\.global|
                            tube\.reseau-canope\.fr|
                            tube\.rhythms-of-resistance\.org|
                            tube\.risedsky\.ovh|
                            tube\.rooty\.fr|
                            tube\.rsi\.cnr\.it|
                            tube\.ryne\.moe|
                            tube\.schleuss\.online|
                            tube\.schule\.social|
                            tube\.sekretaerbaer\.net|
                            tube\.shanti\.cafe|
                            tube\.shela\.nu|
                            tube\.skrep\.in|
                            tube\.sleeping\.town|
                            tube\.sp-codes\.de|
                            tube\.spdns\.org|
                            tube\.systerserver\.net|
                            tube\.systest\.eu|
                            tube\.tappret\.fr|
                            tube\.techeasy\.org|
                            tube\.thierrytalbert\.fr|
                            tube\.tinfoil-hat\.net|
                            tube\.toldi\.eu|
                            tube\.tpshd\.de|
                            tube\.trax\.im|
                            tube\.troopers\.agency|
                            tube\.ttk\.is|
                            tube\.tuxfriend\.fr|
                            tube\.tylerdavis\.xyz|
                            tube\.ullihome\.de|
                            tube\.ulne\.be|
                            tube\.undernet\.uy|
                            tube\.vrpnet\.org|
                            tube\.wolfe\.casa|
                            tube\.xd0\.de|
                            tube\.xn--baw-joa\.social|
                            tube\.xy-space\.de|
                            tube\.yapbreak\.fr|
                            tubedu\.org|
                            tubulus\.openlatin\.org|
                            turtleisland\.video|
                            tututu\.tube|
                            tv\.adast\.dk|
                            tv\.adn\.life|
                            tv\.arns\.lt|
                            tv\.atmx\.ca|
                            tv\.based\.quest|
                            tv\.farewellutopia\.com|
                            tv\.filmfreedom\.net|
                            tv\.gravitons\.org|
                            tv\.io\.seg\.br|
                            tv\.lumbung\.space|
                            tv\.pirateradio\.social|
                            tv\.pirati\.cz|
                            tv\.santic-zombie\.ru|
                            tv\.undersco\.re|
                            tv\.zonepl\.net|
                            tvox\.ru|
                            twctube\.twc-zone\.eu|
                            twobeek\.com|
                            urbanists\.video|
                            v\.9tail\.net|
                            v\.basspistol\.org|
                            v\.j4\.lc|
                            v\.kisombrella\.top|
                            v\.koa\.im|
                            v\.kyaru\.xyz|
                            v\.lor\.sh|
                            v\.mkp\.ca|
                            v\.posm\.gay|
                            v\.slaycer\.top|
                            veedeo\.org|
                            vhs\.absturztau\.be|
                            vid\.cthos\.dev|
                            vid\.kinuseka\.us|
                            vid\.mkp\.ca|
                            vid\.nocogabriel\.fr|
                            vid\.norbipeti\.eu|
                            vid\.northbound\.online|
                            vid\.ohboii\.de|
                            vid\.plantplotting\.co\.uk|
                            vid\.pretok\.tv|
                            vid\.prometheus\.systems|
                            vid\.soafen\.love|
                            vid\.twhtv\.club|
                            vid\.wildeboer\.net|
                            video-cave-v2\.de|
                            video-liberty\.com|
                            video\.076\.ne\.jp|
                            video\.1146\.nohost\.me|
                            video\.9wd\.eu|
                            video\.abraum\.de|
                            video\.ados\.accoord\.fr|
                            video\.amiga-ng\.org|
                            video\.anartist\.org|
                            video\.asgardius\.company|
                            video\.audiovisuel-participatif\.org|
                            video\.bards\.online|
                            video\.barkoczy\.social|
                            video\.benetou\.fr|
                            video\.beyondwatts\.social|
                            video\.bgeneric\.net|
                            video\.bilecik\.edu\.tr|
                            video\.blast-info\.fr|
                            video\.bmu\.cloud|
                            video\.catgirl\.biz|
                            video\.causa-arcana\.com|
                            video\.chasmcity\.net|
                            video\.chbmeyer\.de|
                            video\.cigliola\.com|
                            video\.citizen4\.eu|
                            video\.clumsy\.computer|
                            video\.cnnumerique\.fr|
                            video\.cnr\.it|
                            video\.cnt\.social|
                            video\.coales\.co|
                            video\.comune\.trento\.it|
                            video\.coyp\.us|
                            video\.csc49\.fr|
                            video\.davduf\.net|
                            video\.davejansen\.com|
                            video\.dlearning\.nl|
                            video\.dnfi\.no|
                            video\.dresden\.network|
                            video\.drgnz\.club|
                            video\.dudenas\.lt|
                            video\.eientei\.org|
                            video\.ellijaymakerspace\.org|
                            video\.emergeheart\.info|
                            video\.eradicatinglove\.xyz|
                            video\.everythingbagel\.me|
                            video\.extremelycorporate\.ca|
                            video\.fabiomanganiello\.com|
                            video\.fedi\.bzh|
                            video\.fhtagn\.org|
                            video\.firehawk-systems\.com|
                            video\.fox-romka\.ru|
                            video\.fuss\.bz\.it|
                            video\.glassbeadcollective\.org|
                            video\.graine-pdl\.org|
                            video\.gyt\.is|
                            video\.hainry\.fr|
                            video\.hardlimit\.com|
                            video\.hostux\.net|
                            video\.igem\.org|
                            video\.infojournal\.fr|
                            video\.internet-czas-dzialac\.pl|
                            video\.interru\.io|
                            video\.ipng\.ch|
                            video\.ironsysadmin\.com|
                            video\.islameye\.com|
                            video\.jacen\.moe|
                            video\.jadin\.me|
                            video\.jeffmcbride\.net|
                            video\.jigmedatse\.com|
                            video\.kuba-orlik\.name|
                            video\.lacalligramme\.fr|
                            video\.lanceurs-alerte\.fr|
                            video\.laotra\.red|
                            video\.lapineige\.fr|
                            video\.laraffinerie\.re|
                            video\.lavolte\.net|
                            video\.liberta\.vip|
                            video\.libreti\.net|
                            video\.licentia\.net|
                            video\.linc\.systems|
                            video\.linux\.it|
                            video\.linuxtrent\.it|
                            video\.liveitlive\.show|
                            video\.lono\.space|
                            video\.lrose\.de|
                            video\.lunago\.net|
                            video\.lundi\.am|
                            video\.lycee-experimental\.org|
                            video\.maechler\.cloud|
                            video\.marcorennmaus\.de|
                            video\.mass-trespass\.uk|
                            video\.matomocamp\.org|
                            video\.medienzentrum-harburg\.de|
                            video\.mentality\.rip|
                            video\.metaversum\.wtf|
                            video\.midreality\.com|
                            video\.mttv\.it|
                            video\.mugoreve\.fr|
                            video\.mxtthxw\.art|
                            video\.mycrowd\.ca|
                            video\.niboe\.info|
                            video\.nogafam\.es|
                            video\.nstr\.no|
                            video\.occm\.cc|
                            video\.off-investigation\.fr|
                            video\.olos311\.org|
                            video\.ordinobsolete\.fr|
                            video\.osvoj\.ru|
                            video\.ourcommon\.cloud|
                            video\.ozgurkon\.org|
                            video\.pcf\.fr|
                            video\.pcgaldo\.com|
                            video\.phyrone\.de|
                            video\.poul\.org|
                            video\.publicspaces\.net|
                            video\.pullopen\.xyz|
                            video\.r3s\.nrw|
                            video\.rainevixen\.com|
                            video\.resolutions\.it|
                            video\.retroedge\.tech|
                            video\.rhizome\.org|
                            video\.rlp-media\.de|
                            video\.rs-einrich\.de|
                            video\.rubdos\.be|
                            video\.sadmin\.io|
                            video\.sftblw\.moe|
                            video\.shitposter\.club|
                            video\.simplex-software\.ru|
                            video\.slipfox\.xyz|
                            video\.snug\.moe|
                            video\.software-fuer-engagierte\.de|
                            video\.soi\.ch|
                            video\.sonet\.ws|
                            video\.surazal\.net|
                            video\.taskcards\.eu|
                            video\.team-lcbs\.eu|
                            video\.techforgood\.social|
                            video\.telemillevaches\.net|
                            video\.thepolarbear\.co\.uk|
                            video\.thinkof\.name|
                            video\.tii\.space|
                            video\.tkz\.es|
                            video\.trankil\.info|
                            video\.triplea\.fr|
                            video\.tum\.social|
                            video\.turbo\.chat|
                            video\.uriopss-pdl\.fr|
                            video\.ustim\.ru|
                            video\.ut0pia\.org|
                            video\.vaku\.org\.ua|
                            video\.vegafjord\.me|
                            video\.veloma\.org|
                            video\.violoncello\.ch|
                            video\.voidconspiracy\.band|
                            video\.wakkeren\.nl|
                            video\.windfluechter\.org|
                            video\.ziez\.eu|
                            videos-passages\.huma-num\.fr|
                            videos\.aadtp\.be|
                            videos\.ahp-numerique\.fr|
                            videos\.alamaisondulibre\.org|
                            videos\.archigny\.net|
                            videos\.aroaduntraveled\.com|
                            videos\.b4tech\.org|
                            videos\.benjaminbrady\.ie|
                            videos\.bik\.opencloud\.lu|
                            videos\.cloudron\.io|
                            videos\.codingotaku\.com|
                            videos\.coletivos\.org|
                            videos\.collate\.social|
                            videos\.danksquad\.org|
                            videos\.digitaldragons\.eu|
                            videos\.dromeadhere\.fr|
                            videos\.explain-it\.org|
                            videos\.factsonthegroundshow\.com|
                            videos\.foilen\.com|
                            videos\.fsci\.in|
                            videos\.gamercast\.net|
                            videos\.gianmarco\.gg|
                            videos\.globenet\.org|
                            videos\.grafo\.zone|
                            videos\.hauspie\.fr|
                            videos\.hush\.is|
                            videos\.hyphalfusion\.network|
                            videos\.icum\.to|
                            videos\.im\.allmendenetz\.de|
                            videos\.jacksonchen666\.com|
                            videos\.john-livingston\.fr|
                            videos\.knazarov\.com|
                            videos\.kuoushi\.com|
                            videos\.laliguepaysdelaloire\.org|
                            videos\.lemouvementassociatif-pdl\.org|
                            videos\.leslionsfloorball\.fr|
                            videos\.librescrum\.org|
                            videos\.mastodont\.cat|
                            videos\.metus\.ca|
                            videos\.miolo\.org|
                            videos\.offroad\.town|
                            videos\.openmandriva\.org|
                            videos\.parleur\.net|
                            videos\.pcorp\.us|
                            videos\.pop\.eu\.com|
                            videos\.rampin\.org|
                            videos\.rauten\.co\.za|
                            videos\.ritimo\.org|
                            videos\.sarcasmstardust\.com|
                            videos\.scanlines\.xyz|
                            videos\.shmalls\.pw|
                            videos\.stadtfabrikanten\.org|
                            videos\.supertuxkart\.net|
                            videos\.testimonia\.org|
                            videos\.thinkerview\.com|
                            videos\.torrenezzi10\.xyz|
                            videos\.trom\.tf|
                            videos\.utsukta\.org|
                            videos\.viorsan\.com|
                            videos\.wherelinux\.xyz|
                            videos\.wikilibriste\.fr|
                            videos\.yesil\.club|
                            videos\.yeswiki\.net|
                            videotube\.duckdns\.org|
                            vids\.capypara\.de|
                            vids\.roshless\.me|
                            vids\.stary\.pc\.pl|
                            vids\.tekdmn\.me|
                            vidz\.julien\.ovh|
                            views\.southfox\.me|
                            virtual-girls-are\.definitely-for\.me|
                            viste\.pt|
                            vnchich\.com|
                            vnop\.org|
                            vod\.newellijay\.tv|
                            voluntarytube\.com|
                            vtr\.chikichiki\.tube|
                            vulgarisation-informatique\.fr|
                            watch\.easya\.solutions|
                            watch\.goodluckgabe\.life|
                            watch\.ignorance\.eu|
                            watch\.jimmydore\.com|
                            watch\.libertaria\.space|
                            watch\.nuked\.social|
                            watch\.ocaml\.org|
                            watch\.thelema\.social|
                            watch\.tubelab\.video|
                            web-fellow\.de|
                            webtv\.vandoeuvre\.net|
                            wetubevid\.online|
                            wikileaks\.video|
                            wiwi\.video|
                            wow\.such\.disappointment\.fail|
                            www\.jvideos\.net|
                            www\.kotikoff\.net|
                            www\.makertube\.net|
                            www\.mypeer\.tube|
                            www\.nadajemy\.com|
                            www\.neptube\.io|
                            www\.rocaguinarda\.tv|
                            www\.vnshow\.net|
                            xxivproduction\.video|
                            yt\.orokoro\.ru|
                            ytube\.retronerd\.at|
                            zumvideo\.de|

                            # from youtube-dl
                            peertube\.rainbowswingers\.net|
                            tube\.stanisic\.nl|
                            peer\.suiri\.us|
                            medias\.libox\.fr|
                            videomensoif\.ynh\.fr|
                            peertube\.travelpandas\.eu|
                            peertube\.rachetjay\.fr|
                            peertube\.montecsys\.fr|
                            tube\.eskuero\.me|
                            peer\.tube|
                            peertube\.umeahackerspace\.se|
                            tube\.nx-pod\.de|
                            video\.monsieurbidouille\.fr|
                            tube\.openalgeria\.org|
                            vid\.lelux\.fi|
                            video\.anormallostpod\.ovh|
                            tube\.crapaud-fou\.org|
                            peertube\.stemy\.me|
                            lostpod\.space|
                            exode\.me|
                            peertube\.snargol\.com|
                            vis\.ion\.ovh|
                            videosdulib\.re|
                            v\.mbius\.io|
                            videos\.judrey\.eu|
                            peertube\.osureplayviewer\.xyz|
                            peertube\.mathieufamily\.ovh|
                            www\.videos-libr\.es|
                            fightforinfo\.com|
                            peertube\.fediverse\.ru|
                            peertube\.oiseauroch\.fr|
                            video\.nesven\.eu|
                            v\.bearvideo\.win|
                            video\.qoto\.org|
                            justporn\.cc|
                            video\.vny\.fr|
                            peervideo\.club|
                            tube\.taker\.fr|
                            peertube\.chantierlibre\.org|
                            tube\.ipfixe\.info|
                            tube\.kicou\.info|
                            tube\.dodsorf\.as|
                            videobit\.cc|
                            video\.yukari\.moe|
                            videos\.elbinario\.net|
                            hkvideo\.live|
                            pt\.tux\.tf|
                            www\.hkvideo\.live|
                            FIGHTFORINFO\.com|
                            pt\.765racing\.com|
                            peertube\.gnumeria\.eu\.org|
                            nordenmedia\.com|
                            peertube\.co\.uk|
                            tube\.darfweb\.eu|
                            tube\.kalah-france\.org|
                            0ch\.in|
                            vod\.mochi\.academy|
                            film\.node9\.org|
                            peertube\.hatthieves\.es|
                            video\.fitchfamily\.org|
                            peertube\.ddns\.net|
                            video\.ifuncle\.kr|
                            video\.fdlibre\.eu|
                            tube\.22decembre\.eu|
                            peertube\.harmoniescreatives\.com|
                            tube\.fabrigli\.fr|
                            video\.thedwyers\.co|
                            video\.bruitbruit\.com|
                            peertube\.foxfam\.club|
                            peer\.philoxweb\.be|
                            videos\.bugs\.social|
                            peertube\.malbert\.xyz|
                            peertube\.bilange\.ca|
                            libretube\.net|
                            diytelevision\.com|
                            peertube\.fedilab\.app|
                            libre\.video|
                            video\.mstddntfdn\.online|
                            us\.tv|
                            peertube\.sl-network\.fr|
                            peertube\.dynlinux\.io|
                            peertube\.david\.durieux\.family|
                            peertube\.linuxrocks\.online|
                            peerwatch\.xyz|
                            v\.kretschmann\.social|
                            tube\.otter\.sh|
                            yt\.is\.nota\.live|
                            tube\.dragonpsi\.xyz|
                            peertube\.boneheadmedia\.com|
                            videos\.funkwhale\.audio|
                            watch\.44con\.com|
                            peertube\.gcaillaut\.fr|
                            peertube\.icu|
                            pony\.tube|
                            spacepub\.space|
                            tube\.stbr\.io|
                            v\.mom-gay\.faith|
                            tube\.port0\.xyz|
                            peertube\.simounet\.net|
                            play\.jergefelt\.se|
                            peertube\.zeteo\.me|
                            tube\.danq\.me|
                            peertube\.kerenon\.com|
                            tube\.fab-l3\.org|
                            tube\.calculate\.social|
                            peertube\.mckillop\.org|
                            tube\.netzspielplatz\.de|
                            vod\.ksite\.de|
                            peertube\.laas\.fr|
                            tube\.govital\.net|
                            peertube\.stephenson\.cc|
                            bistule\.nohost\.me|
                            peertube\.kajalinifi\.de|
                            video\.ploud\.jp|
                            video\.omniatv\.com|
                            peertube\.ffs2play\.fr|
                            peertube\.leboulaire\.ovh|
                            peertube\.tronic-studio\.com|
                            peertube\.public\.cat|
                            peertube\.metalbanana\.net|
                            video\.1000i100\.fr|
                            peertube\.alter-nativ-voll\.de|
                            tube\.pasa\.tf|
                            tube\.worldofhauru\.xyz|
                            pt\.kamp\.site|
                            peertube\.teleassist\.fr|
                            videos\.mleduc\.xyz|
                            conf\.tube|
                            media\.privacyinternational\.org|
                            pt\.forty-two\.nl|
                            video\.halle-leaks\.de|
                            video\.grosskopfgames\.de|
                            peertube\.schaeferit\.de|
                            peertube\.jackbot\.fr|
                            tube\.extinctionrebellion\.fr|
                            peertube\.f-si\.org|
                            video\.subak\.ovh|
                            videos\.koweb\.fr|
                            peertube\.zergy\.net|
                            peertube\.roflcopter\.fr|
                            peertube\.floss-marketing-school\.com|
                            vloggers\.social|
                            peertube\.iriseden\.eu|
                            videos\.ubuntu-paris\.org|
                            peertube\.mastodon\.host|
                            armstube\.com|
                            peertube\.s2s\.video|
                            peertube\.lol|
                            tube\.open-plug\.eu|
                            open\.tube|
                            peertube\.ch|
                            peertube\.normandie-libre\.fr|
                            peertube\.slat\.org|
                            video\.lacaveatonton\.ovh|
                            peertube\.uno|
                            peertube\.servebeer\.com|
                            peertube\.fedi\.quebec|
                            tube\.h3z\.jp|
                            tube\.plus200\.com|
                            peertube\.eric\.ovh|
                            tube\.metadocs\.cc|
                            tube\.unmondemeilleur\.eu|
                            gouttedeau\.space|
                            video\.antirep\.net|
                            nrop\.cant\.at|
                            tube\.ksl-bmx\.de|
                            tube\.plaf\.fr|
                            tube\.tchncs\.de|
                            video\.devinberg\.com|
                            hitchtube\.fr|
                            peertube\.kosebamse\.com|
                            yunopeertube\.myddns\.me|
                            peertube\.varney\.fr|
                            peertube\.anon-kenkai\.com|
                            tube\.maiti\.info|
                            tubee\.fr|
                            videos\.dinofly\.com|
                            toobnix\.org|
                            videotape\.me|
                            voca\.tube|
                            video\.heromuster\.com|
                            video\.lemediatv\.fr|
                            video\.up\.edu\.ph|
                            balafon\.video|
                            video\.ivel\.fr|
                            thickrips\.cloud|
                            pt\.laurentkruger\.fr|
                            video\.monarch-pass\.net|
                            peertube\.artica\.center|
                            video\.alternanet\.fr|
                            indymotion\.fr|
                            fanvid\.stopthatimp\.net|
                            video\.farci\.org|
                            v\.lesterpig\.com|
                            video\.okaris\.de|
                            tube\.pawelko\.net|
                            peertube\.mablr\.org|
                            tube\.fede\.re|
                            pytu\.be|
                            evertron\.tv|
                            devtube\.dev-wiki\.de|
                            raptube\.antipub\.org|
                            video\.selea\.se|
                            peertube\.mygaia\.org|
                            video\.oh14\.de|
                            peertube\.livingutopia\.org|
                            peertube\.the-penguin\.de|
                            tube\.thechangebook\.org|
                            tube\.anjara\.eu|
                            pt\.pube\.tk|
                            video\.samedi\.pm|
                            mplayer\.demouliere\.eu|
                            widemus\.de|
                            peertube\.me|
                            peertube\.zapashcanon\.fr|
                            video\.latavernedejohnjohn\.fr|
                            peertube\.pcservice46\.fr|
                            peertube\.mazzonetto\.eu|
                            video\.irem\.univ-paris-diderot\.fr|
                            video\.livecchi\.cloud|
                            alttube\.fr|
                            video\.coop\.tools|
                            video\.cabane-libre\.org|
                            peertube\.openstreetmap\.fr|
                            videos\.alolise\.org|
                            irrsinn\.video|
                            video\.antopie\.org|
                            scitech\.video|
                            tube2\.nemsia\.org|
                            video\.amic37\.fr|
                            peertube\.freeforge\.eu|
                            video\.arbitrarion\.com|
                            video\.datsemultimedia\.com|
                            stoptrackingus\.tv|
                            peertube\.ricostrongxxx\.com|
                            docker\.videos\.lecygnenoir\.info|
                            peertube\.togart\.de|
                            tube\.postblue\.info|
                            videos\.domainepublic\.net|
                            peertube\.cyber-tribal\.com|
                            video\.gresille\.org|
                            peertube\.dsmouse\.net|
                            cinema\.yunohost\.support|
                            tube\.theocevaer\.fr|
                            repro\.video|
                            tube\.4aem\.com|
                            quaziinc\.com|
                            peertube\.metawurst\.space|
                            videos\.wakapo\.com|
                            video\.ploud\.fr|
                            video\.freeradical\.zone|
                            tube\.valinor\.fr|
                            refuznik\.video|
                            pt\.kircheneuenburg\.de|
                            peertube\.asrun\.eu|
                            peertube\.lagob\.fr|
                            videos\.side-ways\.net|
                            91video\.online|
                            video\.valme\.io|
                            video\.taboulisme\.com|
                            videos-libr\.es|
                            tv\.mooh\.fr|
                            nuage\.acostey\.fr|
                            video\.monsieur-a\.fr|
                            peertube\.librelois\.fr|
                            videos\.pair2jeux\.tube|
                            videos\.pueseso\.club|
                            peer\.mathdacloud\.ovh|
                            media\.assassinate-you\.net|
                            vidcommons\.org|
                            ptube\.rousset\.nom\.fr|
                            tube\.cyano\.at|
                            videos\.squat\.net|
                            video\.iphodase\.fr|
                            peertube\.makotoworkshop\.org|
                            peertube\.serveur\.slv-valbonne\.fr|
                            vault\.mle\.party|
                            hostyour\.tv|
                            videos\.hack2g2\.fr|
                            libre\.tube|
                            pire\.artisanlogiciel\.net|
                            videos\.numerique-en-commun\.fr|
                            video\.netsyms\.com|
                            video\.die-partei\.social|
                            video\.writeas\.org|
                            peertube\.swarm\.solvingmaz\.es|
                            tube\.pericoloso\.ovh|
                            watching\.cypherpunk\.observer|
                            videos\.adhocmusic\.com|
                            tube\.rfc1149\.net|
                            peertube\.librelabucm\.org|
                            videos\.numericoop\.fr|
                            peertube\.koehn\.com|
                            peertube\.anarchmusicall\.net|
                            tube\.kampftoast\.de|
                            vid\.y-y\.li|
                            peertube\.xtenz\.xyz|
                            diode\.zone|
                            tube\.egf\.mn|
                            peertube\.nomagic\.uk|
                            visionon\.tv|
                            videos\.koumoul\.com|
                            video\.rastapuls\.com|
                            video\.mantlepro\.com|
                            video\.deadsuperhero\.com|
                            peertube\.musicstudio\.pro|
                            peertube\.we-keys\.fr|
                            artitube\.artifaille\.fr|
                            peertube\.ethernia\.net|
                            tube\.midov\.pl|
                            peertube\.fr|
                            watch\.snoot\.tube|
                            peertube\.donnadieu\.fr|
                            argos\.aquilenet\.fr|
                            tube\.nemsia\.org|
                            tube\.bruniau\.net|
                            videos\.darckoune\.moe|
                            tube\.traydent\.info|
                            dev\.videos\.lecygnenoir\.info|
                            peertube\.nayya\.org|
                            peertube\.live|
                            peertube\.mofgao\.space|
                            video\.lequerrec\.eu|
                            peertube\.amicale\.net|
                            aperi\.tube|
                            tube\.ac-lyon\.fr|
                            video\.lw1\.at|
                            www\.yiny\.org|
                            videos\.pofilo\.fr|
                            tube\.lou\.lt|
                            choob\.h\.etbus\.ch|
                            tube\.hoga\.fr|
                            peertube\.heberge\.fr|
                            video\.obermui\.de|
                            videos\.cloudfrancois\.fr|
                            betamax\.video|
                            video\.typica\.us|
                            tube\.piweb\.be|
                            video\.blender\.org|
                            peertube\.cat|
                            tube\.kdy\.ch|
                            pe\.ertu\.be|
                            peertube\.social|
                            videos\.lescommuns\.org|
                            tv\.datamol\.org|
                            videonaute\.fr|
                            dialup\.express|
                            peertube\.nogafa\.org|
                            megatube\.lilomoino\.fr|
                            peertube\.tamanoir\.foucry\.net|
                            peertube\.devosi\.org|
                            peertube\.1312\.media|
                            tube\.bootlicker\.party|
                            skeptikon\.fr|
                            video\.blueline\.mg|
                            tube\.homecomputing\.fr|
                            tube\.ouahpiti\.info|
                            video\.tedomum\.net|
                            video\.g3l\.org|
                            fontube\.fr|
                            peertube\.gaialabs\.ch|
                            tube\.kher\.nl|
                            peertube\.qtg\.fr|
                            video\.migennes\.net|
                            tube\.p2p\.legal|
                            troll\.tv|
                            videos\.iut-orsay\.fr|
                            peertube\.solidev\.net|
                            videos\.cemea\.org|
                            video\.passageenseine\.fr|
                            videos\.festivalparminous\.org|
                            peertube\.touhoppai\.moe|
                            sikke\.fi|
                            peer\.hostux\.social|
                            share\.tube|
                            peertube\.walkingmountains\.fr|
                            videos\.benpro\.fr|
                            peertube\.parleur\.net|
                            peertube\.heraut\.eu|
                            tube\.aquilenet\.fr|
                            peertube\.gegeweb\.eu|
                            framatube\.org|
                            thinkerview\.video|
                            tube\.conferences-gesticulees\.net|
                            peertube\.datagueule\.tv|
                            video\.lqdn\.fr|
                            tube\.mochi\.academy|
                            media\.zat\.im|
                            video\.colibris-outilslibres\.org|
                            tube\.svnet\.fr|
                            peertube\.video|
                            peertube2\.cpy\.re|
                            peertube3\.cpy\.re|
                            videos\.tcit\.fr|
                            peertube\.cpy\.re|
                            canard\.tube
                        ))/(?P<type>(?:a|c|w/p))/
                    (?P<id>[^/]+)
                    r~   r   Nr   r   r   r   r  r  "  s    )G!G hrJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	PelotonIEi"  yt_dlp.extractor.pelotonpelotonzBhttps?://members\.onepeloton\.com/classes/player/(?P<id>[a-f0-9]+)r}   r   Nr  r   r   r   r  r  "  s    (GGWJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	PelotonLiveIEi"  r  zpeloton:livez?https?://members\.onepeloton\.com/player/live/(?P<id>[a-f0-9]+)zPeloton Liver}   r   Nr   r   r   r   r  r  "  s    (GGTJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)PerformGroupIEi"  zyt_dlp.extractor.performgroupPerformGroupzvhttps?://player\.performgroup\.com/eplayer(?:/eplayer\.html|\.js)#/?(?P<id>[0-9a-f]{26})\.(?P<auth_token>[0-9a-z]{26})r}   r   Nr   r   r   r   r  r  "  s    -GG OJLr   r  c                       \ rS rSrSrSrSrg)PeriscopeBaseIEi"  yt_dlp.extractor.periscopePeriscopeBaser   Nr   r   r   r   r  r  "  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	PeriscopeIEi"  r  	periscopez?https?://(?:www\.)?(?:periscope|pscp)\.tv/[^/]+/(?P<id>[^/?#]+)	Periscoper}   r   Nr   r   r   r   r  r  "  s    *GGTJGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	PeriscopeUserIEi"  r  zperiscope:userz:https?://(?:www\.)?(?:periscope|pscp)\.tv/(?P<id>[^/]+)/?$zPeriscope user videosr~   r   Nr   r   r   r   r  r  "  s    *GGOJ%GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	PhilharmonieDeParisIEi"  z$yt_dlp.extractor.philharmoniedeparisPhilharmonieDeParisa  (?x)
                    https?://
                        (?:
                            live\.philharmoniedeparis\.fr/(?:[Cc]oncert/|embed(?:app)?/|misc/Playlist\.ashx\?id=)|
                            pad\.philharmoniedeparis\.fr/(?:doc/CIMU/|player\.aspx\?id=)|
                            philharmoniedeparis\.fr/fr/live/concert/|
                            otoplayer\.philharmoniedeparis\.fr/fr/embed/
                        )
                        (?P<id>\d+)
                    zPhilharmonie de Parisr   r   Nr   r   r   r   r  r  "  s    4G#G VJ%GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	PhoenixIEi"  zyt_dlp.extractor.phoenixz
phoenix.dezHhttps?://(?:www\.)?phoenix\.de/(?:[^/?#]+/)*[^/?#&]*-a-(?P<id>\d+)\.htmlr}   r   Nr   r   r   r   r  r  "  s    (GG_JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)PhotobucketIEi"  zyt_dlp.extractor.photobucketPhotobucketz`https?://(?:[a-z0-9]+\.)?photobucket\.com/.*(([\?\&]current=)|_)(?P<id>.*)\.(?P<ext>(flv)|(mp4))r}   r   Nr   r   r   r   r
  r
  "  s    ,GGxJLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)	PiaLiveIEi#  zyt_dlp.extractor.pialivePiaLivez3https?://player\.pia-live\.jp/stream/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  #  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	PiaproIEi	#  zyt_dlp.extractor.piaproPiaproz2https?://piapro\.jp/(?:t|content)/(?P<id>[\w-]+)/?piapror}   r   Nr  r   r   r   r  r  	#  s    'GGGJNLr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )	PicartoIEi#  yt_dlp.extractor.picartopicartoz9https?://(?:www.)?picarto\.tv/(?P<id>[^/#?]+)/?(?:$|[?#])r}   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )PicartoVodIEr<   r   r   s     r   r<   PicartoIE.suitable#  s(    $--c22uM8H8MMr   r   r   r   s   @r   r  r  #  s+    (GGMJLN Nr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	r  i#  r  zpicarto:vodzWhttps?://(?:www\.)?picarto\.tv/(?:videopopout|\w+(?:/profile)?/videos)/(?P<id>[^/?#&]+)r   r}   r   NrU  r   r   r   r  r  #  s    (GGmJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)PikselIEi$#  zyt_dlp.extractor.pikselPiksela  (?x)https?://
        (?:
            (?:
                player\.
                    (?:
                        olympusattelecom|
                        vibebyvista
                    )|
                (?:api|player)\.multicastmedia|
                (?:api-ovp|player)\.piksel
            )\.(?:com|tech)|
            (?:
                mz-edge\.stream\.co|
                movie-s\.nhk\.or
            )\.jp|
            vidego\.baltimorecity\.gov
        )/v/(?:refid/(?P<refid>[^/]+)/prefid/)?(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  $#  s    'GG uJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
PinkbikeIEi+#  zyt_dlp.extractor.pinkbikePinkbikezdhttps?://(?:(?:www\.)?pinkbike\.com/video/|es\.pinkbike\.org/i/kvid/kvid-y5\.swf\?id=)(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  +#  s    )GG}JLr   r  c                       \ rS rSrSrSrSrg)PinterestBaseIEi2#  yt_dlp.extractor.pinterestPinterestBaser   Nr   r   r   r   r"  r"  2#  r  r   r"  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )PinterestCollectionIEi7#  r#  PinterestCollectiona?  (?x)
        https?://(?:[^/]+\.)?pinterest\.(?:
            com|fr|de|ch|jp|cl|ca|it|co\.uk|nz|ru|com\.au|at|pt|co\.kr|es|com\.mx|
            dk|ph|th|com\.uy|co|nl|info|kr|ie|vn|com\.vn|ec|mx|in|pe|co\.at|hu|
            co\.in|co\.nz|id|com\.ec|com\.py|tw|be|uk|com\.bo|com\.pe)/(?P<username>[^/]+)/(?P<id>[^/?#&]+)r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )PinterestIEr<   r   r   s     r   r<   PinterestCollectionIE.suitable=#  r*  r   r   r   r   s   @r   r&  r&  7#  s.    *G#G fJLM Mr   r&  c                   $    \ rS rSrSrSrSrSrSrg)r)  iB#  r#  	Pinteresta7  (?x)
        https?://(?:[^/]+\.)?pinterest\.(?:
            com|fr|de|ch|jp|cl|ca|it|co\.uk|nz|ru|com\.au|at|pt|co\.kr|es|com\.mx|
            dk|ph|th|com\.uy|co|nl|info|kr|ie|vn|com\.vn|ec|mx|in|pe|co\.at|hu|
            co\.in|co\.nz|id|com\.ec|com\.py|tw|be|uk|com\.bo|com\.pe)/pin/(?:[\w-]+--)?(?P<id>\d+)r}   r   Nr   r   r   r   r)  r)  B#  s    *GG `JLr   r)  c                   $    \ rS rSrSrSrSrSrSrg)PiramideTVChannelIEiI#  yt_dlp.extractor.piramidetvPiramideTVChannelz,https?://piramide\.tv/channel/(?P<id>[\w-]+)r~   r   Nr   r   r   r   r.  r.  I#  s    +G!GAJLr   r.  c                   $    \ rS rSrSrSrSrSrSrg)PiramideTVIEiP#  r/  
PiramideTVz*https?://piramide\.tv/video/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r2  r2  P#  s    +GG?JLr   r2  c                   (    \ rS rSrSrSrSrSrSrSr	g)		PlVideoIEiW#  zyt_dlp.extractor.plvideoPlVideozMhttps?://(?:www\.)?plvideo\.ru/(?:watch\?(?:[^#]+&)?v=|shorts/)(?P<id>[\w-]+)u   Платформаr}   r   Nr   r   r   r   r5  r5  W#  s    (GGdJ"GLr   r5  c                   $    \ rS rSrSrSrSrSrSrg)PlanetMarathiIEi_#  zyt_dlp.extractor.planetmarathiPlanetMarathiz>https?://(?:www\.)?planetmarathi\.com/titles/(?P<id>[^/#&?$]+)r~   r   Nr   r   r   r   r8  r8  _#  s    .GGSJLr   r8  c                        \ rS rSrSrSrSrSrg)PlatziBaseIEif#  yt_dlp.extractor.platzi
PlatziBaseplatzir   Nr   r   r   r   r;  r;  f#  rw  r   r;  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	PlatziCourseIEil#  r<  PlatziCoursea  (?x)
                    https?://
                        (?:
                            platzi\.com/clases|           # es version
                            courses\.platzi\.com/classes  # en version
                        )/(?P<id>[^/?\#&]+)
                    r>  r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )PlatziIEr<   r   r   s     r   r<   PlatziCourseIE.suitables#  r  r   r   r|  r   s   @r   r@  r@  l#  s3    'GG kJNLJ Jr   r@  c                   (    \ rS rSrSrSrSrSrSrSr	g)	rC  ix#  r<  Platzia  (?x)
                    https?://
                        (?:
                            platzi\.com/clases|           # es version
                            courses\.platzi\.com/classes  # en version
                        )/[^/]+/(?P<id>\d+)-[^/?\#&]+
                    r>  r}   r   Nr  r   r   r   rC  rC  x#  s    'GG vJNLr   rC  c                   (    \ rS rSrSrSrSrSrSrSr	g)	PlayPlusTVIEi#  zyt_dlp.extractor.playplustv
PlayPlusTVzWhttps?://(?:www\.)?playplus\.(?:com|tv)/VOD/(?P<project_id>[0-9]+)/(?P<id>[0-9a-f]{32})
playplustvr}   r   Nr  r   r   r   rH  rH  #  s    +GGlJ!NLr   rH  c                   (    \ rS rSrSrSrSrSrSrSr	g)	PlaySuisseIEi#  zyt_dlp.extractor.playsuisse
PlaySuissezYhttps?://(?:www\.)?playsuisse\.ch/(?:watch|detail)/(?:[^#]*[?&]episodeId=)?(?P<id>[0-9]+)
playsuisser   r   Nr  r   r   r   rL  rL  #  s    +GGnJ!NLr   rL  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
PlayVidsIEi#  r  PlayVidszNhttps?://(?:www\.)?(?P<domain>playvids\.com)/(?:embed/|\w\w?/)?(?P<id>[^/?#]*)r   r}   r   NrU  r   r   r   rP  rP  #  s    )GGeJILr   rP  c                   $    \ rS rSrSrSrSrSrSrg)
PlayerFmIEi#  zyt_dlp.extractor.playerfmPlayerFmzH(?P<url>https?://(?:www\.)?player\.fm/(?:series/)?[\w-]+/(?P<id>[\w-]+))r}   r   Nr   r   r   r   rS  rS  #  s    )GG_JLr   rS  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
PlaytvakIEi#  zyt_dlp.extractor.playtvakPlaytvakzWhttps?://(?:.+?\.)?(?:playtvak|idnes|lidovky|metro)\.cz/.*\?(?:c|idvideo)=(?P<id>[^&]+)z$Playtvak.cz, iDNES.cz and Lidovky.czr}   r   Nr   r   r   r   rV  rV  #  s    )GGmJ4GLr   rV  c                   $    \ rS rSrSrSrSrSrSrg)
PlaywireIEi#  zyt_dlp.extractor.playwirePlaywirezkhttps?://(?:config|cdn)\.playwire\.com(?:/v2)?/(?P<publisher_id>\d+)/(?:videos/v2|embed|config)/(?P<id>\d+)r}   r   Nr   r   r   r   rY  rY  #  s    )GG CJLr   rY  c                       \ rS rSrSrSrSrg)PluralsightBaseIEi#  yt_dlp.extractor.pluralsightPluralsightBaser   Nr   r   r   r   r\  r\  #  r  r   r\  c                   $    \ rS rSrSrSrSrSrSrg)PluralsightCourseIEi#  r]  zpluralsight:coursezNhttps?://(?:(?:www|app)\.)?pluralsight\.com/(?:library/)?courses/(?P<id>[^/]+)r~   r   Nr   r   r   r   r`  r`  #  s    ,G"GcJLr   r`  c                   (    \ rS rSrSrSrSrSrSrSr	g)PluralsightIEi#  r]  pluralsightzBhttps?://(?:(?:www|app)\.)?pluralsight\.com/(?:training/)?player\?r}   r   Nr  r   r   r   rb  rb  #  s    ,GGXJ"NLr   rb  c                   (    \ rS rSrSrSrSrSrSrSr	g)		PlutoTVIEi#  zyt_dlp.extractor.plutotvPlutoTVa  (?x)
        https?://(?:www\.)?pluto\.tv(?:/[^/]+)?/on-demand
        /(?P<video_type>movies|series)
        /(?P<series_or_movie_slug>[^/]+)
        (?:
            (?:/seasons?/(?P<season_no>\d+))?
            (?:/episode/(?P<episode_slug>[^/]+))?
        )?
        /?(?:$|[#?])Fr   r   NrZ  r   r   r   re  re  #  s    (GG yJHLr   re  c                        \ rS rSrSrSrSrSrg)PlyrEmbedIEi#  zyt_dlp.extractor.plyr	PlyrEmbedFr   Nr   r   r   r   rh  rh  #  s    %GGJr   rh  c                   $    \ rS rSrSrSrSrSrSrg)PodbayFMChannelIEi#  yt_dlp.extractor.podbayfmPodbayFMChannelz1https?://podbay\.fm/p/(?P<id>[^/?#]+)/?(?:$|[?#])r~   r   Nr   r   r   r   rk  rk  #  s    )GGEJLr   rk  c                   $    \ rS rSrSrSrSrSrSrg)
PodbayFMIEi#  rl  PodbayFMz+https?://podbay\.fm/p/[^/?#]+/e/(?P<id>\d+)r}   r   Nr   r   r   r   ro  ro  #  s    )GG@JLr   ro  c                   $    \ rS rSrSrSrSrSrSrg)PodchaserIEi#  zyt_dlp.extractor.podchaser	Podchaserzfhttps?://(?:www\.)?podchaser\.com/podcasts/[\w-]+-(?P<podcast_id>\d+)(?:/episodes/[\w-]+-(?P<id>\d+))?r   r   Nr   r   r   r   rr  rr  #  s    *GGJLr   rr  c                   (    \ rS rSrSrSrSrSrSrSr	g)	PodomaticIEi#  zyt_dlp.extractor.podomatic	podomatica@  (?x)
                    (?P<proto>https?)://
                        (?:
                            (?P<channel>[^.]+)\.podomatic\.com/entry|
                            (?:www\.)?podomatic\.com/podcasts/(?P<channel_2>[^/]+)/episodes
                        )/
                        (?P<id>[^/?#&]+)
                Fr}   r   NrZ  r   r   r   ru  ru  #  s    *GG _JHLr   ru  c                        \ rS rSrSrSrSrSrg)PokerGoBaseIEi#  yt_dlp.extractor.pokergoPokerGoBasepokergor   Nr   r   r   r   rx  rx  #  r  r   rx  c                   (    \ rS rSrSrSrSrSrSrSr	g)	PokerGoCollectionIEi#  ry  PokerGoCollectionz=https?://(?:www\.)?pokergo\.com/collections/(?P<id>[^&$#/?]+)r{  r~   r   Nr  r   r   r   r}  r}  #  s    (G!GRJNLr   r}  c                   (    \ rS rSrSrSrSrSrSrSr	g)		PokerGoIEi#  ry  PokerGoz8https?://(?:www\.)?pokergo\.com/videos/(?P<id>[^&$#/?]+)r{  r}   r   Nr  r   r   r   r  r  #  s    (GGMJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
PolsatGoIEi$  zyt_dlp.extractor.polsatgoPolsatGozJhttps?://(?:www\.)?polsat(?:box)?go\.pl/.+/(?P<id>[0-9a-fA-F]+)(?:[/#?]|$)r  r}   r   NrU  r   r   r   r  r  $  s    )GG_JILr   r  c                   $    \ rS rSrSrSrSrSrSrg)PolskieRadioAuditionIEi$  yt_dlp.extractor.polskieradiozpolskieradio:auditionz<https?://(?:[^/]+\.)?polskieradio\.pl/audycj[ae]/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  $  s    -G%GRJLr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )PolskieRadioCategoryIEi$  r  zpolskieradio:categoryzLhttps?://(?:www\.)?polskieradio\.pl/(?:\d+(?:,[^/]+)?/|[^/]+/Tag)(?P<id>\d+)r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )PolskieRadioLegacyIEr<   r   r   s     r   r<   PolskieRadioCategoryIE.suitable$  r  r   r   r   r   s   @r   r  r  $  s+    -G%GcJLV Vr   r  c                       \ rS rSrSrSrSrg)PolskieRadioBaseIEi$  r  PolskieRadioBaser   Nr   r   r   r   r  r  $  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)PolskieRadioIEi"$  r  PolskieRadiozShttps?://(?:[^/]+\.)?(?:polskieradio(?:24)?|radiokierowcow)\.pl/artykul/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  "$  s    -GGiJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)r  i)$  r  zpolskieradio:legacyzIhttps?://(?:www\.)?polskieradio(?:24)?\.pl/\d+/\d+/[Aa]rtykul/(?P<id>\d+)r   r   Nr   r   r   r   r  r  )$  s    -G#GaJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)PolskieRadioPlayerIEi0$  r  zpolskieradio:playerz6https?://player\.polskieradio\.pl/anteny/(?P<id>[^/]+)r}   r   Nr   r   r   r   r  r  0$  s    -G#GKJLr   r  c                       \ rS rSrSrSrSrg)PolskieRadioPodcastBaseIEi7$  r  PolskieRadioPodcastBaser   Nr   r   r   r   r  r  7$  s    -G'Gr   r  c                   $    \ rS rSrSrSrSrSrSrg)PolskieRadioPodcastIEi<$  r  zpolskieradio:podcastzXhttps?://podcasty\.polskieradio\.pl/track/(?P<id>[a-f\d]{8}(?:-[a-f\d]{4}){4}[a-f\d]{8})r}   r   Nr   r   r   r   r  r  <$  s    -G$GpJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)PolskieRadioPodcastListIEiC$  r  zpolskieradio:podcast:listz7https?://podcasty\.polskieradio\.pl/podcast/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  C$  s    -G)GMJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)PopcornTVIEiJ$  zyt_dlp.extractor.popcorntv	PopcornTVzFhttps?://[^/]+\.popcorntv\.it/guarda/(?P<display_id>[^/]+)/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  J$  s    *GG\JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)PopcorntimesIEiQ$  zyt_dlp.extractor.popcorntimesPopcorntimeszHhttps?://popcorntimes\.tv/[^/]+/m/(?P<id>[^/]+)/(?P<display_id>[^/?#&]+)r}   r   Nr   r   r   r   r  r  Q$      -GG\JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
PornFlipIEiX$  zyt_dlp.extractor.pornflipPornFlipz@https?://(?:www\.)?pornflip\.com/(?:(embed|sv|v)/)?(?P<id>[^/]+)r   r}   r   NrU  r   r   r   r  r  X$  s    )GGUJILr   r  c                        \ rS rSrSrSrSrSrg)PornHubBaseIEi`$  yt_dlp.extractor.pornhubPornHubBasepornhubr   Nr   r   r   r   r  r  `$  r  r   r  c                   0    \ rS rSrSrSrSrSrSrSr	Sr
S	rg
)	PornHubIEif$  r  PornHuba  (?x)
                    https?://
                        (?:
                            (?:[^/]+\.)?
                            (?:(?P<host>pornhub(?:premium)?\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\.onion)
                            /(?:(?:view_video\.php|video/show)\?viewkey=|embed/)|
                            (?:www\.)?thumbzilla\.com/video/
                        )
                        (?P<id>[\da-z]+)
                    zPornHub and Thumbzillar  r   r}   r   Nr  r   r   r   r  r  f$  s(    (GG BJ&GNILr   r  c                        \ rS rSrSrSrSrSrg)PornHubPlaylistBaseIEip$  r  PornHubPlaylistBaser  r   Nr   r   r   r   r  r  p$  s    (G#GNr   r  c                        \ rS rSrSrSrSrSrg)PornHubPagedPlaylistBaseIEiv$  r  PornHubPagedPlaylistBaser  r   Nr   r   r   r   r  r  v$  s    (G(GNr   r  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	PornHubPagedVideoListIEi|$  r  PornHubPagedVideoListzhttps?://(?:[^/]+\.)?(?:(?P<host>pornhub(?:premium)?\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\.onion)/(?!playlist/)(?P<id>(?:[^/]+/)*[^/?#&]+)r  r~   c                    > [         R                  U5      (       d4  [        R                  U5      (       d  [        R                  U5      (       a  S$ [        TU ]  U5      $ r   )r  r<   PornHubUserIEPornHubUserVideosUploadIEr   r   s     r   r<    PornHubPagedVideoListIE.suitable$  sT     %%c**m.D.DS.I.IMfMoMopsMtMt  	,W%c*	,r   r   r|  r   s   @r   r  r  |$  s1    (G%G GJNL, ,r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	PornHubPlaylistIEi$  r  PornHubPlaylistz(?P<url>https?://(?:[^/]+\.)?(?:(?P<host>pornhub(?:premium)?\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\.onion)/playlist/(?P<id>[^/?#&]+))r  r~   r   Nr  r   r   r   r  r  $  s    (GG AJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	r  i$  r  PornHubUserz(?P<url>https?://(?:[^/]+\.)?(?:(?P<host>pornhub(?:premium)?\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\.onion)/(?:(?:user|channel)s|model|pornstar)/(?P<id>[^/?#&]+))(?:[?#&]|/(?!videos)|$)r  r~   r   Nr  r   r   r   r  r  $  s    (GG tJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	r  i$  r  PornHubUserVideosUploadz(?P<url>https?://(?:[^/]+\.)?(?:(?P<host>pornhub(?:premium)?\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\.onion)/(?:(?:user|channel)s|model|pornstar)/(?P<id>[^/]+)/videos/upload)r  r~   r   Nr  r   r   r   r  r  $  s    (G'G hJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		PornTopIEi$  yt_dlp.extractor.txxxPornTopzWhttps?://(?P<host>(?:www\.)?porntop\.com)/video/(?P<id>\d+)(?:/(?P<display_id>[^/?]+))?r   r}   r   NrU  r   r   r   r  r  $  s    %GGmJILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
PornTubeIEi$  r4  PornTubez`https?://(?:(?P<kind>www|m)\.)?porntube\.com/(?:videos/(?P<display_id>[^/]+)_|embed/)(?P<id>\d+)r   r}   r   NrU  r   r   r   r  r  $  s    )GGvJILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		PornboxIEi$  zyt_dlp.extractor.pornboxPornboxzEhttps?://(?:www\.)?pornbox\.com/application/watch-page/(?P<id>[0-9]+)r   r}   r   NrU  r   r   r   r  r  $  s    (GGZJILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	PornerBrosIEi$  r4  
PornerBroszbhttps?://(?:(?P<kind>www|m)\.)?pornerbros\.com/(?:videos/(?P<display_id>[^/]+)_|embed/)(?P<id>\d+)r   r}   r   NrU  r   r   r   r  r  $  s    )GGxJILr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
PornoVoisinesIEi$  zyt_dlp.extractor.pornovoisinesPornoVoisineszThttps?://(?:www\.)?pornovoisines\.com/videos/show/(?P<id>\d+)/(?P<display_id>[^/.]+)Fr   r}   r   Nr  r   r   r   r  r  $  s     .GGjJHILr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
	PornoXOIEi$  zyt_dlp.extractor.pornoxoPornoXOzNhttps?://(?:www\.)?pornoxo\.com/videos/(?P<id>\d+)/(?P<display_id>[^/]+)\.htmlFr   r}   r   Nr  r   r   r   r  r  $  s     (GGeJHILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	PornotubeIEi$  zyt_dlp.extractor.pornotube	PornotubezBhttps?://(?:\w+\.)?pornotube\.com/(?:[^?#]*?)/video/(?P<id>[0-9]+)r   r}   r   NrU  r   r   r   r  r  $  s    *GGXJILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
Pr0grammIEi$  zyt_dlp.extractor.pr0grammPr0grammz>https?://pr0gramm\.com\/(?:[^/?#]+/)+(?P<id>[\d]+)(?:[/?#:]|$)r   r}   r   NrU  r   r   r   r  r  $  s    )GGTJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)PrankCastIEi$  yt_dlp.extractor.prankcast	PrankCastzVhttps?://(?:www\.)?prankcast\.com/[^/?#]+/showreel/(?P<id>\d+)-(?P<display_id>[^/?#]+)r}   r   Nr   r   r   r   r  r  $  r^  r   r  c                   $    \ rS rSrSrSrSrSrSrg)PrankCastPostIEi$  r  PrankCastPostzShttps?://(?:www\.)?prankcast\.com/[^/?#]+/posts/(?P<id>\d+)-(?P<display_id>[^/?#]+)r}   r   Nr   r   r   r   r  r  $  s    *GGiJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)PremiershipRugbyIEi$  z!yt_dlp.extractor.premiershiprugbyPremiershipRugbyz@https?://(?:\w+\.)premiershiprugby\.(?:com)/watch/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  $  s    1G GWJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	PressTVIEi$  zyt_dlp.extractor.presstvPressTVzhhttps?://(?:www\.)?presstv\.ir/[^/]+/(?P<y>\d+)/(?P<m>\d+)/(?P<d>\d+)/(?P<id>\d+)/(?P<display_id>[^/]+)?r}   r   Nr   r   r   r   r  r  $  s    (GG BJLr   r  c                       \ rS rSrSrSrSrg)ProSiebenSat1BaseIEi %  yt_dlp.extractor.prosiebensat1ProSiebenSat1Baser   Nr   r   r   r   r  r   %      .G!Gr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ProSiebenSat1IEi%  r  prosiebensat1a  (?x)
                    https?://
                        (?:www\.)?
                        (?:
                            (?:beta\.)?
                            (?:
                                prosieben(?:maxx)?|sixx|sat1(?:gold)?|kabeleins(?:doku)?|the-voice-of-germany|advopedia
                            )\.(?:de|at|ch)|
                            ran\.de|fem\.com|advopedia\.de|galileo\.tv/video
                        )
                        /(?P<id>.+)
                    zProSiebenSat.1 Digitalr   r   Nr   r   r   r   r  r  %  s    .GG TJ&GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ProjectVeritasIEi%  zyt_dlp.extractor.projectveritasProjectVeritaszKhttps?://(?:www\.)?projectveritas\.com/(?P<type>news|video)/(?P<id>[^/?#]+)Fr}   r   NrZ  r   r   r   r  r  %  s    /GG`JHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)PuhuTVIEi%  yt_dlp.extractor.puhutvpuhutvz4https?://(?:www\.)?puhutv\.com/(?P<id>[^/?#&]+)-izler}   r   Nr   r   r   r   r  r  %  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)PuhuTVSerieIEi%  r  zpuhutv:seriez5https?://(?:www\.)?puhutv\.com/(?P<id>[^/?#&]+)-detayr~   r   Nr   r   r   r   r  r  %  s    'GGJJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)Puls4IEi#%  zyt_dlp.extractor.puls4Puls4z-https?://(?:www\.)?puls4\.com/(?P<id>[^?#&]+)r}   r   Nr   r   r   r   r  r  #%  s    &GGBJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	PyvideoIEi*%  zyt_dlp.extractor.pyvideoPyvideozEhttps?://(?:www\.)?pyvideo\.org/(?P<category>[^/]+)/(?P<id>[^/?#&.]+)r   r   Nr   r   r   r   r  r  *%  s    (GGZJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	QDanceIEi1%  zyt_dlp.extractor.qdanceQDancezGhttps?://(?:www\.)?q-dance\.com/network/(?:library|live)/(?P<id>[\w-]+)qdancer}   r   Nr  r   r   r   r  r  1%  s    'GG]JNLr   r  c                       \ rS rSrSrSrSrg)QQPlaylistBaseIEi9%  yt_dlp.extractor.qqmusicQQPlaylistBaser   Nr   r   r   r   r  r  9%  r   r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	QQMusicAlbumIEi>%  r  zqqmusic:albumz;https?://y\.qq\.com/n/ryqq/albumDetail/(?P<id>[0-9A-Za-z]+)u   QQ音乐 - 专辑r~   r   Nr   r   r   r   r	  r	  >%  s    (GGPJ!GLr   r	  c                       \ rS rSrSrSrSrg)QQMusicBaseIEiF%  r  QQMusicBaser   Nr   r   r   r   r  r  F%  rK  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		QQMusicIEiK%  r  qqmusicz:https?://y\.qq\.com/n/ryqq/songDetail/(?P<id>[0-9A-Za-z]+)u   QQ音乐r}   r   Nr   r   r   r   r  r  K%  s    (GGOJGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	QQMusicPlaylistIEiS%  r  zqqmusic:playlistz2https?://y\.qq\.com/n/ryqq/playlist/(?P<id>[0-9]+)u   QQ音乐 - 歌单r~   r   Nr   r   r   r   r  r  S%  s    (G GGJ!GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	QQMusicSingerIEi[%  r  zqqmusic:singerz6https?://y\.qq\.com/n/ryqq/singer/(?P<id>[0-9A-Za-z]+)u   QQ音乐 - 歌手r~   r   Nr   r   r   r   r  r  [%  s    (GGKJ!GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	QQMusicToplistIEic%  r  zqqmusic:toplistz1https?://y\.qq\.com/n/ryqq/toplist/(?P<id>[0-9]+)u   QQ音乐 - 排行榜r~   r   Nr   r   r   r   r  r  c%  s    (GGFJ$GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	QQMusicVideoIEik%  r  z
qqmusic:mvz2https?://y\.qq\.com/n/ryqq/mv/(?P<id>[0-9A-Za-z]+)u   QQ音乐 - MVr}   r   Nr   r   r   r   r  r  k%  s    (GGGJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
QingTingIEis%  zyt_dlp.extractor.qingtingQingTingzahttps?://(?:www\.|m\.)?(?:qingting\.fm|qtfm\.cn)/v?channels/(?P<channel>\d+)/programs/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  s%  s    )GGzJLr   r  c                        \ rS rSrSrSrSrSrg)QuantumTVBaseIEiz%  rD  QuantumTVBase	quantumtvr   Nr   r   r   r   r  r  z%  rc  r   r  c                   $    \ rS rSrSrSrSrSrSrg)QuantumTVIEi%  rD  	QuantumTVz(?x)https?://(?:www\.)?quantum\-tv\.com/(?:
        [^?#]+\?(?:[^#]+&)?program=(?P<vid2>\d+)
        |(?:program|watch)/[^/]+/(?P<vid1>\d+)
    )r  r   NrO  r   r   r   r   r   %  s    'GG nJ Nr   r   c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )QuantumTVLiveIEi%  rD  QuantumTVLivez(?x)https?://(?:www\.)?quantum\-tv\.com/(?:
        [^?#]+\?(?:[^#]+&)?channel=(?P<vid2>[^/?&#]+)
        |live/(?P<vid1>[^/?&#]+)
    )r  c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r   r<   r   r   s     r   r<   QuantumTVLiveIE.suitable%  r*  r   r   ru  r   s   @r   r#  r#  %  s.    'GG cJ NM Mr   r#  c                   $    \ rS rSrSrSrSrSrSrg)QuantumTVRecordingsIEi%  rD  QuantumTVRecordingszw(?x)https?://(?:www\.)?quantum\-tv\.com/(?:
        [^?#]+\?(?:[^#]+&)?recording=(?P<vid2>\d+)
        (?P<vid1>)
    )r  r   NrO  r   r   r   r(  r(  %  s    'G#G SJ Nr   r(  c                   $    \ rS rSrSrSrSrSrSrg)QuotedHTMLIEi%  r  zgeneric:quoted-htmlFr   Nr#  r   r   r   r+  r+  %  s    .G#GJGr   r+  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	R7ArticleIEi%  yt_dlp.extractor.r7	R7ArticleNz?https?://(?:[a-zA-Z]+)\.r7\.com/(?:[^/]+/)+[^/?#&]+-(?P<id>\d+)Fc                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )R7IEr<   r   r   s     r   r<   R7ArticleIE.suitable%  r
  r   r   )r   r   r    r!   r)   ro   r   rG   rP   r   r<   r"   r   r   s   @r   r-  r-  %  s0    #GGHUJHF Fr   r-  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)	r1  i%  r.  R7Na[  (?x)
                        https?://
                        (?:
                            (?:[a-zA-Z]+)\.r7\.com(?:/[^/]+)+/idmedia/|
                            noticias\.r7\.com(?:/[^/]+)+/[^/]+-|
                            player\.r7\.com/video/i/
                        )
                        (?P<id>[\da-f]{24})
                    Fr}   r   rF  r   r   r   r1  r1  %  s#    #GGH ~JHLr   r1  c                       \ rS rSrSrSrSrg)	RCSBaseIEi%  yt_dlp.extractor.rcsRCSBaser   Nr   r   r   r   r6  r6  %  r  r   r6  c                   $    \ rS rSrSrSrSrSrSrg)RCSEmbedsIEi%  r7  	RCSEmbedsa?  (?x)
                    https?://(?P<vid>video)\.
                    (?P<cdn>
                    (?:
                        rcs|
                        (?:corriere\w+\.)?corriere|
                        (?:gazzanet\.)?gazzetta
                    )\.it)
                    /video-embed/(?P<id>[^/=&\?]+?)(?:$|\?)r}   r   Nr   r   r   r   r:  r:  %  s    $GG bJLr   r:  c                   $    \ rS rSrSrSrSrSrSrg)RCSIEi%  r7  RCSa  (?x)https?://(?P<vid>video|viaggi)\.
                    (?P<cdn>
                    (?:
                        corrieredelmezzogiorno\.
                        |corrieredelveneto\.
                        |corrieredibologna\.
                        |corrierefiorentino\.
                    )?corriere\.it
                    |(?:gazzanet\.)?gazzetta\.it)
                    /(?!video-embed/)[^?#]+?/(?P<id>[^/\?]+)(?=\?|/$|$)r}   r   Nr   r   r   r   r=  r=  %  s    $GG VJLr   r=  c                   $    \ rS rSrSrSrSrSrSrg)RCSVariousIEi%  r7  
RCSVariousz(?x)https?://www\.
                    (?P<cdn>
                        leitv\.it|
                        youreporter\.it|
                        amica\.it
                    )/(?:[^/]+/)?(?P<id>[^/]+?)(?:$|\?|/)r}   r   Nr   r   r   r   r@  r@  %  s    $GG uJLr   r@  c                       \ rS rSrSrSrSrg)RCTIPlusBaseIEi%  yt_dlp.extractor.rctiRCTIPlusBaser   Nr   r   r   r   rC  rC  %  s    %GGr   rC  c                   $    \ rS rSrSrSrSrSrSrg)
RCTIPlusIEi%  rD  RCTIPluszhttps?://www\.rctiplus\.com/(?:programs/\d+?/.*?/)?(?P<type>episode|clip|extra|live-event|missed-event)/(?P<id>\d+)/(?P<display_id>[^/?#&]+)r}   r   Nr   r   r   r   rG  rG  %  s    %GG dJLr   rG  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	RCTIPlusSeriesIEi%  rD  RCTIPlusSeriesznhttps?://www\.rctiplus\.com/programs/(?P<id>\d+)/(?P<display_id>[^/?#&]+)(?:/(?P<type>episodes|extras|clips))?r   r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   rG  r<   r   r   s     r   r<   RCTIPlusSeriesIE.suitable%  r  r   r   r6
  r   s   @r   rJ  rJ  %  s3    %GG EJILL Lr   rJ  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )RCTIPlusTVIEi%  rD  
RCTIPlusTVzYhttps?://www\.rctiplus\.com/((tv/(?P<tvname>\w+))|(?P<eventname>live-event|missed-event))r}   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   rM  r   s     r   r<   RCTIPlusTVIE.suitable%  r  r   r   r   r   s   @r   rP  rP  %  s+    %GGoJLL Lr   rP  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
RDSIEi%  zyt_dlp.extractor.rdsRDSuR   https?://(?:www\.)?rds\.ca/vid(?:[eé]|%C3%A9)os/(?:[^/]+/)*(?P<id>[^/]+)-\d+\.\d+FzRDS.car}   r   Nri  r   r   r   rU  rU  %  s     $GGjJHGLr   rU  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RENTVArticleIEi%  yt_dlp.extractor.rentvRENTVArticlezDhttps?://(?:www\.)?ren\.tv/novosti/\d{4}-\d{2}-\d{2}/(?P<id>[^/?#]+)Fr}   r   NrZ  r   r   r   rX  rX  %  s    &GG\JHLr   rX  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RENTVIEi&  rY  RENTVzI(?:rentv:|https?://(?:www\.)?ren\.tv/(?:player|video/epizod)/)(?P<id>\d+)Fr}   r   NrZ  r   r   r   r\  r\  &  s    &GG_JHLr   r\  c                   $    \ rS rSrSrSrSrSrSrg)RMCDecouverteIEi&  zyt_dlp.extractor.rmcdecouverteRMCDecouvertezXhttps?://rmcdecouverte\.bfmtv\.com/(?:[^?#]*_(?P<id>\d+)|mediaplayer-direct)/?(?:[#?]|$)r}   r   Nr   r   r   r   r_  r_  &  s    .GGnJLr   r_  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
RTBFIEi&  r  RTBFz(?x)
        https?://(?:www\.)?rtbf\.be/
        (?:
            video/[^?]+\?.*\bid=|
            ouftivi/(?:[^/]+/)*[^?]+\?.*\bvideoId=|
            auvio/[^/]+\?.*\b(?P<live>l)?id=
        )(?P<id>\d+)Frtbfr}   r   Nr  r   r   r   rb  rb  &  s#    'GG pJHNLr   rb  c                   $    \ rS rSrSrSrSrSrSrg)RTDocumentryIEi&  yt_dlp.extractor.rtnewsRTDocumentryzHhttps?://rtd\.rt\.com/(?:(?:series|shows)/[^/]+|films)/(?P<id>[^/?$&#]+)r}   r   Nr   r   r   r   rf  rf  &  s    'GG]JLr   rf  c                   $    \ rS rSrSrSrSrSrSrg)RTDocumentryPlaylistIEi"&  rg  RTDocumentryPlaylistz6https?://rtd\.rt\.com/(?:series|shows)/(?P<id>[^/]+)/$r~   r   Nr   r   r   r   rj  rj  "&  s    'G$GKJLr   rj  c                   $    \ rS rSrSrSrSrSrSrg)RTL2IEi)&  zyt_dlp.extractor.rtl2rtl2zqhttps?://(?:www\.)?rtl2\.de/sendung/[^/]+/(?:video/(?P<vico_id>\d+)[^/]+/(?P<vivi_id>\d+)-|folge/)(?P<id>[^/?#]+)r}   r   Nr   r   r   r   rm  rm  )&  s    %GG IJLr   rm  c                       \ rS rSrSrSrSrg)RTLLuBaseIEi0&  yt_dlp.extractor.rtlnl	RTLLuBaser   Nr   r   r   r   rp  rp  0&  r   r   rp  c                   $    \ rS rSrSrSrSrSrSrg)RTLLuArticleIEi5&  rq  zrtl.lu:articlezThttps?://(?:(www|5minutes|today)\.)rtl\.lu/(?:[\w-]+)/(?:[\w-]+)/a/(?P<id>\d+)\.htmlr}   r   Nr   r   r   r   rt  rt  5&  s    &GGmJLr   rt  c                   $    \ rS rSrSrSrSrSrSrg)RTLLuLiveIEi<&  rq  	RTLLuLivezFhttps?://www\.rtl\.lu/(?:tele|radio)/(?P<id>live(?:-\d+)?|lauschteren)r}   r   Nr   r   r   r   rv  rv  <&  s    &GG\JLr   rv  c                   $    \ rS rSrSrSrSrSrSrg)RTLLuRadioIEiC&  rq  
RTLLuRadioz=https?://www\.rtl\.lu/radio/(?:[\w-]+)/s/(?P<id>\d+)(\.html)?r}   r   Nr   r   r   r   ry  ry  C&  s    &GGUJLr   ry  c                   $    \ rS rSrSrSrSrSrSrg)RTLLuTeleVODIEiJ&  rq  zrtl.lu:tele-vodzPhttps?://(?:www\.)?rtl\.lu/(tele/(?P<slug>[\w-]+)/v/|video/)(?P<id>\d+)(\.html)?r}   r   Nr   r   r   r   r|  r|  J&  s    &GGhJLr   r|  c                   $    \ rS rSrSrSrSrSrSrg)RTNewsIEiQ&  rg  RTNewsz7https?://(?:www\.)?rt\.com/[^/]+/(?:[^/]+/)?(?P<id>\d+)r~   r   Nr   r   r   r   r~  r~  Q&  s    'GGMJLr   r~  c                   $    \ rS rSrSrSrSrSrSrg)RTPIEiX&  zyt_dlp.extractor.rtpRTPzNhttps?://(?:www\.)?rtp\.pt/play/(?:[^/#?]+/)?p(?P<program_id>\d+)/(?P<id>e\d+)r}   r   Nr   r   r   r   r  r  X&  s    $GGeJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RTRFMIEi_&  zyt_dlp.extractor.rtrfmRTRFMzJhttps?://(?:www\.)?rtrfm\.com\.au/(?:shows|show-episode)/(?P<id>[^/?\#&]+)r}   r   Nr   r   r   r   r  r  _&  r@  r   r  c                       \ rS rSrSrSrSrg)RTVCPlayBaseIEif&  yt_dlp.extractor.rtvcplayRTVCPlayBaser   Nr   r   r   r   r  r  f&  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)RTVCKalturaIEik&  r  RTVCKalturaz8https?://media\.rtvc\.gov\.co/kalturartvc/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  k&  s    )GGOJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RTVCPlayEmbedIEir&  r  RTVCPlayEmbedz4https?://(?:www\.)?rtvcplay\.co/embed/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  r&  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)
RTVCPlayIEiy&  r  RTVCPlayzWhttps?://(?:www\.)?rtvcplay\.co/(?P<category>(?!embed)[^/]+)/(?:[^?#]+/)?(?P<id>[\w-]+)r   r   Nr   r   r   r   r  r  y&  s    )GGmJLr   r  c                       \ rS rSrSrSrSrg)
RTVEBaseIEi&  yt_dlp.extractor.rtveRTVEBaser   Nr   r   r   r   r  r  &  r  r   r  c                   ,    \ rS rSrSrSrSS/rSrSrSr	g	)
RTVEALaCartaIEi&  r  zrtve.es:alacartazohttps?://(?:www\.)?rtve\.es/(?:m/)?(?:(?:alacarta|play)/videos|filmoteca)/(?!directo)(?:[^/?#]+/){2}(?P<id>\d+)zLhttps?://(?:www\.)?rtve\.es/infantil/serie/[^/?#]+/video/[^/?#]+/(?P<id>\d+)zRTVE a la carta and Playr}   r   Nr   r   r   r   r  r  &  s+    %G G G  IZ  [J(GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RTVEAudioIEi&  r  zrtve.es:audiozMhttps?://(?:www\.)?rtve\.es/(alacarta|play)/audios/(?:[^/?#]+/){2}(?P<id>\d+)z
RTVE audior}   r   Nr   r   r   r   r  r  &  s    %GGcJGLr   r  c                   ,    \ rS rSrSrSrSS/rSrSrSr	g	)

RTVELiveIEi&  r  zrtve.es:livez9https?://(?:www\.)?rtve\.es/directo/(?P<id>[a-zA-Z0-9-]+)zMhttps?://(?:www\.)?rtve\.es/play/videos/directo/[^/?#]+/(?P<id>[a-zA-Z0-9-]+)zRTVE.es live streamsr}   r   Nr   r   r   r   r  r  &  s(    %GGO  Rc  dJ$GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RTVEProgramIEi&  r  zrtve.es:programzBhttps?://(?:www\.)?rtve\.es/play/videos/(?P<id>[\w-]+)/?(?:[?#]|$)zRTVE.es programsr~   r   Nr   r   r   r   r  r  &  s    %GGXJ GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RTVETelevisionIEi&  r  zrtve.es:televisionzHhttps?://(?:www\.)?rtve\.es/television/[^/?#]+/[^/?#]+/(?P<id>\d+).shtmlr}   r   Nr   r   r   r   r  r  &  s    %G"G^JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RTVSIEi&  zyt_dlp.extractor.rtvsstvrz`https?://(?:www\.)?(?:rtvs|stvr)\.sk/(?:radio|televizia)/archiv(?:/\d+)?/(?P<id>\d+)/?(?:[#?]|$)z+Slovak Television and Radio (formerly RTVS)r}   r   Nr   r   r   r   r  r  &  s    %GGwJ;GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RTVSLOIEi&  yt_dlp.extractor.rtvsloz	rtvslo.siz(?x)
        https?://(?:
            (?:365|4d)\.rtvslo.si/arhiv/[^/?#&;]+|
            (?:www\.)?rtvslo\.si/rtv365/arhiv
        )/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  &  s    'GG lJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RTVSLOShowIEi&  r  zrtvslo.si:showz:https?://(?:365|4d)\.rtvslo.si/oddaja/[^/?#&]+/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  &  s    'GGOJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	RadLiveIEi&  yt_dlp.extractor.radliveradlivezYhttps?://(?:www\.)?rad\.live/content/(?P<content_type>feature|episode)/(?P<id>[a-f0-9-]+)r}   r   Nr   r   r   r   r  r  &  s    (GGnJLr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )RadLiveChannelIEi&  r  zradlive:channelz?https?://(?:www\.)?rad\.live/content/channel/(?P<id>[a-f0-9-]+)r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   r  r<   r   r   s     r   r<   RadLiveChannelIE.suitable&  r  r   r   r   r   s   @r   r  r  &  s+    (GGTJLK Kr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )RadLiveSeasonIEi&  r  zradlive:seasonz>https?://(?:www\.)?rad\.live/content/season/(?P<id>[a-f0-9-]+)r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   r  r   s     r   r<   RadLiveSeasonIE.suitable&  r  r   r   r   r   s   @r   r  r  &  s+    (GGSJLK Kr   r  c                       \ rS rSrSrSrSrg)RadikoBaseIEi&  yt_dlp.extractor.radiko
RadikoBaser   Nr   r   r   r   r  r  &  r"  r   r  c                        \ rS rSrSrSrSrSrg)RadikoIEi&  r  RadikozOhttps?://(?:www\.)?radiko\.jp/#!/ts/(?P<station>[A-Z0-9-]+)/(?P<timestring>\d+)r   Nr   r   r   r   r  r  &  s    'GGeJr   r  c                        \ rS rSrSrSrSrSrg)RadikoRadioIEi&  r  RadikoRadioz8https?://(?:www\.)?radiko\.jp/#!/live/(?P<id>[A-Z0-9-]+)r   Nr   r   r   r   r  r  &  s    'GGMJr   r  c                   $    \ rS rSrSrSrSrSrSrg)
Radio1BeIEi&  rV  Radio1Bez;https?://radio1\.be/(?:lees|luister/select)/(?P<id>[\w/-]+)r~   r   Nr   r   r   r   r  r  &  s    $GGPJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RadioCanadaAudioVideoIEi&  yt_dlp.extractor.radiocanadazradiocanada:audiovideoz<https?://ici\.radio-canada\.ca/([^/]+/)*media-(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  &  s    ,G&GQJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RadioCanadaIEi&  r  radiocanadazk(?:radiocanada:|https?://ici\.radio-canada\.ca/widgets/mediaconsole/)(?P<app_code>[^:/]+)[:/](?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  &  s    ,GG AJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RadioComercialIEi'  yt_dlp.extractor.radiocomercialRadioComercialzWhttps?://(?:www\.)?radiocomercial\.pt/podcasts/[^/?#]+/t?(?P<season>\d+)/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  '  s    /GGnJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RadioComercialPlaylistIEi'  r  RadioComercialPlaylistz`https?://(?:www\.)?radiocomercial\.pt/podcasts/(?P<id>[\w-]+)(?:/t?(?P<season>\d+))?/?(?:$|[?#])r~   r   Nr   r   r   r   r  r  '  s    /G&GwJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		RadioDeIEi'  zyt_dlp.extractor.radiodezradio.dezAhttps?://(?P<id>.+?)\.(?:radio\.(?:de|at|fr|pt|es|pl|it)|rad\.io)Fr}   r   NrZ  r   r   r   r  r  '  s    (GGWJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RadioFranceIEi'  rM  radiofrancez<https?://maison\.radiofrance\.fr/radiovisions/(?P<id>[^?#]+)r}   r   Nr   r   r   r   r  r  '      ,GGQJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RadioFranceLiveIEi"'  rM  RadioFranceLivez(?x)
        https?://(?:www\.)?radiofrance\.fr
        /(?P<id>franceculture|franceinfo|franceinter|francemusique|fip|mouv)
        /?(?P<substation_id>radio-[\w-]+)?(?:[#?]|$)
    r}   r   Nr   r   r   r   r  r  "'  s    ,GG QJLr   r  c                       \ rS rSrSrSrSrg)RadioFrancePlaylistBaseIEi)'  rM  RadioFrancePlaylistBaser   Nr   r   r   r   r  r  )'      ,G'Gr   r  c                   $    \ rS rSrSrSrSrSrSrg)RadioFrancePodcastIEi.'  rM  RadioFrancePodcastz(?x)
        https?://(?:www\.)?radiofrance\.fr
        /(?:franceculture|franceinfo|franceinter|francemusique|fip|mouv)
        /podcasts/(?P<id>[\w-]+)/?(?:[?#]|$)
    r~   r   Nr   r   r   r   r  r  .'  s    ,G"G EJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RadioFranceProfileIEi5'  rM  RadioFranceProfilez;https?://(?:www\.)?radiofrance\.fr/personnes/(?P<id>[\w-]+)r~   r   Nr   r   r   r   r  r  5'  s    ,G"GQJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RadioFranceProgramScheduleIEi<'  rM  RadioFranceProgramSchedulez(?x)
        https?://(?:www\.)?radiofrance\.fr
        /(?P<station>franceculture|franceinfo|franceinter|francemusique|fip|mouv)
        /grille-programmes
    r~   r   Nr   r   r   r   r  r  <'  s    ,G*G {JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RadioJavanIEiC'  zyt_dlp.extractor.radiojavan
RadioJavanz?https?://(?:www\.)?radiojavan\.com/videos/video/(?P<id>[^/]+)/?Fr}   r   NrZ  r   r   r   r  r  C'  s    +GGTJHLr   r  c                       \ rS rSrSrSrSrg)RadioKapitalBaseIEiK'  yt_dlp.extractor.radiokapitalRadioKapitalBaser   Nr   r   r   r   r  r  K'  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)RadioKapitalIEiP'  r  radiokapitalzEhttps?://(?:www\.)?radiokapital\.pl/shows/[a-z\d-]+/(?P<id>[a-z\d-]+)r}   r   Nr   r   r   r   r  r  P'  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)RadioKapitalShowIEiW'  r  zradiokapital:showzGhttps?://(?:www\.)?radiokapital\.pl/shows/(?P<id>[a-z\d-]+)/?(?:$|[?#])r~   r   Nr   r   r   r   r  r  W'  s    -G!G]JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RadioRadicaleIEi^'  zyt_dlp.extractor.radioradicaleRadioRadicalez:https?://(?:www\.)?radioradicale\.it/scheda/(?P<id>[0-9]+)r   r   Nr   r   r   r   r  r  ^'  s    .GGOJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RadioZetPodcastIEie'  zyt_dlp.extractor.radiozetRadioZetPodcastz6https?://player\.radiozet\.pl\/Podcasty/.*?/(?P<id>.+)r}   r   Nr   r   r   r   r  r  e'  s    )GGLJLr   r  c                       \ rS rSrSrSrSrg)	RaiBaseIEil'  yt_dlp.extractor.raiRaiBaser   Nr   r   r   r   r  r  l'  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)RaiIEiq'  r  Raizuhttps?://[^/]+\.(?:rai\.(?:it|tv))/.+?-(?P<id>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})(?:-.+?)?\.htmlr}   r   Nr   r   r   r   r  r  q'  s    $GG QJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	RaiNewsIEix'  r  RaiNewszhttps?://(www\.)?rainews\.it/(?!articoli)[^?#]+-(?P<id>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})(?:-[^/?#]+)?\.htmlr}   r   Nr   r   r   r   r   r   x'  s    $GG ^JLr   r   c                   $    \ rS rSrSrSrSrSrSrg)RaiCulturaIEi'  r  
RaiCulturazhttps?://(www\.)?raicultura\.it/(?!articoli)[^?#]+-(?P<id>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})(?:-[^/?#]+)?\.htmlr}   r   Nr   r   r   r   r  r  '  s    $GG aJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	RaiPlayIEi'  r  RaiPlayz{(?P<base>https?://(?:www\.)?raiplay\.it/.+?-(?P<id>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}))\.(?:html|json)r}   r   Nr   r   r   r   r  r  '  s    $GG WJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RaiPlayLiveIEi'  r  RaiPlayLivezA(?P<base>https?://(?:www\.)?raiplay\.it/dirette/(?P<id>[^/?#&]+))r}   r   Nr   r   r   r   r	  r	  '  s    $GGVJLr   r	  c                   $    \ rS rSrSrSrSrSrSrg)RaiPlayPlaylistIEi'  r  RaiPlayPlaylistz^(?P<base>https?://(?:www\.)?raiplay\.it/programmi/(?P<id>[^/?#&]+))(?:/(?P<extra_id>[^?#&]+))?r~   r   Nr   r   r   r   r  r  '  s    $GGsJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RaiPlaySoundIEi'  r  RaiPlaySoundz(?P<base>https?://(?:www\.)?raiplaysound\.it/.+?-(?P<id>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}))\.(?:html|json)r}   r   Nr   r   r   r   r  r  '  s    $GG \JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RaiPlaySoundLiveIEi'  r  RaiPlaySoundLivez?(?P<base>https?://(?:www\.)?raiplaysound\.it/(?P<id>[^/?#&]+)$)r}   r   Nr   r   r   r   r  r  '  s    $G GTJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RaiPlaySoundPlaylistIEi'  r  RaiPlaySoundPlaylistz{(?P<base>https?://(?:www\.)?raiplaysound\.it/(?:programmi|playlist|audiolibri)/(?P<id>[^/?#&]+))(?:/(?P<extra_id>[^?#&]+))?r~   r   Nr   r   r   r   r  r  '  s    $G$G QJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RaiSudtirolIEi'  r  RaiSudtirolz8https?://rai(?:bz|sudtirol)\.rai\.it/.+media=(?P<id>\w+)r}   r   Nr   r   r   r   r  r  '  r
  r   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )RayWenderlichCourseIEi'  yt_dlp.extractor.raywenderlichRayWenderlichCoursea  (?x)
                    https?://
                        (?:
                            videos\.raywenderlich\.com/courses|
                            (?:www\.)?raywenderlich\.com
                        )/
                        (?P<id>[^/]+)
                    r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )RayWenderlichIEr<   r   r   s     r   r<   RayWenderlichCourseIE.suitable'  rw  r   r   r   r   s   @r   r  r  '  s.    .G#G lJLQ Qr   r  c                   $    \ rS rSrSrSrSrSrSrg)r  i'  r  RayWenderlicha(  (?x)
                    https?://
                        (?:
                            videos\.raywenderlich\.com/courses|
                            (?:www\.)?raywenderlich\.com
                        )/
                        (?P<course_id>[^/]+)/lessons/(?P<id>\d+)
                    r}   r   Nr   r   r   r   r  r  '  s    .GG HJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RbgTumCourseIEi'  yt_dlp.extractor.rbgtumRbgTumCoursezxhttps?://(?P<hostname>(?:live\.rbg\.tum\.de|tum\.live))/old/course/(?P<id>(?P<year>\d+)/(?P<term>\w+)/(?P<slug>[^/?#]+))r~   r   Nr   r   r   r   r$  r$  '  s    'GG RJLr   r$  c                   $    \ rS rSrSrSrSrSrSrg)RbgTumIEi'  r%  RbgTumz:https?://(?:live\.rbg\.tum\.de|tum\.live)/w/(?P<id>[^?#]+)r}   r   Nr   r   r   r   r(  r(  '  r  r   r(  c                   $    \ rS rSrSrSrSrSrSrg)RbgTumNewCourseIEi'  r%  RbgTumNewCoursez:https?://(?P<hostname>(?:live\.rbg\.tum\.de|tum\.live))/\?r~   r   Nr   r   r   r   r+  r+  '  s    'GGRJLr   r+  c                   $    \ rS rSrSrSrSrSrSrg)	RedBullIEi'  yt_dlp.extractor.redbulltvRedBullzhttps?://(?:www\.)?redbull\.com/(?P<region>[a-z]{2,3})-(?P<lang>[a-z]{2})/(?P<type>(?:episode|film|(?:(?:recap|trailer)-)?video)s|live)/(?!AP-|rrn:content:)(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r.  r.  '  s    *GG BJLr   r.  c                   $    \ rS rSrSrSrSrSrSrg)RedBullTVIEi'  r/  	RedBullTVzhttps?://(?:www\.)?redbull(?:\.tv|\.com(?:/[^/]+)?(?:/tv)?)(?:/events/[^/]+)?/(?:videos?|live|(?:film|episode)s)/(?P<id>AP-\w+)r}   r   Nr   r   r   r   r2  r2  '  s    *GG WJLr   r2  c                        \ rS rSrSrSrSrSrg)RedBullEmbedIEi'  r/  RedBullEmbedzhttps?://(?:www\.)?redbull\.com/embed/(?P<id>rrn:content:[^:]+:[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}:[a-z]{2}-[A-Z]{2,3})r   Nr   r   r   r   r5  r5  '  s    *GG fJr   r5  c                        \ rS rSrSrSrSrSrg)RedBullTVRrnContentIEi'  r/  RedBullTVRrnContentzhttps?://(?:www\.)?redbull\.com/(?P<region>[a-z]{2,3})-(?P<lang>[a-z]{2})/tv/(?:video|live|film)/(?P<id>rrn:content:[^:]+:[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})r   Nr   r   r   r   r8  r8  '  s    *G#G MJr   r8  c                   $    \ rS rSrSrSrSrSrSrg)RedCDNLivxIEi'  zyt_dlp.extractor.redge
redcdnlivxzrhttps?://[^.]+\.(?:dcs\.redcdn|atmcdn)\.pl/(?:live(?:dash|hls|ss)|nvr)/o2/(?P<tenant>[^/?#]+)/(?P<id>[^?#]+)\.livxr}   r   Nr   r   r   r   r;  r;  '  s    &GG JJLr   r;  c                       \ rS rSrSrSrSrg)RedGifsBaseIEi'  yt_dlp.extractor.redgifsRedGifsBaser   Nr   r   r   r   r>  r>  '  rK  r   r>  c                   (    \ rS rSrSrSrSrSrSrSr	g)		RedGifsIEi(  r?  RedGifsz[https?://(?:(?:www\.)?redgifs\.com/(?:watch|ifr)/|thumbs2\.redgifs\.com/)(?P<id>[^-/?#\.]+)r   r}   r   NrU  r   r   r   rB  rB  (  s    (GGsJILr   rB  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RedGifsSearchIEi(  r?  RedGifsSearchz8https?://(?:www\.)?redgifs\.com/browse\?(?P<query>[^#]+)zRedgifs searchr~   r   Nr   r   r   r   rE  rE  (  s    (GGNJGLr   rE  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RedGifsUserIEi(  r?  RedGifsUserzRhttps?://(?:www\.)?redgifs\.com/users/(?P<username>[^/?#]+)(?:\?(?P<query>[^#]+))?zRedgifs userr~   r   Nr   r   r   r   rH  rH  (  s    (GGhJGLr   rH  c                   (    \ rS rSrSrSrSrSrSrSr	g)		RedTubeIEi(  zyt_dlp.extractor.redtubeRedTubezZhttps?://(?:(?:\w+\.)?redtube\.com(?:\.br)?/|embed\.redtube\.com/\?.*?\bid=)(?P<id>[0-9]+)r   r}   r   NrU  r   r   r   rK  rK  (      (GGuJILr   rK  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
RedditIEi$(  zyt_dlp.extractor.redditRedditzbhttps?://(?:\w+\.)?reddit(?:media)?\.com/(?P<slug>(?:(?:r|user)/[^/]+/)?comments/(?P<id>[^/?#&]+))redditr   r   r   Nr  r   r   r   rO  rO  $(  s     'GGxJNILr   rO  c                   (    \ rS rSrSrSrSrSrSrSr	g)		RestudyIEi-(  zyt_dlp.extractor.restudyRestudyzGhttps?://(?:(?:www|portal)\.)?restudy\.dk/video/[^/]+/id/(?P<id>[0-9]+)Fr}   r   NrZ  r   r   r   rS  rS  -(  s    (GG\JHLr   rS  c                   (    \ rS rSrSrSrSrSrSrSr	g)		ReutersIEi5(  zyt_dlp.extractor.reutersReutersz>https?://(?:www\.)?reuters\.com/.*?\?.*?videoId=(?P<id>[0-9]+)Fr}   r   NrZ  r   r   r   rV  rV  5(  rG  r   rV  c                   $    \ rS rSrSrSrSrSrSrg)ReverbNationIEi=(  zyt_dlp.extractor.reverbnationReverbNationz=https?://(?:www\.)?reverbnation\.com/.*?/song/(?P<id>\d+).*?$r}   r   Nr   r   r   r   rY  rY  =(  s    -GGSJLr   rY  c                   $    \ rS rSrSrSrSrSrSrg)RheinMainTVIEiD(  zyt_dlp.extractor.rheinmaintvRheinMainTVz~https?://(?:www\.)?rheinmaintv\.de/sendungen/(?:[\w-]+/)*(?P<video_id>(?P<display_id>[\w-]+)/vom-\d{2}\.\d{2}\.\d{4}(?:/\d+)?)r}   r   Nr   r   r   r   r\  r\  D(  s    ,GG \JLr   r\  c                   $    \ rS rSrSrSrSrSrSrg)
RideHomeIEiK(  zyt_dlp.extractor.ridehomeRideHomezHhttps?://(?:www\.)?ridehome\.info/show/[\w-]+/(?P<id>[\w-]+)/?(?:$|[?#])r~   r   Nr   r   r   r   r_  r_  K(  s    )GG_JLr   r_  c                       \ rS rSrSrSrSrg)RinseFMBaseIEiR(  yt_dlp.extractor.rinsefmRinseFMBaser   Nr   r   r   r   rb  rb  R(  rK  r   rb  c                   $    \ rS rSrSrSrSrSrSrg)RinseFMArtistPlaylistIEiW(  rc  RinseFMArtistPlaylistz2https?://(?:www\.)?rinse\.fm/shows/(?P<id>[^/?#]+)r~   r   Nr   r   r   r   rf  rf  W(  s    (G%GGJLr   rf  c                   $    \ rS rSrSrSrSrSrSrg)	RinseFMIEi^(  rc  RinseFMz5https?://(?:www\.)?rinse\.fm/episodes/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   ri  ri  ^(  s    (GGJJLr   ri  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RockstarGamesIEie(  zyt_dlp.extractor.rockstargamesRockstarGameszShttps?://(?:www\.)?rockstargames\.com/videos(?:/video/|#?/?\?.*\bvideo=)(?P<id>\d+)Fr}   r   NrZ  r   r   r   rl  rl  e(  s    .GGkJHLr   rl  c                       \ rS rSrSrSrSrg)RokfinPlaylistBaseIEim(  yt_dlp.extractor.rokfinRokfinPlaylistBaser   Nr   r   r   r   ro  ro  m(  rF  r   ro  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RokfinChannelIEir(  rp  zrokfin:channelzXhttps?://(?:www\.)?rokfin\.com/(?!((feed/?)|(discover/?)|(channels/?))$)(?P<id>[^/]+)/?$zRokfin Channelsr~   r   Nr   r   r   r   rs  rs  r(  s    'GGmJGLr   rs  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RokfinIEiz(  rp  Rokfinz@https?://(?:www\.)?rokfin\.com/(?P<id>(?P<type>post|stream)/\d+)rokfinr}   r   Nr  r   r   r   ru  ru  z(  r	  r   ru  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
RokfinSearchIEi(  rp  zrokfin:searchz9rkfnsearch(?P<prefix>|[1-9][0-9]*|all):(?P<query>[\s\S]+)zRokfin Search
rkfnsearchr~   r   Nr  r   r   r   ry  ry  (  s     'GGNJGJLr   ry  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RokfinStackIEi(  rp  zrokfin:stackz2https?://(?:www\.)?rokfin\.com/stack/(?P<id>[^/]+)zRokfin Stacksr~   r   Nr   r   r   r   r|  r|  (  s    'GGGJGLr   r|  c                        \ rS rSrSrSrSrSrg)RoosterTeethBaseIEi(  yt_dlp.extractor.roosterteethRoosterTeethBaseroosterteethr   Nr   r   r   r   r~  r~  (  s    -G G#Nr   r~  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RoosterTeethIEi(  r  RoosterTeethzUhttps?://(?:.+?\.)?roosterteeth\.com/(?:bonus-feature|episode|watch)/(?P<id>[^/?#&]+)r  r}   r   Nr  r   r   r   r  r  (  s    -GGjJ#NLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RoosterTeethSeriesIEi(  r  RoosterTeethSeriesz<https?://(?:.+?\.)?roosterteeth\.com/series/(?P<id>[^/?#&]+)r  r~   r   Nr  r   r   r   r  r  (  s    -G"GQJ#NLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RottenTomatoesIEi(  zyt_dlp.extractor.rottentomatoesRottenTomatoeszchttps?://(?:www\.)?rottentomatoes\.com/m/(?P<playlist>[^/]+)(?:/(?P<tr>trailers)(?:/(?P<id>\w+))?)?r   r   Nr   r   r   r   r  r  (  s    /GGyJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
RoyaLiveIEi(  zyt_dlp.extractor.royaRoyaLivez2https?://(?:en\.)?roya\.tv/live-stream/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  (  s    %GGHJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	RozhlasIEi(  r  Rozhlasz>https?://(?:www\.)?prehravac\.rozhlas\.cz/audio/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  (  s    (GGTJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RozhlasVltavaIEi(  r  RozhlasVltavaz?https?://(?:\w+\.rozhlas|english\.radio)\.cz/[\w-]+-(?P<id>\d+)r~   r   Nr   r   r   r   r  r  (  r  r   r  c                       \ rS rSrSrSrSrg)	RteBaseIEi(  yt_dlp.extractor.rteRteBaser   Nr   r   r   r   r  r  (  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RteIEi(  r  rtezEhttps?://(?:www\.)?rte\.ie/player/[^/]{2,3}/show/[^/]+/(?P<id>[0-9]+)u   Raidió Teilifís Éireann TVr}   r   Nr   r   r   r   r  r  (  s    $GGZJ-GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
RteRadioIEi(  r  z	rte:radiozshttps?://(?:www\.)?rte\.ie/radio/utils/radioplayer/rteradioweb\.html#!rii=(?:b?[0-9]*)(?:%3A|:|%5F|_)(?P<id>[0-9]+)u    Raidió Teilifís Éireann radior}   r   Nr   r   r   r   r  r  (  s    $GG JJ0GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RtlNlIEi(  rq  zrtl.nla   (?x)
        https?://(?:(?:www|static)\.)?
        (?:
            rtlxl\.nl/(?:[^\#]*\#!|programma)/[^/]+/|
            rtl\.nl/(?:(?:system/videoplayer/(?:[^/]+/)+(?:video_)?embed\.html|embed)\b.+?\buuid=|video/)|
            embed\.rtl\.nl/\#uuid=
        )
        (?P<id>[0-9a-f-]+)zrtl.nl and rtlxl.nlr}   r   Nr   r   r   r   r  r  (  s    &GG FJ#GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RtmpIEi(  rs  Rtmpz(?i)rtmp[est]?://.+Fr   Nr#  r   r   r   r  r  (  s    0GG&JGr   r  c                   $    \ rS rSrSrSrSrSrSrg)RudoVideoIEi(  zyt_dlp.extractor.rudovideo	RudoVideoz@https?://rudo\.video/(?P<type>vod|podcast|live)/(?P<id>[^/?&#]+)r}   r   Nr   r   r   r   r  r  (  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	Rule34VideoIEi(  zyt_dlp.extractor.rule34videoRule34Videoz7https?://(?:www\.)?rule34video\.com/videos?/(?P<id>\d+)r   r}   r   NrU  r   r   r   r  r  (  s    ,GGMJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)RumbleChannelIEi(  yt_dlp.extractor.rumbleRumbleChannelzD(?P<url>https?://(?:www\.)?rumble\.com/(?:c|user)/(?P<id>[^&?#$/]+))r~   r   Nr   r   r   r   r  r  (  s    'GGYJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RumbleEmbedIEi(  r  RumbleEmbedzFhttps?://(?:www\.)?rumble\.com/embed/(?:[0-9a-z]+\.)?(?P<id>[0-9a-z]+)r}   r   Nr   r   r   r   r  r  (  s    'GG\JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RumbleIEi)  r  Rumblez>https?://(?:www\.)?rumble\.com/(?P<id>v(?!ideos)[\w.-]+)[^/]*$r}   r   Nr   r   r   r   r  r  )      'GGTJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RuptlyIEi)  rg  Ruptlyz=https?://(?:www\.)?ruptly\.tv/[a-z]{2}/videos/(?P<id>\d+-\d+)r}   r   Nr   r   r   r   r  r  )  r  r   r  c                       \ rS rSrSrSrSrg)RutubeBaseIEi)  yt_dlp.extractor.rutube
RutubeBaser   Nr   r   r   r   r  r  )  r"  r   r  c                       \ rS rSrSrSrSrg)RutubePlaylistBaseIEi)  r  RutubePlaylistBaser   Nr   r   r   r   r  r  )  rF  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RutubeChannelIEi)  r  zrutube:channelzehttps?://rutube\.ru/(?:channel/(?P<id>\d+)|u/(?P<slug>\w+))(?:/(?P<section>videos|shorts|playlists))?zRutube channelr~   r   Nr   r   r   r   r  r  )  s    'GG{JGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RutubeEmbedIEi&)  r  zrutube:embedzBhttps?://rutube\.ru/(?:video|play)/embed/(?P<id>[0-9]+)(?:[?#/]|$)zRutube embedded videosr}   r   Nr   r   r   r   r  r  &)  s    'GGVJ&GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RutubeIEi.)  r  rutubezXhttps?://rutube\.ru/(?:(?:live/)?video(?:/private)?|(?:play/)?embed)/(?P<id>[\da-z]{32})zRutube videosr}   r   Nr   r   r   r   r  r  .)  s    'GGmJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)RutubeMovieIEi6)  r  zrutube:moviez+https?://rutube\.ru/metainfo/tv/(?P<id>\d+)zRutube moviesr   Nr#  r   r   r   r  r  6)  s    'GG@JGr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RutubePersonIEi=)  r  zrutube:personz,https?://rutube\.ru/video/person/(?P<id>\d+)zRutube person videosr~   r   Nr   r   r   r   r  r  =)  s    'GGAJ$GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RutubePlaylistIEiE)  r  zrutube:playlistz$https?://rutube\.ru/plst/(?P<id>\d+)zRutube playlistsr~   r   Nr   r   r   r   r  r  E)  s    'GG9J GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	RutubeTagsIEiM)  r  zrutube:tagsz*https?://rutube\.ru/tags/video/(?P<id>\d+)zRutube tagsr~   r   Nr   r   r   r   r  r  M)  s    'GG?JGLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
RuutuIEiU)  zyt_dlp.extractor.ruutuRuutuaB  (?x)
                    https?://
                        (?:
                            (?:www\.)?(?:ruutu|supla)\.fi/(?:video|supla|audio)/|
                            static\.nelonenmedia\.fi/player/misc/embed_player\.html\?.*?\bnid=
                        )
                        (?P<id>\d+)
                    Fr  r}   r   Nr  r   r   r   r  r  U)  s#    &GG eJHILr   r  c                   $    \ rS rSrSrSrSrSrSrg)RuvIEi^)  yt_dlp.extractor.ruvRuvzJhttps?://(?:www\.)?ruv\.is/(?:sarpurinn/[^/]+|node)/(?P<id>[^/]+(?:/\d+)?)r}   r   Nr   r   r   r   r  r  ^)  s    $GG`JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
RuvSpilaIEie)  r  zruv.is:spilazqhttps?://(?:www\.)?ruv\.is/(?:(?:sjon|ut)varp|(?:krakka|ung)ruv)/spila/.+/(?P<series_id>[0-9]+)/(?P<id>[a-z0-9]+)r}   r   Nr   r   r   r   r  r  e)  s    $GG GJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)S4CIEil)  yt_dlp.extractor.s4cS4Cz8https?://(?:www\.)?s4c\.cymru/clic/programme/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  l)  r	  r   r  c                   $    \ rS rSrSrSrSrSrSrg)S4CSeriesIEis)  r  	S4CSeriesz5https?://(?:www\.)?s4c\.cymru/clic/series/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  s)  s    $GGKJLr   r  c                        \ rS rSrSrSrSrSrg)SAKTVBaseIEiz)  rD  	SAKTVBasesaktvr   Nr   r   r   r   r  r  z)  rK  r   r  c                   $    \ rS rSrSrSrSrSrSrg)SAKTVIEi)  rD  SAKTVz(?x)https?://(?:www\.)?saktv\.ch/(?:
        [^?#]+\?(?:[^#]+&)?program=(?P<vid2>\d+)
        |(?:program|watch)/[^/]+/(?P<vid1>\d+)
    )r  r   NrO  r   r   r   r  r  )      'GG fJNr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )SAKTVLiveIEi)  rD  	SAKTVLivez(?x)https?://(?:www\.)?saktv\.ch/(?:
        [^?#]+\?(?:[^#]+&)?channel=(?P<vid2>[^/?&#]+)
        |live/(?P<vid1>[^/?&#]+)
    )r  c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r  r<   r   r   s     r   r<   SAKTVLiveIE.suitable)  r   r   r   ru  r   s   @r   r  r  )  .    'GG [JNI Ir   r  c                   $    \ rS rSrSrSrSrSrSrg)SAKTVRecordingsIEi)  rD  SAKTVRecordingszp(?x)https?://(?:www\.)?saktv\.ch/(?:
        [^?#]+\?(?:[^#]+&)?recording=(?P<vid2>\d+)
        (?P<vid1>)
    )r  r   NrO  r   r   r   r  r  )      'GG KJNr   r  c                   $    \ rS rSrSrSrSrSrSrg)SBSCoKrAllvodProgramIEi)  yt_dlp.extractor.sbscokrzsbs.co.kr:allvod_programzahttps?://allvod\.sbs\.co\.kr/allvod/vod(?:Free)?ProgramDetail\.do\?(?:[^#]+&)?pgmId=(?P<id>P?\d+)r~   r   Nr   r   r   r   r  r  )  s    (G(GzJLr   r  c                   ,    \ rS rSrSrSrSS/rSrSrSr	g	)
	SBSCoKrIEi)  r  z	sbs.co.krz\https?://allvod\.sbs\.co\.kr/allvod/vod(?:Package)?EndPage\.do\?(?:[^#]+&)?mdaId=(?P<id>\d+)z~https?://programs\.sbs\.co\.kr/(?:enter|drama|culture|sports|plus|mtv|kth)/[a-z0-9]+/(?:vod|clip|movie)/\d+/(?P<id>(?:OC)?\d+)r	  r}   r   NrU  r   r   r   r  r  )  s(    (GGv  y~  JILr   r  c                   $    \ rS rSrSrSrSrSrSrg)SBSCoKrProgramsVodIEi)  r  zsbs.co.kr:programs_vodz]https?://programs\.sbs\.co\.kr/(?:enter|drama|culture|sports|plus|mtv)/(?P<id>[a-z0-9]+)/vodsr~   r   Nr   r   r   r   r  r  )  s    (G&GsJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SBSIEi)  zyt_dlp.extractor.sbsSBSa/  (?x)
        https?://(?:www\.)?sbs\.com\.au/(?:
            ondemand(?:
                /video/(?:single/)?|
                /(?:movie|tv-program)/[^/]+/|
                /(?:tv|news)-series/(?:[^/]+/){3}|
                .*?\bplay=|/watch/
            )|news/(?:embeds/)?video/
        )(?P<id>[0-9]+)z
sbs.com.aur}   r   Nr   r   r   r   r  r  )  s    $GG OJGLr   r  c                        \ rS rSrSrSrSrSrg)
SCTEBaseIEi)  yt_dlp.extractor.scteSCTEBasescter   Nr   r   r   r   r  r  )  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SCTECourseIEi)  r  
SCTECoursezMhttps?://learning\.scte\.org/(?:mod/sub)?course/view\.php?.*?\bid=(?P<id>\d+)Fr  r   N)
r   r   r    r!   r)   ro   rG   rP   rh   r"   r   r   r   r  r  )  s    %GGeJHNr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
SCTEIEi)  r  SCTEzDhttps?://learning\.scte\.org/mod/scorm/view\.php?.*?\bid=(?P<id>\d+)Fr  r~   r   Nr  r   r   r   r  r  )  s     %GG\JHNLr   r  c                        \ rS rSrSrSrSrSrg)SRGSSRIEi)  yt_dlp.extractor.srgssrSRGSSRa  (?x)
                    (?:
                        https?://tp\.srgssr\.ch/p(?:/[^/]+)+\?urn=urn|
                        srgssr
                    ):
                    (?P<bu>
                        srf|rts|rsi|rtr|swi
                    ):(?:[^:]+:)?
                    (?P<type>
                        video|audio
                    ):
                    (?P<id>
                        [0-9a-f\-]{36}|\d+
                    )
                    r   Nr   r   r   r   r  r  )  s    'GG uJr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
RTSIEi)  zyt_dlp.extractor.rtsRTSzerts:(?P<rts_id>\d+)|https?://(?:.+?\.)?rts\.ch/(?:[^/]+/){2,}(?P<id>[0-9]+)-(?P<display_id>.+?)\.htmlFzRTS.chr   r   Nri  r   r   r   r  r  )  s     $GG|JHGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SRGSSRPlayIEi)  r  
SRGSSRPlaya  (?x)
                    https?://
                        (?:(?:www|play)\.)?
                        (?P<bu>srf|rts|rsi|rtr|swissinfo)\.ch/play/(?:tv|radio)/
                        (?:
                            [^/]+/(?P<type>video|audio)/[^?]+|
                            popup(?P<type_2>video|audio)player
                        )
                        \?.*?\b(?:id=|urn=urn:[^:]+:video:)(?P<id>[0-9a-f\-]{36}|\d+)
                    z:srf.ch, rts.ch, rsi.ch, rtr.ch and swissinfo.ch play sitesr}   r   Nr   r   r   r   r  r  )  s    'GG aJJGLr   r  c                       \ rS rSrSrSrSrg)ARDMediathekBaseIEi)  r   ARDMediathekBaser   Nr   r   r   r   r  r  )  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SRMediathekIEi)  zyt_dlp.extractor.srmediathekzsr:mediathekzBhttps?://(?:www\.)?sr-mediathek\.de/index\.php\?.*?&id=(?P<id>\d+)u   Saarländischer Rundfunkr}   r   Nr   r   r   r   r  r  )  s    ,GGZJ(GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)STVPlayerIEi)  zyt_dlp.extractor.stvz
stv:playerzDhttps?://player\.stv\.tv/(?P<type>episode|video)/(?P<id>[a-z0-9]{4})r}   r   Nr   r   r   r   r  r  )  s    $GGYJLr   r  c                       \ rS rSrSrSrSrg)	SVTBaseIEi)  yt_dlp.extractor.svtSVTBaser   Nr   r   r   r   r  r  )  r  r   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )	SVTPageIEi)  r  zsvt:pagez8https?://(?:www\.)?svt\.se/(?:[^/?#]+/)*(?P<id>[^/?&#]+)r   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   	SVTPlayIEr<   r   r   s     r   r<   SVTPageIE.suitable*  r  r   r   r   r   s   @r   r  r  )  s+    $GGMJLK Kr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	r  i	*  r  zsvt:playa  (?x)
                    (?:
                        (?:
                            svt:|
                            https?://(?:www\.)?svt\.se/barnkanalen/barnplay/[^/]+/
                        )
                        (?P<svt_id>[^/?#&]+)|
                        https?://(?:www\.)?(?:svtplay|oppetarkiv)\.se/(?:video|klipp|kanaler)/(?P<id>[^/?#&]+)
                        (?:.*?(?:modalId|id)=(?P<modal_id>[\da-zA-Z-]+))?
                    )
                    u   SVT Play and Öppet arkivr}   r   Nr   r   r   r   r  r  	*  s    $GG |J)GLr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )SVTSeriesIEi*  r  zsvt:play:serieszThttps?://(?:www\.)?svtplay\.se/(?P<id>[^/?&#]+)(?:.+?\btab=(?P<season_slug>[^&#]+))?r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   r  r   s     r   r<   SVTSeriesIE.suitable*  r  r   r   r   r   s   @r   r   r   *  s+    $GGjJLK Kr   r   c                   $    \ rS rSrSrSrSrSrSrg)SYVDKIEi*  zyt_dlp.extractor.syvdkSYVDKz3https?://(?:www\.)?24syv\.dk/episode/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r$  r$  *  s    &GGIJLr   r$  c                        \ rS rSrSrSrSrSrg)SafariBaseIEi#*  yt_dlp.extractor.safari
SafariBasesafarir   Nr   r   r   r   r'  r'  #*  rw  r   r'  c                   $    \ rS rSrSrSrSrSrSrg)SafariApiIEi)*  r(  z
safari:apizhttps?://(?:www\.)?(?:safaribooksonline|(?:learning\.)?oreilly)\.com/api/v1/book/(?P<course_id>[^/]+)/chapter(?:-content)?/(?P<part>[^/?#&]+)\.htmlr*  r   NrO  r   r   r   r,  r,  )*  s    'GG kJNr   r,  c                   J   ^  \ rS rSrSrSrSrSrSrSr	\
U 4S j5       rS	rU =r$ )
SafariCourseIEi0*  r(  zsafari:coursea  (?x)
                    https?://
                        (?:
                            (?:www\.)?(?:safaribooksonline|(?:learning\.)?oreilly)\.com/
                            (?:
                                library/view/[^/]+|
                                api/v1/book|
                                videos/[^/]+
                            )|
                            techbus\.safaribooksonline\.com
                        )
                        /(?P<id>[^/]+)
                    z$safaribooksonline.com online coursesr*  r~   c                    > [         R                  U5      (       d  [        R                  U5      (       a  S$ [        TU ]  U5      $ r   )SafariIEr<   r,  r   r   s     r   r<   SafariCourseIE.suitable8*  s=    !**3//;3G3G3L3L 	,W%c*	,r   r   rA  r   s   @r   r.  r.  0*  s6    'GG [J4GNL, ,r   r.  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)	r0  i>*  r(  r*  a  (?x)
                        https?://
                            (?:www\.)?(?:safaribooksonline|(?:learning\.)?oreilly)\.com/
                            (?:
                                library/view/[^/]+/(?P<course_id>[^/]+)/(?P<part>[^/?\#&]+)\.html|
                                videos/[^/]+/[^/]+/(?P<reference_id>[^-]+-[^/?\#&]+)
                            )
                    z"safaribooksonline.com online videor}   r   Nr   r   r   r   r0  r0  >*  s#    'GG kJ2GNLr   r0  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
SaitosanIEiG*  zyt_dlp.extractor.saitosanSaitosanz>https?://(?:www\.)?saitosan\.net/bview.html\?id=(?P<id>[0-9]+)Fr}   r   NrZ  r   r   r   r4  r4  G*  s    )GGTJHLr   r4  c                        \ rS rSrSrSrSrSrg)SaltTVBaseIEiO*  rD  
SaltTVBasesalttvr   Nr   r   r   r   r7  r7  O*  rw  r   r7  c                   $    \ rS rSrSrSrSrSrSrg)SaltTVIEiU*  rD  SaltTVz(?x)https?://(?:www\.)?tv\.salt\.ch/(?:
        [^?#]+\?(?:[^#]+&)?program=(?P<vid2>\d+)
        |(?:program|watch)/[^/]+/(?P<vid1>\d+)
    )r9  r   NrO  r   r   r   r;  r;  U*  s    'GG jJNr   r;  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )SaltTVLiveIEi\*  rD  
SaltTVLivez(?x)https?://(?:www\.)?tv\.salt\.ch/(?:
        [^?#]+\?(?:[^#]+&)?channel=(?P<vid2>[^/?&#]+)
        |live/(?P<vid1>[^/?&#]+)
    )r9  c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r;  r<   r   r   s     r   r<   SaltTVLiveIE.suitableb*  r  r   r   ru  r   s   @r   r>  r>  \*  s.    'GG _JNJ Jr   r>  c                   $    \ rS rSrSrSrSrSrSrg)SaltTVRecordingsIEig*  rD  SaltTVRecordingszs(?x)https?://(?:www\.)?tv\.salt\.ch/(?:
        [^?#]+\?(?:[^#]+&)?recording=(?P<vid2>\d+)
        (?P<vid1>)
    )r9  r   NrO  r   r   r   rC  rC  g*  s    'G G OJNr   rC  c                   $    \ rS rSrSrSrSrSrSrg)SampleFocusIEin*  zyt_dlp.extractor.samplefocusSampleFocusz<https?://(?:www\.)?samplefocus\.com/samples/(?P<id>[^/?&#]+)r}   r   Nr   r   r   r   rF  rF  n*  r  r   rF  c                   (    \ rS rSrSrSrSrSrSrSr	g)		SangiinIEiu*  yt_dlp.extractor.japandietSangiinzGhttps?://www\.webtv\.sangiin\.go\.jp/webtv/detail\.php\?sid=(?P<id>\d+)u4   参議院インターネット審議中継 (archive)r}   r   Nr   r   r   r   rI  rI  u*  s    *GGaJDGLr   rI  c                   $    \ rS rSrSrSrSrSrSrg)SangiinInstructionIEi}*  rJ  SangiinInstructionz5https?://www\.webtv\.sangiin\.go\.jp/webtv/index\.phpFr   Nr#  r   r   r   rM  rM  }*  s    *G"GMJGr   rM  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SapoIEi*  zyt_dlp.extractor.sapoSapozQhttps?://(?:(?:v2|www)\.)?videos\.sapo\.(?:pt|cv|ao|mz|tl)/(?P<id>[\da-zA-Z]{20})u   SAPO Vídeosr}   r   Nr   r   r   r   rP  rP  *  s    %GGhJGLr   rP  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SaucePlusIEi*  zyt_dlp.extractor.sauceplus	SaucePlusz;https?://(?:(?:www|beta)\.)?sauceplus\.com/post/(?P<id>\w+)zSauce+r}   r   Nr   r   r   r   rS  rS  *  s    *GGQJGLr   rS  c                   $    \ rS rSrSrSrSrSrSrg)
SchoolTVIEi*  r  schooltvz6https?://(?:www\.)?schooltv\.nl/video/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   rV  rV  *  s    $GGKJLr   rV  c                   $    \ rS rSrSrSrSrSrSrg)ScienceChannelIEi*  rx  ScienceChannelzBhttps?://(?:www\.)?sciencechannel\.com/video/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   rY  rY  *  s    &GGWJLr   rY  c                   $    \ rS rSrSrSrSrSrSrg)	Screen9IEi*  zyt_dlp.extractor.screen9Screen9zRhttps?://(?:\w+\.screen9\.(?:tv|com)|play\.su\.se)/(?:embed|media)/(?P<id>[^?#/]+)r}   r   Nr   r   r   r   r\  r\  *  s    (GGjJLr   r\  c                   $    \ rS rSrSrSrSrSrSrg)ScreenRecIEi*  zyt_dlp.extractor.screenrec	ScreenRecz6https?://(?:www\.)?screenrec\.com/share/(?P<id>\w{10})r}   r   Nr   r   r   r   r_  r_  *  r  r   r_  c                   $    \ rS rSrSrSrSrSrSrg)ScreencastIEi*  zyt_dlp.extractor.screencast
Screencastz9https?://(?:www\.)?screencast\.com/t/(?P<id>[a-zA-Z0-9]+)r}   r   Nr   r   r   r   rb  rb  *  s    +GGNJLr   rb  c                   $    \ rS rSrSrSrSrSrSrg)ScreencastOMaticIEi*  z!yt_dlp.extractor.screencastomaticScreencastOMaticzZhttps?://screencast-o-matic\.com/(?:(?:watch|player)/|embed\?.*?\bsc=)(?P<id>[0-9a-zA-Z]+)r}   r   Nr   r   r   r   re  re  *  s    1G GpJLr   re  c                   (    \ rS rSrSrSrSS/rSrSrg)	ScreencastifyIEi*  zyt_dlp.extractor.screencastifyScreencastifyz4https?://watch\.screencastify\.com/v/(?P<id>[^/?#]+)z<https?://app\.screencastify\.com/v[23]/watch/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   rh  rh  *  s#    .GGJ  MM  NJLr   rh  c                   $    \ rS rSrSrSrSrSrSrg)ScrippsNetworksIEi*   yt_dlp.extractor.scrippsnetworksScrippsNetworkszhttps?://(?:www\.)?(?P<site>cookingchanneltv|discovery|(?:diy|food)network|hgtv|travelchannel)\.com/videos/[0-9a-z-]+-(?P<id>\d+)r}   r   Nr   r   r   r   rk  rk  *  s    0GG XJLr   rk  c                       \ rS rSrSrSrSrg)AWSIEi*  zyt_dlp.extractor.awsAWSr   Nr   r   r   r   ro  ro  *  r   r   ro  c                   $    \ rS rSrSrSrSrSrSrg)ScrippsNetworksWatchIEi*  rl  zscrippsnetworks:watchar  (?x)
                    https?://
                        watch\.
                        (?P<site>geniuskitchen)\.com/
                        (?:
                            player\.[A-Z0-9]+\.html\#|
                            show/(?:[^/]+/){2}|
                            player/
                        )
                        (?P<id>\d+)
                    r}   r   Nr   r   r   r   rr  rr  *  s    0G%G VJLr   rr  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ScrolllerIEi*  zyt_dlp.extractor.scrolller	Scrolllerz0https?://(?:www\.)?scrolller\.com/(?P<id>[\w-]+)r   r}   r   NrU  r   r   r   rt  rt  *  s    *GGFJILr   rt  c                   $    \ rS rSrSrSrSrSrSrg)SejmIEi*  zyt_dlp.extractor.sejmplsejm)zqhttps?://(?:www\.)?sejm\.gov\.pl/[Ss]ejm(?P<term>\d+)\.nsf/transmisje(?:_arch)?\.xsp(?:\?[^#]*)?#(?P<id>[\dA-F]+)zvhttps?://(?:www\.)?sejm\.gov\.pl/[Ss]ejm(?P<term>\d+)\.nsf/transmisje(?:_arch)?\.xsp\?(?:[^#]+&)?unid=(?P<id>[\dA-F]+)zZhttps?://sejm-embed\.redcdn\.pl/[Ss]ejm(?P<term>\d+)\.nsf/VideoFrame\.xsp/(?P<id>[\dA-F]+)r~   r   Nr   r   r   r   rw  rw  *  s    'GG uJLr   rw  c                   $    \ rS rSrSrSrSrSrSrg)SenIEi*  zyt_dlp.extractor.senSenz4https?://(?:www\.)?sen\.com/video/(?P<id>[0-9a-f-]+)r}   r   Nr   r   r   r   rz  rz  *  r  r   rz  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SenalColombiaLiveIEi*  zyt_dlp.extractor.senalcolombiaSenalColombiaLivez:https?://(?:www\.)?senalcolombia\.tv/(?P<id>senal-en-vivo)Fr}   r   NrZ  r   r   r   r}  r}  *  s    .G!GOJHLr   r}  c                   $    \ rS rSrSrSrSrSrSrg)SenateGovIEi*  yt_dlp.extractor.senategovz
senate.govzhttps?://(?:www\.)?(?:agriculture|aging|appropriations|armed\-services|banking|budget|commerce|energy|epw|finance|foreign|help|intelligence|inaugural|judiciary|rules|sbc|veterans)\.senate\.govr}   r   Nr   r   r   r   r  r  *  s    *GG XJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SenateISVPIEi*  r  zsenate.gov:isvpz1https?://(?:www\.)?senate\.gov/isvp/?\?(?P<qs>.+)r}   r   Nr   r   r   r   r  r  *  s    *GGGJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SendtoNewsIEi+  zyt_dlp.extractor.sendtonews
SendtoNewszVhttps?://embed\.sendtonews\.com/player2/embedplayer\.php\?.*\bSC=(?P<id>[0-9A-Za-z-]+)Fr~   r   NrZ  r   r   r   r  r  +  s    +GGnJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ServusIEi+  zyt_dlp.extractor.servusServusa^  (?x)
                    https?://
                        (?:www\.)?
                        (?:
                            servus\.com/(?:(?:at|de)/p/[^/]+|tv/videos)|
                            (?:servustv|pm-wissen)\.com/(?:[^/]+/)?v(?:ideos)?
                        )
                        /(?P<id>[aA]{2}-?\w+|\d+-\d+)
                    r}   r   Nr   r   r   r   r  r  +  s    'GG @JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SevenPlusIEi+  zyt_dlp.extractor.sevenplus7pluszQhttps?://(?:www\.)?7plus\.com\.au/(?P<path>[^?]+\?.*?\bepisode-id=(?P<id>[^&#]+))r}   r   Nr   r   r   r   r  r  +  s    *GGiJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
SexuIEi+  zyt_dlp.extractor.sexuSexuz(https?://(?:www\.)?sexu\.com/(?P<id>\d+)Fr   r}   r   Nr  r   r   r   r  r  +  s     %GG>JHILr   r  c                   $    \ rS rSrSrSrSrSrSrg)SeznamZpravyArticleIEi#+  yt_dlp.extractor.seznamzpravySeznamZpravyArticlezYhttps?://(?:www\.)?(?:seznam\.cz/zpravy|seznamzpravy\.cz)/clanek/(?:[^/?#&]+)-(?P<id>\d+)r~   r   Nr   r   r   r   r  r  #+  s    -G#GpJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SeznamZpravyIEi*+  r  SeznamZpravyz;https?://(?:www\.)?seznamzpravy\.cz/iframe/player\?.*\bsrc=r}   r   Nr   r   r   r   r  r  *+  s    -GGRJLr   r  c                       \ rS rSrSrSrSrg)ShahidBaseIEi1+  yt_dlp.extractor.shahid
ShahidBaser   Nr   r   r   r   r  r  1+  r"  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ShahidIEi6+  r  Shahidzghttps?://shahid\.mbc\.net/[a-z]{2}/(?:serie|show|movie)s/[^/]+/(?P<type>episode|clip|movie)-(?P<id>\d+)shahidr}   r   Nr  r   r   r   r  r  6+  s    'GG}JNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ShahidShowIEi>+  r  
ShahidShowzThttps?://shahid\.mbc\.net/[a-z]{2}/(?:show|serie)s/[^/]+/(?:show|series)-(?P<id>\d+)r~   r   Nr   r   r   r   r  r  >+  s    'GGjJLr   r  c                   (    \ rS rSrSrSrSS/rSrSrg)	SharePointIEiE+  zyt_dlp.extractor.sharepoint
SharePointzVhttps?://[\w-]+\.sharepoint\.com/:v:/[a-z]/(?:[^/?#]+/)*(?P<id>[^/?#]{46})/?(?:$|[?#])z_https?://[\w-]+\.sharepoint\.com/(?!:v:)(?:[^/?#]+/)*stream\.aspx\?(?:[^#]+&)?id=(?P<id>[^&#]+)r}   r   Nr   r   r   r   r  r  E+  s#    +GGm  pV  WJLr   r  c                        \ rS rSrSrSrSrSrg)ShareVideosEmbedIEiL+  zyt_dlp.extractor.sharevideosShareVideosEmbedFr   Nr   r   r   r   r  r  L+  s    ,G GJr   r  c                   $    \ rS rSrSrSrSrSrSrg)ShemarooMeIEiR+  zyt_dlp.extractor.shemaroome
ShemarooMezBhttps?://(?:www\.)?shemaroome\.com/(?:movies|shows)/(?P<id>[^?#]+)r}   r   Nr   r   r   r   r  r  R+  s    +GGWJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ShieyIEiY+  zyt_dlp.extractor.shieyShieyz6https?://(?:www\.)?shiey\.com/videos/v/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r  Y+  r	  r   r  c                        \ rS rSrSrSrSrSrg)ShowRoomLiveIEi`+  zyt_dlp.extractor.showroomliveShowRoomLivezkhttps?://(?:www\.)?showroom-live\.com/(?!onlive|timetable|event|campaign|news|ranking|room)(?P<id>[^/?#&]+)r   Nr   r   r   r   r  r  `+  s    -GG AJr   r  c                       \ rS rSrSrSrSrg)ShugiinItvBaseIEif+  rJ  ShugiinItvBaser   Nr   r   r   r   r  r  f+  s    *GGr   r  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	ShugiinItvLiveIEik+  rJ  ShugiinItvLivez?https?://(?:www\.)?shugiintv\.go\.jp/(?:jp|en)(?:/index\.php)?$u*   衆議院インターネット審議中継r~   c                 z   >^ [         TU ]  T5      =(       a$    [        U4S j[        [        4 5       5      (       + $ )Nc              3   D   >#    U  H  oR                  T5      v   M     g 7fr-   r  )rB   xr;   s     r   rD   ,ShugiinItvLiveIE.suitable.<locals>.<genexpr>t+  s     0rJqQCJqrF   )r   r<   r   ShugiinItvLiveRoomIEShugiinItvVodIEr   s    `r   r<   ShugiinItvLiveIE.suitabler+  s-    w$rS0rK_apJq0r-r)rrr   r   rn  r   s   @r   r  r  k+  s0    *GGVJ:GLs sr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	r  iw+  rJ  ShugiinItvLiveRoomzRhttps?://(?:www\.)?shugiintv\.go\.jp/(?:jp|en)/index\.php\?room_id=(?P<id>room\d+)u3   衆議院インターネット審議中継 (中継)r}   r   Nr   r   r   r   r  r  w+  s    *G"GkJCGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	r  i+  rJ  ShugiinItvVodzghttps?://(?:www\.)?shugiintv\.go\.jp/(?:jp|en)/index\.php\?ex=VL(?:\&[^=]+=[^&]*)*\&deli_id=(?P<id>\d+)uE   衆議院インターネット審議中継 (ビデオライブラリ)r}   r   Nr   r   r   r   r  r  +  s    *GG CJUGLr   r  c                        \ rS rSrSrSrSrSrg)SibnetEmbedIEi+  zyt_dlp.extractor.sibnetSibnetEmbedFr   Nr   r   r   r   r  r  +  s    'GGJr   r  c                       \ rS rSrSrSrSrg)SimplecastBaseIEi+  yt_dlp.extractor.simplecastSimplecastBaser   Nr   r   r   r   r  r  +  rZ  r   r  c                   $    \ rS rSrSrSrSrSrSrg)SimplecastEpisodeIEi+  r  zsimplecast:episodezBhttps?://(?!api\.)[^/]+\.simplecast\.com/episodes/(?P<id>[^/?&#]+)r}   r   Nr   r   r   r   r  r  +  s    +G"GXJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SimplecastIEi+  r  
simplecastzshttps?://(?:api\.simplecast\.com/episodes|player\.simplecast\.com)/(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})r}   r   Nr   r   r   r   r  r  +  s    +GG NJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SimplecastPodcastIEi+  r  zsimplecast:podcastzahttps?://(?!(?:api|cdn|embed|feeds|player)\.)(?P<id>[^/]+)\.simplecast\.com(?!/episodes/[^/?&#]+)r~   r   Nr   r   r   r   r  r  +  s    +G"GwJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SinaIEi+  zyt_dlp.extractor.sinaSinaa  (?x)https?://(?:[^/?#]+\.)?video\.sina\.com\.cn/
                        (?:
                            (?:view/|.*\#)(?P<id>\d+)|
                            .+?/(?P<pseudo_id>[^/?#]+)(?:\.s?html)|
                            # This is used by external sites like Weibo
                            api/sinawebApi/outplay.php/(?P<token>.+?)\.swf
                        )
                  r}   r   Nr   r   r   r   r  r  +  s    %GG jJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SkebIEi+  zyt_dlp.extractor.skebSkebz=https?://skeb\.jp/@(?P<uploader_id>[^/?#]+)/works/(?P<id>\d+)r   r   Nr   r   r   r   r  r  +  s    %GGRJLr   r  c                       \ rS rSrSrSrSrg)SkyItBaseIEi+  yt_dlp.extractor.skyit	SkyItBaser   Nr   r   r   r   r  r  +  r   r   r  c                   $    \ rS rSrSrSrSrSrSrg)SkyItIEi+  r  zsky.itzNhttps?://(?:sport|tg24)\.sky\.it(?:/[^/]+)*/\d{4}/\d{2}/\d{2}/(?P<id>[^/?&#]+)r}   r   Nr   r   r   r   r  r  +  s    &GGfJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)CieloTVItIEi+  r  z
cielotv.itz8https?://(?:www\.)?cielotv\.it/video/(?P<id>[^.]+)\.htmlr}   r   Nr   r   r   r   r  r  +      &GGNJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SkyItArteIEi+  r  zarte.sky.itz-https?://arte\.sky\.it/video/(?P<id>[^/?&#]+)r}   r   Nr   r   r   r   r  r  +  r  r   r  c                        \ rS rSrSrSrSrSrg)SkyItPlayerIEi+  r  zplayer.sky.itzNhttps?://player\.sky\.it/player/(?:external|social)\.html\?.*?\bid=(?P<id>\d+)r   Nr   r   r   r   r  r  +  s    &GGgJr   r  c                   $    \ rS rSrSrSrSrSrSrg)SkyItVideoIEi+  r  zvideo.sky.itzVhttps?://(?:masterchef|video|xfactor)\.sky\.it(?:/[^/]+)*/video/[0-9a-z-]+-(?P<id>\d+)r}   r   Nr   r   r   r   r  r  +  s    &GGlJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SkyItVideoLiveIEi+  r  zvideo.sky.it:livez0https?://video\.sky\.it/diretta/(?P<id>[^/?&#]+)r}   r   Nr   r   r   r   r  r  +  s    &G!GEJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SkyNewsAUIEi+  zyt_dlp.extractor.skynewsau	SkyNewsAUzMhttps?://(?:www\.)?skynews\.com\.au/[^/]+/[^/]+/[^/]+/video/(?P<id>[a-z0-9]+)r}   r   Nr   r   r   r   r  r  +  s    *GGcJLr   r  c                       \ rS rSrSrSrSrg)SkyNewsArabiaBaseIEi+  yt_dlp.extractor.skynewsarabiaSkyNewsArabiaBaser   Nr   r   r   r   r  r  +  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SkyNewsArabiaArticleIEi+  r  zskynewsarabia:articlez@https?://(?:www\.)?skynewsarabia\.com/web/article/(?P<id>[0-9]+)Fr   r   NrZ  r   r   r   r  r  +  s    .G%GUJHLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SkyNewsArabiaIEi+  r  zskynewsarabia:videoz>https?://(?:www\.)?skynewsarabia\.com/web/video/(?P<id>[0-9]+)Fr}   r   NrZ  r   r   r   r  r  +  s    .G#GSJHLr   r  c                       \ rS rSrSrSrSrg)	SkyBaseIEi+  yt_dlp.extractor.skySkyBaser   Nr   r   r   r   r  r  +  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)	SkyNewsIEi,  r  zsky:newsz7https?://news\.sky\.com/video/[0-9a-z-]+-(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  ,  s    $GGLJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SkyNewsStoryIEi,  r  zsky:news:storyz7https?://news\.sky\.com/story/[0-9a-z-]+-(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  ,  s    $GGLJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SkySportsIEi,  r  z
sky:sportszEhttps?://(?:www\.)?skysports\.com/watch/video/([^/]+/)*(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  ,      $GGZJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SkySportsNewsIEi,  r  zsky:sports:newsz?https?://(?:www\.)?skysports\.com/([^/]+/)*news/\d+/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  ,  s    $GGVJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SkylineWebcamsIEi ,  zyt_dlp.extractor.skylinewebcamsSkylineWebcamszRhttps?://(?:www\.)?skylinewebcams\.com/[^/]+/webcam/(?:[^/]+/)+(?P<id>[^/]+)\.htmlFr}   r   NrZ  r   r   r   r   r    ,  s    /GGhJHLr   r   c                   $    \ rS rSrSrSrSrSrSrg)SlidesLiveIEi(,  zyt_dlp.extractor.slideslive
SlidesLivezDhttps?://slideslive\.com/(?:embed/(?:presentation/)?)?(?P<id>[0-9]+)r   r   Nr   r   r   r   r  r  (,  s    +GGXJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SlideshareIEi/,  zyt_dlp.extractor.slideshare
Slidesharez>https?://(?:www\.)?slideshare\.net/[^/]+?/(?P<title>.+?)($|\?)r}   r   Nr   r   r   r   r  r  /,  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
SlutloadIEi6,  zyt_dlp.extractor.slutloadSlutloadzQhttps?://(?:\w+\.)?slutload\.com/(?:video/[^/]+|embed_player|watch)/(?P<id>[^/]+)r   r}   r   NrU  r   r   r   r	  r	  6,  s    )GGgJILr   r	  c                       \ rS rSrSrSrSrg)SmotrimBaseIEi>,  yt_dlp.extractor.smotrimSmotrimBaser   Nr   r   r   r   r  r  >,  rK  r   r  c                   $    \ rS rSrSrSrSrSrSrg)SmotrimAudioIEiC,  r  zsmotrim:audiozOhttps?://(?:(?:player|www)\.)?smotrim\.ru(?:/iframe)?/audio(?:/id)?/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  C,  s    (GGeJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		SmotrimIEiJ,  r  smotrimzT(?:https?:)?//(?:(?:player|www)\.)?smotrim\.ru(?:/iframe)?/video(?:/id)?/(?P<id>\d+)   r}   r   NrU  r   r   r   r  r  J,  s    (GGjJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)SmotrimLiveIEiR,  r  zsmotrim:liveaB  (?x:
        (?:https?:)?//
            (?:(?:(?:test)?player|www)\.)?
            (?:
                smotrim\.ru|
                vgtrk\.com
            )
            (?:/iframe)?/
            (?P<type>
                channel|
                (?:audio-)?live
            )
            (?:/u?id)?/(?P<id>[\da-f-]+)
    )r}   r   Nr   r   r   r   r  r  R,  s    (GG gJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SmotrimPlaylistIEiY,  r  zsmotrim:playlistzMhttps?://smotrim\.ru/(?P<type>brand|podcast)/(?P<id>\d+)/?(?P<season>[\w-]+)?r~   r   Nr   r   r   r   r  r  Y,  s    (G GcJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SnapchatSpotlightIEi`,  zyt_dlp.extractor.snapchatSnapchatSpotlightz6https?://(?:www\.)?snapchat\.com/spotlight/(?P<id>\w+)r}   r   Nr   r   r   r   r  r  `,  s    )G!GLJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SnotrIEig,  zyt_dlp.extractor.snotrSnotrz6http?://(?:www\.)?snotr\.com/video/(?P<id>\d+)/([\w]+)r}   r   Nr   r   r   r   r  r  g,  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SoftWhiteUnderbellyIEin,  z$yt_dlp.extractor.softwhiteunderbellySoftWhiteUnderbellyzAhttps?://(?:www\.)?softwhiteunderbelly\.com/videos/(?P<id>[\w-]+)softwhiteunderbellyr}   r   Nr  r   r   r   r   r   n,  s    4G#GWJ*NLr   r   c                   $    \ rS rSrSrSrSrSrSrg)SohuIEiv,  yt_dlp.extractor.sohuSohuzJhttps?://(?P<mytv>my\.)?tv\.sohu\.com/.+?/(?(mytv)|n)(?P<id>\d+)\.shtml.*?r   r   Nr   r   r   r   r$  r$  v,  s    %GGbJLr   r$  c                   $    \ rS rSrSrSrSrSrSrg)SohuVIEi},  r%  SohuVz8https?://tv\.sohu\.com/v/(?P<id>[\w=-]+)\.html(?:$|[#?])r   r   Nr   r   r   r   r(  r(  },  s    %GGOJLr   r(  c                   (    \ rS rSrSrSrSrSrSrSr	g)		SonyLIVIEi,  yt_dlp.extractor.sonylivSonyLIVa  (?x)
                     (?:
                        sonyliv:|
                        https?://(?:www\.)?sonyliv\.com/(?:s(?:how|port)s/[^/]+|movies|clip|trailer|music-videos)/[^/?#&]+-
                    )
                    (?P<id>\d+)
                  sonylivr}   r   Nr  r   r   r   r+  r+  ,  s    (GG aJNLr   r+  c                   $    \ rS rSrSrSrSrSrSrg)SonyLIVSeriesIEi,  r,  SonyLIVSerieszIhttps?://(?:www\.)?sonyliv\.com/shows/[^/?#&]+-(?P<id>\d{10})/?(?:$|[?#])r~   r   Nr   r   r   r   r0  r0  ,  s    (GG_JLr   r0  c                        \ rS rSrSrSrSrSrg)SoundcloudEmbedIEi,  yt_dlp.extractor.soundcloudSoundcloudEmbedzDhttps?://(?:w|player|p)\.soundcloud\.com/player/?.*?\burl=(?P<id>.+)r   Nr   r   r   r   r3  r3  ,  s    +GGZJr   r3  c                        \ rS rSrSrSrSrSrg)SoundcloudBaseIEi,  r4  SoundcloudBase
soundcloudr   Nr   r   r   r   r7  r7  ,  r  r   r7  c                   (    \ rS rSrSrSrSrSrSrSr	g)SoundcloudIEi,  r4  r9  a  (?x)^(?:https?://)?
                    (?:(?:(?:www\.|m\.)?soundcloud\.com/
                            (?!stations/track)
                            (?P<uploader>[\w\d-]+)/
                            (?!(?:tracks|albums|sets(?:/.+?)?|reposts|likes|spotlight|comments)/?(?:$|[?#]))
                            (?P<title>[\w\d-]+)
                            (?:/(?P<token>(?!(?:albums|sets|recommended))[^?]+?))?
                            (?:[?].*)?$)
                       |(?:api(?:-v2)?\.soundcloud\.com/tracks/(?:soundcloud%3Atracks%3A)?(?P<track_id>\d+)
                          (?:/?\?secret_token=(?P<secret_token>[^&]+))?)
                    )
                    r}   r   Nr  r   r   r   r;  r;  ,  s    +GG RJ!NLr   r;  c                        \ rS rSrSrSrSrSrg)SoundcloudPlaylistBaseIEi,  r4  SoundcloudPlaylistBaser9  r   Nr   r   r   r   r=  r=  ,  s    +G&G!Nr   r=  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SoundcloudPlaylistIEi,  r4  zsoundcloud:playlistzfhttps?://api(?:-v2)?\.soundcloud\.com/playlists/(?P<id>[0-9]+)(?:/?\?secret_token=(?P<token>[^&]+?))?$r9  r~   r   Nr  r   r   r   r@  r@  ,  s    +G#G|J!NLr   r@  c                        \ rS rSrSrSrSrSrg)SoundcloudPagedPlaylistBaseIEi,  r4  SoundcloudPagedPlaylistBaser9  r   Nr   r   r   r   rB  rB  ,  s    +G+G!Nr   rB  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SoundcloudRelatedIEi,  r4  zsoundcloud:relatedzjhttps?://(?:(?:www|m)\.)?soundcloud\.com/(?P<slug>[\w\d-]+/[\w\d-]+)/(?P<relation>albums|sets|recommended)r9  r~   r   Nr  r   r   r   rE  rE  ,  s    +G"G DJ!NLr   rE  c                   0    \ rS rSrSrSrSrSrSrSr	Sr
S	rg
)SoundcloudSearchIEi,  r4  zsoundcloud:searchz7scsearch(?P<prefix>|[1-9][0-9]*|all):(?P<query>[\s\S]+)zSoundcloud searchr9  scsearchr~   r   Nr   r   r    r!   r)   ro   rG   ri   rh   rj   r   r"   r   r   r   rG  rG  ,  s%    +G!GLJ!G!NJLr   rG  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SoundcloudSetIEi,  r4  zsoundcloud:setzuhttps?://(?:(?:www|m)\.)?soundcloud\.com/(?P<uploader>[\w\d-]+)/sets/(?P<slug_title>[:\w\d-]+)(?:/(?P<token>[^?/]+))?r9  r~   r   Nr  r   r   r   rK  rK  ,  s    +GG OJ!NLr   rK  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SoundcloudTrackStationIEi,  r4  zsoundcloud:trackstationzNhttps?://(?:(?:www|m)\.)?soundcloud\.com/stations/track/[^/]+/(?P<id>[^/?#&]+)r9  r~   r   Nr  r   r   r   rM  rM  ,  s    +G'GcJ!NLr   rM  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SoundcloudUserIEi,  r4  zsoundcloud:useram  (?x)
                        https?://
                            (?:(?:www|m)\.)?soundcloud\.com/
                            (?P<user>[^/]+)
                            (?:/
                                (?P<rsrc>tracks|albums|sets|reposts|likes|spotlight|comments)
                            )?
                            /?(?:[?#].*)?$
                    r9  r~   r   Nr  r   r   r   rO  rO  ,  s    +GG KJ!NLr   rO  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SoundcloudUserPermalinkIEi,  r4  zsoundcloud:user:permalinkz/https?://api\.soundcloud\.com/users/(?P<id>\d+)r9  r~   r   Nr  r   r   r   rQ  rQ  ,  s    +G)GEJ!NLr   rQ  c                   $    \ rS rSrSrSrSrSrSrg)SoundgasmIEi,  yt_dlp.extractor.soundgasm	soundgasmz[https?://(?:www\.)?soundgasm\.net/u/(?P<user>[0-9a-zA-Z_-]+)/(?P<display_id>[0-9a-zA-Z_-]+)r}   r   Nr   r   r   r   rS  rS  ,  s    *GGpJLr   rS  c                   $    \ rS rSrSrSrSrSrSrg)SoundgasmProfileIEi,  rT  zsoundgasm:profilez=https?://(?:www\.)?soundgasm\.net/u/(?P<id>[^/]+)/?(?:\#.*)?$r~   r   Nr   r   r   r   rW  rW  ,  s    *G!GSJLr   rW  c                   $    \ rS rSrSrSrSrSrSrg)SouthParkCoUkIEi,  yt_dlp.extractor.southparkzsouthparkstudios.co.ukz_https?://(?:www\.)?southparkstudios\.co\.uk/(?:video-clips|collections|episodes)/(?P<id>[^?#]+)r}   r   Nr   r   r   r   rY  rY  ,  s    *G&GuJLr   rY  c                   $    \ rS rSrSrSrSrSrSrg)SouthParkComBrIEi-  rZ  zsouthparkstudios.com.brzrhttps?://(?:www\.)?southparkstudios\.com\.br/(?:en/)?(?:video-clips|episodios|collections|episodes)/(?P<id>[^?#]+)r}   r   Nr   r   r   r   r\  r\  -  s    *G'G IJLr   r\  c                   $    \ rS rSrSrSrSrSrSrg)SouthParkDeIEi	-  rZ  zsouthpark.dezmhttps?://(?:www\.)?southpark\.de/(?:en/)?(?:videoclip|collections|episodes|video-clips|folgen)/(?P<id>[^?#]+)r}   r   Nr   r   r   r   r^  r^  	-  s    *GG CJLr   r^  c                   $    \ rS rSrSrSrSrSrSrg)SouthParkDkIEi-  rZ  zsouthparkstudios.nuz[https?://(?:www\.)?southparkstudios\.nu/(?:video-clips|episodes|collections)/(?P<id>[^?#]+)r}   r   Nr   r   r   r   r`  r`  -  s    *G#GpJLr   r`  c                   $    \ rS rSrSrSrSrSrSrg)SouthParkEsIEi-  rZ  u   southpark.cc.com:españolzAhttps?://(?:www\.)?southpark\.cc\.com/es/episodios/(?P<id>[^?#]+)r}   r   Nr   r   r   r   rb  rb  -  s    *G)GWJLr   rb  c                   $    \ rS rSrSrSrSrSrSrg)SouthParkIEi-  rZ  zsouthpark.cc.comzehttps?://(?:www\.)?southpark(?:\.cc|studios)\.com/(?:video-clips|episodes|collections)/(?P<id>[^?#]+)r}   r   Nr   r   r   r   rd  rd  -  s    *G G{JLr   rd  c                   $    \ rS rSrSrSrSrSrSrg)SouthParkLatIEi%-  rZ  zsouthpark.latzfhttps?://(?:www\.)?southpark\.lat/(?:en/)?(?:video-?clips?|collections|episod(?:e|io)s)/(?P<id>[^?#]+)r}   r   Nr   r   r   r   rf  rf  %-  s    *GG{JLr   rf  c                       \ rS rSrSrSrSrg)SovietsClosetBaseIEi,-  yt_dlp.extractor.sovietsclosetSovietsClosetBaser   Nr   r   r   r   rh  rh  ,-  r  r   rh  c                   $    \ rS rSrSrSrSrSrSrg)SovietsClosetIEi1-  ri  SovietsClosetz<https?://(?:www\.)?sovietscloset\.com/video/(?P<id>[0-9]+)/?r}   r   Nr   r   r   r   rl  rl  1-  s    .GGQJLr   rl  c                   $    \ rS rSrSrSrSrSrSrg)SovietsClosetPlaylistIEi8-  ri  SovietsClosetPlaylistz=https?://(?:www\.)?sovietscloset\.com/(?!video)(?P<id>[^#?]+)r~   r   Nr   r   r   r   ro  ro  8-  s    .G%GRJLr   ro  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SpankBangIEi?-  yt_dlp.extractor.spankbang	SpankBanga0  (?x)
                    https?://
                        (?:[^/]+\.)?spankbang\.com/
                        (?:
                            (?P<id>[\da-z]+)/(?:video|play|embed)\b|
                            [\da-z]+-(?P<id_2>[\da-z]+)/playlist/[^/?#&]+
                        )
                    r   r}   r   NrU  r   r   r   rr  rr  ?-  s    *GG QJILr   rr  c                   $    \ rS rSrSrSrSrSrSrg)SpankBangPlaylistIEiG-  rs  SpankBangPlaylistzShttps?://(?:[^/]+\.)?spankbang\.com/(?P<id>[\da-z]+)/playlist/(?P<display_id>[^/]+)r~   r   Nr   r   r   r   rv  rv  G-  s    *G!GiJLr   rv  c                   $    \ rS rSrSrSrSrSrSrg)	SpiegelIEiN-  zyt_dlp.extractor.spiegelSpiegelzhttps?://(?:www\.)?(?:spiegel|manager-magazin)\.de(?:/[^/]+)+/[^/]*-(?P<id>[0-9]+|[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})(?:-embed|-iframe)?(?:\.html)?(?:$|[#?])r}   r   Nr   r   r   r   ry  ry  N-  s    (GG NJLr   ry  c                   $    \ rS rSrSrSrSrSrSrg)Sport5IEiU-  zyt_dlp.extractor.sport5Sport5zBhttps?://(?:www|vod)?\.sport5\.co\.il/.*\b(?:Vi|docID)=(?P<id>\d+)r}   r   Nr   r   r   r   r|  r|  U-  s    'GGZJLr   r|  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
SportBoxIEi\-  zyt_dlp.extractor.sportboxSportBoxzUhttps?://(?:news\.sportbox|matchtv)\.ru/vdl/player(?:/[^/]+/|\?.*?\bn?id=)(?P<id>\d+)Fr}   r   NrZ  r   r   r   r  r  \-  s    )GGmJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SportDeutschlandIEid-  z!yt_dlp.extractor.sportdeutschlandSportDeutschlandzHhttps?://(?:player\.)?sportdeutschland\.tv/(?P<id>(?:[^/?#]+/)?[^?#/&]+)r   r   Nr   r   r   r   r  r  d-  s    1G G]JLr   r  c                   (    \ rS rSrSrSrSS/rSrSrg)	
SpreakerIEik-  yt_dlp.extractor.spreakerSpreakerzMhttps?://api\.spreaker\.com/(?:(?:download/)?episode|v2/episodes)/(?P<id>\d+)zHhttps?://(?:www\.)?spreaker\.com/episode/[^#?/]*?(?P<id>\d+)/?(?:[?#]|$)r}   r   Nr   r   r   r   r  r  k-  s#    )GGd  gt  uJLr   r  c                   (    \ rS rSrSrSr/ SQrSrSrg)SpreakerShowIEir-  r  SpreakerShow)z,https?://api\.spreaker\.com/show/(?P<id>\d+)z>https?://(?:www\.)?spreaker\.com/podcast/[\w-]+--(?P<id>[\d]+)z?https?://(?:www\.)?spreaker\.com/show/(?P<id>\d+)/episodes/feedr~   r   Nr   r   r   r   r  r  r-  s    )GG QJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SpringboardPlatformIEiy-  z$yt_dlp.extractor.springboardplatformSpringboardPlatformaU  (?x)
                    https?://
                        cms\.springboardplatform\.com/
                        (?:
                            (?:previews|embed_iframe)/(?P<index>\d+)/video/(?P<id>\d+)|
                            xml_feeds_advanced/index/(?P<index_2>\d+)/rss3/(?P<id_2>\d+)
                        )
                    r}   r   Nr   r   r   r   r  r  y-  s    4G#G vJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SproutVideoIEi-  yt_dlp.extractor.sproutvideoSproutVideozAhttps?://videos\.sproutvideo\.com/embed/(?P<id>[\da-f]+)/[\da-f]+r}   r   Nr   r   r   r   r  r  -  r(
  r   r  c                        \ rS rSrSrSrSrSrg)WrestleUniverseBaseIEi-   yt_dlp.extractor.wrestleuniverseWrestleUniverseBasewrestleuniverser   Nr   r   r   r   r  r  -  r  r   r  c                        \ rS rSrSrSrSrSrg)StacommuBaseIEi-  yt_dlp.extractor.stacommuStacommuBasestacommur   Nr   r   r   r   r  r  -  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	StacommuLiveIEi-  r  StacommuLivez;https?://www\.stacommu\.jp/(?:en/)?live/(?P<id>[\da-zA-Z]+)r  r}   r   Nr  r   r   r   r  r  -  s    )GGQJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	StacommuVODIEi-  r  StacommuVODzFhttps?://www\.stacommu\.jp/(?:en/)?videos/episodes/(?P<id>[\da-zA-Z]+)r  r}   r   Nr  r   r   r   r  r  -  s    )GG\JNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	StagePlusVODConcertIEi-  zyt_dlp.extractor.stageplusStagePlusVODConcertz@https?://(?:www\.)?stage-plus\.com/video/(?P<id>vod_concert_\w+)	stageplusr~   r   Nr  r   r   r   r  r  -  s    *G#GVJ NLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	StanfordOpenClassroomIEi-  zyt_dlp.extractor.stanfordoc
stanfordoczhttps?://openclassroom\.stanford\.edu(?P<path>/?|(/MainFolder/(?:HomePage|CoursePage|VideoPage)\.php([?]course=(?P<course>[^&]+)(&video=(?P<video>[^&]+))?(&.*)?)?))$zStanford Open ClassRoomr}   r   Nr   r   r   r   r  r  -  s    +GG |J'GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)StarTVIEi-  zyt_dlp.extractor.startvstartvz(?x)
        https?://(?:www\.)?startv\.com\.tr/
        (?:
            (?:dizi|program)/(?:[^/?#&]+)/(?:bolumler|fragmanlar|ekstralar)|
            video/arsiv/(?:dizi|program)/(?:[^/?#&]+)
        )/
        (?P<id>[^/?#&]+)
    r}   r   Nr   r   r   r   r  r  -  s    'GG FJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
StarTrekIEi-  zyt_dlp.extractor.startrekstartrekzIhttps?://(?:www\.)?startrek\.com(?:/en-(?:ca|un))?/videos/(?P<id>[^/?#]+)z	STAR TREKr}   r   Nr   r   r   r   r  r  -  s    )GG^JGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SteamCommunityBroadcastIEi-  yt_dlp.extractor.steamSteamCommunityBroadcastzBhttps?://(?:www\.)?steamcommunity\.com/broadcast/watch/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  -  s    &G'GXJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SteamCommunityIEi-  r  SteamCommunityzahttps?://(?:www\.)?steamcommunity\.com/sharedfiles/filedetails(?:/?\?(?:[^#]+&)?id=|/)(?P<id>\d+)r}   r   Nr   r   r   r   r  r  -  s    &GGxJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SteamIEi-  r  SteamzYhttps?://store\.steampowered\.com(?:/agecheck)?/app/(?P<id>\d+)/?(?:[^?/#]+/?)?(?:[?#]|$)r~   r   Nr   r   r   r   r  r  -  s    &GGoJLr   r  c                       \ rS rSrSrSrSrg)StitcherBaseIEi-  yt_dlp.extractor.stitcherStitcherBaser   Nr   r   r   r   r  r  -  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)
StitcherIEi-  r  Stitcherzchttps?://(?:www\.)?stitcher\.com/(?:podcast|show)/(?:[^/]+/)+e(?:pisode)?/(?:[^/#?&]+-)?(?P<id>\d+)r}   r   Nr   r   r   r   r  r  -  s    )GGyJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)StitcherShowIEi-  r  StitcherShowzOhttps?://(?:www\.)?stitcher\.com/(?:podcast|show)/(?P<id>[^/#?&]+)/?(?:[?#&]|$)r~   r   Nr   r   r   r   r  r  -  s    )GGdJLr   r  c                       \ rS rSrSrSrSrg)StoryFireBaseIEi-  yt_dlp.extractor.storyfireStoryFireBaser   Nr   r   r   r   r  r  -  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)StoryFireIEi-  r  	StoryFirezDhttps?://(?:www\.)?storyfire\.com/video-details/(?P<id>[0-9a-f]{24})r}   r   Nr   r   r   r   r  r  -      *GGYJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)StoryFireSeriesIEi-  r  StoryFireSerieszGhttps?://(?:www\.)?storyfire\.com/write/series/stories/(?P<id>[^/?&#]+)r~   r   Nr   r   r   r   r  r  -  s    *GG\JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)StoryFireUserIEi-  r  StoryFireUserz:https?://(?:www\.)?storyfire\.com/user/(?P<id>[^/]+)/videor~   r   Nr   r   r   r   r  r  -  s    *GGOJLr   r  c                   (    \ rS rSrSrSrSS/rSrSrg)		StreaksIEi.  r  Streakszohttps?://players\.streaks\.jp/(?P<project_id>[\w-]+)/[\da-f]+/index\.html\?(?:[^#]+&)?m=(?P<id>(?:ref:)?[\w-]+)zehttps?://playback\.api\.streaks\.jp/v1/projects/(?P<project_id>[\w-]+)/medias/(?P<id>(?:ref:)?[\w-]+)r}   r   Nr   r   r   r   r  r  .  s&    (GG K  My  zJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
StreamCZIEi.  zyt_dlp.extractor.streamczStreamCZz]https?://(?:www\.)?(?:stream|televizeseznam)\.cz/[^?#]+/(?P<display_id>[^?#]+)-(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  .  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)StreamableIEi.  zyt_dlp.extractor.streamable
Streamablez.https?://streamable\.com/(?:[es]/)?(?P<id>\w+)r}   r   Nr   r   r   r   r  r  .  s    +GGCJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)StreetVoiceIEi.  zyt_dlp.extractor.streetvoiceStreetVoicez>https?://(?:.+?\.)?streetvoice\.com/[^/]+/songs/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  .      ,GGSJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)StretchInternetIEi .  z yt_dlp.extractor.stretchinternetStretchInternetzZhttps?://portal\.stretchinternet\.com/[^/]+/(?:portal|full)\.htm\?.*?\beventId=(?P<id>\d+)r}   r   Nr   r   r   r   r  r   .  s    0GGsJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	StripchatIEi'.  zyt_dlp.extractor.stripchat	Stripchatz'https?://stripchat\.com/(?P<id>[^/?#]+)r   r}   r   NrU  r   r   r   r  r  '.  s    *GG;JILr   r  c                       \ rS rSrSrSrSrg)SubsplashBaseIEi/.  yt_dlp.extractor.subsplashSubsplashBaser   Nr   r   r   r   r  r  /.  r  r   r  c                   (    \ rS rSrSrSrSS/rSrSrg)	SubsplashIEi4.  r  	SubsplashzPhttps?://(?:www\.)?subsplash\.com/(?:u/)?[^/?#]+/[^/?#]+/(?:d/|mi/\+)(?P<id>\w+)z*https?://(?:\w+\.)?subspla\.sh/(?P<id>\w+)r}   r   Nr   r   r   r   r  r  4.  s#    *GGh  k[  \JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SubsplashPlaylistIEi;.  r  zsubsplash:playlistzOhttps?://(?:www\.)?subsplash\.com/[^/?#]+/(?:our-videos|media)/ms/\+(?P<id>\w+)r~   r   Nr   r   r   r   r  r  ;.  s    *G"GfJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
SubstackIEiB.  zyt_dlp.extractor.substackSubstackz/https?://[\w-]+\.substack\.com/p/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  B.  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
SunPornoIEiI.  zyt_dlp.extractor.sunpornoSunPornozShttps?://(?:(?:www\.)?sunporno\.com/videos|embeds\.sunporno\.com/embed)/(?P<id>\d+)r   r}   r   NrU  r   r   r   r  r  I.  s    )GGkJILr   r  c                       \ rS rSrSrSrSrg)SverigesRadioBaseIEiQ.  yt_dlp.extractor.sverigesradioSverigesRadioBaser   Nr   r   r   r   r  r  Q.  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)SverigesRadioEpisodeIEiV.  r  zsverigesradio:episodezahttps?://(?:www\.)?sverigesradio\.se/(?:sida/)?avsnitt/(?:(?P<id>\d+)|(?P<slug>[\w-]+))(?:$|[#?])r}   r   Nr   r   r   r   r  r  V.  s    .G%GxJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SverigesRadioPublicationIEi].  r  zsverigesradio:publicationz}https?://(?:www\.)?sverigesradio\.se/(?:sida/)?(?:artikel|gruppsida)(?:\.aspx\?.*?\bartikel=(?P<id>[0-9]+)|/(?P<slug>[\w-]+))r}   r   Nr   r   r   r   r  r  ].  s    .G)G WJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)SwearnetEpisodeIEid.  zyt_dlp.extractor.swearnetSwearnetEpisodezjhttps?://www\.swearnet\.com/shows/(?P<id>[\w-]+)/seasons/(?P<season_num>\d+)/episodes/(?P<episode_num>\d+)r}   r   Nr   r   r   r   r  r  d.  s    )GG CJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	SyfyIEik.  r  Syfyzchttps?://(?:www\.)?syfy\.com/[^/?#]+/(?:season-\d+/episode-\d+/(?:videos/)?|videos/)(?P<id>[^/?#]+)r  r}   r   NrU  r   r   r   r  r  k.  s    $GGzJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)SztvHuIEis.  zyt_dlp.extractor.sztvhuSztvHuzRhttps?://(?:(?:www\.)?sztv\.hu|www\.tvszombathely\.hu)/(?:[^/]+)/.+-(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  s.  s    'GGiJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TBSIEiz.  zyt_dlp.extractor.tbsTBSz(?x)
        https?://(?:www\.)?(?P<site>tbs|tntdrama|trutv)\.com
        (?P<path>/(?:
            (?P<watch>watch(?:tnt|tbs|trutv))|
            movies|shows/[^/?#]+/(?:clips|season-\d+/episode-\d+)
        )/(?P<id>[^/?#]+))
    r}   r   Nr   r   r   r   r  r  z.  s    $GG FJLr   r  c                       \ rS rSrSrSrSrg)TBSJPBaseIEi.  yt_dlp.extractor.tbsjp	TBSJPBaser   Nr   r   r   r   r  r  .  r   r   r  c                   $    \ rS rSrSrSrSrSrSrg)TBSJPEpisodeIEi.  r	  TBSJPEpisodez/https?://cu\.tbs\.co\.jp/episode/(?P<id>[\d_]+)r}   r   Nr   r   r   r   r  r  .  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)TBSJPPlaylistIEi.  r	  TBSJPPlaylistz2https?://cu\.tbs\.co\.jp/playlist/(?P<id>[\da-f]+)r~   r   Nr   r   r   r   r  r  .  s    &GGIJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TBSJPProgramIEi.  r	  TBSJPProgramz,https?://cu\.tbs\.co\.jp/program/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  .  s    &GGCJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TF1IEi.  zyt_dlp.extractor.tf1TF1zVhttps?://(?:www\.)?tf1\.fr/[^/]+/(?P<program_slug>[^/]+)/videos/(?P<id>[^/?&#]+)\.htmlr}   r   Nr   r   r   r   r  r  .      $GGlJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TFOIEi.  zyt_dlp.extractor.tfoTFOz>https?://(?:www\.)?tfo\.org/(?:en|fr)/(?:[^/]+/){2}(?P<id>\d+)Fr}   r   NrZ  r   r   r   r  r  .  s    $GGTJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TLCIEi.  rx  TLCz6https?://(?:go\.)?tlc\.com/video/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   r  r  .  s    &GGKJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TMZIEi.  zyt_dlp.extractor.tmzTMZzhttps?://(?:www\.)?tmz\.com/.*r}   r   Nr   r   r   r   r  r  .  s    $GG3JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		TNAFlixIEi.  r  TNAFlixzVhttps?://(?:www\.)?(?P<host>tnaflix)\.com/[^/]+/(?P<display_id>[^/]+)/video(?P<id>\d+)r   r}   r   NrU  r   r   r   r"  r"  .  s    (GGlJILr   r"  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TNAFlixNetworkEmbedIEi.  r  TNAFlixNetworkEmbedzAhttps?://player\.(?P<host>tnaflix|empflix)\.com/video/(?P<id>\d+)r   r}   r   NrU  r   r   r   r%  r%  .  s    (G#GWJILr   r%  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)		TOnlineIEi.  zyt_dlp.extractor.tonlinezt-online.deNz<https?://(?:www\.)?t-online\.de/tv/(?:[^/]+/)*id_(?P<id>\d+)Fr}   r   rF  r   r   r   r(  r(  .  s     (GGHRJHLr   r(  c                   $    \ rS rSrSrSrSrSrSrg)TV24UAVideoIEi.  zyt_dlp.extractor.tv24uaz24tv.uazDhttps?://24tv\.ua/news/showPlayer\.do.*?(?:\?|&)objectId=(?P<id>\d+)r}   r   Nr   r   r   r   r*  r*  .  s    'GG[JLr   r*  c                   $    \ rS rSrSrSrSrSrSrg)TV2ArticleIEi.  r
  
TV2Articlez?https?://(?:www\.)?tv2\.no/(?!v(?:ideo)?\d*/)[^?#]+/(?P<id>\d+)r~   r   Nr   r   r   r   r,  r,  .  s    $GGVJLr   r,  c                   $    \ rS rSrSrSrSrSrSrg)TV2DKBornholmPlayIEi.  yt_dlp.extractor.tv2dkTV2DKBornholmPlayz4https?://play\.tv2bornholm\.dk/\?.*?\bid=(?P<id>\d+)r}   r   Nr   r   r   r   r/  r/  .  s    &G!GLJLr   r/  c                   $    \ rS rSrSrSrSrSrSrg)TV2DKIEi.  r0  TV2DKa  (?x)
                    https?://
                        (?:www\.)?
                        (?:
                            tvsyd|
                            tv2ostjylland|
                            tvmidtvest|
                            tv2fyn|
                            tv2east|
                            tv2lorry|
                            tv2nord|
                            tv2kosmopol
                        )\.dk/
                        (?:[^/?#]+/)*
                        (?P<id>[^/?\#&]+)
                    r   r   Nr   r   r   r   r3  r3  .  s    &GG }JLr   r3  c                   $    \ rS rSrSrSrSrSrSrg)TV2HuIEi.  yt_dlp.extractor.tv2huz
tv2play.huz9https?://(?:www\.)?tv2play\.hu/(?!szalag/)(?P<id>[^#&?]+)r}   r   Nr   r   r   r   r6  r6  .  r  r   r6  c                   $    \ rS rSrSrSrSrSrSrg)TV2HuSeriesIEi.  r7  ztv2playseries.huz5https?://(?:www\.)?tv2play\.hu/szalag/(?P<id>[^#&?]+)r~   r   Nr   r   r   r   r9  r9  .  s    &G GJJLr   r9  c                   $    \ rS rSrSrSrSrSrSrg)TV2IEi.  r
  TV2z@https?://(?:www\.)?tv2\.no/v(?:ideo)?\d*/(?:[^?#]+/)*(?P<id>\d+)r}   r   Nr   r   r   r   r;  r;  .  s    $GGWJLr   r;  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TV4IEi/  zyt_dlp.extractor.tv4TV4a9  (?x)https?://(?:www\.)?
        (?:
            tv4\.se/(?:[^/]+)/klipp/(?:.*)-|
            tv4play\.se/
            (?:
                (?:program|barn)/(?:(?:[^/]+/){1,2}|(?:[^\?]+)\?video_id=)|
                iframe/video/|
                film/|
                sport/|
            )
        )(?P<id>[0-9]+)ztv4.se and tv4play.ser}   r   Nr   r   r   r   r>  r>  /  s    $GG \J%GLr   r>  c                   $    \ rS rSrSrSrSrSrSrg)TV5MondePlusIEi
/  zyt_dlp.extractor.tv5mondeplusTV5MONDEz9https?://(?:www\.)?tv5monde\.com/tv/video/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   rA  rA  
/  s    -GGNJLr   rA  c                       \ rS rSrSrSrSrg)TV5UnisBaseIEi/  yt_dlp.extractor.tv5unisTV5UnisBaser   Nr   r   r   r   rD  rD  /  rK  r   rD  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
	TV5UnisIEi/  rE  tv5uniszhttps?://(?:www\.)?tv5unis\.ca/videos/(?P<id>[^/]+)(?:/saisons/(?P<season_number>\d+)/episodes/(?P<episode_number>\d+))?/?(?:[?#&]|$)Fr0  r}   r   Nr  r   r   r   rH  rH  /  s#    (GG ]JHILr   rH  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TV5UnisVideoIEi/  rE  ztv5unis:videoz7https?://(?:www\.)?tv5unis\.ca/videos/[^/]+/(?P<id>\d+)Fr}   r   NrZ  r   r   r   rK  rK  /  s    (GGMJHLr   rK  c                   $    \ rS rSrSrSrSrSrSrg)TV8ItIEi'/  r  ztv8.itzEhttps?://(?:www\.)?tv8\.it/(?:show)?video/(?:[0-9a-z-]+-)?(?P<id>\d+)r}   r   Nr   r   r   r   rM  rM  '/  s    &GG[JLr   rM  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TV8ItLiveIEi./  r  ztv8.it:livez$https?://(?:www\.)?tv8\.it/streamingzTV8 Liver}   r   Nr   r   r   r   rO  rO  ./  s    &GG9JGLr   rO  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TV8ItPlaylistIEi6/  r  ztv8.it:playlistz;https?://(?:www\.)?tv8\.it/(?!video)[^/#?]+/(?P<id>[^/#?]+)zTV8 Playlistr~   r   Nr   r   r   r   rQ  rQ  6/  s    &GGPJGLr   rQ  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TVAIEi>/  zyt_dlp.extractor.tvatvapluszHhttps?://(?:www\.)?tvaplus\.ca/(?:[^/?#]+/)*[\w-]+-(?P<id>\d+)(?:$|[#?])zTVA+r}   r   Nr   r   r   r   rS  rS  >/  s    $GG_JGLr   rS  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )TVANouvellesArticleIEiF/  yt_dlp.extractor.tvanouvellesTVANouvellesArticlez?https?://(?:www\.)?tvanouvelles\.ca/(?:[^/]+/)+(?P<id>[^/?#&]+)r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )TVANouvellesIEr<   r   r   s     r   r<   TVANouvellesArticleIE.suitableL/  s(    &//44uO%':J3:OOr   r   r   r   s   @r   rV  rV  F/  s+    -G#GTJLP Pr   rV  c                   $    \ rS rSrSrSrSrSrSrg)rZ  iQ/  rW  TVANouvellesz6https?://(?:www\.)?tvanouvelles\.ca/videos/(?P<id>\d+)r}   r   Nr   r   r   r   rZ  rZ  Q/      -GGLJLr   rZ  c                   $    \ rS rSrSrSrSrSrSrg)TVCArticleIEiX/  yt_dlp.extractor.tvc
TVCArticlez=https?://(?:www\.)?tvc\.ru/(?!video/iframe/id/)(?P<id>[^?#]+)r}   r   Nr   r   r   r   r`  r`  X/  s    $GGRJLr   r`  c                   $    \ rS rSrSrSrSrSrSrg)TVCIEi_/  ra  TVCz6https?://(?:www\.)?tvc\.ru/video/iframe/id/(?P<id>\d+)r}   r   Nr   r   r   r   rd  rd  _/  s    $GGLJLr   rd  c                   $    \ rS rSrSrSrSrSrSrg)TVIPlayerIEif/  zyt_dlp.extractor.tviplayer	TVIPlayerzHhttps?://tviplayer\.iol\.pt(/programa/[\w-]+/[a-f0-9]+)?/\w+/(?P<id>\w+)r}   r   Nr   r   r   r   rg  rg  f/  s    *GG`JLr   rg  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TVN24IEim/  zyt_dlp.extractor.tvn24TVN24zPhttps?://(?:(?!eurosport)[^/]+\.)?tvn24(?:bis)?\.pl/(?:[^/?#]+/)*(?P<id>[^/?#]+)Fr}   r   NrZ  r   r   r   rj  rj  m/  s    &GGeJHLr   rj  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TVNoeIEiu/  zyt_dlp.extractor.tvnoeTVNoez1https?://(?:www\.)?tvnoe\.cz/video/(?P<id>[0-9]+)Fr}   r   NrZ  r   r   r   rm  rm  u/  s    &GGFJHLr   rm  c                       \ rS rSrSrSrSrg)TVOpenGrBaseIEi}/  yt_dlp.extractor.tvopengrTVOpenGrBaser   Nr   r   r   r   rp  rp  }/  r  r   rp  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TVOpenGrEmbedIEi/  rq  ztvopengr:embedzD(?:https?:)?//(?:www\.|cdn\.|)(?:tvopen|ethnos).gr/embed/(?P<id>\d+)ztvopen.gr embedded videosr}   r   Nr   r   r   r   rt  rt  /  s    )GGZJ)GLr   rt  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TVOpenGrWatchIEi/  rq  ztvopengr:watchzVhttps?://(?P<netloc>(?:www\.)?(?:tvopen|ethnos)\.gr)/watch/(?P<id>\d+)/(?P<slug>[^/]+)z tvopen.gr (and ethnos.gr) videosr}   r   Nr   r   r   r   rv  rv  /  s    )GGlJ0GLr   rv  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)

TVPEmbedIEi/  yt_dlp.extractor.tvpz	tvp:embeda  (?x)
        (?:
            tvp:
            |https?://
                (?:[^/]+\.)?
                (?:tvp(?:parlament)?\.pl|tvp\.info|tvpworld\.com|swipeto\.pl)/
                (?:sess/
                        (?:tvplayer\.php\?.*?object_id
                        |TVPlayer2/(?:embed|api)\.php\?.*[Ii][Dd])
                    |shared/details\.php\?.*?object_id)
                =)
        (?P<id>\d+)
    Telewizja Polskar  r}   r   Nr  r   r   r   rx  rx  /  s#    $GG GJ GILr   rx  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
TVPIEi/  ry  tvpz{https?://(?:[^/]+\.)?(?:tvp(?:parlament)?\.(?:pl|info)|tvpworld\.com|swipeto\.pl)/(?:(?!\d+/)[^/]+/)*(?P<id>\d+)(?:[/?#]|$)rz  r  r   r   Nr  r   r   r   r|  r|  /  s#    $GG UJ GILr   r|  c                        \ rS rSrSrSrSrSrg)TVPStreamIEi/  ry  z
tvp:streamzf(?:tvpstream:|https?://(?:tvpstream\.vod|stream)\.tvp\.pl/(?:\?(?:[^&]+[&;])*channel_id=)?)(?P<id>\d*)r   Nr   r   r   r   r  r  /  s    $GG~Jr   r  c                       \ rS rSrSrSrSrg)TVPVODBaseIEi/  ry  
TVPVODBaser   Nr   r   r   r   r  r  /  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TVPVODSeriesIEi/  ry  ztvp:vod:serieszVhttps?://vod\.tvp\.pl/[a-z\d-]+,\d+/[a-z\d-]+-odcinki,(?P<id>\d+)(?:\?[^#]+)?(?:#.+)?$r  r~   r   NrU  r   r   r   r  r  /  s    $GGpJILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TVPVODVideoIEi/  ry  ztvp:vodzhttps?://vod\.tvp\.pl/(?P<category>[a-z\d-]+,\d+)/[a-z\d-]+(?<!-odcinki)(?:-odcinki,\d+/odcinek--?\d+,S-?\d+E-?\d+)?,(?P<id>\d+)/?(?:[?#]|$)r  r}   r   NrU  r   r   r   r  r  /  s    $GG jJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)TVPlayHomeIEi/  yt_dlp.extractor.tvplay
TVPlayHomez(?x)
            https?://
            (?:tv3?)?
            play\.(?:tv3|skaties)\.(?P<country>lv|lt|ee)/
            (?P<live>lives/)?
            [^?#&]+(?:episode|programme|clip)-(?P<id>\d+)
    r}   r   Nr   r   r   r   r  r  /  s    'GG dJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TVPlayIEi/  r  mtga  (?x)
                    (?:
                        mtg:|
                        https?://
                            (?:www\.)?
                            (?:
                                tvplay(?:\.skaties)?\.lv(?:/parraides)?|
                                (?:tv3play|play\.tv3)\.lt(?:/programos)?|
                                tv3play(?:\.tv3)?\.ee/sisu
                            )
                            /(?:[^/]+/)+
                        )
                        (?P<id>\d+)
                    zMTG servicesr}   r   Nr   r   r   r   r  r  /  s    'GG tJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
TVPlayerIEi/  zyt_dlp.extractor.tvplayerTVPlayerz6https?://(?:www\.)?tvplayer\.com/watch/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r  /  rM  r   r  c                   $    \ rS rSrSrSrSrSrSrg)TVerIEi/  zyt_dlp.extractor.tverTVerzbhttps?://(?:www\.)?tver\.jp/(?:(?P<type>lp|corner|series|episodes?|feature)/)+(?P<id>[a-zA-Z0-9]+)r   r   Nr   r   r   r   r  r  /  s    %GGwJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TagesschauIEi/  zyt_dlp.extractor.tagesschau
Tagesschauzqhttps?://(?:www\.)?tagesschau\.de/(?P<path>[^/]+/(?:[^/]+/)*?(?P<id>[^/#?]+?(?:-?[0-9]+)?))(?:~_?[^/#?]+?)?\.htmlFr   r   NrZ  r   r   r   r  r  /  s    +GG HJHLr   r  c                       \ rS rSrSrSrSrg)TapTapBaseIEi/  yt_dlp.extractor.taptap
TapTapBaser   Nr   r   r   r   r  r  /  r"  r   r  c                   $    \ rS rSrSrSrSrSrSrg)TapTapAppIEi/  r  	TapTapAppz(https?://www\.taptap\.cn/app/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  /  s    'GG>JLr   r  c                       \ rS rSrSrSrSrg)TapTapIntlBaseIEi/  r  TapTapIntlBaser   Nr   r   r   r   r  r  /      'GGr   r  c                   $    \ rS rSrSrSrSrSrSrg)TapTapAppIntlIEi/  r  TapTapAppIntlz(https?://www\.taptap\.io/app/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  /  s    'GG>JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TapTapMomentIEi/  r  TapTapMomentz+https?://www\.taptap\.cn/moment/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  /  s    'GGAJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TapTapPostIntlIEi0  r  TapTapPostIntlz)https?://www\.taptap\.io/post/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  0  s    'GG?JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TassIEi
0  zyt_dlp.extractor.tassTassz6https?://(?:tass\.ru|itar-tass\.com)/[^/]+/(?P<id>\d+)Fr}   r   NrZ  r   r   r   r  r  
0  s    %GGLJHLr   r  c                        \ rS rSrSrSrSrSrg)TeachableBaseIEi0  yt_dlp.extractor.teachableTeachableBase	teachabler   Nr   r   r   r   r  r  0  r.  r   r  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	TeachableCourseIEi0  r  TeachableCoursea  (?x)
                        (?:
                            teachable:https?://(?P<site_t>[^/]+)|
                            https?://(?:www\.)?(?P<site>v1\.upskillcourses\.com|gns3\.teachable\.com|academyhacker\.com|stackskills\.com|market\.saleshacker\.com|learnability\.org|edurila\.com|courses\.workitdaily\.com)
                        )
                        /(?:courses|p)/(?:enrolled/)?(?P<id>[^/?#&]+)
                    r  r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )TeachableIEr<   r   r   s     r   r<   TeachableCourseIE.suitable0  r*  r   r   r|  r   s   @r   r  r  0  s3    *GG ZJ NLM Mr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
r  i$0  r  	Teachablea  (?x)
                    (?:
                        teachable:https?://(?P<site_t>[^/]+)|
                        https?://(?:www\.)?(?P<site>v1\.upskillcourses\.com|gns3\.teachable\.com|academyhacker\.com|stackskills\.com|market\.saleshacker\.com|learnability\.org|edurila\.com|courses\.workitdaily\.com)
                    )
                    /courses/[^/]+/lectures/(?P<id>\d+)
                    Fr  r}   r   Nr  r   r   r   r  r  $0  s#    *GG }JH NLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
TeacherTubeIEi-0  yt_dlp.extractor.teachertubeteachertubez}https?://(?:www\.)?teachertube\.com/(viewVideo\.php\?video_id=|music\.php\?music_id=|video/(?:[\da-z-]+-)?|audio/)(?P<id>\d+)Fzteachertube.com videosr}   r   Nri  r   r   r   r  r  -0  s#    ,GG YJH&GLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
TeacherTubeUserIEi60  r  zteachertube:user:collectionzVhttps?://(?:www\.)?teachertube\.com/(user/profile|collection)/(?P<user>[0-9a-zA-Z]+)/?Fz*teachertube.com user and collection videosr~   r   Nri  r   r   r   r  r  60  s     ,G+GkJH:GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TeachingChannelIEi?0  z yt_dlp.extractor.teachingchannelTeachingChannelz@https?://(?:www\.)?teachingchannel\.org/videos?/(?P<id>[^/?&#]+)Fr}   r   NrZ  r   r   r   r  r  ?0  s    0GGUJHLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TeamTreeHouseIEiG0  zyt_dlp.extractor.teamtreehouseTeamTreeHousez;https?://(?:www\.)?teamtreehouse\.com/library/(?P<id>[^/]+)teamtreehouser   r   Nr  r   r   r   r  r  G0  s    .GGPJ$NLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
TeamcocoIEiO0  r  Teamcocoz9https?://(?:www\.)?teamcoco\.com/(?P<id>([^/]+/)*[^/?#]+)r}   r   Nr   r   r   r   r  r  O0  s    )GGNJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TechTVMITIEiV0  r  ztechtv.mit.eduz7https?://techtv\.mit\.edu/(?:videos|embeds)/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  V0  s    $GGMJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
TedEmbedIEi]0  yt_dlp.extractor.tedTedEmbedz"https?://embed(?:-ssl)?\.ted\.com/r}   r   Nr   r   r   r   r  r  ]0  s    $GG7JLr   r  c                       \ rS rSrSrSrSrg)	TedBaseIEid0  r  TedBaser   Nr   r   r   r   r  r  d0  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)TedPlaylistIEii0  r  TedPlaylistzNhttps?://www\.ted\.com/(?:playlists(?:/\d+)?)(?:/lang/[^/#?]+)?/(?P<id>[\w-]+)r~   r   Nr   r   r   r   r  r  i0  s    $GGeJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TedSeriesIEip0  r  	TedSeriesz^https?://www\.ted\.com/(?:series)(?:/lang/[^/#?]+)?/(?P<id>[\w-]+)(?:#season_(?P<season>\d+))?r~   r   Nr   r   r   r   r  r  p0  s    $GGuJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	TedTalkIEiw0  r  TedTalkzAhttps?://www\.ted\.com/(?:talks)(?:/lang/[^/#?]+)?/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  w0  s    $GGWJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)Tele13IEi~0  zyt_dlp.extractor.tele13Tele13z;https?://(?:www\.)?t13\.cl/videos(?:/[^/]+)+/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  ~0  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)Tele5IEi0  zyt_dlp.extractor.tele5Tele5z_https?://(?:www\.)?tele5\.de/(?P<parent_slug>[\w-]+)/(?P<slug_a>[\w-]+)(?:/(?P<slug_b>[\w-]+))?r   r   Nr   r   r   r   r  r  0  s    &GGwJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TeleBruxellesIEi0  zyt_dlp.extractor.telebruxellesTeleBruxelleszGhttps?://(?:www\.)?(?:telebruxelles|bx1)\.be/(?:[^/]+/)*(?P<id>[^/#?]+)r}   r   Nr   r   r   r   r  r  0  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TeleMBIEi0  zyt_dlp.extractor.telembTeleMBzEhttps?://(?:www\.)?telemb\.be/(?P<display_id>.+?)_d_(?P<id>\d+)\.htmlFr}   r   NrZ  r   r   r   r  r  0  s    'GG\JHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TeleQuebecEmissionIEi0  yt_dlp.extractor.telequebecTeleQuebecEmissiona	  (?x)
                    https?://
                        (?:
                            [^/]+\.telequebec\.tv/emissions/|
                            (?:www\.)?telequebec\.tv/
                        )
                        (?P<id>[^?#&]+)
                    r}   r   Nr   r   r   r   r  r  0  s    +G"G hJLr   r  c                       \ rS rSrSrSrSrg)TeleQuebecBaseIEi0  r  TeleQuebecBaser   Nr   r   r   r   r  r  0  rZ  r   r  c                   $    \ rS rSrSrSrSrSrSrg)TeleQuebecIEi0  r  
TeleQuebecz(?x)
                    https?://
                        (?:
                            zonevideo\.telequebec\.tv/media|
                            coucou\.telequebec\.tv/videos
                        )/(?P<id>\d+)
                    r}   r   Nr   r   r   r   r  r  0  s    +GG OJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TeleQuebecLiveIEi0  r  TeleQuebecLivez3https?://zonevideo\.telequebec\.tv/(?P<id>endirect)r}   r   Nr   r   r   r   r  r  0  s    +GGHJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TeleQuebecSquatIEi0  r  TeleQuebecSquatz1https?://squat\.telequebec\.tv/videos/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  0  r^  r   r  c                   $    \ rS rSrSrSrSrSrSrg)TeleQuebecVideoIEi0  r  TeleQuebecVideoz;https?://video\.telequebec\.tv/player(?:-live)?/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  0  s    +GGQJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
TeleTaskIEi0  zyt_dlp.extractor.teletaskTeleTaskzChttps?://(?:www\.)?tele-task\.de/archive/video/html5/(?P<id>[0-9]+)Fr~   r   NrZ  r   r   r   r  r  0  s    )GGXJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TelecaribePlayIEi0  zyt_dlp.extractor.telecaribeTelecaribePlayz6https?://(?:www\.)?play\.telecaribe\.co/(?P<id>[\w-]+)r   r   Nr   r   r   r   r   r   0  s    +GGMJLr   r   c                       \ rS rSrSrSrSrg)TelecincoBaseIEi0  yt_dlp.extractor.telecincoTelecincoBaser   Nr   r   r   r   r  r  0  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TelecincoIEi0  r  	TelecincozZhttps?://(?:www\.)?(?:telecinco\.es|cuatro\.com|mediaset\.es)/(?:[^/]+/)+(?P<id>.+?)\.htmlz(telecinco.es, cuatro.com and mediaset.esr   r   Nr   r   r   r   r  r  0  s    *GGrJ8GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TelegraafIEi0  zyt_dlp.extractor.telegraaf	Telegraafz2https?://(?:www\.)?telegraaf\.nl/video/(?P<id>\d+)r}   r   Nr   r   r   r   r
  r
  0  rK  r   r
  c                   $    \ rS rSrSrSrSrSrSrg)TelegramEmbedIEi0  zyt_dlp.extractor.telegramztelegram:embedz0https?://t\.me/(?P<channel_id>[^/]+)/(?P<id>\d+)r   r   Nr   r   r   r   r  r  0  s    )GGEJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TelemundoIEi0  zyt_dlp.extractor.telemundo	TelemundozFhttps?:\/\/(?:www\.)?telemundo\.com\/.+?video\/[^\/]+(?P<id>tmvo\d{7})Fr}   r   NrZ  r   r   r   r  r  0  s    *GGaJHLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TelewebionIEi0  zyt_dlp.extractor.telewebion
TelewebionzHhttps?://(?:www\.)?telewebion\.com/episode/(?P<id>(?:0x[a-fA-F\d]+|\d+))Fr}   r   NrZ  r   r   r   r  r  0  s    +GG_JHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TempoIEi0  r*	  Tempoz0https?://video\.tempo\.co/\w+/\d+/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  0      &GGHJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)		TenPlayIEi1  yt_dlp.extractor.tenplay10playzMhttps?://(?:www\.)?10(?:play)?\.com\.au/(?:[^/?#]+/)+(?P<id>tpv\d{6}[a-z]{5})r	  r}   r   Nr  r   r   r   r  r  1  s     (GGdJNILr   r  c                   $    \ rS rSrSrSrSrSrSrg)TenPlaySeasonIEi1  r  z10play:seasonzbhttps?://(?:www\.)?10(?:play)?\.com\.au/(?P<show>[^/?#]+)/episodes/(?P<season>[^/?#]+)/?(?:$|[?#])r~   r   Nr   r   r   r   r  r  1      (GGxJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
TennisTVIEi1  zyt_dlp.extractor.tennistvTennisTVz:https?://(?:www\.)?tennistv\.com/videos/(?P<id>[-a-z0-9]+)tennistvr}   r   Nr  r   r   r   r   r   1  s    )GGOJNLr   r   c                   $    \ rS rSrSrSrSrSrSrg)	TestURLIEi1  zyt_dlp.extractor.testurlTestURLz6test(?:url)?:(?P<extractor>.*?)(?:_(?P<num>\d+|all))?$Fr   Nr#  r   r   r   r$  r$  1  s    (GGJJGr   r$  c                   $    \ rS rSrSrSrSrSrSrg)TheGuardianPodcastIEi#1  yt_dlp.extractor.theguardianTheGuardianPodcastzPhttps?://(?:www\.)?theguardian\.com/\w+/audio/\d{4}/\w{3}/\d{1,2}/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r'  r'  #1  s    ,G"GjJLr   r'  c                   $    \ rS rSrSrSrSrSrSrg)TheGuardianPodcastPlaylistIEi*1  r(  TheGuardianPodcastPlaylistzLhttps?://(?:www\.)?theguardian\.com/\w+/series/(?P<id>[\w-]+)(?:\?page=\d+)?r~   r   Nr   r   r   r   r+  r+  *1  s    ,G*GeJLr   r+  c                   $    \ rS rSrSrSrSrSrSrg)TheHighWireIEi11  zyt_dlp.extractor.thehighwireTheHighWirez>https?://(?:www\.)?thehighwire\.com/ark-videos/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r.  r.  11  r  r   r.  c                   $    \ rS rSrSrSrSrSrSrg)TheHoleTvIEi81  zyt_dlp.extractor.theholetv	TheHoleTvz7https?://(?:www\.)?the-hole\.tv/episodes/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r1  r1  81  r  r   r1  c                   $    \ rS rSrSrSrSrSrSrg)TheInterceptIEi?1  zyt_dlp.extractor.theinterceptTheInterceptz8https?://theintercept\.com/fieldofvision/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r4  r4  ?1  r^  r   r4  c                   $    \ rS rSrSrSrSrSrSrg)ThePlatformFeedIEiF1  r  ThePlatformFeedhttps?://feed\.theplatform\.com/f/(?P<provider_id>[^/]+)/(?P<feed_id>[^?/]+)\?(?:[^&]+&)*(?P<filter>by(?:Gui|I)d=(?P<id>[^&]+))r}   r   Nr   r   r   r   r7  r7  F1  s    ,GG VJLr   r7  c                        \ rS rSrSrSrSrSrg)	CBSBaseIEiM1  r  CBSBaser9  r   Nr   r   r   r   r;  r;  M1  s    $GG VJr   r;  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CBSIEiS1  r  CBSz(?x)
        (?:
            cbs:|
            https?://(?:www\.)?(?:
                cbs\.com/(?:shows|movies)/(?:video|[^/]+/video|[^/]+)/|
                colbertlateshow\.com/(?:video|podcasts)/)
        )(?P<id>[\w-]+)Fr}   r   NrZ  r   r   r   r>  r>  S1  s    $GG }JHLr   r>  c                   $    \ rS rSrSrSrSrSrSrg)CorusIEi[1  zyt_dlp.extractor.corusCorusa  (?x)
                    https?://
                        (?:www\.)?
                        (?P<domain>
                            (?:
                                globaltv|
                                etcanada|
                                seriesplus|
                                wnetwork|
                                ytv
                            )\.com|
                            (?:
                                hgtv|
                                foodnetwork|
                                slice|
                                history|
                                showcase|
                                bigbrothercanada|
                                abcspark|
                                disney(?:channel|lachaine)
                            )\.ca
                        )
                        /(?:[^/]+/)*
                        (?:
                            video\.html\?.*?\bv=|
                            videos?/(?:[^/]+/)*(?:[a-z0-9-]+-)?
                        )
                        (?P<id>
                            [\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}|
                            (?:[A-Z]{4})?\d{12,20}
                        )
                    r}   r   Nr   r   r   r   rA  rA  [1  s    &GG ^JLr   rA  c                   $    \ rS rSrSrSrSrSrSrg)ThePlatformIEib1  r  ThePlatform(?x)
        (?:https?://(?:link|player)\.theplatform\.com/[sp]/(?P<provider_id>[^/]+)/
           (?:(?:(?:[^/]+/)+select/)?(?P<media>media/(?:guid/\d+/)?)?|(?P<config>(?:[^/\?]+/(?:swf|config)|onsite)/select/))?
         |theplatform:)(?P<id>[^/\?&]+)r}   r   Nr   r   r   r   rD  rD  b1  s    ,GG YJLr   rD  c                        \ rS rSrSrSrSrSrg)AENetworksBaseIEii1  yt_dlp.extractor.aenetworksAENetworksBaserF  r   Nr   r   r   r   rH  rH  i1  s    +GG YJr   rH  c                        \ rS rSrSrSrSrSrg)AENetworksListBaseIEio1  rI  AENetworksListBaserF  r   Nr   r   r   r   rL  rL  o1  s    +G"G YJr   rL  c                   $    \ rS rSrSrSrSrSrSrg)AENetworksCollectionIEiu1  rI  zaenetworks:collectionz(?x)https?://
        (?:(?:www|play|watch)\.)?
        (?P<domain>
            (?:history(?:vault)?|aetv|mylifetime|lifetimemovieclub)\.com|
            fyi\.tv
        )/(?:[^/]+/)*(?:list|collections)/(?P<id>[^/?#&]+)/?(?:[?#&]|$)r~   r   Nr   r   r   r   rO  rO  u1  s    +G%G EJLr   rO  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
AENetworksIEi|1  rI  
aenetworksaO  (?x)https?://
        (?:(?:www|play|watch)\.)?
        (?P<domain>
            (?:history(?:vault)?|aetv|mylifetime|lifetimemovieclub)\.com|
            fyi\.tv
        )/(?P<id>
        shows/[^/?#]+/season-\d+/episode-\d+|
        (?P<type>movie|special)s/[^/?#]+(?P<extra>/[^/?#]+)?|
        (?:shows/[^/?#]+/)?videos/[^/?#]+
    )zGA+E Networks: A&E, Lifetime, History.com, FYI Network and History Vaultr  r}   r   Nr  r   r   r   rQ  rQ  |1  s#    +GG qJWGILr   rQ  c                   $    \ rS rSrSrSrSrSrSrg)AENetworksShowIEi1  rI  zaenetworks:showz(?x)https?://
        (?:(?:www|play|watch)\.)?
        (?P<domain>
            (?:history(?:vault)?|aetv|mylifetime|lifetimemovieclub)\.com|
            fyi\.tv
        )/shows/(?P<id>[^/?#&]+)/?(?:[?#&]|$)r~   r   Nr   r   r   r   rT  rT  1  s    +GG kJLr   rT  c                   $    \ rS rSrSrSrSrSrSrg)BiographyIEi1  rI  	Biographyz8https?://(?:www\.)?biography\.com/video/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   rV  rV  1  s    +GGMJLr   rV  c                        \ rS rSrSrSrSrSrg)HistoryPlayerIEi1  rI  zhistory:playerzLhttps?://(?:www\.)?(?P<domain>(?:history|biography)\.com)/player/(?P<id>\d+)r   Nr   r   r   r   rY  rY  1  s    +GGbJr   rY  c                   (    \ rS rSrSrSrSrSrSrSr	g)	HistoryTopicIEi1  rI  zhistory:topiczChttps?://(?:www\.)?history\.com/topics/[^/]+/(?P<id>[\w+-]+?)-videozHistory.com Topicr}   r   Nr   r   r   r   r[  r[  1  s    +GGYJ!GLr   r[  c                   $    \ rS rSrSrSrSrSrSrg)	NBCNewsIEi1  r  NBCNewszS(?x)https?://(?:www\.)?(?:nbcnews|today|msnbc)\.com/([^/]+/)*(?:.*-)?(?P<id>[^/?]+)r}   r   Nr   r   r   r   r]  r]  1  s    $GGhJLr   r]  c                   $    \ rS rSrSrSrSrSrSrg)	TheStarIEi1  zyt_dlp.extractor.thestarTheStarz;https?://(?:www\.)?thestar\.com/(?:[^/]+/)*(?P<id>.+)\.htmlr}   r   Nr   r   r   r   r`  r`  1  s    (GGQJLr   r`  c                   $    \ rS rSrSrSrSrSrSrg)TheSunIEi1  zyt_dlp.extractor.thesunTheSunz=https?://(?:www\.)?the-?sun(\.co\.uk|\.com)/[^/]+/(?P<id>\d+)r~   r   Nr   r   r   r   rc  rc  1  r  r   rc  c                   $    \ rS rSrSrSrSrSrSrg)TheWeatherChannelIEi1  z"yt_dlp.extractor.theweatherchannelTheWeatherChannelzshttps?://(?:www\.)?weather\.com(?P<asset_name>(?:/(?P<locale>[a-z]{2}-[A-Z]{2}))?/(?:[^/]+/)*video/(?P<id>[^/?#]+))r}   r   Nr   r   r   r   rf  rf  1  s    2G!G IJLr   rf  c                        \ rS rSrSrSrSrSrg)TheaterComplexTownBaseIEi1  r  TheaterComplexTownBasetheatercomplextownr   Nr   r   r   r   ri  ri  1  s    )G&G)Nr   ri  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TheaterComplexTownPPVIEi1  r  ztheatercomplextown:ppvzPhttps?://(?:www\.)?theater-complex\.town/(?:(?:en|ja)/)?(?:ppv|live)/(?P<id>\w+)rk  r}   r   Nr  r   r   r   rm  rm  1  s    )G&GfJ)NLr   rm  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TheaterComplexTownVODIEi1  r  ztheatercomplextown:vodzShttps?://(?:www\.)?theater-complex\.town/(?:(?:en|ja)/)?videos/episodes/(?P<id>\w+)rk  r}   r   Nr  r   r   r   ro  ro  1  s    )G&GiJ)NLr   ro  c                   $    \ rS rSrSrSrSrSrSrg)ThisAmericanLifeIEi1  z!yt_dlp.extractor.thisamericanlifeThisAmericanLifezehttps?://(?:www\.)?thisamericanlife\.org/(?:radio-archives/episode/|play_full\.php\?play=)(?P<id>\d+)r}   r   Nr   r   r   r   rq  rq  1  s    1G G}JLr   rq  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ThisOldHouseIEi1  zyt_dlp.extractor.thisoldhouseThisOldHousezahttps?://(?:www\.)?thisoldhouse\.com/(?:watch|how-to|tv-episode|(?:[^/?#]+/)?\d+)/(?P<id>[^/?#]+)thisoldhouser}   r   Nr  r   r   r   rt  rt  1  s    -GGwJ#NLr   rt  c                   (    \ rS rSrSrSrSrSrSrSr	g)		ThisVidIEi1  yt_dlp.extractor.thisvidThisVidzLhttps?://(?:www\.)?thisvid\.com/(?P<type>videos|embed)/(?P<id>[A-Za-z0-9-]+)r   r}   r   NrU  r   r   r   rx  rx  1  s    (GGaJILr   rx  c                       \ rS rSrSrSrSrg)ThisVidPlaylistBaseIEi1  ry  ThisVidPlaylistBaser   Nr   r   r   r   r|  r|  1  s    (G#Gr   r|  c                   $    \ rS rSrSrSrSrSrSrg)ThisVidMemberIEi1  ry  ThisVidMemberz)https?://thisvid\.com/members/(?P<id>\d+)r~   r   Nr   r   r   r   r  r  1  s    (GG>JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ThisVidPlaylistIEi1  ry  ThisVidPlaylistzLhttps?://thisvid\.com/playlist/(?P<id>\d+)/video/(?P<video_id>[A-Za-z0-9-]+)r   r   r   NrU  r   r   r   r  r  1  s    (GGaJILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ThreeQSDNIEi1  zyt_dlp.extractor.threeqsdn3qsdnz\https?://playout\.3qsdn\.com/(?P<id>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})z3Q SDNr}   r   Nr   r   r   r   r  r  1  s    *GGvJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ThreeSpeakIEi2  yt_dlp.extractor.threespeak
ThreeSpeakz?https?://(?:www\.)?3speak\.tv/watch\?v\=[^/]+/(?P<id>[^/$&#?]+)r}   r   Nr   r   r   r   r  r  2  s    +GGVJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ThreeSpeakUserIEi2  r  ThreeSpeakUserz4https?://(?:www\.)?3speak\.tv/user/(?P<id>[^/$&?#]+)r~   r   Nr   r   r   r   r  r  2  s    +GGIJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TikTokCollectionIEi2  r  ztiktok:collectionzehttps?://www\.tiktok\.com/@(?P<user_id>[\w.-]+)/collection/(?P<title>[^/?#]+)-(?P<id>\d+)/?(?:[?#]|$)r~   r   Nr   r   r   r   r  r  2  s    'G!G|JLr   r  c                       \ rS rSrSrSrSrg)TikTokBaseListIEi2  r  TikTokBaseListr   Nr   r   r   r   r  r  2  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TikTokEffectIEi 2  r  ztiktok:effectzDhttps?://(?:www\.)?tiktok\.com/sticker/[\w\.-]+-(?P<id>[\d]+)[/?#&]?Fr~   r   NrZ  r   r   r   r  r   2  s    'GG\JHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TikTokIEi(2  r  TikTokzMhttps?://www\.tiktok\.com/(?:embed|@(?P<user_id>[\w\.-]+)?/video)/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  (2  s    'GGeJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TikTokLiveIEi/2  r  ztiktok:livez(?x)https?://(?:
        (?:www\.)?tiktok\.com/@(?P<uploader>[\w.-]+)/live|
        m\.tiktok\.com/share/live/(?P<id>\d+)
    )r}   r   Nr   r   r   r   r  r  /2  s    'GG \JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TikTokSoundIEi62  r  ztiktok:soundzBhttps?://(?:www\.)?tiktok\.com/music/[\w\.-]+-(?P<id>[\d]+)[/?#&]?Fr~   r   NrZ  r   r   r   r  r  62  s    'GGZJHLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TikTokTagIEi>2  r  z
tiktok:tagz3https?://(?:www\.)?tiktok\.com/tag/(?P<id>[^/?#&]+)Fr~   r   NrZ  r   r   r   r  r  >2  s    'GGHJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TikTokUserIEiF2  r  ztiktok:userzK(?:tiktokuser:|https?://(?:www\.)?tiktok\.com/@)(?P<id>[\w.-]+)/?(?:$|[#?])r~   r   Nr   r   r   r   r  r  F2  s    'GGaJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
TikTokVMIEiM2  r  z	vm.tiktokzFhttps?://(?:(?:vm|vt)\.tiktok\.com|(?:www\.)tiktok\.com/t)/(?P<id>\w+)r}   r   Nr   r   r   r   r  r  M2  s    'GG^JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ToggleIEiT2  r  togglezc(?:https?://(?:(?:www\.)?mewatch|video\.toggle)\.sg/(?:en|zh)/(?:[^/]+/){2,}|toggle:)(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  T2  s    'GGyJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ToggoIEi[2  zyt_dlp.extractor.toggotoggozShttps?://(?:www\.)?toggo\.de/(?:toggolino/)?[^/?#]+/(?:folge|video)/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r  [2  r
  r   r  c                   $    \ rS rSrSrSrSrSrSrg)TokFMAuditionIEib2  yt_dlp.extractor.agoraztokfm:auditionzE(?:https?://audycje\.tokfm\.pl/audycja/|tokfm:audition:)(?P<id>\d+),?r~   r   Nr   r   r   r   r  r  b2  s    &GG[JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TokFMPodcastIEii2  r  ztokfm:podcastzD(?:https?://audycje\.tokfm\.pl/podcast/|tokfm:podcast:)(?P<id>\d+),?r}   r   Nr   r   r   r   r  r  i2  s    &GGZJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ToonGogglesIEip2  zyt_dlp.extractor.toongogglesToonGoggleszbhttps?://(?:www\.)?toongoggles\.com/shows/(?P<show_id>\d+)(?:/[^/]+/episodes/(?P<episode_id>\d+))?r   r   Nr   r   r   r   r  r  p2  s    ,GGyJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TouTvIEiw2  zyt_dlp.extractor.toutvztou.tvzChttps?://ici\.tou\.tv/(?P<id>[a-zA-Z0-9_-]+(?:/S[0-9]+[EC][0-9]+)?)toutvr}   r   Nr  r   r   r   r  r  w2  s    &GGXJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		ToutiaoIEi2  zyt_dlp.extractor.toutiaotoutiaoz8https?://www\.toutiao\.com/video/(?P<id>\d+)/?(?:[?#]|$)u   今日头条r}   r   Nr   r   r   r   r  r  2  s    (GGNJGLr   r  c                   0    \ rS rSrSrSrSrSrSrSr	Sr
S	rg
)	ToypicsIEi2  yt_dlp.extractor.toypicsToypicsz1https?://videos\.toypics\.net/view/(?P<id>[0-9]+)FzToypics videor   r}   r   N)r   r   r    r!   r)   ro   rG   rP   ri   ru   r   r"   r   r   r   r  r  2  s%    (GGFJHGILr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
ToypicsUserIEi2  r  ToypicsUserz6https?://videos\.toypics\.net/(?!view)(?P<id>[^/?#&]+)FzToypics user profiler~   r   Nri  r   r   r   r  r  2  s     (GGKJH$GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TrailerAddictIEi2  zyt_dlp.extractor.traileraddictTrailerAddictz_(?:https?://)?(?:www\.)?traileraddict\.com/(?:trailer|clip)/(?P<movie>.+?)/(?P<trailer_name>.+)Fr}   r   NrZ  r   r   r   r  r  2  s    .GGtJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TravelChannelIEi2  rx  TravelChannelzChttps?://(?:watch\.)?travelchannel\.com/video/(?P<id>[^/]+/[^/?#]+)r}   r   Nr   r   r   r   r  r  2  s    &GGXJLr   r  c                        \ rS rSrSrSrSrSrg)TrillerBaseIEi2  yt_dlp.extractor.trillerTrillerBasetrillerr   Nr   r   r   r   r  r  2  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		TrillerIEi2  r  Trillerz(?x)
            https?://(?:www\.)?triller\.co/
            @(?P<username>[\w.]+)/video/(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})
        r  r}   r   Nr  r   r   r   r  r  2  s    (GG oJNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TrillerShortIEi2  r  TrillerShortz#https?://v\.triller\.co/(?P<id>\w+)r}   r   Nr   r   r   r   r  r  2  s    (GG9JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TrillerUserIEi2  r  TrillerUserz:https?://(?:www\.)?triller\.co/@(?P<id>[\w.]+)/?(?:$|[#?])r  r~   r   Nr  r   r   r   r  r  2  s    (GGPJNLr   r  c                       \ rS rSrSrSrSrg)TrovoBaseIEi2  yt_dlp.extractor.trovo	TrovoBaser   Nr   r   r   r   r  r  2  r   r   r  c                       \ rS rSrSrSrSrg)TrovoChannelBaseIEi2  r  TrovoChannelBaser   Nr   r   r   r   r  r  2  rr	  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TrovoChannelClipIEi2  r  TrovoChannelClipztrovoclip:(?P<id>[^\s]+)z6All Clips of a trovo.live channel; "trovoclip:" prefixr~   r   Nr   r   r   r   r  r  2  s    &G G,JFGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TrovoChannelVodIEi2  r  TrovoChannelVodztrovovod:(?P<id>[^\s]+)z4All VODs of a trovo.live channel; "trovovod:" prefixr~   r   Nr   r   r   r   r  r  2  s    &GG+JDGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TrovoIEi2  r  Trovoz`https?://(?:www\.)?trovo\.live/(?:s/)?(?!(?:clip|video)/)(?P<id>(?!s/)[^/?&#]+(?![^#]+[?&]vid=))r}   r   Nr   r   r   r   r  r  2  r	
  r   r  c                   $    \ rS rSrSrSrSrSrSrg)
TrovoVodIEi2  r  TrovoVodzchttps?://(?:www\.)?trovo\.live/(?:clip|video|s)/(?:[^/]+/\d+[^#]*[?&]vid=)?(?P<id>(?<!/s/)[^/?&#]+)r}   r   Nr   r   r   r   r  r  2  s    &GGyJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TrtCocukVideoIEi2  zyt_dlp.extractor.trtcocukTrtCocukVideoz4https?://www\.trtcocuk\.net\.tr/video/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  2  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)
TrtWorldIEi2  zyt_dlp.extractor.trtworldTrtWorldz;https?://www\.trtworld\.com/video/[\w-]+/[\w-]+-(?P<id>\d+)r}   r   Nr   r   r   r   r  r  2  s    )GGSJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	TruNewsIEi2  zyt_dlp.extractor.trunewsTruNewsz7https?://(?:www\.)?trunews\.com/stream/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r  r  2  s    (GGLJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TrueIDIEi3  zyt_dlp.extractor.trueidTrueIDz^https?://(?P<domain>vn\.trueid\.net|trueid\.(?:id|ph))/(?:movie|series/[^/]+)/(?P<id>[^/?#&]+)r  r}   r   NrU  r   r   r   r  r  3  s    'GGtJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)TruthIEi3  zyt_dlp.extractor.truthTruthz2https?://truthsocial\.com/@[^/]+/posts/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  3  r  r   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
Tube8IEi3  zyt_dlp.extractor.tube8Tube8zJhttps?://(?:www\.)?tube8\.com/(?:[^/]+/)+(?P<display_id>[^/]+)/(?P<id>\d+)Fr   r}   r   Nr  r   r   r   r  r  3  s     &GG`JHILr   r  c                        \ rS rSrSrSrSrSrg)TubeTuGrazBaseIEi3  yt_dlp.extractor.tubetugrazTubeTuGrazBase
tubetugrazr   Nr   r   r   r   r  r  3  r  r   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
TubeTuGrazIEi!3  r  
TubeTuGrazz(?x)
        https?://tube\.tugraz\.at/paella/ui/watch.html\?id=
        (?P<id>[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12})
    ztube.tugraz.atr  r}   r   Nr   r   r   r   r  r  !3  s#    +GG dJG!NLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TubeTuGrazSeriesIEi*3  r  TubeTuGrazSeriesz(?x)
        https?://tube\.tugraz\.at/paella/ui/browse\.html\?series=
        (?P<id>[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12})
    r  r~   r   Nr  r   r   r   r  r  *3  s    +G G kJ!NLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)TubiTvIEi23  yt_dlp.extractor.tubitvtubitvzJhttps?://(?:www\.)?tubitv\.com/(?P<type>video|movies|tv-shows)/(?P<id>\d+)r}   r   Nr  r   r   r   r  r  23  s    'GG`JNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TubiTvShowIEi:3  r  ztubitv:seriesz\https?://(?:www\.)?tubitv\.com/series/\d+/(?P<show_name>[^/?#]+)(?:/season-(?P<season>\d+))?r~   r   Nr   r   r   r   r  r  :3  s    'GGsJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TumblrIEiA3  zyt_dlp.extractor.tumblrTumblrzvhttps?://(?P<blog_name_1>[^/?#&]+)\.tumblr\.com/(?:post|video|(?P<blog_name_2>[a-zA-Z\d-]+))/(?P<id>[0-9]+)(?:$|[/?#])tumblrr   r   Nr  r   r   r   r  r  A3  s    'GG MJNLr   r  c                       \ rS rSrSrSrSrg)TuneInBaseIEiI3  yt_dlp.extractor.tunein
TuneInBaser   Nr   r   r   r   r  r  I3  r"  r   r  c                   $    \ rS rSrSrSrSrSrSrg)TuneInEmbedIEiN3  r  ztunein:embedz1https?://tunein\.com/embed/player/(?P<id>[^/?#]+)r   r   Nr   r   r   r   r  r  N3  s    'GGEJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TuneInPodcastEpisodeIEiU3  r  ztunein:podcastzhhttps?://tunein\.com/podcasts(?:/[^/?#]+){1,2}(?P<series_id>p\d+)/?\?(?:[^#]+&)?(?i:topicid)=(?P<id>\d+)r}   r   Nr   r   r   r   r  r  U3  s    'GGJLr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )TuneInPodcastIEi\3  r  ztunein:podcast:programz:https?://tunein\.com/podcasts(?:/[^/?#]+){1,2}(?P<id>p\d+)r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r  r<   r   r   s     r   r<   TuneInPodcastIE.suitableb3  s)    .77<<uW%'BRSVBWWr   r   r   r   s   @r   r  r  \3  s+    'G&GOJLX Xr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TuneInShortenerIEig3  r  ztunein:shortenerz https?://tun\.in/(?P<id>[^/?#]+)Fr   r   Nr   r   r   r   r  r  g3  s    'G G4JGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)TuneInStationIEio3  r  ztunein:stationz.https?://tunein\.com/radio/[^/?#]+(?P<id>s\d+)r}   r   Nr   r   r   r   r  r  o3  s    'GGCJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
TvigleIEiv3  zyt_dlp.extractor.tvigletviglezhhttps?://(?:www\.)?(?:tvigle\.ru/(?:[^/]+/)+(?P<display_id>[^/]+)/$|cloud\.tvigle\.ru/video/(?P<id>\d+))u1   Интернет-телевидение Tvigle.rur  r}   r   Nr  r   r   r   r  r  v3  s#    'GG AJAGILr   r  c                   (    \ rS rSrSrSrSS/rSrSrg)	TvwIEi3  yt_dlp.extractor.tvwtvwz1https?://(?:www\.)?tvw\.org/video/(?P<id>[^/?#]+)zChttps?://(?:www\.)?tvw\.org/watch/?\?(?:[^#]+&)?eventID=(?P<id>\d+)r}   r   Nr   r   r   r   r  r  3  s#    $GGG  JS  TJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	TvwNewsIEi3  r   ztvw:newsz7https?://(?:www\.)?tvw\.org/\d{4}/\d{2}/(?P<id>[^/?#]+)r~   r   Nr   r   r   r   r#  r#  3  s    $GGNJLr   r#  c                   $    \ rS rSrSrSrSrSrSrg)TvwTvChannelsIEi3  r   ztvw:tvchannelsz6https?://(?:www\.)?tvw\.org/tvchannels/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r%  r%  3  s    $GGKJLr   r%  c                   $    \ rS rSrSrSrSrSrSrg)
TweakersIEi3  zyt_dlp.extractor.tweakersTweakersz(https?://tweakers\.net/video/(?P<id>\d+)r}   r   Nr   r   r   r   r'  r'  3  s    )GG=JLr   r'  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TwentyFourSevenSportsIEi3  r  	247sportszAhttps?://(?:www\.)?247sports\.com/Video/(?:[^/?#&]+-)?(?P<id>\d+)Fr}   r   NrZ  r   r   r   r*  r*  3  s    *GGWJHLr   r*  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TwentyMinutenIEi3  zyt_dlp.extractor.twentymin20mina9  (?x)
                    https?://
                        (?:www\.)?20min\.ch/
                        (?:
                            videotv/*\?.*?\bvid=|
                            videoplayer/videoplayer\.html\?.*?\bvideoId@
                        )
                        (?P<id>\d+)
                    Fr}   r   NrZ  r   r   r   r-  r-  3  s    *GG ]JHLr   r-  c                   $    \ rS rSrSrSrSrSrSrg)TwentyThreeVideoIEi3  z!yt_dlp.extractor.twentythreevideo23videozhttps?://(?P<domain>[^.]+\.(?:twentythree\.net|23video\.com|filmweb\.no))/v\.ihtml/player\.html\?(?P<query>.*?\bphoto(?:_|%5f)id=(?P<id>\d+).*)r}   r   Nr   r   r   r   r0  r0  3  s    1GG lJLr   r0  c                   $    \ rS rSrSrSrSrSrSrg)TwitCastingIEi3  yt_dlp.extractor.twitcastingTwitCastingz^https?://(?:[^/?#]+\.)?twitcasting\.tv/(?P<uploader_id>[^/?#]+)/(?:movie|twplayer)/(?P<id>\d+)r}   r   Nr   r   r   r   r3  r3  3  s    ,GGtJLr   r3  c                   $    \ rS rSrSrSrSrSrSrg)TwitCastingLiveIEi3  r4  TwitCastingLivezBhttps?://(?:[^/?#]+\.)?twitcasting\.tv/(?P<id>[^/?#]+)/?(?:[#?]|$)r}   r   Nr   r   r   r   r7  r7  3  s    ,GGWJLr   r7  c                   $    \ rS rSrSrSrSrSrSrg)TwitCastingUserIEi3  r4  TwitCastingUserzShttps?://(?:[^/?#]+\.)?twitcasting\.tv/(?P<id>[^/?#]+)/(?:show|archive)/?(?:[#?]|$)r~   r   Nr   r   r   r   r:  r:  3  s    ,GGhJLr   r:  c                        \ rS rSrSrSrSrSrg)TwitchBaseIEi3  yt_dlp.extractor.twitch
TwitchBasetwitchr   Nr   r   r   r   r=  r=  3  rw  r   r=  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TwitchClipsIEi3  r>  ztwitch:clipsa2  (?x)
                    https?://
                        (?:
                            clips\.twitch\.tv/(?:embed\?.*?\bclip=|(?:[^/]+/)*)|
                            (?:(?:www|go|m)\.)?twitch\.tv/(?:[^/]+/)?clip/
                        )
                        (?P<id>[^/?#&]+)
                    r@  r}   r   Nr  r   r   r   rB  rB  3  s    'GG SJNLr   rB  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TwitchCollectionIEi3  r>  TwitchCollectionz@https?://(?:(?:www|go|m)\.)?twitch\.tv/collections/(?P<id>[^/]+)r@  r~   r   Nr  r   r   r   rD  rD  3  s    'G GUJNLr   rD  c                        \ rS rSrSrSrSrSrg)TwitchPlaylistBaseIEi3  r>  TwitchPlaylistBaser@  r   Nr   r   r   r   rG  rG  3  s    'G"GNr   rG  c                        \ rS rSrSrSrSrSrg)TwitchVideosBaseIEi3  r>  TwitchVideosBaser@  r   Nr   r   r   r   rJ  rJ  3  s    'G GNr   rJ  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	TwitchStreamIEi3  r>  ztwitch:streama  (?x)
                    https?://
                        (?:
                            (?:(?:www|go|m)\.)?twitch\.tv/|
                            player\.twitch\.tv/\?.*?\bchannel=
                        )
                        (?P<id>[^/#?]+)
                    r@  r}   c           	         >^ [        U4S j[        [        [        [        [
        [        4 5       5      (       a  S$ [        TU ]!  T5      $ )Nc              3   D   >#    U  H  oR                  T5      v   M     g 7fr-   r  r  s     r   rD   *TwitchStreamIE.suitable.<locals>.<genexpr>3  s#      $ 3#B{{3'' 3#rF   F)	r   TwitchVodIErD  TwitchVideosIETwitchVideosClipsIETwitchVideosCollectionsIErB  r   r<   r   s    `r   r<   TwitchStreamIE.suitable3  sQ      $&"'-!3# $ $ $  	, W%c*	,r   r   r|  r   s   @r   rM  rM  3  s1    'GG qJNL	, 	,r   rM  c                   (    \ rS rSrSrSrSrSrSrSr	g)	rS  i3  r>  TwitchVideosClipsz[https?://(?:(?:www|go|m)\.)?twitch\.tv/(?P<id>[^/]+)/(?:clips|videos/*?\?.*?\bfilter=clips)r@  r~   r   Nr  r   r   r   rS  rS  3  s    'G!GrJNLr   rS  c                   (    \ rS rSrSrSrSrSrSrSr	g)	rT  i4  r>  TwitchVideosCollectionszWhttps?://(?:(?:www|go|m)\.)?twitch\.tv/(?P<id>[^/]+)/videos/*?\?.*?\bfilter=collectionsr@  r~   r   Nr  r   r   r   rT  rT  4  s    'G'GnJNLr   rT  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	rR  i4  r>  TwitchVideoszGhttps?://(?:(?:www|go|m)\.)?twitch\.tv/(?P<id>[^/]+)/(?:videos|profile)r@  r~   c                 p   >^ [        U4S j[        [        4 5       5      (       a  S$ [        TU ]  T5      $ )Nc              3   D   >#    U  H  oR                  T5      v   M     g 7fr-   r  r  s     r   rD   *TwitchVideosIE.suitable.<locals>.<genexpr>4  s#      0 3/B{{3'' 3/rF   F)r   rS  rT  r   r<   r   s    `r   r<   TwitchVideosIE.suitable4  sE      0'-3/ 0 0 0  	, W%c*		,r   r   r|  r   s   @r   rR  rR  4  s.    'GG\JNL, ,r   rR  c                   (    \ rS rSrSrSrSrSrSrSr	g)	rQ  i4  r>  z
twitch:vodal  (?x)
                    https?://
                        (?:
                            (?:(?:www|go|m)\.)?twitch\.tv/(?:[^/]+/v(?:ideo)?|videos)/|
                            player\.twitch\.tv/\?.*?\bvideo=v?|
                            www\.twitch\.tv/[^/]+/schedule\?vodID=
                        )
                        (?P<id>\d+)
                    r@  r}   r   Nr  r   r   r   rQ  rQ  4  s    'GG RJNLr   rQ  c                        \ rS rSrSrSrSrSrg)TwitterBaseIEi%4  yt_dlp.extractor.twitterTwitterBasetwitterr   Nr   r   r   r   rb  rb  %4  r  r   rb  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TwitterAmplifyIEi+4  rc  ztwitter:amplifyz1https?://amp\.twimg\.com/v/(?P<id>[0-9a-f\-]{36})re  r}   r   Nr  r   r   r   rg  rg  +4  s    (GGGJNLr   rg  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TwitterBroadcastIEi34  rc  ztwitter:broadcastzhttps?://(?:(?:www|m(?:obile)?)\.)?(?:(?:twitter|x)\.com|twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid\.onion)/i/(?P<type>broadcasts|events)/(?P<id>\w+)re  r}   r   Nr  r   r   r   ri  ri  34  s    (G!G {JNLr   ri  c                   $    \ rS rSrSrSrSrSrSrg)TwitterCardIEi;4  rc  ztwitter:cardzhttps?://(?:(?:www|m(?:obile)?)\.)?(?:(?:twitter|x)\.com|twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid\.onion)/i/(?:cards/tfw/v1|videos(?:/tweet)?)/(?P<id>\d+)r}   r   Nr   r   r   r   rk  rk  ;4  s    (GG BJLr   rk  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)		TwitterIEiB4  rc  re  zhttps?://(?:(?:www|m(?:obile)?)\.)?(?:(?:twitter|x)\.com|twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid\.onion)/(?:(?:i/web|[^/]+)/status|statuses)/(?P<id>\d+)(?:/(?:video|photo)/(?P<index>\d+))?r   r   r   Nr  r   r   r   rm  rm  B4  s#    (GG fJNILr   rm  c                   $    \ rS rSrSrSrSrSrSrg)TwitterShortenerIEiK4  rc  ztwitter:shortenerz1https?://t\.co/(?P<id>[^?#]+)|tco:(?P<eid>[^?#]+)re  r   NrO  r   r   r   ro  ro  K4  s    (G!GEJNr   ro  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TwitterSpacesIEiR4  rc  ztwitter:spaceszhttps?://(?:(?:www|m(?:obile)?)\.)?(?:(?:twitter|x)\.com|twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid\.onion)/i/spaces/(?P<id>[0-9a-zA-Z]{13})re  r}   r   Nr  r   r   r   rq  rq  R4  s    (GG qJNLr   rq  c                   (    \ rS rSrSrSrSrSrSrSr	g)	TxxxIEiZ4  r  TxxxaY  (?x)
        https?://(?:www\.)?(?P<host>hclips\.com|hdzog\.com|hdzog\.tube|hotmovs\.com|hotmovs\.tube|inporn\.com|privatehomeclips\.com|tubepornclassic\.com|txxx\.com|txxx\.tube|upornia\.com|upornia\.tube|vjav\.com|vjav\.tube|vxxx\.com|voyeurhit\.com|voyeurhit\.tube)/
        (?:videos?[/-]|embed/)(?P<id>\d+)(?:/(?P<display_id>[^/?#]+))?
    r   r}   r   NrU  r   r   r   rs  rs  Z4  s    %GG CJILr   rs  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
UDNEmbedIEib4  zyt_dlp.extractor.udnUDNEmbedz8https?://video\.udn\.com/(?:embed|play)/news/(?P<id>\d+)u   聯合影音r}   r   Nr   r   r   r   rv  rv  b4  s    $GGNJGLr   rv  c                       \ rS rSrSrSrSrg)ImgGamingBaseIEij4  zyt_dlp.extractor.imggamingImgGamingBaser   Nr   r   r   r   ry  ry  j4  r  r   ry  c                   $    \ rS rSrSrSrSrSrSrg)UFCArabiaIEio4  yt_dlp.extractor.ufctv	UFCArabiazhttps?://(?P<domain>(?:(?:app|www)\.)?ufcarabia\.(?:ae|com))/(?P<type>live|playlist|video)/(?P<id>\d+)(?:\?.*?\bplaylistId=(?P<playlist_id>\d+))?	ufcarabiar   NrO  r   r   r   r|  r|  o4  s    &GG kJ Nr   r|  c                   $    \ rS rSrSrSrSrSrSrg)UFCTVIEiv4  r}  UFCTVzhttps?://(?P<domain>(?:(?:app|www)\.)?(?:ufc\.tv|(?:ufc)?fightpass\.com)|ufcfightpass\.img(?:dge|gaming)\.com)/(?P<type>live|playlist|video)/(?P<id>\d+)(?:\?.*?\bplaylistId=(?P<playlist_id>\d+))?ufctvr   NrO  r   r   r   r  r  v4  s    &GG `JNr   r  c                   $    \ rS rSrSrSrSrSrSrg)
UKTVPlayIEi}4  zyt_dlp.extractor.uktvplayUKTVPlayzNhttps?://uktvplay\.(?:uktv\.)?co\.uk/(?:.+?\?.*?\bvideo=|([^/]+/)*)(?P<id>\d+)r}   r   Nr   r   r   r   r  r  }4  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	UMGDeIEi4  zyt_dlp.extractor.umgzumg:dezShttps?://(?:www\.)?universal-music\.de/[^/?#]+/videos/(?P<slug>[^/?#]+-(?P<id>\d+))zUniversal Music Deutschlandr}   r   Nr   r   r   r   r  r  4  s    $GGiJ+GLr   r  c                   $    \ rS rSrSrSrSrSrSrg)UOLIEi4  zyt_dlp.extractor.uolz
uol.com.brzhttps?://(?:.+?\.)?uol\.com\.br/.*?(?:(?:mediaId|v)=|view/(?:[a-z0-9]+/)?|video(?:=|/(?:\d{4}/\d{2}/\d{2}/)?))(?P<id>\d+|[\w-]+-[A-Z0-9]+)r}   r   Nr   r   r   r   r  r  4  s    $GG fJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	URPlayIEi4  zyt_dlp.extractor.urplayURPlayzLhttps?://(?:www\.)?ur(?:play|skola)\.se/(?:program|Produkter)/(?P<id>[0-9]+)r	  r}   r   NrU  r   r   r   r  r  4  s    'GGaJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)USANetworkIEi4  zyt_dlp.extractor.usanetwork
USANetworkzbhttps?(?P<permalink>://(?:www\.)?usanetwork\.com/(?:[^/]+/videos?|movies?)/(?:[^/]+/)?(?P<id>\d+))r}   r   Nr   r   r   r   r  r  4  s    +GGxJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
USATodayIEi4  zyt_dlp.extractor.usatodayUSATodayz;https?://(?:www\.)?usatoday\.com/(?:[^/]+/)*(?P<id>[^?/#]+)r}   r   Nr   r   r   r   r  r  4  s    )GGPJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)UdemyIEi4  yt_dlp.extractor.udemyudemya]  (?x)
                    https?://
                        (?:[^/]+\.)?udemy\.com/
                        (?:
                            [^#]+\#/lecture/|
                            lecture/view/?\?lectureId=|
                            [^/]+/learn/v4/t/lecture/
                        )
                        (?P<id>\d+)
                    r}   r   Nr  r   r   r   r  r  4  s    &GG JNLr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )UdemyCourseIEi4  r  zudemy:coursez0https?://(?:[^/]+\.)?udemy\.com/(?P<id>[^/?#&]+)r  c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r  r<   r   r   s     r   r<   UdemyCourseIE.suitable4  r   r   r   ru  r   s   @r   r  r  4  s+    &GGEJNI Ir   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
UkColumnIEi4  zyt_dlp.extractor.ukcolumnukcolumnz](?i)https?://(?:www\.)?ukcolumn\.org(/index\.php)?/(?:video|ukcolumn-news)/(?P<id>[-a-z0-9]+)Fr}   r   NrZ  r   r   r   r  r  4  s    )GGsJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)UlizaPlayerIEi4  yt_dlp.extractor.ulizaUlizaPlayerzRhttps://player-api\.p\.uliza\.jp/v1/players/[^?#]+\?(?:[^#]*&)?name=(?P<id>[^#&]+)r}   r   Nr   r   r   r   r  r  4  s    &GGiJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	UlizaPortalIEi4  r  UlizaPortalzYhttps?://(?:www\.)?ulizaportal\.jp/pages/(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})zulizaportal.jpr}   r   Nr   r   r   r   r  r  4  s    &GGqJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)UnicodeBOMIEi4  rK  
UnicodeBOMz(?P<bom>\ufeff)(?P<id>.*)$Fr   Nr#  r   r   r   r  r  4  s    /GG.JGr   r  c                   $    \ rS rSrSrSrSrSrSrg)	UnistraIEi4  zyt_dlp.extractor.unistraUnistrazEhttps?://utv\.unistra\.fr/(?:index|video)\.php\?id_video\=(?P<id>\d+)r}   r   Nr   r   r   r   r  r  4  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)UnitedNationsWebTvIEi4  zyt_dlp.extractor.unitednationsUnitedNationsWebTvzChttps?://webtv\.un\.org/(?:ar|zh|en|fr|ru|es)/asset/\w+/(?P<id>\w+)r}   r   Nr   r   r   r   r  r  4  s    .G"GZJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	UnityIEi4  zyt_dlp.extractor.unityUnityzKhttps?://(?:www\.)?unity3d\.com/learn/tutorials/(?:[^/]+/)*(?P<id>[^/?#&]+)Fr}   r   NrZ  r   r   r   r  r  4  s    &GG`JHLr   r  c                       \ rS rSrSrSrSrg)UplynkBaseIEi4  yt_dlp.extractor.uplynk
UplynkBaser   Nr   r   r   r   r  r  4  r"  r   r  c                   $    \ rS rSrSrSrSrSrSrg)UplynkIEi4  r  uplynkz(?x)
        https?://[\w-]+\.uplynk\.com/(?P<path>
            ext/[0-9a-f]{32}/(?P<external_id>[^/?&]+)|
            (?P<id>[0-9a-f]{32})
        )\.(?:m3u8|json)
        (?:.*?\bpbs=(?P<session_id>[^&]+))?r}   r   Nr   r   r   r   r  r  4  s    'GG nJLr   r  c                        \ rS rSrSrSrSrSrg)UplynkPreplayIEi4  r  zuplynk:preplayzuhttps?://[\w-]+\.uplynk\.com/preplay2?/(?P<path>ext/[0-9a-f]{32}/(?P<external_id>[^/?&]+)|(?P<id>[0-9a-f]{32}))\.jsonr   Nr   r   r   r   r  r  4  s    'GG MJr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
UrortIEi5  zyt_dlp.extractor.urortUrortz7https?://(?:www\.)?urort\.p3\.no/#!/Band/(?P<id>[^/]+)$Fu   NRK P3 Urørtr}   r   Nri  r   r   r   r  r  5  s     &GGMJHGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)UstreamChannelIEi5  yt_dlp.extractor.ustreamzustream:channelz3https?://(?:www\.)?ustream\.tv/channel/(?P<slug>.+)r~   r   Nr   r   r   r   r  r  5  s    (GGHJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	UstreamIEi5  r  ustreamzfhttps?://(?:www\.)?(?:ustream\.tv|video\.ibm\.com)/(?P<type>recorded|embed|embed/recorded)/(?P<id>\d+)r   r   Nr   r   r   r   r  r  5  s    (GG~JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)UstudioEmbedIEi5  yt_dlp.extractor.ustudiozustudio:embedzLhttps?://(?:(?:app|embed)\.)?ustudio\.com/embed/(?P<uid>[^/]+)/(?P<id>[^/]+)r}   r   Nr   r   r   r   r  r  5  s    (GGaJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	UstudioIEi 5  r  ustudiozShttps?://(?:(?:www|v1)\.)?ustudio\.com/video/(?P<id>[^/]+)/(?P<display_id>[^/?#&]+)r}   r   Nr   r   r   r   r  r   5  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)UtreonIEi'5  zyt_dlp.extractor.utreonplayeurz;https?://(?:www\.)?(?:utreon|playeur)\.com/v/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  '5  s    'GGQJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)VH1IEi.5  zyt_dlp.extractor.vh1zvh1.comzGhttps?://(?:www\.)?vh1\.com/(?:video-clips|episodes)/(?P<id>[\da-z]{6})r}   r   Nr   r   r   r   r  r  .5  s    $GG]JLr   r  c                        \ rS rSrSrSrSrSrg)VimeoBaseInfoExtractori55  yt_dlp.extractor.vimeoVimeoBaseInfoExtractvimeor   Nr   r   r   r   r  r  55  s    &G$GNr   r  c                   $    \ rS rSrSrSrSrSrSrg)
VHXEmbedIEi;5  r  z	vhx:embedz*https?://embed\.vhx\.tv/videos/(?P<id>\d+)r  r   NrO  r   r   r   r  r  ;5  s    &GG@JNr   r  c                        \ rS rSrSrSrSrSrg)VKBaseIEiB5  yt_dlp.extractor.vkVKBasevkr   Nr   r   r   r   r  r  B5  s    #GGNr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)	VKIEiH5  r  r  a  (?x)
                    https?://
                        (?:
                            (?:
                                (?:(?:m|new|vksport)\.)?vk(?:(?:video)?\.ru|\.com)/video_|
                                (?:www\.)?daxab\.com/
                            )
                            ext\.php\?(?P<embed_query>.*?\boid=(?P<oid>-?\d+).*?\bid=(?P<id>\d+).*)|
                            (?:
                                (?:(?:m|new|vksport)\.)?vk(?:(?:video)?\.ru|\.com)/(?:.+?\?.*?z=)?(?:video|clip)|
                                (?:www\.)?daxab\.com/embed/
                            )
                            (?P<videoid>-?\d+_\d+)(?:.*\blist=(?P<list_id>([\da-f]+)|(ln-[\da-zA-Z]+)))?
                        )
                    VKr}   r   Nr   r   r   r   r  r  H5  s#    #GG nJGNLr   r  c                       \ rS rSrSrSrSrg)VKPlayBaseIEiQ5  r  
VKPlayBaser   Nr   r   r   r   r  r  Q5  s    #GGr   r  c                   $    \ rS rSrSrSrSrSrSrg)VKPlayIEiV5  r  VKPlayzchttps?://(?:vkplay\.live|live\.vk(?:play|video)\.ru)/(?P<username>[^/#?]+)/record/(?P<id>[\da-f-]+)r}   r   Nr   r   r   r   r  r  V5  s    #GGzJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)VKPlayLiveIEi]5  r  
VKPlayLivezPhttps?://(?:vkplay\.live|live\.vk(?:play|video)\.ru)/(?P<id>[^/#?]+)/?(?:[#?]|$)r}   r   Nr   r   r   r   r  r  ]5  s    #GGfJLr   r  c                   0    \ rS rSrSrSrSS/rSrSrSr	S	r
g
)VKUserVideosIEid5  r  zvk:uservideoszQhttps?://(?:(?:m|new)\.)?vk(?:video\.ru|\.com/video)/playlist/(?P<id>-?\d+_-?\d+)zkhttps?://(?:(?:m|new)\.)?vk(?:video\.ru|\.com/video)/(?P<id>@[^/?#]+)(?:/all)?/?(?!\?.*\bz=video)(?:[?#]|$)zVK - User's Videosr  r~   r   Nr   r   r   r   r  r  d5  s-    #GGj  m_  `J"GNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VKWallPostIEim5  r  zvk:wallpostzPhttps?://(?:(?:(?:(?:m|new)\.)?vk\.com/(?:[^?]+\?.*\bw=)?wall(?P<id>-?\d+_\d+)))r  r~   r   Nr  r   r   r   r  r  m5  s    #GGiJNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)VODPlIEiu5  zyt_dlp.extractor.vodplVODPlz0https?://vod\.pl/(?:[^/]+/)+(?P<id>[0-9a-zA-Z]+)r}   r   Nr   r   r   r   r  r  u5  s    &GGDJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)VODPlatformIEi|5  zyt_dlp.extractor.vodplatformVODPlatformzXhttps?://(?:(?:www\.)?vod-platform\.net|embed\.kwikmotion\.com)/[eE]mbed/(?P<id>[^/?#]+)r}   r   Nr   r   r   r   r  r  |5  s    ,GGoJLr   r  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	VPROIEi5  r  vprozThttps?://(?:www\.)?(?:(?:tegenlicht\.)?vpro|2doc)\.nl/(?:[^/]+/)*(?P<id>[^/]+)\.htmlrb  r   c                 z   >^ [        U4S j[        [        [        4 5       5      (       a  S$ [        TU ]  T5      $ )Nc              3   F   >#    U  H  nUR                  T5      v   M     g 7fr-   r  r  s     r   rD   "VPROIE.suitable.<locals>.<genexpr>5  rf  rg  Frh  r   s    `r   r<   VPROIE.suitable5  rm  r   r   rn  r   s   @r   r  r  5  s.    $GGkJAGL, ,r   r  c                       \ rS rSrSrSrSrg)	VQQBaseIEi5  rQ	  VQQBaser   Nr   r   r   r   r  r  5  s    (GGr   r  c                   $    \ rS rSrSrSrSrSrSrg)VQQSeriesIEi5  rQ	  z
vqq:seriesz9https?://v\.qq\.com/x/cover/(?P<id>\w+)\.html/?(?:[?#]|$)r~   r   Nr   r   r   r   r  r  5  s    (GGPJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
VQQVideoIEi5  rQ	  z	vqq:videozChttps?://v\.qq\.com/x/(?:page|cover/(?P<series_id>\w+))/(?P<id>\w+)r}   r   Nr   r   r   r   r  r  5  s    (GGZJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VRTIEi5  rV  VRTzbhttps?://(?:www\.)?(?P<site>vrt\.be/vrtnws|sporza\.be)/[a-z]{2}/\d{4}/\d{2}/\d{2}/(?P<id>[^/?&#]+)z0VRT NWS, Flanders News, Flandern Info and Sporzar}   r   Nr   r   r   r   r   r   5  s    $GG{J@GLr   r   c                   $    \ rS rSrSrSrSrSrSrg)VTMIEi5  zyt_dlp.extractor.vtmVTMzThttps?://(?:www\.)?vtm\.be/[^/?#]+~v(?P<id>[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12})r}   r   Nr   r   r   r   r  r  5  r  r   r  c                   (    \ rS rSrSrSrSS/rSrSrg)	VTVGoIEi5  yt_dlp.extractor.vtvVTVGoz]https?://(?:www\.)?vtvgo\.vn/(kho-video|tin-tuc)/[\w.-]*?(?P<id>\d+)(?:\.[a-z]+|/)?(?:$|[?#])zShttps?://(?:www\.)?vtvgo\.vn/digital/detail\.php\?(?:[^#]+&)?content_id=(?P<id>\d+)r}   r   Nr   r   r   r   r  r  5  s#    $GGv  yS  TJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)VTVIEi5  r  VTVz8https?://(?:www\.)?vtv\.vn/video/[\w-]*?(?P<id>\d+)\.htmr}   r   Nr   r   r   r   r
  r
  5  r}	  r   r
  c                        \ rS rSrSrSrSrSrg)VTXTVBaseIEi5  rD  	VTXTVBasevtxtvr   Nr   r   r   r   r  r  5  rK  r   r  c                   $    \ rS rSrSrSrSrSrSrg)VTXTVIEi5  rD  VTXTVz(?x)https?://(?:www\.)?vtxtv\.ch/(?:
        [^?#]+\?(?:[^#]+&)?program=(?P<vid2>\d+)
        |(?:program|watch)/[^/]+/(?P<vid1>\d+)
    )r  r   NrO  r   r   r   r  r  5  r  r   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )VTXTVLiveIEi5  rD  	VTXTVLivez(?x)https?://(?:www\.)?vtxtv\.ch/(?:
        [^?#]+\?(?:[^#]+&)?channel=(?P<vid2>[^/?&#]+)
        |live/(?P<vid1>[^/?&#]+)
    )r  c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r  r<   r   r   s     r   r<   VTXTVLiveIE.suitable5  r   r   r   ru  r   s   @r   r  r  5  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)VTXTVRecordingsIEi5  rD  VTXTVRecordingszp(?x)https?://(?:www\.)?vtxtv\.ch/(?:
        [^?#]+\?(?:[^#]+&)?recording=(?P<vid2>\d+)
        (?P<vid1>)
    )r  r   NrO  r   r   r   r  r  5  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)VVVVIDIEi5  yt_dlp.extractor.vvvvidVVVVIDzxhttps?://(?:www\.)?vvvvid\.it/(?:#!)?(?:show|anime|film|series)/(?P<show_id>\d+)/[^/]+/(?P<season_id>\d+)/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  5  s    'GG PJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)VVVVIDShowIEi5  r  
VVVVIDShowz(?P<base_url>https?://(?:www\.)?vvvvid\.it/(?:#!)?(?:show|anime|film|series)/(?P<id>\d+)(?:/(?P<show_title>[^/?&#]+))?)/?(?:[?#&]|$)r~   r   Nr   r   r   r   r   r   5  s    'GG [JLr   r   c                   (    \ rS rSrSrSrSrSrSrSr	g)	
Varzesh3IEi5  zyt_dlp.extractor.varzesh3Varzesh3zBhttps?://(?:www\.)?video\.varzesh3\.com/(?:[^/]+/)+(?P<id>[^/]+)/?Fr}   r   NrZ  r   r   r   r#  r#  5  s    )GGXJHLr   r#  c                   $    \ rS rSrSrSrSrSrSrg)Vbox7IEi5  zyt_dlp.extractor.vbox7Vbox7a  (?x)
                    https?://
                        (?:[^/]+\.)?vbox7\.com/
                        (?:
                            play:|
                            (?:
                                emb/external\.php|
                                player/ext\.swf
                            )\?.*?\bvid=
                        )
                        (?P<id>[\da-fA-F]+)
                    r}   r   Nr   r   r   r   r&  r&  5  s    &GG ~JLr   r&  c                   $    \ rS rSrSrSrSrSrSrg)VeoIEi5  zyt_dlp.extractor.veoVeoz4https?://app\.veo\.co/matches/(?P<id>[0-9A-Za-z-_]+)r}   r   Nr   r   r   r   r)  r)  5  r  r   r)  c                       \ rS rSrSrSrSrg)
VevoBaseIEi6  yt_dlp.extractor.vevoVevoBaser   Nr   r   r   r   r,  r,  6  r  r   r,  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VevoIEi	6  r-  Vevoaz  (?x)
        (?:https?://(?:www\.)?vevo\.com/watch/(?!playlist|genre)(?:[^/]+/(?:[^/]+/)?)?|
           https?://cache\.vevo\.com/m/html/embed\.html\?video=|
           https?://videoplayer\.vevo\.com/embed/embedded\?videoId=|
           https?://embed\.vevo\.com/.*?[?&]isrc=|
           https?://tv\.vevo\.com/watch/artist/(?:[^/]+)/|
           vevo:)
        (?P<id>[^&?#]+)r   r}   r   NrU  r   r   r   r0  r0  	6  s    %GG bJILr   r0  c                   $    \ rS rSrSrSrSrSrSrg)VevoPlaylistIEi6  r-  VevoPlaylistzLhttps?://(?:www\.)?vevo\.com/watch/(?P<kind>playlist|genre)/(?P<id>[^/?#&]+)r~   r   Nr   r   r   r   r3  r3  6  s    %GGaJLr   r3  c                   $    \ rS rSrSrSrSrSrSrg)ViMPPlaylistIEi6  $yt_dlp.extractor.videocampus_sachsenzViMP:Playlista  (?x)(?P<host>https?://(?:bergauf\.tv|campus\.demo\.vimp\.com|corporate\.demo\.vimp\.com|dancehalldatabase\.com|drehzahl\.tv|educhannel\.hs\-gesundheit\.de|emedia\.ls\.haw\-hamburg\.de|globale\-evolution\.net|hohu\.tv|htvideos\.hightechhigh\.org|k210039\.vimp\.mivitec\.net|media\.cmslegal\.com|media\.fh\-swf\.de|media\.hs\-furtwangen\.de|media\.hwr\-berlin\.de|mediathek\.dkfz\.de|mediathek\.htw\-berlin\.de|mediathek\.polizei\-bw\.de|medien\.hs\-merseburg\.de|mitmedia\.manukau\.ac\.nz|mportal\.europa\-uni\.de|pacific\.demo\.vimp\.com|slctv\.com|streaming\.prairiesouth\.ca|tube\.isbonline\.cn|univideo\.uni\-kassel\.de|ursula2\.genetics\.emory\.edu|ursulablicklevideoarchiv\.com|v\.agrarumweltpaedagogik\.at|video\.eplay\-tv\.de|video\.fh\-dortmund\.de|video\.hs\-nb\.de|video\.hs\-offenburg\.de|video\.hs\-pforzheim\.de|video\.hspv\.nrw\.de|video\.irtshdf\.fr|video\.pareygo\.de|video\.tu\-dortmund\.de|video\.tu\-freiberg\.de|videocampus\.sachsen\.de|videoportal\.uni\-freiburg\.de|videoportal\.vm\.uni\-freiburg\.de|videos\.duoc\.cl|videos\.uni\-paderborn\.de|vimp\-bemus\.udk\-berlin\.de|vimp\.aekwl\.de|vimp\.hs\-mittweida\.de|vimp\.landesfilmdienste\.de|vimp\.oth\-regensburg\.de|vimp\.ph\-heidelberg\.de|vimp\.sma\-events\.com|vimp\.weka\-fachmedien\.de|vimpdesk\.com|webtv\.univ\-montp3\.fr|www\.b\-tu\.de/media|www\.bergauf\.tv|www\.bigcitytv\.de|www\.cad\-videos\.de|www\.drehzahl\.tv|www\.hohu\.tv|www\.hsbi\.de/medienportal|www\.logistic\.tv|www\.orvovideo\.com|www\.printtube\.co\.uk|www\.rwe\.tv|www\.salzi\.tv|www\.signtube\.co\.uk|www\.twb\-power\.com|www\.wenglor\-media\.com|www2\.univ\-sba\.dz))/(?:
        (?P<mode1>album)/view/aid/(?P<album_id>[0-9]+)|
        (?P<mode2>category|channel)/(?P<name>[\w-]+)/(?P<channel_id>[0-9]+)|
        (?P<mode3>tag)/(?P<tag_id>[0-9]+)
    )r~   r   Nr   r   r   r   r6  r6  6  s    4GG UJLr   r6  c                       \ rS rSrSrSrSrg)
ViceBaseIEi6  yt_dlp.extractor.viceViceBaser   Nr   r   r   r   r9  r9  6  r  r   r9  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
ViceArticleIEi$6  r:  zvice:articlezVhttps?://(?:www\.)?vice\.com/(?P<locale>[^/]+)/article/(?:[0-9a-z]{6}/)?(?P<id>[^?#]+)Fr@  r}   r   Nr  r   r   r   r=  r=  $6  s     %GGkJHILr   r=  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
ViceIEi-6  r:  vicez{https?://(?:(?:video|vms)\.vice|(?:www\.)?vice(?:land|tv))\.com/(?P<locale>[^/]+)/(?:video/[^/]+|embed)/(?P<id>[\da-f]{24})Fr  r}   r   Nr  r   r   r   r?  r?  -6  s#    %GG SJHILr   r?  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
ViceShowIEi66  r:  z	vice:showz_https?://(?:video\.vice|(?:www\.)?vice(?:land|tv))\.com/(?P<locale>[^/]+)/show/(?P<id>[^/?#&]+)Fr~   r   NrZ  r   r   r   rB  rB  66  s    %GGuJHLr   rB  c                   $    \ rS rSrSrSrSrSrSrg)VidLiiIEi>6  zyt_dlp.extractor.vidliiVidLiizPhttps?://(?:www\.)?vidlii\.com/(?:watch|embed)\?.*?\bv=(?P<id>[0-9A-Za-z_-]{11})r}   r   Nr   r   r   r   rD  rD  >6  s    'GGgJLr   rD  c                   (    \ rS rSrSrSrSrSrSrSr	g)		ViddlerIEiE6  zyt_dlp.extractor.viddlerViddlerzZhttps?://(?:www\.)?viddler\.com/(?:v|embed|player)/(?P<id>[a-z0-9]+)(?:.+?\bsecret=(\d+))?Fr}   r   NrZ  r   r   r   rG  rG  E6  s    (GGqJHLr   rG  c                   $    \ rS rSrSrSrSrSrSrg)VideaIEiM6  zyt_dlp.extractor.videaVideaaX  (?x)
                    https?://
                        videa(?:kid)?\.hu/
                        (?:
                            videok/(?:[^/]+/)*[^?#&]+-|
                            (?:videojs_)?player\?.*?\bv=|
                            player/v/
                        )
                        (?P<id>[^?#&]+)
                    r}   r   Nr   r   r   r   rJ  rJ  M6  s    &GG xJLr   rJ  c                   $    \ rS rSrSrSrSrSrSrg)VideoDetectiveIEiT6  zyt_dlp.extractor.videodetectiveVideoDetectivez>https?://(?:www\.)?videodetective\.com/[^/]+/[^/]+/(?P<id>\d+)r}   r   Nr   r   r   r   rM  rM  T6  s    /GGTJLr   rM  c                       \ rS rSrSrSrSrg)VideoKenBaseIEi[6  yt_dlp.extractor.videokenVideoKenBaser   Nr   r   r   r   rP  rP  [6  r  r   rP  c                   $    \ rS rSrSrSrSrSrSrg)VideoKenCategoryIEi`6  rQ  VideoKenCategoryznhttps?://(?P<host>videos\.icts\.res\.in|videos\.cncf\.io|videos\.neurips\.cc)/category/(?P<id>\d+)/?(?:$|[?#])r~   r   Nr   r   r   r   rT  rT  `6  s    )G G JJLr   rT  c                   $    \ rS rSrSrSrSrSrSrg)
VideoKenIEig6  rQ  VideoKenzhttps?://(?P<host>videos\.icts\.res\.in|videos\.cncf\.io|videos\.neurips\.cc)/(?:(?:topic|category)/[^/#?]+/)?video/(?P<id>[\w-]+)r}   r   Nr   r   r   r   rW  rW  g6  s    )GG ^JLr   rW  c                   $    \ rS rSrSrSrSrSrSrg)VideoKenPlayerIEin6  rQ  VideoKenPlayerz;https?://player\.videoken\.com/embed/slideslive-(?P<id>\d+)r}   r   Nr   r   r   r   rZ  rZ  n6  s    )GGQJLr   rZ  c                   $    \ rS rSrSrSrSrSrSrg)VideoKenPlaylistIEiu6  rQ  VideoKenPlaylistzthttps?://(?P<host>videos\.icts\.res\.in|videos\.cncf\.io|videos\.neurips\.cc)/(?:category/\d+/)?playlist/(?P<id>\d+)r~   r   Nr   r   r   r   r]  r]  u6  s    )G G QJLr   r]  c                   $    \ rS rSrSrSrSrSrSrg)VideoKenTopicIEi|6  rQ  VideoKenTopiczohttps?://(?P<host>videos\.icts\.res\.in|videos\.cncf\.io|videos\.neurips\.cc)/topic/(?P<id>[^/#?]+)/?(?:$|[?#])r~   r   Nr   r   r   r   r`  r`  |6  s    )GG JJLr   r`  c                   $    \ rS rSrSrSrSrSrSrg)VideoPressIEi6  zyt_dlp.extractor.videopress
VideoPressz?https?://video(?:\.word)?press\.com/embed/(?P<id>[\da-zA-Z]{8})r}   r   Nr   r   r   r   rc  rc  6  s    +GGUJLr   rc  c                   $    \ rS rSrSrSrSrSrSrg)VideocampusSachsenIEi6  r7  ViMPa   (?x)https?://(?P<host>bergauf\.tv|campus\.demo\.vimp\.com|corporate\.demo\.vimp\.com|dancehalldatabase\.com|drehzahl\.tv|educhannel\.hs\-gesundheit\.de|emedia\.ls\.haw\-hamburg\.de|globale\-evolution\.net|hohu\.tv|htvideos\.hightechhigh\.org|k210039\.vimp\.mivitec\.net|media\.cmslegal\.com|media\.fh\-swf\.de|media\.hs\-furtwangen\.de|media\.hwr\-berlin\.de|mediathek\.dkfz\.de|mediathek\.htw\-berlin\.de|mediathek\.polizei\-bw\.de|medien\.hs\-merseburg\.de|mitmedia\.manukau\.ac\.nz|mportal\.europa\-uni\.de|pacific\.demo\.vimp\.com|slctv\.com|streaming\.prairiesouth\.ca|tube\.isbonline\.cn|univideo\.uni\-kassel\.de|ursula2\.genetics\.emory\.edu|ursulablicklevideoarchiv\.com|v\.agrarumweltpaedagogik\.at|video\.eplay\-tv\.de|video\.fh\-dortmund\.de|video\.hs\-nb\.de|video\.hs\-offenburg\.de|video\.hs\-pforzheim\.de|video\.hspv\.nrw\.de|video\.irtshdf\.fr|video\.pareygo\.de|video\.tu\-dortmund\.de|video\.tu\-freiberg\.de|videocampus\.sachsen\.de|videoportal\.uni\-freiburg\.de|videoportal\.vm\.uni\-freiburg\.de|videos\.duoc\.cl|videos\.uni\-paderborn\.de|vimp\-bemus\.udk\-berlin\.de|vimp\.aekwl\.de|vimp\.hs\-mittweida\.de|vimp\.landesfilmdienste\.de|vimp\.oth\-regensburg\.de|vimp\.ph\-heidelberg\.de|vimp\.sma\-events\.com|vimp\.weka\-fachmedien\.de|vimpdesk\.com|webtv\.univ\-montp3\.fr|www\.b\-tu\.de/media|www\.bergauf\.tv|www\.bigcitytv\.de|www\.cad\-videos\.de|www\.drehzahl\.tv|www\.hohu\.tv|www\.hsbi\.de/medienportal|www\.logistic\.tv|www\.orvovideo\.com|www\.printtube\.co\.uk|www\.rwe\.tv|www\.salzi\.tv|www\.signtube\.co\.uk|www\.twb\-power\.com|www\.wenglor\-media\.com|www2\.univ\-sba\.dz)/(?:
        m/(?P<tmp_id>[0-9a-f]+)|
        (?:category/)?video/(?P<display_id>[\w-]+)/(?P<id>[0-9a-f]{32})|
        media/embed.*(?:\?|&)key=(?P<embed_id>[0-9a-f]{32}&?)
    )r}   r   Nr   r   r   r   rf  rf  6  s    4GG KJLr   rf  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VideofyMeIEi6  zyt_dlp.extractor.videofymez
videofy.mezEhttps?://(?:www\.videofy\.me/.+?|p\.videofy\.me/v)/(?P<id>\d+)(&|#|$)Fr}   r   NrZ  r   r   r   ri  ri  6  s    *GG]JHLr   ri  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VideomoreIEi6  yt_dlp.extractor.videomore	videomorea  (?x)
                    videomore:(?P<sid>\d+)$|
                    https?://
                        (?:
                            videomore\.ru/
                            (?:
                                embed|
                                [^/]+/[^/]+
                            )/|
                            (?:
                                (?:player\.)?videomore\.ru|
                                siren\.more\.tv/player
                            )/[^/]*\?.*?\btrack_id=|
                            odysseus\.more.tv/player/(?P<partner_id>\d+)/
                        )
                        (?P<id>\d+)
                        (?:[/?#&]|\.(?:xml|json)|$)
                    r  r}   r   NrU  r   r   r   rk  rk  6  s    *GG sJILr   rk  c                       \ rS rSrSrSrSrg)VideomoreBaseIEi6  rl  VideomoreBaser   Nr   r   r   r   ro  ro  6  r  r   ro  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )VideomoreSeasonIEi6  rl  zvideomore:seasonzShttps?://(?:videomore\.ru|more\.tv)/(?!embed)(?P<id>[^/]+/[^/?#&]+)(?:/*|[?#&].*?)$r~   c                    > [         R                  U5      (       d  [        R                  U5      (       a  S$ [        TU ]  U5      $ r   )rk  r<   VideomoreVideoIEr   r   s     r   r<   VideomoreSeasonIE.suitable6  s?    %..s337G7P7PQT7U7U 	,W%c*	,r   r   r   r   s   @r   rr  rr  6  s)    *G GhJL, ,r   rr  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	rt  i6  rl  zvideomore:videozVhttps?://(?:videomore\.ru|more\.tv)/(?P<id>(?:(?:[^/]+/){2})?[^/?#&]+)(?:/*|[?#&].*?)$r  r}   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )rk  r<   r   r   s     r   r<   VideomoreVideoIE.suitable6  r*  r   r   r6
  r   s   @r   rt  rt  6  s0    *GGkJILM Mr   rt  c                   $    \ rS rSrSrSrSrSrSrg)	VidflexIEi6  zyt_dlp.extractor.vidflexVidflexa  https?://(?:[^.]+\.vidflex\.tv|(?:www\.)?acactv\.ca|(?:www\.)?albertalacrossetv\.com|(?:www\.)?cjfltv\.com|(?:www\.)?figureitoutbaseball\.com|(?:www\.)?ocaalive\.com|(?:www\.)?pegasussports\.tv|(?:www\.)?praxisseries\.ca|(?:www\.)?silenticetv\.com|(?:www\.)?tuffhedemantv\.com|(?:www\.)?watchfuntv\.com|live\.ofsaa\.on\.ca|tv\.procoro\.ca|tv\.realcastmedia\.net|tv\.fringetheatre\.ca|video\.haisla\.ca|video\.hockeycanada\.ca|video\.huuayaht\.org|video\.turningpointensemble\.ca|videos\.livingworks\.net|videos\.telusworldofscienceedmonton\.ca|watch\.binghamtonbulldogs\.com|watch\.rekindle\.tv|watch\.wpca\.com)/[a-z]{2}(?:-[a-z]{2})?/c/[\w-]+\.(?P<id>\d+)r}   r   Nr   r   r   r   rz  rz  6  s    (GG YJLr   rz  c                        \ rS rSrSrSrSrSrg)VidioBaseIEi6  yt_dlp.extractor.vidio	VidioBasevidior   Nr   r   r   r   r}  r}  6  r	  r   r}  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VidioIEi6  r~  VidiozPhttps?://(?:www\.)?vidio\.com/(watch|embed)/(?P<id>\d+)-(?P<display_id>[^/?#&]+)r  r}   r   Nr  r   r   r   r  r  6  s    &GGfJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VidioLiveIEi6  r~  	VidioLivezGhttps?://(?:www\.)?vidio\.com/live/(?P<id>\d+)-(?P<display_id>[^/?#&]+)r  r}   r   Nr  r   r   r   r  r  6  s    &GG]JNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VidioPremierIEi6  r~  VidioPremierzJhttps?://(?:www\.)?vidio\.com/premier/(?P<id>\d+)/(?P<display_id>[^/?#&]+)r  r~   r   Nr  r   r   r   r  r  6  s    &GG`JNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)VidlyIEi6  zyt_dlp.extractor.vidlyVidlyzPhttps?://(?:vid\.ly/|(?:s\.)?vid\.ly/embeded\.html\?(?:[^#]+&)?link=)(?P<id>\w+)r}   r   Nr   r   r   r   r  r  6  s    &GGiJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)VidsIoIEi6  r  zvids.iozHhttps?://[\w-]+\.vids\.io/videos/(?P<id>[\da-f]+)/(?P<display_id>[\w-]+)r}   r   Nr   r   r   r   r  r  6  s    ,GG`JLr   r  c                   (    \ rS rSrSrSr/ SQrSrSrg)	VidyardIEi6  rt  Vidyard)z=https?://[\w-]+(?:\.hubs)?\.vidyard\.com/watch/(?P<id>[\w-]+)z;https?://(?:embed|share)\.vidyard\.com/share/(?P<id>[\w-]+)z6https?://play\.vidyard\.com/(?:player/)?(?P<id>[\w-]+)r   r   Nr   r   r   r   r  r  6  s    (GG WJLr   r  c                       \ rS rSrSrSrSrg)ViewLiftBaseIEi6  yt_dlp.extractor.viewliftViewLiftBaser   Nr   r   r   r   r  r  6  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)ViewLiftEmbedIEi6  r  zviewlift:embeda  https?://(?:(?:www|embed)\.)?(?P<domain>(?:(?:main\.)?snagfilms|snagxtreme|funnyforfree|kiddovid|winnersview|(?:monumental|lax)sportsnetwork|vayafilm|failarmy|ftfnext|lnppass\.legapallacanestro|moviespree|app\.myoutdoortv|neoufitness|pflmma|theidentitytb|chorki)\.com|(?:hoichoi|app\.horseandcountry|kronon|marquee|supercrosslive)\.tv)/embed/player\?.*\bfilmId=(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})r}   r   Nr   r   r   r   r  r  6  s    )GG yJLr   r  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	
ViewLiftIEi7  r  viewlifta  https?://(?:www\.)?(?P<domain>(?:(?:main\.)?snagfilms|snagxtreme|funnyforfree|kiddovid|winnersview|(?:monumental|lax)sportsnetwork|vayafilm|failarmy|ftfnext|lnppass\.legapallacanestro|moviespree|app\.myoutdoortv|neoufitness|pflmma|theidentitytb|chorki)\.com|(?:hoichoi|app\.horseandcountry|kronon|marquee|supercrosslive)\.tv)(?P<path>(?:/(?:films/title|show|(?:news/)?videos?|watch))?/(?P<id>[^?#]+))r@  r   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r  r<   r   r   s     r   r<   ViewLiftIE.suitable7  rw  r   r   r6
  r   s   @r   r  r  7  s3    )GG kJILQ Qr   r  c                   $    \ rS rSrSrSrSrSrSrg)ViewSourceIEi7  rs  
ViewSourcezview-source:(?P<url>.+)Fr   Nr#  r   r   r   r  r  7  s    0GG*JGr   r  c                   $    \ rS rSrSrSrSrSrSrg)ViideaIEi7  zyt_dlp.extractor.viideaViideaa;  (?x)https?://(?:www\.)?(?:
            videolectures\.net|
            flexilearn\.viidea\.net|
            presentations\.ocwconsortium\.org|
            video\.travel-zoom\.si|
            video\.pomp-forum\.si|
            tv\.nil\.si|
            video\.hekovnik.com|
            video\.szko\.si|
            kpk\.viidea\.com|
            inside\.viidea\.net|
            video\.kiberpipa\.org|
            bvvideo\.si|
            kongres\.viidea\.net|
            edemokracija\.viidea\.com
        )(?:/lecture)?/(?P<id>[^/]+)(?:/video/(?P<part>\d+))?/*(?:[#?].*)?$r   r   Nr   r   r   r   r  r  7  s    'GG y	JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VimeoAlbumIEi7  r  zvimeo:albumzThttps://vimeo\.com/(?:album|showcase)/(?P<id>[^/?#]+)(?:$|[?#]|(?P<is_embed>/embed))r  r~   r   Nr  r   r   r   r  r  7  s    &GGhJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VimeoChannelIEi&7  r  zvimeo:channelz7https://vimeo\.com/channels/(?P<id>[^/?#]+)/?(?:$|[?#])r  r~   r   Nr  r   r   r   r  r  &7  s    &GGKJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VimeoEventIEi.7  r  zvimeo:eventz(?x)
        https?://(?:www\.)?vimeo\.com/event/(?P<id>\d+)(?:/
            (?:
                (?:embed/)?(?P<unlisted_hash>[\da-f]{10})|
                videos/(?P<video_id>\d+)
            )
        )?r  r}   r   Nr  r   r   r   r  r  .7  s    &GG lJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VimeoGroupsIEi67  r  zvimeo:groupz=https://vimeo\.com/groups/(?P<id>[^/]+)(?:/(?!videos?/\d+)|$)r  r~   r   Nr  r   r   r   r  r  67  s    &GGRJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)VimeoIEi>7  r  r  al  (?x)
                     https?://
                         (?:
                             (?:
                                 www|
                                 player
                             )
                             \.
                         )?
                         vimeo\.com/
                         (?:
                             (?P<u>user)|
                             (?!(?:channels|album|showcase)/[^/?#]+/?(?:$|[?#])|[^/]+/review/|ondemand/)
                             (?:(?!event/).*?/)??
                             (?P<q>
                                 (?:
                                     play_redirect_hls|
                                     moogaloop\.swf)\?clip_id=
                             )?
                             (?:videos?/)?
                         )
                         (?P<id>[0-9]+)
                         (?(u)
                             /(?!videos|likes)[^/?#]+/?|
                             (?(q)|/(?P<unlisted_hash>[\da-f]{10}))?
                         )
                         (?:(?(q)[&]|(?(u)|/?)[?]).*?)?(?:[#].*)?$
                 r}   r   Nr  r   r   r   r  r  >7  s    &GG `JNLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
VimeoLikesIEiF7  r  zvimeo:likeszBhttps://(?:www\.)?vimeo\.com/(?P<id>[^/]+)/likes/?(?:$|[?#]|sort:)zVimeo user likesr  r~   r   Nr   r   r   r   r  r  F7  s     &GGWJ GNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VimeoOndemandIEiO7  r  zvimeo:ondemandzBhttps?://(?:www\.)?vimeo\.com/ondemand/(?:[^/]+/)?(?P<id>[^/?#&]+)r  r}   r   Nr  r   r   r   r  r  O7  s    &GGWJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
VimeoProIEiW7  r  z	vimeo:prozZhttps?://(?:www\.)?vimeopro\.com/[^/?#]+/(?P<slug>[^/?#]+)(?:(?:/videos?/(?P<id>[0-9]+)))?r  r}   r   Nr  r   r   r   r  r  W7  s    &GGoJNLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
VimeoReviewIEi_7  r  zvimeo:reviewzNhttps?://vimeo\.com/(?P<user>[^/?#]+)/review/(?P<id>\d+)/(?P<hash>[\da-f]{10})zReview pages on vimeor  r}   r   Nr   r   r   r   r  r  _7  s     &GGdJ%GNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VimeoUserIEih7  r  z
vimeo:userz\https://vimeo\.com/(?!(?:[0-9]+|watchlater)(?:$|[?#/]))(?P<id>[^/]+)(?:/videos)?/?(?:$|[?#])r  r~   r   Nr  r   r   r   r  r  h7  s    &GGpJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VimeoWatchLaterIEip7  r  zvimeo:watchlaterz8https://vimeo\.com/(?:home/)?watchlater|:vimeowatchlaterzLVimeo watch later list, ":vimeowatchlater" keyword (requires authentication)r  r   NrP  r   r   r   r  r  p7  s    &G GLJ\GNr   r  c                   $    \ rS rSrSrSrSrSrSrg)VimmIEix7  yt_dlp.extractor.vimmzVimm:streamz6https?://(?:www\.)?vimm\.tv/(?:c/)?(?P<id>[0-9a-z-]+)$r}   r   Nr   r   r   r   r  r  x7  s    %GGKJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)VimmRecordingIEi7  r  zVimm:recordingzVhttps?://(?:www\.)?vimm\.tv/c/(?P<channel_id>[0-9a-z-]+)\?v=(?P<video_id>[0-9A-Za-z]+)r}   r   Nr   r   r   r   r  r  7  s    %GGlJLr   r  c                        \ rS rSrSrSrSrSrg)	ViouslyIEi7  zyt_dlp.extractor.viouslyViouslyFr   Nr   r   r   r   r  r  7  s    (GGJr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ViqeoIEi7  zyt_dlp.extractor.viqeoViqeoaE  (?x)
                        (?:
                            viqeo:|
                            https?://cdn\.viqeo\.tv/embed/*\?.*?\bvid=|
                            https?://api\.viqeo\.tv/v\d+/data/startup?.*?\bvideo(?:%5B%5D|\[\])=
                        )
                        (?P<id>[\da-f]+)
                    Fr}   r   NrZ  r   r   r   r  r  7  s    &GG kJHLr   r  c                       \ rS rSrSrSrSrg)	ViuBaseIEi7  yt_dlp.extractor.viuViuBaser   Nr   r   r   r   r  r  7  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)ViuIEi7  r  Viuz<(?:viu:|https?://[^/]+\.viu\.com/[a-z]{2}/media/)(?P<id>\d+)r}   r   Nr   r   r   r   r  r  7  s    $GGRJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ViuOTTIEi7  r  zviu:ottzkhttps?://(?:www\.)?viu\.com/ott/(?P<country_code>[a-z]{2})/(?P<lang_code>[a-z]{2}-[a-z]{2})/vod/(?P<id>\d+)viur   r   Nr  r   r   r   r  r  7  s    $GG BJNLr   r  c                       \ rS rSrSrSrSrg)ViuOTTIndonesiaBaseIEi7  r  ViuOTTIndonesiaBaser   Nr   r   r   r   r  r  7  r6  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ViuOTTIndonesiaIEi7  r  ViuOTTIndonesiaz?https?://www\.viu\.com/ott/\w+/\w+/all/video-[\w-]+-(?P<id>\d+)r  r}   r   NrU  r   r   r   r  r  7  s    $GGXJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)ViuPlaylistIEi7  r  zviu:playlistz9https?://www\.viu\.com/[^/]+/listing/playlist-(?P<id>\d+)r~   r   Nr   r   r   r   r  r  7  s    $GGOJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	VocarooIEi7  zyt_dlp.extractor.vocarooVocaroozChttps?://(?:www\.)?(?:vocaroo\.com|voca\.ro)/(?:embed/)?(?P<id>\w+)r}   r   Nr   r   r   r   r  r  7  r  r   r  c                       \ rS rSrSrSrSrg)VoicyBaseIEi7  yt_dlp.extractor.voicy	VoicyBaser   Nr   r   r   r   r  r  7  r   r   r  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	VoicyChannelIEi7  r  zvoicy:channelz&https?://voicy\.jp/channel/(?P<id>\d+)Fr~   c                 d   > [         R                  U5      (       + =(       a    [        TU ]  U5      $ r-   )VoicyIEr<   r   r   s     r   r<   VoicyChannelIE.suitable7  s&    ##C((BUW-=c-BBr   r   r  r   s   @r   r  r  7  s0    &GG;JHLC Cr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	r  i7  r  voicyz:https?://voicy\.jp/channel/(?P<channel_id>\d+)/(?P<id>\d+)Fr~   r   NrZ  r   r   r   r  r  7  s    &GGPJHLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	VolejTVIEi7  zyt_dlp.extractor.volejtvVolejTVz$https?://volej\.tv/video/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  7  s    (GG9JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)
VoxMediaIEi7  yt_dlp.extractor.voxmediaVoxMediazhttps?://(?:www\.)?(?:(?:theverge|vox|sbnation|eater|polygon|curbed|racked|funnyordie)\.com|recode\.net)/(?:[^/]+/)*(?P<id>[^/?]+)r   r   Nr   r   r   r   r  r  7  s    )GG YJLr   r  c                        \ rS rSrSrSrSrSrg)VoxMediaVolumeIEi7  r  VoxMediaVolumez7https?://volume\.vox-cdn\.com/embed/(?P<id>[0-9a-f]{9})r   Nr   r   r   r   r  r  7  s    )GGLJr   r  c                       \ rS rSrSrSrSrg)VrSquarePlaylistBaseIEi7  yt_dlp.extractor.vrsquareVrSquarePlaylistBaser   Nr   r   r   r   r  r  7  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)VrSquareChannelIEi7  r  zvrsquare:channelz%https?://livr\.jp/channel/(?P<id>\w+)r~   r   Nr   r   r   r   r  r  7  s    )G G:JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
VrSquareIEi7  r  vrsquarez)https?://livr\.jp/contents/(?P<id>[\w-]+)z	VR SQUAREr}   r   Nr   r   r   r   r  r  7  s    )GG>JGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)VrSquareSearchIEi8  r  zvrsquare:searchz2https?://livr\.jp/web-search/?\?(?:[^#]+&)?w=[^#]+r~   r   Nr   r   r   r   r  r  8  s    )GGGJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)VrSquareSectionIEi8  r  zvrsquare:sectionz3https?://livr\.jp/(?:category|headline)/(?P<id>\w+)r~   r   Nr   r   r   r   r  r  8  s    )G GHJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
VrtNUIEi8  rV  vrtmaxzMhttps?://(?:www\.)?vrt\.be/(?:vrtnu|vrtmax)/a-z/(?:[^/]+/){2}(?P<id>[^/?#&]+)zVRT MAX (formerly VRT NU)vrtnur}   r   Nr   r   r   r   r  r  8  s     $GGbJ)GNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)VuClipIEi8  zyt_dlp.extractor.vuclipVuClipz5https?://(?:m\.)?vuclip\.com/w\?.*?cid=(?P<id>[0-9]+)r}   r   Nr   r   r   r   r   r   8  ra	  r   r   c                   $    \ rS rSrSrSrSrSrSrg)WDRElefantIEi"8  yt_dlp.extractor.wdr
WDRElefantz8https?://(?:www\.)wdrmaus\.de/elefantenseite/#(?P<id>.+)r}   r   Nr   r   r   r   r  r  "8  s    $GGMJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)WDRIEi)8  r  WDRz(?x)https?://
        (?:deviceids-medp\.wdr\.de/ondemand/\d+/|
           kinder\.wdr\.de/(?!mediathek/)[^#?]+-)
        (?P<id>\d+)\.(?:js|assetjsonp)
    r}   r   Nr   r   r   r   r  r  )8  s    $GG |JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	WDRMobileIEi08  r  z
wdr:mobilez(?x)
        https?://mobile-ondemand\.wdr\.de/
        .*?/fsk(?P<age_limit>[0-9]+)
        /[0-9]+/[0-9]+/
        (?P<id>[0-9]+)_(?P<title>[0-9]+)Fr}   r   NrZ  r   r   r   r
  r
  08  s    $GG oJHLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)	WDRPageIEi88  r  WDRPagezhttps?://(?:www\d?\.)?(?:(?:kinder\.)?wdr\d?|sportschau)\.de/(?:mediathek/)?(?:[^/]+/)*(?P<display_id>[^/]+)\.html|https?://(?:www\.)wdrmaus.de/(?:[^/]+/)*?(?P<maus_id>[^/?#.]+)(?:/?|/index\.php5|\.php5)$r   r   Nr   r   r   r   r  r  88  s    $GG iJLr   r  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	WNLIEi?8  r  wnlz@https?://(?:www\.)?omroepwnl\.nl/video/detail/(?P<id>[^/]+)__\d+rb  r~   c                 z   >^ [        U4S j[        [        [        4 5       5      (       a  S$ [        TU ]  T5      $ )Nc              3   F   >#    U  H  nUR                  T5      v   M     g 7fr-   r  r  s     r   rD   !WNLIE.suitable.<locals>.<genexpr>H8  rf  rg  Frh  r   s    `r   r<   WNLIE.suitableF8  rm  r   r   rn  r   s   @r   r  r  ?8  s.    $GGVJAGL, ,r   r  c                       \ rS rSrSrSrSrg)WPPilotBaseIEiM8  yt_dlp.extractor.wppilotWPPilotBaser   Nr   r   r   r   r  r  M8  rK  r   r  c                   $    \ rS rSrSrSrSrSrSrg)WPPilotChannelsIEiR8  r  zwppilot:channelsz<(?:https?://pilot\.wp\.pl/(?:tv/?)?(?:\?[^#]*)?#?|wppilot:)$r~   r   Nr   r   r   r   r  r  R8  s    (G GRJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	WPPilotIEiY8  r  wppilotz:(?:https?://pilot\.wp\.pl/tv/?#|wppilot:)(?P<id>[a-z\d-]+)r}   r   Nr   r   r   r   r  r  Y8  s    (GGPJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)WSJArticleIEi`8  yt_dlp.extractor.wsj
WSJArticlezE(?i)https?://(?:www\.)?wsj\.com/(?:articles|opinion)/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r  r  `8  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	WSJIEig8  r   WSJa\  (?x)
                        (?:
                            https?://video-api\.wsj\.com/api-video/player/iframe\.html\?.*?\bguid=|
                            https?://(?:www\.)?(?:wsj|barrons)\.com/video/(?:[^/]+/)+|
                            wsj:
                        )
                        (?P<id>[a-fA-F0-9-]{36})
                    zWall Street Journalr}   r   Nr   r   r   r   r#  r#  g8  s    $GG ~J#GLr   r#  c                       \ rS rSrSrSrSrg)	WWEBaseIEio8  yt_dlp.extractor.wweWWEBaser   Nr   r   r   r   r&  r&  o8  r  r   r&  c                   $    \ rS rSrSrSrSrSrSrg)WWEIEit8  r'  WWEz@https?://(?:[^/]+\.)?wwe\.com/(?:[^/]+/)*videos/(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r*  r*  t8  rf
  r   r*  c                   $    \ rS rSrSrSrSrSrSrg)WallaIEi{8  zyt_dlp.extractor.wallaWallaz@https?://vod\.walla\.co\.il/[^/]+/(?P<id>\d+)/(?P<display_id>.+)r}   r   Nr   r   r   r   r-  r-  {8  r  r   r-  c                        \ rS rSrSrSrSrSrg)WalyTVBaseIEi8  rD  
WalyTVBasewalytvr   Nr   r   r   r   r0  r0  8  rw  r   r0  c                   $    \ rS rSrSrSrSrSrSrg)WalyTVIEi8  rD  WalyTVz(?x)https?://(?:www\.)?player\.waly\.tv/(?:
        [^?#]+\?(?:[^#]+&)?program=(?P<vid2>\d+)
        |(?:program|watch)/[^/]+/(?P<vid1>\d+)
    )r2  r   NrO  r   r   r   r4  r4  8  s    'GG nJNr   r4  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )WalyTVLiveIEi8  rD  
WalyTVLivez(?x)https?://(?:www\.)?player\.waly\.tv/(?:
        [^?#]+\?(?:[^#]+&)?channel=(?P<vid2>[^/?&#]+)
        |live/(?P<vid1>[^/?&#]+)
    )r2  c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r4  r<   r   r   s     r   r<   WalyTVLiveIE.suitable8  r  r   r   ru  r   s   @r   r7  r7  8  s.    'GG cJNJ Jr   r7  c                   $    \ rS rSrSrSrSrSrSrg)WalyTVRecordingsIEi8  rD  WalyTVRecordingszw(?x)https?://(?:www\.)?player\.waly\.tv/(?:
        [^?#]+\?(?:[^#]+&)?recording=(?P<vid2>\d+)
        (?P<vid1>)
    )r2  r   NrO  r   r   r   r<  r<  8  s    'G G SJNr   r<  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )WashingtonPostArticleIEi8  yt_dlp.extractor.washingtonpostzwashingtonpost:articlezAhttps?://(?:www\.)?washingtonpost\.com/(?:[^/]+/)*(?P<id>[^/?#]+)r~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )WashingtonPostIEr<   r   r   s     r   r<    WashingtonPostArticleIE.suitable8  s(    (11#66uQEG<LS<QQr   r   r   r   s   @r   r?  r?  8  s+    /G&GVJLR Rr   r?  c                   $    \ rS rSrSrSrSrSrSrg)rB  i8  r@  washingtonpostz(?:washingtonpost:|https?://(?:www\.)?washingtonpost\.com/(?:video|posttv)/(?:[^/]+/)*)(?P<id>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})r}   r   Nr   r   r   r   rB  rB  8  s    /GG qJLr   rB  c                   $    \ rS rSrSrSrSrSrSrg)WatIEi8  zyt_dlp.extractor.watzwat.tvz>(?:wat:|https?://(?:www\.)?wat\.tv/video/.*-)(?P<id>[0-9a-z]+)r}   r   Nr   r   r   r   rG  rG  8  s    $GGSJLr   rG  c                   $    \ rS rSrSrSrSrSrSrg)r9  i8  r5  	WatchESPNzhttps?://(?:www\.)?espn\.com/(?:watch|espnplus)/player/_/id/(?P<id>[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})r}   r   Nr   r   r   r   r9  r9  8  s    %GG VJLr   r9  c                   $    \ rS rSrSrSrSrSrSrg)WeTvEpisodeIEi8  rQ	  zwetv:episodezdhttps?://(?:www\.)?wetv\.vip/(?:[^?#]+/)?play/(?P<series_id>\w+)(?:-[^?#]+)?/(?P<id>\w+)(?:-[^?#]+)?r}   r   Nr   r   r   r   rK  rK  8  s    (GG{JLr   rK  c                   $    \ rS rSrSrSrSrSrSrg)WeTvSeriesIEi8  rQ	  
WeTvSerieszRhttps?://(?:www\.)?wetv\.vip/(?:[^?#]+/)?play/(?P<id>\w+)(?:-[^/?#]+)?/?(?:[?#]|$)r~   r   Nr   r   r   r   rM  rM  8  s    (GGhJLr   rM  c                   $    \ rS rSrSrSrSrSrSrg)WeVidiIEi8  zyt_dlp.extractor.wevidiWeVidiz6https?://(?:www\.)?wevidi\.net/watch/(?P<id>[\w-]{11})r}   r   Nr   r   r   r   rP  rP  8  r  r   rP  c                   $    \ rS rSrSrSrSrSrSrg)WebOfStoriesIEi8  yt_dlp.extractor.webofstoriesWebOfStorieszChttps?://(?:www\.)?webofstories\.com/play/(?:[^/]+/)?(?P<id>[0-9]+)r}   r   Nr   r   r   r   rS  rS  8  s    -GGXJLr   rS  c                   $    \ rS rSrSrSrSrSrSrg)WebOfStoriesPlaylistIEi8  rT  WebOfStoriesPlaylistz:https?://(?:www\.)?webofstories\.com/playAll/(?P<id>[^/]+)r~   r   Nr   r   r   r   rW  rW  8  s    -G$GOJLr   rW  c                   $    \ rS rSrSrSrSrSrSrg)WebcameraplIEi8  zyt_dlp.extractor.webcameraplWebcameraplz&https?://(?P<id>[\w-]+)\.webcamera\.plr}   r   Nr   r   r   r   rZ  rZ  8  s    ,GG<JLr   rZ  c                        \ rS rSrSrSrSrSrg)WebcasterFeedIEi8  yt_dlp.extractor.webcasterWebcasterFeedz9https?://bl\.webcaster\.pro/feed/start/free_(?P<id>[^/]+)r   Nr   r   r   r   r]  r]  8  s    *GGNJr   r]  c                   $    \ rS rSrSrSrSrSrSrg)WebcasterIEi8  r^  	WebcasterzDhttps?://bl\.webcaster\.pro/(?:quote|media)/start/free_(?P<id>[^/]+)r}   r   Nr   r   r   r   ra  ra  8  r  r   ra  c                       \ rS rSrSrSrSrg)WeiboBaseIEi8  yt_dlp.extractor.weibo	WeiboBaser   Nr   r   r   r   rd  rd  8  r   r   rd  c                   $    \ rS rSrSrSrSrSrSrg)WeiboIEi8  re  WeibozYhttps?://(?:m\.weibo\.cn/(?:status|detail)|(?:www\.)?weibo\.com/\d+)/(?P<id>[a-zA-Z0-9]+)r   r   Nr   r   r   r   rh  rh  8  s    &GGqJLr   rh  c                   $    \ rS rSrSrSrSrSrSrg)WeiboUserIEi9  re  	WeiboUserz+https?://(?:www\.)?weibo\.com/u/(?P<id>\d+)r   r   Nr   r   r   r   rk  rk  9  s    &GGAJLr   rk  c                   (    \ rS rSrSrSrSS/rSrSrg)	WeiboVideoIEi9  re  
WeiboVideozIhttps?://(?:www\.)?weibo\.com/tv/show/(?P<id>\d+:(?:[\da-f]{32}|\d{16,}))zUhttps?://video\.weibo\.com/show/?\?(?:[^#]+&)?fid=(?P<id>\d+:(?:[\da-f]{32}|\d{16,}))r}   r   Nr   r   r   r   rn  rn  9  s#    &GGb  eB  CJLr   rn  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
	WeiqiTVIEi9  zyt_dlp.extractor.weiqitvWeiqiTVzNhttps?://(?:www\.)?weiqitv\.com/index/video_play\?videoId=(?P<id>[A-Za-z0-9]+)FWQTVr}   r   Nri  r   r   r   rq  rq  9  s     (GGdJHGLr   rq  c                        \ rS rSrSrSrSrSrg)WeverseBaseIEi9  yt_dlp.extractor.weverseWeverseBaseweverser   Nr   r   r   r   ru  ru  9  r  r   ru  c                   (    \ rS rSrSrSrSrSrSrSr	g)		WeverseIEi!9  rv  WeversezJhttps?://(?:www\.|m\.)?weverse\.io/(?P<artist>[^/?#]+)/live/(?P<id>[\d-]+)rx  r}   r   Nr  r   r   r   rz  rz  !9  s    (GGaJNLr   rz  c                   (    \ rS rSrSrSrSrSrSrSr	g)	WeverseLiveIEi)9  rv  WeverseLivez>https?://(?:www\.|m\.)?weverse\.io/(?P<id>[^/?#]+)/?(?:[?#]|$)rx  r}   r   Nr  r   r   r   r}  r}  )9  s    (GGTJNLr   r}  c                        \ rS rSrSrSrSrSrg)WeverseTabBaseIEi19  rv  WeverseTabBaserx  r   Nr   r   r   r   r  r  19  s    (GGNr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	WeverseLiveTabIEi79  rv  WeverseLiveTabzChttps?://(?:www\.|m\.)?weverse\.io/(?P<id>[^/?#]+)/live/?(?:[?#]|$)rx  r~   r   Nr  r   r   r   r  r  79  s    (GGYJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	WeverseMediaIEi?9  rv  WeverseMediazKhttps?://(?:www\.|m\.)?weverse\.io/(?P<artist>[^/?#]+)/media/(?P<id>[\d-]+)rx  r}   r   Nr  r   r   r   r  r  ?9  s    (GGbJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	WeverseMediaTabIEiG9  rv  WeverseMediaTabzRhttps?://(?:www\.|m\.)?weverse\.io/(?P<id>[^/?#]+)/media(?:/|/all|/new)?(?:[?#]|$)rx  r~   r   Nr  r   r   r   r  r  G9  s    (GGhJNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	WeverseMomentIEiO9  rv  WeverseMomentzchttps?://(?:www\.|m\.)?weverse\.io/(?P<artist>[^/?#]+)/moment/(?P<uid>[\da-f]+)/post/(?P<id>[\d-]+)rx  r}   r   Nr  r   r   r   r  r  O9  s    (GG{JNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	WeyyakIEiW9  zyt_dlp.extractor.weyyakWeyyakzRhttps?://weyyak\.com/(?P<lang>\w+)/(?:player/)?(?P<type>episode|movie)/(?P<id>\d+)r	  r}   r   NrU  r   r   r   r  r  W9  s    'GGhJILr   r  c                        \ rS rSrSrSrSrSrg)
WhoWatchIEi_9  zyt_dlp.extractor.whowatchwhowatchz(https?://whowatch\.tv/viewer/(?P<id>\d+)r   Nr   r   r   r   r  r  _9  s    )GG=Jr   r  c                   $    \ rS rSrSrSrSrSrSrg)WhypIEie9  zyt_dlp.extractor.whypWhypz.https?://(?:www\.)?whyp\.it/tracks/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  e9  s    %GGDJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)WikimediaIEil9  zyt_dlp.extractor.wikimediazwikimedia.orgz?https?://commons\.wikimedia\.org/wiki/File:(?P<id>[^/#?]+)\.\w+r}   r   Nr   r   r   r   r  r  l9  s    *GGVJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)WimTVIEis9  zyt_dlp.extractor.wimtvWimTVz(?x:
        https?://platform\.wim\.tv/
        (?:
            (?:embed/)?\?
            |\#/webtv/.+?/
        )
        (?P<type>vod|live|cast)[=/]
        (?P<id>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}).*?)r}   r   Nr   r   r   r   r  r  s9  s    &GG GJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)WimbledonIEiz9  zyt_dlp.extractor.wimbledon	WimbledonzChttps?://(?:www\.)?wimbledon\.com/\w+/video/media/(?P<id>\d+)\.htmlr}   r   Nr   r   r   r   r  r  z9  s    *GG[JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)WinSportsVideoIEi9  r  WinSportsVideoz1https?://www\.winsports\.co/videos/(?P<id>[\w-]+)r}   r   Nr   r   r   r   r  r  9  s    ,GGGJLr   r  c                       \ rS rSrSrSrSrg)WistiaBaseIEi9  yt_dlp.extractor.wistia
WistiaBaser   Nr   r   r   r   r  r  9  r"  r   r  c                   $    \ rS rSrSrSrSrSrSrg)WistiaChannelIEi9  r  WistiaChannelza(?:wistiachannel:|https?://(?:\w+\.)?wistia\.(?:net|com)/(?:embed/)?channel/)(?P<id>[a-z0-9]{10})r   r   Nr   r   r   r   r  r  9  s    'GGwJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)WistiaIEi9  r  Wistiazd(?:wistia:|https?://(?:\w+\.)?wistia\.(?:net|com)/(?:embed/)?(?:iframe|medias)/)(?P<id>[a-z0-9]{10})r}   r   Nr   r   r   r   r  r  9  s    'GGzJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)WistiaPlaylistIEi9  r  WistiaPlaylistzPhttps?://(?:\w+\.)?wistia\.(?:net|com)/(?:embed/)?playlists/(?P<id>[a-z0-9]{10})r~   r   Nr   r   r   r   r  r  9  s    'GGfJLr   r  c                        \ rS rSrSrSrSrSrg)WordpressMiniAudioPlayerEmbedIEi9  yt_dlp.extractor.wordpresszwordpress:mb.miniAudioPlayerFr   Nr   r   r   r   r  r  9  s    *G,GJr   r  c                        \ rS rSrSrSrSrSrg)WordpressPlaylistEmbedIEi9  r  zwordpress:playlistFr   Nr   r   r   r   r  r  9  s    *G"GJr   r  c                   $    \ rS rSrSrSrSrSrSrg)WorldStarHipHopIEi9  z yt_dlp.extractor.worldstarhiphopWorldStarHipHopzfhttps?://(?:www|m)\.worldstar(?:candy|hiphop)\.com/(?:videos|android)/video\.php\?.*?\bv=(?P<id>[^&]+)r}   r   Nr   r   r   r   r  r  9  s    0GG~JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	WrestleUniversePPVIEi9  r  WrestleUniversePPVzOhttps?://(?:www\.)?wrestle-universe\.com/(?:(?P<lang>\w{2})/)?lives/(?P<id>\w+)r  r}   r   Nr  r   r   r   r  r  9  s    0G"GfJ&NLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	WrestleUniverseVODIEi9  r  WrestleUniverseVODzPhttps?://(?:www\.)?wrestle-universe\.com/(?:(?P<lang>\w{2})/)?videos/(?P<id>\w+)r  r}   r   Nr  r   r   r   r  r  9  s    0G"GgJ&NLr   r  c                   $    \ rS rSrSrSrSrSrSrg)WyborczaPodcastIEi9  r  WyborczaPodcastz(?x)
        https?://(?:www\.)?(?:
            wyborcza\.pl/podcast(?:/0,172673\.html)?|
            wysokieobcasy\.pl/wysokie-obcasy/0,176631\.html
        )(?:\?(?:[^&#]+?&)*podcast=(?P<id>\d+))?
    r   r   Nr   r   r   r   r  r  9  s    &GG kJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)WyborczaVideoIEi9  r  zwyborcza:videozD(?:wyborcza:video:|https?://wyborcza\.pl/(?:api-)?video/)(?P<id>\d+)r}   r   Nr   r   r   r   r  r  9  s    &GGYJLr   r  c                       \ rS rSrSrSrSrg)WykopBaseIEi9  yt_dlp.extractor.wykop	WykopBaser   Nr   r   r   r   r  r  9  r   r   r  c                   $    \ rS rSrSrSrSrSrSrg)WykopDigCommentIEi9  r  zwykop:dig:commentzMhttps?://(?:www\.)?wykop\.pl/link/(?P<dig_id>\d+)/[^/]+/komentarz/(?P<id>\d+)r}   r   Nr   r   r   r   r  r  9  s    &G!GdJLr   r  c                   4    \ rS rSrSrSrSrSr\S 5       r	Sr
g)	
WykopDigIEi9  r  z	wykop:digz-https?://(?:www\.)?wykop\.pl/link/(?P<id>\d+)r}   c                 f    U R                  U5      =(       a    [        R                  U5      (       + $ r-   )r9   r  r<   r:   s     r   r<   WykopDigIE.suitable9  s'    ##C(P1B1K1KC1P-PPr   r   Nr   r   r    r!   r)   ro   rG   r   r   r<   r"   r   r   r   r  r  9  s*    &GGCJLQ Qr   r  c                   $    \ rS rSrSrSrSrSrSrg)WykopPostCommentIEi9  r  zwykop:post:commentzEhttps?://(?:www\.)?wykop\.pl/wpis/(?P<post_id>\d+)/[^/#]+#(?P<id>\d+)r}   r   Nr   r   r   r   r  r  9  s    &G"G\JLr   r  c                   4    \ rS rSrSrSrSrSr\S 5       r	Sr
g)	WykopPostIEi9  r  z
wykop:postz-https?://(?:www\.)?wykop\.pl/wpis/(?P<id>\d+)r~   c                 f    U R                  U5      =(       a    [        R                  U5      (       + $ r-   )r9   r  r<   r:   s     r   r<   WykopPostIE.suitable9  s'    ##C(Q1C1L1LS1Q-QQr   r   Nr  r   r   r   r  r  9  s*    &GGCJLR Rr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	XHamsterEmbedIEi9  yt_dlp.extractor.xhamsterXHamsterEmbedzhttps?://(?:[^/?#]+\.)?(?:xhamster\.(?:com|one|desi)|xhms\.pro|xhamster\d+\.(?:com|desi)|xhday\.com|xhvid\.com)/xembed\.php\?video=(?P<id>\d+)r   r}   r   NrU  r   r   r   r  r  9  s    )GG lJILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
XHamsterIEi:  r  XHamstera  (?x)
                    https?://
                        (?:[^/?#]+\.)?(?:xhamster\.(?:com|one|desi)|xhms\.pro|xhamster\d+\.(?:com|desi)|xhday\.com|xhvid\.com)/
                        (?:
                            movies/(?P<id>[\dA-Za-z]+)/(?P<display_id>[^/]*)\.html|
                            videos/(?P<display_id_2>[^/]*)-(?P<id_2>[\dA-Za-z]+)
                        )
                    r   r}   r   NrU  r   r   r   r  r  :  s    )GG wJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)XHamsterUserIEi:  r  XHamsterUserzhttps?://(?:[^/?#]+\.)?(?:xhamster\.(?:com|one|desi)|xhms\.pro|xhamster\d+\.(?:com|desi)|xhday\.com|xhvid\.com)/(?:(?P<user>users)|creators)/(?P<id>[^/?#&]+)r~   r   Nr   r   r   r   r  r  :  s    )GG xJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	XMinusIEi:  zyt_dlp.extractor.xminusXMinusz4https?://(?:www\.)?x-minus\.org/track/(?P<id>[0-9]+)Fr}   r   NrZ  r   r   r   r  r  :  s    'GGIJHLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	XNXXIEi:  zyt_dlp.extractor.xnxxXNXXz=https?://(?:video|www)\.xnxx3?\.com/video-?(?P<id>[0-9a-z]+)/r   r}   r   NrU  r   r   r   r  r  :  s    %GGRJILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		XVideosIEi#:  yt_dlp.extractor.xvideosXVideosa  (?x)
                    https?://
                        (?:
                            (?:[^/]+\.)?xvideos2?\.com/video\.?|
                            (?:www\.)?xvideos\.es/video\.?|
                            (?:www|flashservice)\.xvideos\.com/embedframe/|
                            static-hw\.xvideos\.com/swf/xv-player\.swf\?.*?\bid_video=
                        )
                        (?P<id>[0-9a-z]+)
                    r   r}   r   NrU  r   r   r   r  r  #:  s    (GG aJILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	XVideosQuickiesIEi+:  r  zxvideos:quickieszphttps?://(?P<domain>(?:[^/?#]+\.)?xvideos2?\.com)/(?:profiles/|amateur-channels/)?[^/?#]+#quickies/a/(?P<id>\w+)r   r}   r   NrU  r   r   r   r  r  +:  s    (G G GJILr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	XXXYMoviesIEi3:  zyt_dlp.extractor.xxxymovies
XXXYMovieszKhttps?://(?:www\.)?xxxymovies\.com/videos/(?P<id>\d+)/(?P<display_id>[^/]+)r   r}   r   NrU  r   r   r   r  r  3:  s    +GGaJILr   r  c                   $    \ rS rSrSrSrSrSrSrg)XboxClipsIEi;:  zyt_dlp.extractor.xboxclips	XboxClipszhttps?://(?:www\.)?(?:xboxclips\.com|gameclips\.io)/(?:video\.php\?.*vid=|[^/]+/)(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})r}   r   Nr   r   r   r   r  r  ;:  s    *GG ]JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	XiaoHongShuIEiB:  zyt_dlp.extractor.xiaohongshuXiaoHongShuzJhttps?://www\.xiaohongshu\.com/(?:explore|discovery/item)/(?P<id>[\da-f]+)u	   小红书r}   r   Nr   r   r   r   r  r  B:  s    ,GG`JGLr   r  c                       \ rS rSrSrSrSrg)XimalayaBaseIEiJ:  yt_dlp.extractor.ximalayaXimalayaBaser   Nr   r   r   r   r  r  J:  r  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	XimalayaAlbumIEiO:  r  zximalaya:albumzBhttps?://(?:www\.|m\.)?ximalaya\.com/(?:\d+/)?album/(?P<id>[0-9]+)u   喜马拉雅FM 专辑r~   r   Nr   r   r   r   r  r  O:  s    )GGYJ%GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
XimalayaIEiW:  r  ximalayazKhttps?://(?:www\.|m\.)?ximalaya\.com/(?:(?P<uid>\d+)/)?sound/(?P<id>[0-9]+)u   喜马拉雅FMr}   r   Nr   r   r   r   r  r  W:  s    )GGbJGLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	XinpianchangIEi_:  zyt_dlp.extractor.xinpianchangXinpianchangz/https?://(www\.)?xinpianchang\.com/(?P<id>a\d+)u	   新片场r}   r   Nr   r   r   r   r  r  _:  s    -GGEJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)	XstreamIEig:  zyt_dlp.extractor.xstreamXstreamak  (?x)
                    (?:
                        xstream:|
                        https?://frontend\.xstream\.(?:dk|net)/
                    )
                    (?P<partner_id>[^/]+)
                    (?:
                        :|
                        /feed/video/\?.*?\bid=
                    )
                    (?P<id>\d+)
                    r}   r   Nr   r   r   r   r  r  g:  s    (GG OJLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	VGTVIEin:  rl  VGTVa  (?x)
                    (?:https?://(?:www\.)?
                    (?P<host>
                        tv.vg.no|vgtv.no|bt.no/tv|aftenbladet.no/tv|fvn.no/fvntv|aftenposten.no/webtv|ap.vgtv.no/webtv|tv.aftonbladet.se|tv.aftonbladet.se/abtv|www.aftonbladet.se/tv
                    )
                    /?
                    (?:
                        (?:\#!/)?(?:video|live)/|
                        embed?.*id=|
                        a(?:rticles)?/
                    )|
                    (?P<appname>
                        vgtv|bttv|satv|fvntv|aptv|abtv
                    ):)
                    (?P<id>\d+)
                    z,VGTV, BTTV, FTV, Aftenposten and Aftonbladetr}   r   Nr   r   r   r   r  r  n:  s    %GG h
J<GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YahooIEiv:  yt_dlp.extractor.yahooYahooz(?P<url>https?://(?:(?P<country>[a-zA-Z]{2}(?:-[a-zA-Z]{2})?|malaysia)\.)?(?:[\da-zA-Z_-]+\.)?yahoo\.com/(?:[^/]+/)*(?P<id>[^?&#]*-[0-9]+(?:-[a-z]+)?)\.html)Yahoo screen and moviesr   r   Nr   r   r   r   r  r  v:  s    &GG vJ'GLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
AolIEi~:  zyt_dlp.extractor.aolzaol.comz(?:aol-video:|https?://(?:www\.)?aol\.(?:com|ca|co\.uk|de|jp)/video/(?:[^/]+/)*)(?P<id>\d{9}|[0-9a-f]{24}|[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12})Fr  r}   r   Nri  r   r   r   r
  r
  ~:  s#    $GG nJH'GLr   r
  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YahooJapanNewsIEi:  r  zyahoo:japannewszFhttps?://news\.yahoo\.co\.jp/(?:articles|feature)/(?P<id>[a-zA-Z0-9]+)zYahoo! Japan Newsr}   r   Nr   r   r   r   r  r  :  s    &GG\J!GLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
YahooSearchIEi:  r  zscreen.yahoo:searchz7yvsearch(?P<prefix>|[1-9][0-9]*|all):(?P<query>[\s\S]+)zYahoo screen searchyvsearchr~   r   Nr  r   r   r   r  r  :  s     &G#GLJ#GJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)YandexDiskIEi:  zyt_dlp.extractor.yandexdisk
YandexDiska  (?x)https?://
        (?P<domain>
            yadi\.sk|
            disk\.(?:360\.)?yandex\.
                (?:
                    az|
                    by|
                    co(?:m(?:\.(?:am|ge|tr))?|\.il)|
                    ee|
                    fr|
                    k[gz]|
                    l[tv]|
                    md|
                    t[jm]|
                    u[az]|
                    ru
                )
        )/(?:[di]/|public.*?\bhash=)(?P<id>[^/?#&]+)r}   r   Nr   r   r   r   r  r  :  s    +GG SJLr   r  c                       \ rS rSrSrSrSrg)YandexMusicBaseIEi:  yt_dlp.extractor.yandexmusicYandexMusicBaser   Nr   r   r   r   r  r  :  r  r   r  c                       \ rS rSrSrSrSrg)YandexMusicPlaylistBaseIEi:  r  YandexMusicPlaylistBaser   Nr   r   r   r   r  r  :  r  r   r  c                   F   ^  \ rS rSrSrSrSrSrSr\	U 4S j5       r
SrU =r$ )	YandexMusicAlbumIEi:  r  zyandexmusic:albumzBhttps?://music\.yandex\.(?P<tld>ru|kz|ua|by|com)/album/(?P<id>\d+)u(   Яндекс.Музыка - Альбомr~   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )YandexMusicTrackIEr<   r   r   s     r   r<   YandexMusicAlbumIE.suitable:  r  r   r   rn  r   s   @r   r  r  :  s0    ,G!GXJ8GLT Tr   r  c                       \ rS rSrSrSrSrg)YandexMusicArtistBaseIEi:  r  YandexMusicArtistBaser   Nr   r   r   r   r   r   :  s    ,G%Gr   r   c                   (    \ rS rSrSrSrSrSrSrSr	g)	YandexMusicArtistAlbumsIEi:  r  zyandexmusic:artist:albumszJhttps?://music\.yandex\.(?P<tld>ru|kz|ua|by|com)/artist/(?P<id>\d+)/albumsu9   Яндекс.Музыка - Артист - Альбомыr~   r   Nr   r   r   r   r#  r#  :  s    ,G)G`JIGLr   r#  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YandexMusicArtistTracksIEi:  r  zyandexmusic:artist:trackszJhttps?://music\.yandex\.(?P<tld>ru|kz|ua|by|com)/artist/(?P<id>\d+)/tracksu5   Яндекс.Музыка - Артист - Трекиr~   r   Nr   r   r   r   r%  r%  :  s    ,G)G`JEGLr   r%  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YandexMusicPlaylistIEi:  r  zyandexmusic:playlistz\https?://music\.yandex\.(?P<tld>ru|kz|ua|by|com)/users/(?P<user>[^/]+)/playlists/(?P<id>\d+)u,   Яндекс.Музыка - Плейлистr~   r   Nr   r   r   r   r'  r'  :  s    ,G$GrJ<GLr   r'  c                   (    \ rS rSrSrSrSrSrSrSr	g)	r  i:  r  zyandexmusic:trackzZhttps?://music\.yandex\.(?P<tld>ru|kz|ua|by|com)/album/(?P<album_id>\d+)/track/(?P<id>\d+)u$   Яндекс.Музыка - Трекr}   r   Nr   r   r   r   r  r  :  s    ,G!GqJ4GLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YandexVideoIEi:  yt_dlp.extractor.yandexvideoYandexVideoaA  (?x)
                    https?://
                        (?:
                            yandex\.ru(?:/(?:portal/(?:video|efir)|efir))?/?\?.*?stream_id=|
                            frontend\.vh\.yandex\.ru/player/
                        )
                        (?P<id>(?:[\da-f]{32}|[\w-]{12}))
                    r   r}   r   NrU  r   r   r   r*  r*  :  s    ,GG cJILr   r*  c                   $    \ rS rSrSrSrSrSrSrg)YandexVideoPreviewIEi:  r+  YandexVideoPreviewzehttps?://(?:www\.)?yandex\.\w{2,3}(?:\.(?:am|ge|il|tr))?/video/preview(?:/?\?.*?filmId=|/)(?P<id>\d+)r}   r   Nr   r   r   r   r.  r.  :  s    ,G"G~JLr   r.  c                   (    \ rS rSrSrSrSrSrSrSr	g)	
YapFilesIEi:  zyt_dlp.extractor.yapfilesYapFileszHhttps?://(?:(?:www|api)\.)?yapfiles\.ru/get_player/*\?.*?\bv=(?P<id>\w+)Fr}   r   NrZ  r   r   r   r1  r1  :  s    )GG`JHLr   r1  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YappyIEi:  yt_dlp.extractor.yappyYappyz'https?://yappy\.media/video/(?P<id>\w+)Fr}   r   NrZ  r   r   r   r4  r4  :  s    &GG<JHLr   r4  c                   $    \ rS rSrSrSrSrSrSrg)YappyProfileIEi:  r5  YappyProfilez)https?://yappy\.media/profile/(?P<id>\w+)r~   r   Nr   r   r   r   r8  r8  :  s    &GG>JLr   r8  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YleAreenaIEi ;  zyt_dlp.extractor.yle_areena	YleAreenaz?https?://areena\.yle\.fi/(?P<podcast>podcastit/)?(?P<id>[\d-]+)   r}   r   NrU  r   r   r   r;  r;   ;  s    +GGUJILr   r;  c                   (    \ rS rSrSrSrSrSrSrSr	g)		YouJizzIEi;  zyt_dlp.extractor.youjizzYouJizzz\https?://(?:\w+\.)?youjizz\.com/videos/(?:[^/#?]*-(?P<id>\d+)\.html|embed/(?P<embed_id>\d+))r   r}   r   NrU  r   r   r   r?  r?  ;  rM  r   r?  c                   $    \ rS rSrSrSrSrSrSrg)YouNowChannelIEi;  yt_dlp.extractor.younowYouNowChannelz4https?://(?:www\.)?younow\.com/(?P<id>[^/]+)/channelr~   r   Nr   r   r   r   rB  rB  ;  s    'GGIJLr   rB  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )YouNowLiveIEi;  rC  
YouNowLivez/https?://(?:www\.)?younow\.com/(?P<id>[^/?#&]+)r}   c                    > [         R                  U5      (       d  [        R                  U5      (       a  S$ [        TU ]  U5      $ r   )rB  r<   YouNowMomentIEr   r   s     r   r<   YouNowLiveIE.suitable;  sB     #++C00N4K4KC4P4P  	,W%c*	,r   r   r   r   s   @r   rF  rF  ;  s)    'GGDJL, ,r   rF  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )rI  i$;  rC  YouNowMomentz5https?://(?:www\.)?younow\.com/[^/]+/(?P<id>[^/?#&]+)r}   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )rB  r<   r   r   s     r   r<   YouNowMomentIE.suitable*;  s2     #++C00  	,W%c*	,r   r   r   r   s   @r   rI  rI  $;  s)    'GGJJL, ,r   rI  c                       \ rS rSrSrSrSrg)YouPornListBaseIEi1;  yt_dlp.extractor.youpornYouPornListBaser   Nr   r   r   r   rP  rP  1;  r  r   rP  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YouPornCategoryIEi6;  rQ  YouPornCategoryz(?x)
        https?://(?:www\.)?youporn\.com/
        (?P<type>category)/(?P<id>[^/?#&]+)
        (?:/(?P<sort>popular|views|rating|time|duration))?/?(?:[#?]|$)
    z8YouPorn category, with sorting, filtering and paginationr~   r   Nr   r   r   r   rT  rT  6;  s    (GG JHGLr   rT  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YouPornChannelIEi>;  rQ  YouPornChannelz(?x)
        https?://(?:www\.)?youporn\.com/
        (?P<type>channel)/(?P<id>[^/?#&]+)
        (?:/(?P<sort>rating|views|duration))?/?(?:[#?]|$)
    z,YouPorn channel, with sorting and paginationr~   r   Nr   r   r   r   rW  rW  >;  s    (GG qJ<GLr   rW  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YouPornCollectionIEiF;  rQ  YouPornCollectionz(?x)
        https?://(?:www\.)?youporn\.com/
        (?P<type>collection)s/videos/(?P<id>\d+)
        (?:/(?P<sort>rating|views|time|duration))?/?(?:[#?]|$)
    z?YouPorn collection (user playlist), with sorting and paginationr~   r   Nr   r   r   r   rZ  rZ  F;  s    (G!G }JOGLr   rZ  c                   (    \ rS rSrSrSrSrSrSrSr	g)		YouPornIEiN;  rQ  YouPornzehttps?://(?:www\.)?youporn\.com/(?:watch|embed)/(?P<id>\d+)(?:/(?P<display_id>[^/?#&]+))?/?(?:[#?]|$)r   r}   r   NrU  r   r   r   r]  r]  N;  r  r   r]  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YouPornStarIEiV;  rQ  YouPornStarz(?x)
        https?://(?:www\.)?youporn\.com/
        (?P<type>pornstar)/(?P<id>[^/?#&]+)
        (?:/(?P<sort>rating|views|duration))?/?(?:[#?]|$)
    z:YouPorn Pornstar, with description, sorting and paginationr~   r   Nr   r   r   r   r`  r`  V;  s    (GG rJJGLr   r`  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YouPornTagIEi^;  rQ  
YouPornTagz(?x)
        https?://(?:www\.)?youporn\.com/
        porn(?P<type>tag)s/(?P<id>[^/?#&]+)
        (?:/(?P<sort>views|rating|time|duration))?/?(?:[#?]|$)
    z>YouPorn tag (porntags), with sorting, filtering and paginationr~   r   Nr   r   r   r   rc  rc  ^;  s    (GG wJNGLr   rc  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YouPornVideosIEif;  rQ  YouPornVideosz(?x)
        https?://(?:www\.)?youporn\.com/
            (?:(?P<id>browse)/)?
            (?P<sort>(?(id)
                (?:duration|rating|time|views)|
                (?:most_(?:favou?rit|view)ed|recommended|top_rated)?))
            (?:[/#?]|$)
    zHYouPorn video (browse) playlists, with sorting, filtering and paginationr~   r   Nr   r   r   r   rf  rf  f;  s    (GG [JXGLr   rf  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YoukuIEin;  yt_dlp.extractor.youkuyoukuz(?x)
        (?:
            https?://(
                (?:v|play(?:er)?)\.(?:youku|tudou)\.com/(?:v_show/id_|player\.php/sid/)|
                video\.tudou\.com/v/)|
            youku:)
        (?P<id>[A-Za-z0-9]+)(?:\.html|/v\.swf|)
    u   优酷r}   r   Nr   r   r   r   ri  ri  n;  s    &GG RJGLr   ri  c                   $    \ rS rSrSrSrSrSrSrg)YoukuShowIEiv;  rj  z
youku:showz9https?://list\.youku\.com/show/id_(?P<id>[0-9a-z]+)\.htmlr~   r   Nr   r   r   r   rm  rm  v;  s    &GGOJLr   rm  c                        \ rS rSrSrSrSrSrg)YoutubeBaseInfoExtractori};  yt_dlp.extractor.youtubeYoutubeBaseInfoExtractyoutuber   Nr   r   r   r   ro  ro  };  s    (G&GNr   ro  c                        \ rS rSrSrSrSrSrg)YoutubeTabBaseInfoExtractori;  rp  YoutubeTabBaseInfoExtractrr  r   Nr   r   r   r   rt  rt  ;  s    (G)GNr   rt  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YoutubeClipIEi;  rp  zyoutube:clipz4https?://(?:www\.)?youtube\.com/clip/(?P<id>[^/?#]+)rr  r}   r   Nr  r   r   r   rw  rw  ;  s    (GGIJNLr   rw  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
YoutubeConsentRedirectIEi;  rp  zyoutube:consentz"https?://consent\.youtube\.com/m\?Frr  r}   r   Nr   r   r   r   ry  ry  ;  s     (GG8JGNLr   ry  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YoutubeFavouritesIEi;  rp  zyoutube:favoritesz:ytfav(?:ou?rite)?s?z9YouTube liked videos; ":ytfav" keyword (requires cookies)rr  r   NrP  r   r   r   r{  r{  ;  s    (G!G'JIGNr   r{  c                        \ rS rSrSrSrSrSrg)YoutubeFeedsInfoExtractori;  rp  zyoutube:feedsrr  r   Nr   r   r   r   r}  r}  ;  s    (GGNr   r}  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YoutubeHistoryIEi;  rp  zyoutube:historyz:ythis(?:tory)?z:Youtube watch history; ":ythis" keyword (requires cookies)rr  r   NrP  r   r   r   r  r  ;  s    (GG"JJGNr   r  c                   N   ^  \ rS rSrSrSrSrSrSrSr	Sr
\U 4S j5       rS	rU =r$ )
	YoutubeIEi;  rp  rr  a/  (?x)^
                     (
                         (?:https?://|//)                                    # http(s):// or protocol-independent URL
                         (?:(?:(?:(?:\w+\.)?[yY][oO][uU][tT][uU][bB][eE](?:-nocookie|kids)?\.com|
                            (?:www\.)?deturl\.com/www\.youtube\.com|
                            (?:www\.)?pwnyoutube\.com|
                            (?:www\.)?hooktube\.com|
                            (?:www\.)?yourepeat\.com|
                            tube\.majestyc\.net|
                            (?:www\.)?redirect\.invidious\.io|(?:(?:www|dev)\.)?invidio\.us|(?:www\.)?invidious\.pussthecat\.org|(?:www\.)?invidious\.zee\.li|(?:www\.)?invidious\.ethibox\.fr|(?:www\.)?iv\.ggtyler\.dev|(?:www\.)?inv\.vern\.i2p|(?:www\.)?am74vkcrjp2d5v36lcdqgsj2m6x36tbrkhsruoegwfcizzabnfgf5zyd\.onion|(?:www\.)?inv\.riverside\.rocks|(?:www\.)?invidious\.silur\.me|(?:www\.)?inv\.bp\.projectsegfau\.lt|(?:www\.)?invidious\.g4c3eya4clenolymqbpgwz3q3tawoxw56yhzk4vugqrl6dtu3ejvhjid\.onion|(?:www\.)?invidious\.slipfox\.xyz|(?:www\.)?invidious\.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd\.onion|(?:www\.)?inv\.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad\.onion|(?:www\.)?invidious\.tiekoetter\.com|(?:www\.)?iv\.odysfvr23q5wgt7i456o5t3trw2cw5dgn56vbjfbq2m7xsc5vqbqpcyd\.onion|(?:www\.)?invidious\.nerdvpn\.de|(?:www\.)?invidious\.weblibre\.org|(?:www\.)?inv\.odyssey346\.dev|(?:www\.)?invidious\.dhusch\.de|(?:www\.)?iv\.melmac\.space|(?:www\.)?watch\.thekitty\.zone|(?:www\.)?invidious\.privacydev\.net|(?:www\.)?ng27owmagn5amdm7l5s3rsqxwscl5ynppnis5dqcasogkyxcfqn7psid\.onion|(?:www\.)?invidious\.drivet\.xyz|(?:www\.)?vid\.priv\.au|(?:www\.)?euxxcnhsynwmfidvhjf6uzptsmh4dipkmgdmcmxxuo7tunp3ad2jrwyd\.onion|(?:www\.)?inv\.vern\.cc|(?:www\.)?invidious\.esmailelbob\.xyz|(?:www\.)?invidious\.sethforprivacy\.com|(?:www\.)?yt\.oelrichsgarcia\.de|(?:www\.)?yt\.artemislena\.eu|(?:www\.)?invidious\.flokinet\.to|(?:www\.)?invidious\.baczek\.me|(?:www\.)?y\.com\.sb|(?:www\.)?invidious\.epicsite\.xyz|(?:www\.)?invidious\.lidarshield\.cloud|(?:www\.)?yt\.funami\.tech|(?:www\.)?invidious\.3o7z6yfxhbw7n3za4rss6l434kmv55cgw2vuziwuigpwegswvwzqipyd\.onion|(?:www\.)?osbivz6guyeahrwp2lnwyjk2xos342h4ocsxyqrlaopqjuhwn2djiiyd\.onion|(?:www\.)?u2cvlit75owumwpy4dj2hsmvkq7nvrclkpht7xgyye2pyoxhpmclkrad\.onion|(?:(?:www|no)\.)?invidiou\.sh|(?:(?:www|fi)\.)?invidious\.snopyta\.org|(?:www\.)?invidious\.kabi\.tk|(?:www\.)?invidious\.mastodon\.host|(?:www\.)?invidious\.zapashcanon\.fr|(?:www\.)?(?:invidious(?:-us)?|piped)\.kavin\.rocks|(?:www\.)?invidious\.tinfoil-hat\.net|(?:www\.)?invidious\.himiko\.cloud|(?:www\.)?invidious\.reallyancient\.tech|(?:www\.)?invidious\.tube|(?:www\.)?invidiou\.site|(?:www\.)?invidious\.site|(?:www\.)?invidious\.xyz|(?:www\.)?invidious\.nixnet\.xyz|(?:www\.)?invidious\.048596\.xyz|(?:www\.)?invidious\.drycat\.fr|(?:www\.)?inv\.skyn3t\.in|(?:www\.)?tube\.poal\.co|(?:www\.)?tube\.connect\.cafe|(?:www\.)?vid\.wxzm\.sx|(?:www\.)?vid\.mint\.lgbt|(?:www\.)?vid\.puffyan\.us|(?:www\.)?yewtu\.be|(?:www\.)?yt\.elukerio\.org|(?:www\.)?yt\.lelux\.fi|(?:www\.)?invidious\.ggc-project\.de|(?:www\.)?yt\.maisputain\.ovh|(?:www\.)?ytprivate\.com|(?:www\.)?invidious\.13ad\.de|(?:www\.)?invidious\.toot\.koeln|(?:www\.)?invidious\.fdn\.fr|(?:www\.)?watch\.nettohikari\.com|(?:www\.)?invidious\.namazso\.eu|(?:www\.)?invidious\.silkky\.cloud|(?:www\.)?invidious\.exonip\.de|(?:www\.)?invidious\.riverside\.rocks|(?:www\.)?invidious\.blamefran\.net|(?:www\.)?invidious\.moomoo\.de|(?:www\.)?ytb\.trom\.tf|(?:www\.)?yt\.cyberhost\.uk|(?:www\.)?kgg2m7yk5aybusll\.onion|(?:www\.)?qklhadlycap4cnod\.onion|(?:www\.)?axqzx4s6s54s32yentfqojs3x5i7faxza6xo3ehd4bzzsg2ii4fv2iid\.onion|(?:www\.)?c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid\.onion|(?:www\.)?fz253lmuao3strwbfbmx46yu7acac2jz27iwtorgmbqlkurlclmancad\.onion|(?:www\.)?invidious\.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd\.onion|(?:www\.)?owxfohz4kjyv25fvlqilyxast7inivgiktls3th44jhk3ej3i7ya\.b32\.i2p|(?:www\.)?4l2dgddgsrkf2ous66i6seeyi6etzfgrue332grh2n7madpwopotugyd\.onion|(?:www\.)?w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd\.onion|(?:www\.)?kbjggqkzv65ivcqj6bumvp337z6264huv5kpkwuv6gu5yjiskvan7fad\.onion|(?:www\.)?grwp24hodrefzvjjuccrkw3mjq4tzhaaq32amf33dzpmuxe7ilepcmad\.onion|(?:www\.)?hpniueoejy4opn7bc4ftgazyqjoeqwlvh2uiku2xqku6zpoa4bf5ruid\.onion|(?:www\.)?piped\.kavin\.rocks|(?:www\.)?piped\.tokhmi\.xyz|(?:www\.)?piped\.syncpundit\.io|(?:www\.)?piped\.mha\.fi|(?:www\.)?watch\.whatever\.social|(?:www\.)?piped\.garudalinux\.org|(?:www\.)?piped\.rivo\.lol|(?:www\.)?piped-libre\.kavin\.rocks|(?:www\.)?yt\.jae\.fi|(?:www\.)?piped\.mint\.lgbt|(?:www\.)?il\.ax|(?:www\.)?piped\.esmailelbob\.xyz|(?:www\.)?piped\.projectsegfau\.lt|(?:www\.)?piped\.privacydev\.net|(?:www\.)?piped\.palveluntarjoaja\.eu|(?:www\.)?piped\.smnz\.de|(?:www\.)?piped\.adminforge\.de|(?:www\.)?watch\.whatevertinfoil\.de|(?:www\.)?piped\.qdi\.fi|(?:(?:www|cf)\.)?piped\.video|(?:www\.)?piped\.aeong\.one|(?:www\.)?piped\.moomoo\.me|(?:www\.)?piped\.chauvet\.pro|(?:www\.)?watch\.leptons\.xyz|(?:www\.)?pd\.vern\.cc|(?:www\.)?piped\.hostux\.net|(?:www\.)?piped\.lunar\.icu|(?:www\.)?hyperpipe\.surge\.sh|(?:www\.)?hyperpipe\.esmailelbob\.xyz|(?:www\.)?listen\.whatever\.social|(?:www\.)?music\.adminforge\.de|
                            youtube\.googleapis\.com)/                        # the various hostnames, with wildcard subdomains
                         (?:.*?\#/)?                                          # handle anchor (#/) redirect urls
                         (?:                                                  # the various things that can precede the ID:
                             (?:(?:v|embed|e|shorts|live)/(?!videoseries|live_stream))  # v/ or embed/ or e/ or shorts/
                             |(?:                                             # or the v= param in all its forms
                                 (?:(?:watch|movie)(?:_popup)?(?:\.php)?/?)?  # preceding watch(_popup|.php) or nothing (like /?v=xxxx)
                                 (?:\?|\#!?)                                  # the params delimiter ? or # or #!
                                 (?:.*?[&;])??                                # any other preceding param (like /?s=tuff&v=xxxx or ?s=tuff&amp;v=V36LpHqtcDY)
                                 v=
                             )
                         ))
                         |(?:
                            youtu\.be|                                        # just youtu.be/xxxx
                            vid\.plus|                                        # or vid.plus/xxxx
                            zwearz\.com/watch|                                # or zwearz.com/watch/xxxx
                            (?:www\.)?redirect\.invidious\.io|(?:(?:www|dev)\.)?invidio\.us|(?:www\.)?invidious\.pussthecat\.org|(?:www\.)?invidious\.zee\.li|(?:www\.)?invidious\.ethibox\.fr|(?:www\.)?iv\.ggtyler\.dev|(?:www\.)?inv\.vern\.i2p|(?:www\.)?am74vkcrjp2d5v36lcdqgsj2m6x36tbrkhsruoegwfcizzabnfgf5zyd\.onion|(?:www\.)?inv\.riverside\.rocks|(?:www\.)?invidious\.silur\.me|(?:www\.)?inv\.bp\.projectsegfau\.lt|(?:www\.)?invidious\.g4c3eya4clenolymqbpgwz3q3tawoxw56yhzk4vugqrl6dtu3ejvhjid\.onion|(?:www\.)?invidious\.slipfox\.xyz|(?:www\.)?invidious\.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd\.onion|(?:www\.)?inv\.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad\.onion|(?:www\.)?invidious\.tiekoetter\.com|(?:www\.)?iv\.odysfvr23q5wgt7i456o5t3trw2cw5dgn56vbjfbq2m7xsc5vqbqpcyd\.onion|(?:www\.)?invidious\.nerdvpn\.de|(?:www\.)?invidious\.weblibre\.org|(?:www\.)?inv\.odyssey346\.dev|(?:www\.)?invidious\.dhusch\.de|(?:www\.)?iv\.melmac\.space|(?:www\.)?watch\.thekitty\.zone|(?:www\.)?invidious\.privacydev\.net|(?:www\.)?ng27owmagn5amdm7l5s3rsqxwscl5ynppnis5dqcasogkyxcfqn7psid\.onion|(?:www\.)?invidious\.drivet\.xyz|(?:www\.)?vid\.priv\.au|(?:www\.)?euxxcnhsynwmfidvhjf6uzptsmh4dipkmgdmcmxxuo7tunp3ad2jrwyd\.onion|(?:www\.)?inv\.vern\.cc|(?:www\.)?invidious\.esmailelbob\.xyz|(?:www\.)?invidious\.sethforprivacy\.com|(?:www\.)?yt\.oelrichsgarcia\.de|(?:www\.)?yt\.artemislena\.eu|(?:www\.)?invidious\.flokinet\.to|(?:www\.)?invidious\.baczek\.me|(?:www\.)?y\.com\.sb|(?:www\.)?invidious\.epicsite\.xyz|(?:www\.)?invidious\.lidarshield\.cloud|(?:www\.)?yt\.funami\.tech|(?:www\.)?invidious\.3o7z6yfxhbw7n3za4rss6l434kmv55cgw2vuziwuigpwegswvwzqipyd\.onion|(?:www\.)?osbivz6guyeahrwp2lnwyjk2xos342h4ocsxyqrlaopqjuhwn2djiiyd\.onion|(?:www\.)?u2cvlit75owumwpy4dj2hsmvkq7nvrclkpht7xgyye2pyoxhpmclkrad\.onion|(?:(?:www|no)\.)?invidiou\.sh|(?:(?:www|fi)\.)?invidious\.snopyta\.org|(?:www\.)?invidious\.kabi\.tk|(?:www\.)?invidious\.mastodon\.host|(?:www\.)?invidious\.zapashcanon\.fr|(?:www\.)?(?:invidious(?:-us)?|piped)\.kavin\.rocks|(?:www\.)?invidious\.tinfoil-hat\.net|(?:www\.)?invidious\.himiko\.cloud|(?:www\.)?invidious\.reallyancient\.tech|(?:www\.)?invidious\.tube|(?:www\.)?invidiou\.site|(?:www\.)?invidious\.site|(?:www\.)?invidious\.xyz|(?:www\.)?invidious\.nixnet\.xyz|(?:www\.)?invidious\.048596\.xyz|(?:www\.)?invidious\.drycat\.fr|(?:www\.)?inv\.skyn3t\.in|(?:www\.)?tube\.poal\.co|(?:www\.)?tube\.connect\.cafe|(?:www\.)?vid\.wxzm\.sx|(?:www\.)?vid\.mint\.lgbt|(?:www\.)?vid\.puffyan\.us|(?:www\.)?yewtu\.be|(?:www\.)?yt\.elukerio\.org|(?:www\.)?yt\.lelux\.fi|(?:www\.)?invidious\.ggc-project\.de|(?:www\.)?yt\.maisputain\.ovh|(?:www\.)?ytprivate\.com|(?:www\.)?invidious\.13ad\.de|(?:www\.)?invidious\.toot\.koeln|(?:www\.)?invidious\.fdn\.fr|(?:www\.)?watch\.nettohikari\.com|(?:www\.)?invidious\.namazso\.eu|(?:www\.)?invidious\.silkky\.cloud|(?:www\.)?invidious\.exonip\.de|(?:www\.)?invidious\.riverside\.rocks|(?:www\.)?invidious\.blamefran\.net|(?:www\.)?invidious\.moomoo\.de|(?:www\.)?ytb\.trom\.tf|(?:www\.)?yt\.cyberhost\.uk|(?:www\.)?kgg2m7yk5aybusll\.onion|(?:www\.)?qklhadlycap4cnod\.onion|(?:www\.)?axqzx4s6s54s32yentfqojs3x5i7faxza6xo3ehd4bzzsg2ii4fv2iid\.onion|(?:www\.)?c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid\.onion|(?:www\.)?fz253lmuao3strwbfbmx46yu7acac2jz27iwtorgmbqlkurlclmancad\.onion|(?:www\.)?invidious\.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd\.onion|(?:www\.)?owxfohz4kjyv25fvlqilyxast7inivgiktls3th44jhk3ej3i7ya\.b32\.i2p|(?:www\.)?4l2dgddgsrkf2ous66i6seeyi6etzfgrue332grh2n7madpwopotugyd\.onion|(?:www\.)?w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd\.onion|(?:www\.)?kbjggqkzv65ivcqj6bumvp337z6264huv5kpkwuv6gu5yjiskvan7fad\.onion|(?:www\.)?grwp24hodrefzvjjuccrkw3mjq4tzhaaq32amf33dzpmuxe7ilepcmad\.onion|(?:www\.)?hpniueoejy4opn7bc4ftgazyqjoeqwlvh2uiku2xqku6zpoa4bf5ruid\.onion|(?:www\.)?piped\.kavin\.rocks|(?:www\.)?piped\.tokhmi\.xyz|(?:www\.)?piped\.syncpundit\.io|(?:www\.)?piped\.mha\.fi|(?:www\.)?watch\.whatever\.social|(?:www\.)?piped\.garudalinux\.org|(?:www\.)?piped\.rivo\.lol|(?:www\.)?piped-libre\.kavin\.rocks|(?:www\.)?yt\.jae\.fi|(?:www\.)?piped\.mint\.lgbt|(?:www\.)?il\.ax|(?:www\.)?piped\.esmailelbob\.xyz|(?:www\.)?piped\.projectsegfau\.lt|(?:www\.)?piped\.privacydev\.net|(?:www\.)?piped\.palveluntarjoaja\.eu|(?:www\.)?piped\.smnz\.de|(?:www\.)?piped\.adminforge\.de|(?:www\.)?watch\.whatevertinfoil\.de|(?:www\.)?piped\.qdi\.fi|(?:(?:www|cf)\.)?piped\.video|(?:www\.)?piped\.aeong\.one|(?:www\.)?piped\.moomoo\.me|(?:www\.)?piped\.chauvet\.pro|(?:www\.)?watch\.leptons\.xyz|(?:www\.)?pd\.vern\.cc|(?:www\.)?piped\.hostux\.net|(?:www\.)?piped\.lunar\.icu|(?:www\.)?hyperpipe\.surge\.sh|(?:www\.)?hyperpipe\.esmailelbob\.xyz|(?:www\.)?listen\.whatever\.social|(?:www\.)?music\.adminforge\.de
                         )/
                         |(?:www\.)?cleanvideosearch\.com/media/action/yt/watch\?videoId=
                         )
                     )?                                                       # all until now is optional -> you can pass the naked ID
                     (?P<id>[0-9A-Za-z_-]{11})                              # here is it! the YouTube video ID
                     (?(1).+)?                                                # if we found the ID, everything can follow
                     (?:\#|$)YouTuber   r}   c                 v   > SSK Jn  U" U5      nUR                  SS /5      S   (       a  g[        TU ]  U5      $ )Nr   parse_qslistF)yt_dlp.utilsr  r   r   r<   r   r;   r  qsr   s       r   r<   YoutubeIE.suitable;  s7    )c]66&4&!!$w$$r   r   )r   r   r    r!   r)   ro   rG   ri   rh   ru   r   r   r<   r"   r   r   s   @r   r  r  ;  s<    (GG ZJJGNIL% %r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YoutubeLivestreamEmbedIEi;  rp  YoutubeLivestreamEmbedzVhttps?://(?:\w+\.)?youtube\.com/embed/live_stream/?\?(?:[^#]+&)?channel=(?P<id>[^&#]+)zYouTube livestream embedsrr  r   NrP  r   r   r   r  r  ;  s    (G&GmJ)GNr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
YoutubeMusicSearchURLIEi;  rp  zyoutube:music:search_urlzThttps?://music\.youtube\.com/search\?([^#]+&)?(?:search_query|q)=(?:[^&]+)(?:[&#]|$)z?YouTube music search URLs with selectable sections, e.g. #songsrr  r~   r   Nr   r   r   r   r  r  ;  s     (G(GjJOGNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YoutubeNotificationsIEi;  rp  zyoutube:notifz:ytnotif(?:ication)?s?z<YouTube notifications; ":ytnotif" keyword (requires cookies)rr  r   NrP  r   r   r   r  r  ;  s    (GG)JLGNr   r  c                   J   ^  \ rS rSrSrSrSrSrSrSr	\
U 4S j5       rS	rU =r$ )
YoutubePlaylistIEi;  rp  zyoutube:playlista  (?x)(?:
                        (?:https?://)?
                        (?:\w+\.)?
                        (?:
                            (?:
                                youtube(?:kids)?\.com|
                                (?:www\.)?redirect\.invidious\.io|(?:(?:www|dev)\.)?invidio\.us|(?:www\.)?invidious\.pussthecat\.org|(?:www\.)?invidious\.zee\.li|(?:www\.)?invidious\.ethibox\.fr|(?:www\.)?iv\.ggtyler\.dev|(?:www\.)?inv\.vern\.i2p|(?:www\.)?am74vkcrjp2d5v36lcdqgsj2m6x36tbrkhsruoegwfcizzabnfgf5zyd\.onion|(?:www\.)?inv\.riverside\.rocks|(?:www\.)?invidious\.silur\.me|(?:www\.)?inv\.bp\.projectsegfau\.lt|(?:www\.)?invidious\.g4c3eya4clenolymqbpgwz3q3tawoxw56yhzk4vugqrl6dtu3ejvhjid\.onion|(?:www\.)?invidious\.slipfox\.xyz|(?:www\.)?invidious\.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd\.onion|(?:www\.)?inv\.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad\.onion|(?:www\.)?invidious\.tiekoetter\.com|(?:www\.)?iv\.odysfvr23q5wgt7i456o5t3trw2cw5dgn56vbjfbq2m7xsc5vqbqpcyd\.onion|(?:www\.)?invidious\.nerdvpn\.de|(?:www\.)?invidious\.weblibre\.org|(?:www\.)?inv\.odyssey346\.dev|(?:www\.)?invidious\.dhusch\.de|(?:www\.)?iv\.melmac\.space|(?:www\.)?watch\.thekitty\.zone|(?:www\.)?invidious\.privacydev\.net|(?:www\.)?ng27owmagn5amdm7l5s3rsqxwscl5ynppnis5dqcasogkyxcfqn7psid\.onion|(?:www\.)?invidious\.drivet\.xyz|(?:www\.)?vid\.priv\.au|(?:www\.)?euxxcnhsynwmfidvhjf6uzptsmh4dipkmgdmcmxxuo7tunp3ad2jrwyd\.onion|(?:www\.)?inv\.vern\.cc|(?:www\.)?invidious\.esmailelbob\.xyz|(?:www\.)?invidious\.sethforprivacy\.com|(?:www\.)?yt\.oelrichsgarcia\.de|(?:www\.)?yt\.artemislena\.eu|(?:www\.)?invidious\.flokinet\.to|(?:www\.)?invidious\.baczek\.me|(?:www\.)?y\.com\.sb|(?:www\.)?invidious\.epicsite\.xyz|(?:www\.)?invidious\.lidarshield\.cloud|(?:www\.)?yt\.funami\.tech|(?:www\.)?invidious\.3o7z6yfxhbw7n3za4rss6l434kmv55cgw2vuziwuigpwegswvwzqipyd\.onion|(?:www\.)?osbivz6guyeahrwp2lnwyjk2xos342h4ocsxyqrlaopqjuhwn2djiiyd\.onion|(?:www\.)?u2cvlit75owumwpy4dj2hsmvkq7nvrclkpht7xgyye2pyoxhpmclkrad\.onion|(?:(?:www|no)\.)?invidiou\.sh|(?:(?:www|fi)\.)?invidious\.snopyta\.org|(?:www\.)?invidious\.kabi\.tk|(?:www\.)?invidious\.mastodon\.host|(?:www\.)?invidious\.zapashcanon\.fr|(?:www\.)?(?:invidious(?:-us)?|piped)\.kavin\.rocks|(?:www\.)?invidious\.tinfoil-hat\.net|(?:www\.)?invidious\.himiko\.cloud|(?:www\.)?invidious\.reallyancient\.tech|(?:www\.)?invidious\.tube|(?:www\.)?invidiou\.site|(?:www\.)?invidious\.site|(?:www\.)?invidious\.xyz|(?:www\.)?invidious\.nixnet\.xyz|(?:www\.)?invidious\.048596\.xyz|(?:www\.)?invidious\.drycat\.fr|(?:www\.)?inv\.skyn3t\.in|(?:www\.)?tube\.poal\.co|(?:www\.)?tube\.connect\.cafe|(?:www\.)?vid\.wxzm\.sx|(?:www\.)?vid\.mint\.lgbt|(?:www\.)?vid\.puffyan\.us|(?:www\.)?yewtu\.be|(?:www\.)?yt\.elukerio\.org|(?:www\.)?yt\.lelux\.fi|(?:www\.)?invidious\.ggc-project\.de|(?:www\.)?yt\.maisputain\.ovh|(?:www\.)?ytprivate\.com|(?:www\.)?invidious\.13ad\.de|(?:www\.)?invidious\.toot\.koeln|(?:www\.)?invidious\.fdn\.fr|(?:www\.)?watch\.nettohikari\.com|(?:www\.)?invidious\.namazso\.eu|(?:www\.)?invidious\.silkky\.cloud|(?:www\.)?invidious\.exonip\.de|(?:www\.)?invidious\.riverside\.rocks|(?:www\.)?invidious\.blamefran\.net|(?:www\.)?invidious\.moomoo\.de|(?:www\.)?ytb\.trom\.tf|(?:www\.)?yt\.cyberhost\.uk|(?:www\.)?kgg2m7yk5aybusll\.onion|(?:www\.)?qklhadlycap4cnod\.onion|(?:www\.)?axqzx4s6s54s32yentfqojs3x5i7faxza6xo3ehd4bzzsg2ii4fv2iid\.onion|(?:www\.)?c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid\.onion|(?:www\.)?fz253lmuao3strwbfbmx46yu7acac2jz27iwtorgmbqlkurlclmancad\.onion|(?:www\.)?invidious\.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd\.onion|(?:www\.)?owxfohz4kjyv25fvlqilyxast7inivgiktls3th44jhk3ej3i7ya\.b32\.i2p|(?:www\.)?4l2dgddgsrkf2ous66i6seeyi6etzfgrue332grh2n7madpwopotugyd\.onion|(?:www\.)?w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd\.onion|(?:www\.)?kbjggqkzv65ivcqj6bumvp337z6264huv5kpkwuv6gu5yjiskvan7fad\.onion|(?:www\.)?grwp24hodrefzvjjuccrkw3mjq4tzhaaq32amf33dzpmuxe7ilepcmad\.onion|(?:www\.)?hpniueoejy4opn7bc4ftgazyqjoeqwlvh2uiku2xqku6zpoa4bf5ruid\.onion|(?:www\.)?piped\.kavin\.rocks|(?:www\.)?piped\.tokhmi\.xyz|(?:www\.)?piped\.syncpundit\.io|(?:www\.)?piped\.mha\.fi|(?:www\.)?watch\.whatever\.social|(?:www\.)?piped\.garudalinux\.org|(?:www\.)?piped\.rivo\.lol|(?:www\.)?piped-libre\.kavin\.rocks|(?:www\.)?yt\.jae\.fi|(?:www\.)?piped\.mint\.lgbt|(?:www\.)?il\.ax|(?:www\.)?piped\.esmailelbob\.xyz|(?:www\.)?piped\.projectsegfau\.lt|(?:www\.)?piped\.privacydev\.net|(?:www\.)?piped\.palveluntarjoaja\.eu|(?:www\.)?piped\.smnz\.de|(?:www\.)?piped\.adminforge\.de|(?:www\.)?watch\.whatevertinfoil\.de|(?:www\.)?piped\.qdi\.fi|(?:(?:www|cf)\.)?piped\.video|(?:www\.)?piped\.aeong\.one|(?:www\.)?piped\.moomoo\.me|(?:www\.)?piped\.chauvet\.pro|(?:www\.)?watch\.leptons\.xyz|(?:www\.)?pd\.vern\.cc|(?:www\.)?piped\.hostux\.net|(?:www\.)?piped\.lunar\.icu|(?:www\.)?hyperpipe\.surge\.sh|(?:www\.)?hyperpipe\.esmailelbob\.xyz|(?:www\.)?listen\.whatever\.social|(?:www\.)?music\.adminforge\.de
                            )
                            /.*?\?.*?\blist=
                        )?
                        (?P<id>(?:(?:PL|LL|EC|UU|FL|RD|UL|TL|PU|OLAK5uy_)[0-9A-Za-z-_]{10,}|RDMM|WL|LL|LM))
                     )zYouTube playlistsrr  r~   c                    > [         R                  U5      (       a  gSSKJn  U" U5      nUR	                  SS /5      S   (       a  g[
        TU ]  U5      $ )NFr   r  v)YoutubeTabIEr<   r  r  r   r   r  s       r   r<   YoutubePlaylistIE.suitable;  sK      %%)c]66#vq!w$$r   r   rA  r   s   @r   r  r  ;  s7    (G G XXJ!GNL% %r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YoutubeRecommendedIEi;  rp  zyoutube:recommendedz?https?://(?:www\.)?youtube\.com/?(?:[?#]|$)|:ytrec(?:ommended)?z,YouTube recommended videos; ":ytrec" keywordrr  r   NrP  r   r   r   r  r  ;  s    (G#GTJ<GNr   r  c                   0    \ rS rSrSrSrSrSrSrSr	Sr
S	rg
)YoutubeSearchDateIEi;  rp  zyoutube:search:datez;ytsearchdate(?P<prefix>|[1-9][0-9]*|all):(?P<query>[\s\S]+)z#YouTube search, newest videos firstrr  ytsearchdater~   r   NrI  r   r   r   r  r  ;  s%    (G#GPJ3GNJLr   r  c                   0    \ rS rSrSrSrSrSrSrSr	Sr
S	rg
)YoutubeSearchIEi<  rp  zyoutube:searchz7ytsearch(?P<prefix>|[1-9][0-9]*|all):(?P<query>[\s\S]+)zYouTube searchrr  ytsearchr~   r   NrI  r   r   r   r  r  <  s%    (GGLJGNJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
YoutubeSearchURLIEi<  rp  zyoutube:search_urlzchttps?://(?:www\.)?youtube\.com/(?:results|search)\?([^#]+&)?(?:search_query|q)=(?:[^&]+)(?:[&#]|$)z3YouTube search URLs with sorting and filter supportrr  r~   r   Nr   r   r   r   r  r  <  s     (G"GyJCGNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YoutubeShortsAudioPivotIEi<  rp  zyoutube:shorts:pivot:audioz?https?://(?:www\.)?youtube\.com/source/(?P<id>[\w-]{11})/shortsz@YouTube Shorts audio pivot (Shorts using audio of a given video)rr  r   NrP  r   r   r   r  r  <  s    (G*GUJPGNr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YoutubeSubscriptionsIEi<  rp  zyoutube:subscriptionsz:ytsub(?:scription)?s?z@YouTube subscriptions feed; ":ytsubs" keyword (requires cookies)rr  r   NrP  r   r   r   r  r  <  s    (G%G)JPGNr   r  c                   J   ^  \ rS rSrSrSrSrSrSrSr	\
U 4S j5       rS	rU =r$ )
r  i$<  rp  zyoutube:taba  (?x:
        https?://
            (?!consent\.)(?:\w+\.)?
            (?:
                youtube(?:kids)?\.com|
                (?:www\.)?redirect\.invidious\.io|(?:(?:www|dev)\.)?invidio\.us|(?:www\.)?invidious\.pussthecat\.org|(?:www\.)?invidious\.zee\.li|(?:www\.)?invidious\.ethibox\.fr|(?:www\.)?iv\.ggtyler\.dev|(?:www\.)?inv\.vern\.i2p|(?:www\.)?am74vkcrjp2d5v36lcdqgsj2m6x36tbrkhsruoegwfcizzabnfgf5zyd\.onion|(?:www\.)?inv\.riverside\.rocks|(?:www\.)?invidious\.silur\.me|(?:www\.)?inv\.bp\.projectsegfau\.lt|(?:www\.)?invidious\.g4c3eya4clenolymqbpgwz3q3tawoxw56yhzk4vugqrl6dtu3ejvhjid\.onion|(?:www\.)?invidious\.slipfox\.xyz|(?:www\.)?invidious\.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd\.onion|(?:www\.)?inv\.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad\.onion|(?:www\.)?invidious\.tiekoetter\.com|(?:www\.)?iv\.odysfvr23q5wgt7i456o5t3trw2cw5dgn56vbjfbq2m7xsc5vqbqpcyd\.onion|(?:www\.)?invidious\.nerdvpn\.de|(?:www\.)?invidious\.weblibre\.org|(?:www\.)?inv\.odyssey346\.dev|(?:www\.)?invidious\.dhusch\.de|(?:www\.)?iv\.melmac\.space|(?:www\.)?watch\.thekitty\.zone|(?:www\.)?invidious\.privacydev\.net|(?:www\.)?ng27owmagn5amdm7l5s3rsqxwscl5ynppnis5dqcasogkyxcfqn7psid\.onion|(?:www\.)?invidious\.drivet\.xyz|(?:www\.)?vid\.priv\.au|(?:www\.)?euxxcnhsynwmfidvhjf6uzptsmh4dipkmgdmcmxxuo7tunp3ad2jrwyd\.onion|(?:www\.)?inv\.vern\.cc|(?:www\.)?invidious\.esmailelbob\.xyz|(?:www\.)?invidious\.sethforprivacy\.com|(?:www\.)?yt\.oelrichsgarcia\.de|(?:www\.)?yt\.artemislena\.eu|(?:www\.)?invidious\.flokinet\.to|(?:www\.)?invidious\.baczek\.me|(?:www\.)?y\.com\.sb|(?:www\.)?invidious\.epicsite\.xyz|(?:www\.)?invidious\.lidarshield\.cloud|(?:www\.)?yt\.funami\.tech|(?:www\.)?invidious\.3o7z6yfxhbw7n3za4rss6l434kmv55cgw2vuziwuigpwegswvwzqipyd\.onion|(?:www\.)?osbivz6guyeahrwp2lnwyjk2xos342h4ocsxyqrlaopqjuhwn2djiiyd\.onion|(?:www\.)?u2cvlit75owumwpy4dj2hsmvkq7nvrclkpht7xgyye2pyoxhpmclkrad\.onion|(?:(?:www|no)\.)?invidiou\.sh|(?:(?:www|fi)\.)?invidious\.snopyta\.org|(?:www\.)?invidious\.kabi\.tk|(?:www\.)?invidious\.mastodon\.host|(?:www\.)?invidious\.zapashcanon\.fr|(?:www\.)?(?:invidious(?:-us)?|piped)\.kavin\.rocks|(?:www\.)?invidious\.tinfoil-hat\.net|(?:www\.)?invidious\.himiko\.cloud|(?:www\.)?invidious\.reallyancient\.tech|(?:www\.)?invidious\.tube|(?:www\.)?invidiou\.site|(?:www\.)?invidious\.site|(?:www\.)?invidious\.xyz|(?:www\.)?invidious\.nixnet\.xyz|(?:www\.)?invidious\.048596\.xyz|(?:www\.)?invidious\.drycat\.fr|(?:www\.)?inv\.skyn3t\.in|(?:www\.)?tube\.poal\.co|(?:www\.)?tube\.connect\.cafe|(?:www\.)?vid\.wxzm\.sx|(?:www\.)?vid\.mint\.lgbt|(?:www\.)?vid\.puffyan\.us|(?:www\.)?yewtu\.be|(?:www\.)?yt\.elukerio\.org|(?:www\.)?yt\.lelux\.fi|(?:www\.)?invidious\.ggc-project\.de|(?:www\.)?yt\.maisputain\.ovh|(?:www\.)?ytprivate\.com|(?:www\.)?invidious\.13ad\.de|(?:www\.)?invidious\.toot\.koeln|(?:www\.)?invidious\.fdn\.fr|(?:www\.)?watch\.nettohikari\.com|(?:www\.)?invidious\.namazso\.eu|(?:www\.)?invidious\.silkky\.cloud|(?:www\.)?invidious\.exonip\.de|(?:www\.)?invidious\.riverside\.rocks|(?:www\.)?invidious\.blamefran\.net|(?:www\.)?invidious\.moomoo\.de|(?:www\.)?ytb\.trom\.tf|(?:www\.)?yt\.cyberhost\.uk|(?:www\.)?kgg2m7yk5aybusll\.onion|(?:www\.)?qklhadlycap4cnod\.onion|(?:www\.)?axqzx4s6s54s32yentfqojs3x5i7faxza6xo3ehd4bzzsg2ii4fv2iid\.onion|(?:www\.)?c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid\.onion|(?:www\.)?fz253lmuao3strwbfbmx46yu7acac2jz27iwtorgmbqlkurlclmancad\.onion|(?:www\.)?invidious\.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd\.onion|(?:www\.)?owxfohz4kjyv25fvlqilyxast7inivgiktls3th44jhk3ej3i7ya\.b32\.i2p|(?:www\.)?4l2dgddgsrkf2ous66i6seeyi6etzfgrue332grh2n7madpwopotugyd\.onion|(?:www\.)?w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd\.onion|(?:www\.)?kbjggqkzv65ivcqj6bumvp337z6264huv5kpkwuv6gu5yjiskvan7fad\.onion|(?:www\.)?grwp24hodrefzvjjuccrkw3mjq4tzhaaq32amf33dzpmuxe7ilepcmad\.onion|(?:www\.)?hpniueoejy4opn7bc4ftgazyqjoeqwlvh2uiku2xqku6zpoa4bf5ruid\.onion|(?:www\.)?piped\.kavin\.rocks|(?:www\.)?piped\.tokhmi\.xyz|(?:www\.)?piped\.syncpundit\.io|(?:www\.)?piped\.mha\.fi|(?:www\.)?watch\.whatever\.social|(?:www\.)?piped\.garudalinux\.org|(?:www\.)?piped\.rivo\.lol|(?:www\.)?piped-libre\.kavin\.rocks|(?:www\.)?yt\.jae\.fi|(?:www\.)?piped\.mint\.lgbt|(?:www\.)?il\.ax|(?:www\.)?piped\.esmailelbob\.xyz|(?:www\.)?piped\.projectsegfau\.lt|(?:www\.)?piped\.privacydev\.net|(?:www\.)?piped\.palveluntarjoaja\.eu|(?:www\.)?piped\.smnz\.de|(?:www\.)?piped\.adminforge\.de|(?:www\.)?watch\.whatevertinfoil\.de|(?:www\.)?piped\.qdi\.fi|(?:(?:www|cf)\.)?piped\.video|(?:www\.)?piped\.aeong\.one|(?:www\.)?piped\.moomoo\.me|(?:www\.)?piped\.chauvet\.pro|(?:www\.)?watch\.leptons\.xyz|(?:www\.)?pd\.vern\.cc|(?:www\.)?piped\.hostux\.net|(?:www\.)?piped\.lunar\.icu|(?:www\.)?hyperpipe\.surge\.sh|(?:www\.)?hyperpipe\.esmailelbob\.xyz|(?:www\.)?listen\.whatever\.social|(?:www\.)?music\.adminforge\.de
            )/
            (?:
                (?P<channel_type>channel|c|user|browse)/|
                (?P<not_channel>
                    feed/|hashtag/|
                    (?:playlist|watch)\?.*?\blist=
                )|
                (?!(?:channel|c|user|playlist|watch|w|v|embed|e|live|watch_popup|clip|shorts|movies|results|search|shared|hashtag|trending|explore|feed|feeds|browse|oembed|get_video_info|iframe_api|s/player|source|storefront|oops|index|account|t/terms|about|upload|signin|logout)\b)  # Direct URLs
            )
            (?P<id>[^/?\#&]+)
    )zYouTube Tabsrr  r   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r  r<   r   r   s     r   r<   YoutubeTabIE.suitable,<  r  r   r   rA  r   s   @r   r  r  $<  s9    (GG T\JGNLK Kr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YoutubeTruncatedIDIEi1<  rp  zyoutube:truncated_idzEhttps?://(?:www\.)?youtube\.com/watch\?v=(?P<id>[0-9A-Za-z_-]{1,10})$Frr  r   NrP  r   r   r   r  r  1<  s    (G$G[JGNr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YoutubeTruncatedURLIEi9<  rp  zyoutube:truncated_urlaX  (?x)
        (?:https?://)?
        (?:\w+\.)?[yY][oO][uU][tT][uU][bB][eE](?:-nocookie)?\.com/
        (?:watch\?(?:
            feature=[a-z_]+|
            annotation_id=annotation_[^&]+|
            x-yt-cl=[0-9]+|
            hl=[^&]*|
            t=[0-9]+
        )?
        |
            attribution_link\?a=[^&]+
        )
        $
    Frr  r   NrP  r   r   r   r  r  9<  s    (G%G JGNr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YoutubeWatchLaterIEiA<  rp  zyoutube:watchlaterz:ytwatchlaterzDYoutube watch later list; ":ytwatchlater" keyword (requires cookies)rr  r   NrP  r   r   r   r  r  A<  s    (G"G JTGNr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YoutubeWebArchiveIEiI<  r  zweb.archive:youtubeaE  (?x)(?:(?P<prefix>ytarchive:)|
            (?:https?://)?web\.archive\.org/
            (?:web/)?(?:(?P<date>[0-9]{14})?[0-9A-Za-z_*]*/)?  # /web and the version index is optional
            (?:https?(?::|%3[Aa])//)?(?:
                (?:\w+\.)?youtube\.com(?::(?:80|443))?/watch(?:\.php)?(?:\?|%3[fF])(?:[^\#]+(?:&|%26))?v(?:=|%3[dD])  # Youtube URL
                |(?:wayback-fakeurl\.archive\.org/yt/)  # Or the internal fake url
            )
        )(?P<id>[0-9A-Za-z_-]{11})
        (?(prefix)
            (?::(?P<date2>[0-9]{14}))?$|
            (?:%26|[#&]|$)
        )z9web.archive.org saved youtube videos, "ytarchive:" prefixr}   r   Nr   r   r   r   r  r  I<  s    +G#G n	JIGLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
YoutubeYtBeIEiQ<  rp  YoutubeYtBezhttps?://youtu\.be/(?P<id>[0-9A-Za-z_-]{11})/*?.*?\blist=(?P<playlist_id>(?:(?:PL|LL|EC|UU|FL|RD|UL|TL|PU|OLAK5uy_)[0-9A-Za-z-_]{10,}|RDMM|WL|LL|LM))zyoutu.berr  r}   r   Nr   r   r   r   r  r  Q<  s#    (GG kJGNLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	YoutubeYtUserIEiZ<  rp  zyoutube:userzytuser:(?P<id>.+)z%YouTube user videos; "ytuser:" prefixrr  r   NrP  r   r   r   r  r  Z<  s    (GG$J5GNr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )ZDFChannelIEib<  r  zzdf:channelz2https?://www\.zdf\.de/(?:[^/?#]+/)*(?P<id>[^/?#]+)r   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )ZDFIEr<   r   r   s     r   r<   ZDFChannelIE.suitableh<  ro  r   r   r   r   s   @r   r  r  b<  s+    $GGGJLG Gr   r  c                   (    \ rS rSrSrSrSS/rSrSrg)	r  im<  r  zdfzFhttps?://(?:www\.)?zdf\.de/(?:video|play)/(?:[^/?#]+/)*(?P<id>[^/?#]+)z=https?://(?:www\.)?zdf\.de/(?:[^/?#]+/)*(?P<id>[^/?#]+)\.htmlr}   r   Nr   r   r   r   r  r  m<  s#    $GG\  _a  bJLr   r  c                       \ rS rSrSrSrSrg)ZaikoBaseIEit<  yt_dlp.extractor.zaiko	ZaikoBaser   Nr   r   r   r   r  r  t<  r   r   r  c                   $    \ rS rSrSrSrSrSrSrg)ZaikoETicketIEiy<  r  ZaikoETicketz>https?://(?:www.)?zaiko\.io/account/eticket/(?P<id>[\w=-]{49})r~   r   Nr   r   r   r   r  r  y<  s    &GGSJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZaikoIEi<  r  ZaikozAhttps?://(?:[\w-]+\.)?zaiko\.io/event/(?P<id>\d+)/stream(?:/\d+)+r}   r   Nr   r   r   r   r  r  <  s    &GGYJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZapiksIEi<  zyt_dlp.extractor.zapiksZapikszvhttps?://(?:www\.)?zapiks\.(?:fr|com)/(?:(?:[a-z]{2}/)?(?P<display_id>.+?)\.html|index\.php\?.*\bmedia_id=(?P<id>\d+))r}   r   Nr   r   r   r   r  r  <  s    'GG QJLr   r  c                        \ rS rSrSrSrSrSrg)ZattooBaseIEi<  rD  
ZattooBasezattoor   Nr   r   r   r   r  r  <  rw  r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ZattooIEi<  rD  Zattooz(?x)https?://(?:www\.)?zattoo\.com/(?:
        [^?#]+\?(?:[^#]+&)?program=(?P<vid2>\d+)
        |(?:program|watch)/[^/]+/(?P<vid1>\d+)
    )r  r}   r   Nr  r   r   r   r  r  <  s    'GG hJNLr   r  c                   B   ^  \ rS rSrSrSrSrSr\U 4S j5       r	Sr
U =r$ )ZattooLiveIEi<  rD  
ZattooLivez(?x)https?://(?:www\.)?zattoo\.com/(?:
        [^?#]+\?(?:[^#]+&)?channel=(?P<vid2>[^/?&#]+)
        |live/(?P<vid1>[^/?&#]+)
    )r  c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ r   )r  r<   r   r   s     r   r<   ZattooLiveIE.suitable<  r  r   r   ru  r   s   @r   r  r  <  s.    'GG ]JNJ Jr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZattooMoviesIEi<  rD  ZattooMoviesz(?x)https?://(?:www\.)?zattoo\.com/(?:
        [^?#]+\?(?:[^#]+&)?movie_id=(?P<vid2>\w+)
        |vod/movies/(?P<vid1>\w+)
    )r  r   NrO  r   r   r   r  r  <  s    'GG \JNr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZattooRecordingsIEi<  rD  ZattooRecordingszr(?x)https?://(?:www\.)?zattoo\.com/(?:
        [^?#]+\?(?:[^#]+&)?recording=(?P<vid2>\d+)
        (?P<vid1>)
    )r  r   NrO  r   r   r   r  r  <  s    'G G MJNr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	Zee5IEi<  yt_dlp.extractor.zee5Zee5a  (?x)
                     (?:
                        zee5:|
                        https?://(?:www\.)?zee5\.com/(?:[^#?]+/)?
                        (?:
                            (?:tv-shows|kids|web-series|zee5originals)(?:/[^#/?]+){3}
                            |(?:movies|kids|videos|news|music-videos)/(?!kids-shows)[^#/?]+
                        )/(?P<display_id>[^#/?]+)/
                     )
                     (?P<id>[^#/?]+)/?(?:$|[?#])
                     zee5r}   r   Nr  r   r   r   r  r  <  s    %GG }JNLr   r  c                   $    \ rS rSrSrSrSrSrSrg)Zee5SeriesIEi<  r  zzee5:seriesaS  (?x)
                     (?:
                        zee5:series:|
                        https?://(?:www\.)?zee5\.com/(?:[^#?]+/)?
                        (?:tv-shows|web-series|kids|zee5originals)/(?!kids-movies)(?:[^#/?]+/){2}
                     )
                     (?P<id>[^#/?]+)(?:/episodes)?/?(?:$|[?#])
                     r~   r   Nr   r   r   r   r  r  <  s    %GG pJLr   r  c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)		ZeeNewsIEi<  zyt_dlp.extractor.zeenewsZeeNewsNzMhttps?://zeenews\.india\.com/[^#?]+/video/(?P<display_id>[^#/?]+)/(?P<id>\d+)Fr}   r   rF  r   r   r   r  r  <  s     (GGHcJHLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		ZenPornIEi<  zyt_dlp.extractor.zenpornZenPornz1https?://(?:www\.)?zenporn\.com/video/(?P<id>\d+)r   r}   r   NrU  r   r   r   r  r  <  s    (GGGJILr   r  c                       \ rS rSrSrSrSrg)ZenYandexBaseIEi<  r+  ZenYandexBaser   Nr   r   r   r   r  r  <  s    ,GGr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZenYandexChannelIEi<  r+  zdzen.ru:channelzJhttps?://(zen\.yandex|dzen)\.ru/(?!media|video)(?:id/)?(?P<id>[a-z0-9-_]+)r~   r   Nr   r   r   r   r  r  <  s    ,GG_JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	ZenYandexIEi<  r+  zdzen.ruzshttps?://(zen\.yandex|dzen)\.ru(?:/video)?/(media|watch)/(?:(?:id/[^/]+/|[^/]+/)(?:[a-z0-9-]+)-)?(?P<id>[a-z0-9-]+)u;   Дзен (dzen) formerly Яндекс.Дзен (Yandex Zen)r}   r   Nr   r   r   r   r  r  <  s    ,GG IJKGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZetlandDKArticleIEi<  zyt_dlp.extractor.zetlandZetlandDKArticlezZhttps?://www\.zetland\.dk/\w+/(?P<id>(?P<story_id>\w{8})-(?P<uploader_id>\w{8})-(?:\w{5}))r}   r   Nr   r   r   r   r  r  <  s    (G GsJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZhihuIEi<  zyt_dlp.extractor.zhihuZhihuz3https?://(?:www\.)?zhihu\.com/zvideo/(?P<id>[0-9]+)r}   r   Nr   r   r   r   r  r  <  r  r   r  c                       \ rS rSrSrSrSrg)ZingMp3BaseIEi<  yt_dlp.extractor.zingmp3ZingMp3Baser   Nr   r   r   r   r  r  <  rK  r   r  c                   $    \ rS rSrSrSrSrSrSrg)ZingMp3AlbumIEi<  r  zzingmp3:albumz`https?://(?:mp3\.zing|zingmp3)\.vn/(?P<type>(?:album|playlist))/[^/?#]+/(?P<id>\w+)(?:\.html|\?)r~   r   Nr   r   r   r   r  r  <  r  r   r  c                   $    \ rS rSrSrSrSrSrSrg)ZingMp3ChartHomeIEi=  r  zzingmp3:chart-homezkhttps?://(?:mp3\.zing|zingmp3)\.vn/(?P<id>(?:zing-chart|moi-phat-hanh|top100|podcast-discover))/?(?:[#?]|$)r~   r   Nr   r   r   r   r  r  =  s    (G"G AJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZingMp3ChartMusicVideoIEi
=  r  zzingmp3:chart-music-videoz]https?://(?:mp3\.zing|zingmp3)\.vn/(?P<type>the-loai-video)/(?P<regions>[^/]+)/(?P<id>[^\.]+)r~   r   Nr   r   r   r   r  r  
=  s    (G)GsJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZingMp3HubIEi=  r  zzingmp3:hubzIhttps?://(?:mp3\.zing|zingmp3)\.vn/(?P<type>hub)/[^/?#]+/(?P<id>[^./?#]+)r~   r   Nr   r   r   r   r  r  =  s    (GG^JLr   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)		ZingMp3IEi=  r  zingmp3znhttps?://(?:mp3\.zing|zingmp3)\.vn/(?P<type>(?:bai-hat|video-clip|embed|eps))/[^/?#]+/(?P<id>\w+)(?:\.html|\?)z
zingmp3.vnr}   r   Nr   r   r   r   r  r  =  s    (GG GJGLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZingMp3LiveRadioIEi =  r  zzingmp3:liveradiozShttps?://(?:mp3\.zing|zingmp3)\.vn/(?P<type>(?:liveradio))/(?P<id>\w+)(?:\.html|\?)r}   r   Nr   r   r   r   r  r   =  s    (G!GkJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZingMp3PodcastEpisodeIEi'=  r  zzingmp3:podcast-episodezYhttps?://(?:mp3\.zing|zingmp3)\.vn/(?P<type>(?:pgr|cgr))/[^/?#]+/(?P<id>\w+)(?:\.html|\?)r~   r   Nr   r   r   r   r  r  '=  s    (G'GqJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZingMp3PodcastIEi.=  r  zzingmp3:podcastzVhttps?://(?:mp3\.zing|zingmp3)\.vn/(?P<id>(?:cgr|top-podcast|podcast-new))/?(?:[#?]|$)r~   r   Nr   r   r   r   r
  r
  .=  s    (GGkJLr   r
  c                   $    \ rS rSrSrSrSrSrSrg)ZingMp3UserIEi5=  r  zzingmp3:userzhhttps?://(?:mp3\.zing|zingmp3)\.vn/(?P<user>[^/]+)/(?P<type>bai-hat|single|album|video|song)/?(?:[?#]|$)r~   r   Nr   r   r   r   r  r  5=  s    (GG}JLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZingMp3WeekChartIEi<=  r  zzingmp3:week-chartzahttps?://(?:mp3\.zing|zingmp3)\.vn/(?P<type>(?:zing-chart-tuan))/[^/?#]+/(?P<id>\w+)(?:\.html|\?)r~   r   Nr   r   r   r   r  r  <=  s    (G"GyJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZoomIEiC=  zyt_dlp.extractor.zoomzoomz_(?P<base_url>https?://(?:[^.]+\.)?zoom\.us/)rec(?:ording)?/(?P<type>play|share)/(?P<id>[\w.-]+)r}   r   Nr   r   r   r   r  r  C=  s    %GGuJLr   r  c                   $    \ rS rSrSrSrSrSrSrg)ZypeIEiJ=  zyt_dlp.extractor.zypeZypezwhttps?://player\.zype\.com/embed/(?P<id>[\da-fA-F]+)\.(?:js|json|html)\?.*?(?:access_token|(?:ap[ip]|player)_key)=[^&]+r}   r   Nr   r   r   r   r  r  J=  s    %GG PJLr   r  c                   0    \ rS rSrSrSrSrSrSrSr	Sr
S	rg
)	GenericIEiQ=  zyt_dlp.extractor.genericgenericz.*z+Generic downloader that works on some sitesFr   r   r   Nr  r   r   r   r  r  Q=  s%    (GGJ;GNILr   r  )r  r  r  r  r  r
  r  r  r  r  r  (l  r'   rk   rJ   utilsr   r   r   r   r   r   r   typer   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  r  r  r   r$  r'  r*  r0  r2  r5  r7  r9  r<  r?  rB  rE  rH  rM  rP  rS  rW  r\  r`  rd  rg  rk  rp  rw  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  r  r  r  r  r  r  r  r	  r  r  r  r  r  r  r  r   r"  r%  r'  r*  r-  r0  r2  r4  r8  r:  rC  rH  rM  rQ  rV  rY  r\  r`  rb  re  rg  rk  rn  rq  rs  rv  ry  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  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r  r&  r)  r,  r/  r2  r6  r9  r=  r@  rD  rG  rJ  rN  rP  rS  rV  rZ  r]  r`  rc  rf  ri  rl  ro  ru  rx  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  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r  r   r$  r'  r*  r.  r0  r4  r8  r;  r>  rB  rF  rI  rN  rQ  rT  rX  r[  r^  ra  rd  rg  ri  rl  rp  rs  rw  rz  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  r  r  r  r  r  r	  r  r  r  r  r  r  r  r   r$  r&  r)  r,  r.  r1  r4  r8  r:  r<  r>  rA  rD  rH  rK  rO  rR  rU  rY  r\  r`  rd  rg  rj  ro  rq  rt  rv  rx  rz  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  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r%  r(  r,  r.  r2  r4  r<  r8  rA  rD  rH  rK  rP  rS  rV  rY  r]  r_  ra  re  rg  ri  rl  rp  rs  ry  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  r  r  r  r  r  r   r  r  r	  r  r  r  r  r  r  r   r#  r&  r)  r,  r/  r3  r7  r:  r=  r@  rC  rF  rI  rL  rP  rS  rV  rZ  r]  r_  ra  re  rg  rj  rm  ro  rt  rw  r~  rz  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  r  r  r  r	  r  r  r  r  r  r  r  r#  r)  r-  r/  r2  r5  r8  r<  r?  rB  rE  rI  rL  rO  rQ  rT  rW  r[  r]  r_  rb  re  rh  rk  ro  rq  rt  rw  ry  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  r  r  r  r  r 	  r	  r	  r
	  r	  r	  r	  r	  r	  r	  r"	  r&	  r)	  r-	  r0	  r3	  r8	  r:	  r>	  rA	  rD	  rG	  rJ	  rM	  rP	  rT	  rW	  rZ	  r\	  r_	  rc	  rf	  rj	  rl	  rp	  rt	  rv	  rx	  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	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r"
  r&
  r*
  r,
  r0
  r2
  r8
  r4
  r<
  r?
  rC
  rF
  rH
  rK
  rO
  rR
  rU
  rX
  r[
  r^
  ra
  rd
  rh
  rk
  rn
  rp
  rr
  ru
  rw
  ry
  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
  r
  r
  r
  r
  r
  r  r  r  r  r  r  r  r  r  r  r!  r$  r'  r*  r.  r0  r2  r5  r8  r;  r>  rA  rD  rG  rJ  rO  rR  rT  rW  rZ  r]  ra  rd  rg  rk  rq  rt  ry  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  r  r  r  r  r   r  r  r
  r  r  r  r  r  r  r  r!  r$  r'  r*  r-  r0  r3  r7  r:  r<  r>  rB  rE  rG  rK  rO  rQ  rT  rW  rZ  r\  r`  rd  rg  ri  rk  ro  rr  rv  ry  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  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r  r  r  r  r"  r%  r(  r+  r.  r0  r3  r6  r9  r=  r@  rB  rE  rI  rK  rM  rO  rQ  rU  rW  rY  r\  r_  rp  rv  ri  rk  rj  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  r  r  r  r  r   r  r  r
  r  r  r  r  r  r  r  r  r  r#  r&  r,  r/  r3  r6  r9  r=  r@  rE  rG  rI  rM  rP  rT  rW  rZ  r]  ra  rd  rh  rk  rn  rq  rt  rw  rz  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  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-  r0  r3  r6  r9  r;  r=  r@  rB  rE  rH  rL  rN  rQ  rS  rW  rZ  r]  r`  re  rh  rm  rp  rs  rv  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  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r"  r&  r)  r.  r2  r5  r8  r;  r@  rC  rH  rL  rP  rS  rV  rY  r\  r`  rb  re  rh  rk  ro  rr  ru  rx  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  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r  r  r  r   r#  r(  r+  r-  r1  r6  r:  r=  r@  rC  rG  rJ  rP  rU  rX  r\  r_  rb  rf  rj  rm  rp  rt  rv  ry  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  r  r  r  r  r  r  r  r   r  r  r	  r  r  r  r  r  r  r  r$  r(  r+  r.  r2  r5  r8  r;  r>  rB  rE  rH  rK  rO  rS  rV  rY  r\  r_  rb  rf  ri  rl  ro  rs  ru  ry  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  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r$  r'  r,  r.  r0  r4  r7  r;  r>  rC  rF  rI  rM  rP  rS  rV  rY  r\  r_  rb  re  rh  rk  ro  rr  rt  rw  rz  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  r  r  r  r  r  r  r  r  r   r  r  r	  r  r  r  r  r  r  r  r   r$  r(  r+  r0  r3  r7  r;  r=  r@  rB  rE  rG  rK  rM  rO  rQ  rS  rW  rY  r\  r^  r`  rb  rd  rf  rh  rl  ro  rr  rv  ry  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  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r%  r(  r*  r,  r/  r3  r6  r9  r;  r>  rA  rD  rH  rK  rM  rO  rQ  rS  rV  rZ  r`  rd  rg  rj  rm  rp  rt  rv  rx  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  r  r  r  r  r  r  r   r  r  r
  r  r  r  r  r  r  r   r$  r'  r+  r.  r1  r4  r7  r;  r>  rA  rD  rH  rL  rO  rQ  rT  rV  rY  r[  r]  r`  rc  rf  ri  rm  ro  rq  rt  rx  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  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-  r0  r3  r7  r:  r=  rB  rD  rG  rJ  rM  rS  rT  rR  rQ  rb  rg  ri  rk  rm  ro  rq  rs  rv  ry  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  r  r  r  r  r  r  r   r  r  r
  r  r  r  r  r  r   r#  r&  r)  r,  r0  r3  r6  r9  r=  r?  rB  rD  rG  rJ  rM  rP  rT  rW  rZ  r]  r`  rc  rf  ri  rk  ro  rr  rt  rz  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  r  r  r  r  r  r  r  r  r  r  r   r  r  r
  r  r  r  r  r  r  r#  r&  r*  r-  r0  r4  r7  r<  r?  rB  rG  r9  rK  rM  rP  rS  rW  rZ  r]  ra  rd  rh  rk  rn  rq  ru  rz  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  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  r4  r8  r;  r?  rB  rF  rI  rP  rT  rW  rZ  r]  r`  rc  rf  ri  rm  ro  rt  rw  ry  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  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  _CLASS_LOOKUPr   r   r   <module>r     sV    	  Z 
- -cL"3 cLL	/ 	 " , & ! # 
I[ Ik /! /I ) %  *  0  K K# 
+ % ; " !  
U %  ] ( 
% # - F& F& # 
; 
,   !' !O / o o  ' # ( " % 
 } $ ( 
( # , %  IG I# 
"+ "
, #  !* !
' - - ' % - "3 )  ( % 
-  }     & ' ' . e' e$   # $ 

'| 
'% | | !* !
' - $ * % # # ( 
) * ( # $ 
| | & DH D ( ! +#4 +
; 8 $- $
- ,I ,#, #
& k I+ I # # 
[ k +  # ! )  $ $ 
l | " 
,j 
,& z % 
  % " * ' "  $ "  )  
 % 
M m ] !   & 
 ^ n )  [( [.  &   ~ " "+ "
. ) * #> #
+ 1 ". "
&1 &
V6 V5 0 2 . . 2 ' ) " / K$5 K% (   ! # ! $ 
| #   % &    &   >  ( ( '  ' '    
!* !
" # * "+ "
) %+ %0 / $ # " ) "   $ | $ |  # # + % 
] 
     
& ]  % * ( ' 
/  %   #   # $  #  &   & & '  ! $   " & # L# L' ! ! '   $ ! # % ' % 
= ' % $ & ! 
	 ( ' 
 / ' 
T T $ " 
z # ! ' * #    ' ( \ 
^ # *    ! ! ( , %  ! * '- ''&; '#B - = % m     ! 
) I I% I" k #  " $ $   #  \$ \| , ! 
y # ' 
/  ##4 #0 # < #5 3 1 % 
m ] "( "# ) " 
l lZ " 
LZ L %   & . $  # , + " " 0 ) / ) . &k &
6 o. o6   $ 
| # 
+  ! ! ! 
	 ! ! ! '   ( ! ! #, #
+ 
  $ % 
  ' g% g&  " & k I+ I %  % 
m m " 
: Z % . ) Q- Q 3    # (   !   & ' !  ! ) $ !   +   & # # ! "  ! E E"  % " . - & $ L   $ 
| <  !  '   ! !   )     + ( 
# % ' # " & 
 (  & # ! (  )  
' % " ( 1 (
. . $ 
| \ # $ '- '' 5 '
67 
6- 7 (  # N !   " ) %    , & 
%^ %
0 + ~  - + " " "   %   & # % + # 
k { # %. %%) %Q- Q% 3 % !* !
!3 , + !3 , I& I $ 
L | ' ;    # % !    " + % #, #
/ + , ! ! $   $ ! I % " #  % " Z Z % 
=  ) # $  #  )  
%   ' # + "3 ! & % 
 ' m ( ! " % 
]  % " #    ! 
9 I   )  
% , #   % 
m  !  # ! * N& N) #, #
( 3 + , % " % 
 
* 
[ K   #  " # 
! !
% ' k   ( l ' 
/ &  &o &
, - ( . 2 !   & , , (  !  # k k +   " !  % $ ! Y # & 
n ~  ^ ^ ^     ! # # ! " ( %  )  
% ) " 
 	iZ 	i% 
    & i$ i# 0 ) , # # 
K  "  $ # & # " 
Z z $  + & " 
J Z Z   " #   $ % # $ ' 
/ /   #, #
+ '  ! , .  F$ F* $  &  ~     !  #  +   # "  #  &  ~   ^  	T5 	T/ " % % $ , - )   $  # 
[ ' # K k    $ ! 
I  G G# ' | J< J   +   $ &   &/ &
+ 1 ' E' EIo I^ ^" & & " ! ! 	K% 	K+ ! !  ! ! $  )  
% ) " ' 
/ " Z * # f/ f  ' 
 / #   " $ ( ( $- $
3 0 / - !) !# 
k 
_ ? k ~  ~! & 
 H^ H$ &  $ & 
 %^ %
/ +  '  $ # " $5 $ $- $
/ - $ 0 $ % $ ; # % $ % 
= " &   # & 
n ^ 
~  ^ ! 
I y i " & & ! ! # #   % ! < 
 
9  I \ 
> n   % + #  * % g& g ! 
I  ! 
I ) % ! 
9 I y i ! 
I . Y & , ,
, 
,,& ,! * T" T! 
I  )  
% ) " & '  5W 5y 
	,$ 	,($ ( ! % 
-   % 
} } .  " $   % U  1 # 
k +  #$ #l L | L $ ' "  !* !
, . ' + ) . - * / Mo MO & 
  . " $ , ( #  # ; K   #  -  1 - * # ' ! 
y Ji J ( 1 (
/'@ /
(H )I 5 %. %
B. B &   ^ / - & $- $
13J -/F 0 - & E( E! " ! "   $ &  ( #  " % 
  m   % " 
J J* 
    % !  $ " '  & ' (  . ' . % # ) J Z /
 /  &  % 
} I I] & 
   !* !!/ !Mo M!O !# "  ! ! ! 
9 ) 	#: $;  & 
L~ L & 
T~ TQ Qn % 
S SM  /   $ 
 " # 
 ; % 
  # & 
   " * ! % & ' 
/ o - 	 % !   N! N$   " ' 
MO M/ + $ ! ' $ 	J\ 	J| $ $  " " "  )  
+ % ! # ) " # # % -  " . V. V!* !
' - , ( 1 (
5  9 # & " %  M !6 ,8 ,- )  : !  ! > ' ! # " # ' * ! "+ "
) (   % ! !   ( 
% % 
 ( m ' ] " !* !!/ !Mo M!O !$ 	F# 	F ! 
) I 9 & 
 	L~ 	LL> L &  ' \ & .  # 
[ + ; [     & 
N n  " 
Z *  J (    $ ! Ky KKi K$ 
f| fNL N / % ( 0 ! % ) ( 1 (
4 4 #4 $ !* !
' + ' ) ! 
I 	 9 	 I ) Y  . I Q- Q' &   ) ! # f[ fM- M$ % 
 m M !   ! ! & % " % 
m  ' #, #
*   , ( $* $' - ( " ! m ! 
I    # % ' %     $ 
#< #
* L | ( ) + '   "  # & k I+ I . ! ,  " : Z u  uH $ !* !
& # ! 
K	 K	 K) K $ , ,\ ,| " ' | J< J % ! ,  " " * ! # $ * ' )  
U #   + # $ $   %  - & 5 
| < $ * $  A& A( 
	s' 	s+ & % ( 
* # *   # 
k ' ' hK h; { # "+ "
0 ) ! 
	 Y ) i ( $ $ " % 
]  M  +  -   ! ' [) ["( "# "/ "3 "$4 "7 )+B . < 4  = # * ' ( % % % # & "+ "
) 1 # + !   " * " & - % '- ' *  ^ N - /   "  1 (  & 
 ^ ' 
/  o  " $ % ) # ' 
/ / " " "+ "
0 !4     L - 
[ k [       0 ! % $ +   %   & % 
 ] l + '  P- P& $  #   & 
n n "  # $ 
\ L $   " ] $ $ 
, | 
& \ '  !' !	M 	M/ % ) ) '  # " ! 
I ) 	   ! '   , ( 
# ' ) ( " ( ' 
/ # ' # $  ! ' " ! , #4 % # & ) V! VI  % Y} YY+ Y1 # + " c& c%  !   - *~ *6 6 * & ! $- $
+ - # $ (  | 
% | < $ " < "    ' & % m ! ! % ' ) %  & M # 
! !
+ * k  ' " !     "( "# )   $   $ 
L \ Xl X) l    ! ' " o ' * % ) ) $ L  < - ,' ,(.  4 ,' , , % }  %   m  " ' 
!/ !o "     5 "  IG I" % % $ ! ,  $ 
| Ml M ( ! & !    . '   8 $ 
| < X 8 j % , , 
)  I O   & k I+ I   8 "   " 
Z Z & " 
J Z    !  ( & 
  ~  n $ , # # ' 
	, 	,	M 	M! # k + [     & 
n 	Q 	Q$   ) + ) N $ > g ' * .   ' !  ! 
I   $- $
- I ! # 
	C[ 	Ck ! " M( M%. %
. " - . i   $  #  , ,% 
  $  ! 
I  ' | J< J R/ R(  + J :   & . % O' O# # 
k + ; ! %  M } ' ] ( m   >" > #  # ( $ 
l | | &7 0 ) 0 0 ) ' # 
 Q Q R+ R' " &    ! ) $ # % & 
n  & ! Y  G ( + $  )  
( 1 (
	T2 	T&7 &
 7  7 5 * % , "  & # ! ' 
,$ 
,
,& 
, )  
) ( + ! % $ '  # 0 ": / 7 2  8 0 %( %&7 9 8 %0 %&4 57N 13J 4  8 6 
K. 
K3 4 2 + , . G9 GI # 
[ k   ' | J< J\   $ ! ! ' 
 / *  % 
]  } =   m } M    !  ~%  ~z  ~;QSg  ~iy  |J  ~  LW  Yb  ~  dt  vD  ~  FO  QX  ~  Za  ch  ~  jw  yD  ~  FU  Wd  ~  fm  ot  ~  vJ  L^  ~  `g  in  ~  pJ  Ld  ~  fo  qx  ~  zC  EL  ~  N[  ]h  ~  jy  {H  ~  JX  Zf  ~  ht  v@	  ~  B	M	  O	X	  ~  Z	j	  l	z	  ~  |	G
  I
R
  ~  T
d
  f
t
  ~  v
F  HV  ~  Xf  ht  ~  vM  Od  ~  fv  xF  ~  HX  Zh  ~  jw  yD  ~  FP  RZ  ~  \s  uJ  ~  LY  [f  ~  hy  {J  ~  L]  _n  ~  py  {B  ~  DU  Wf  ~  hu  wB  ~  DV  Xh  ~  jv  xB  ~  DO  QZ  ~  \n  p@  ~  BP  R^  ~  `s  uF  ~  HV  Xd  ~  f|  ~R  ~  Tc  er  ~  t}  F  ~  HW  Yf  ~  h|  ~P  ~  R_  al  ~  nw  y@  ~  BR  Tb  ~  dz  |P  ~  Rh  j~  ~  @Q  Sb  ~  ds  uB  ~  D[  ]r  ~  tQ  Sn  ~  pC  EV  ~  Xa  cj  ~  l|  ~L  ~  Nc  ex  ~  zM   O `   ~  b t   v F!  ~  H!R!  T!\!  ~  ^!h!  j!r!  ~  t!D"  F"T"  ~  V"g"  i"x"  ~  z"K#  M#\#  ~  ^#v#  x#N$  ~  P$a$  c$r$  ~  t$B%  D%P%  ~  R%[%  ]%d%  ~  f%o%  q%x%  ~  z%G&  I&T&  ~  V&h&  j&z&  ~  |&K'  M'Z'  ~  \'f'  h'p'  ~  r'D(  F(V(  ~  X(h(  j(x(  ~  z(P)  R)f)  ~  h)v)  x)D*  ~  F*Z*  \*n*  ~  p**  A+N+  ~  P+]+  _+j+  ~  l+y+  {+F,  ~  H,\,  ^,p,  ~  r,G-  I-\-  ~  ^-p-  r-B.  ~  D.Q.  S.^.  ~  `.j.  l.t.  ~  v.H/  J/Z/  ~  \/m/  o/~/  ~  @0O0  Q0^0  ~  `0g0  i0n0  ~  p0B1  D1T1  ~  V1a1  c1l1  ~  n1H2  J2b2  ~  d2{2  }2R3  ~  T3g3  i3z3  ~  |3C4  E4J4  ~  L4U4  W4^4  ~  `4m4  o4z4  ~  |4O5  Q5b5  ~  d5q5  s5~5  ~  @6P6  R6`6  ~  b6k6  m6t6  ~  v6C7  E7P7  ~  R7X7  Z7^7  ~  `7m7  o7z7  ~  |7G8  I8R8  ~  T8g8  i8z8  ~  |8E9  G9N9  ~  P9^9  `9l9  ~  n99  A:P:  ~  R:\:  ^:f:  ~  h:t:  v:@;  ~  B;S;  U;d;  ~  f;v;  x;F<  ~  H<Z<  \<l<  ~  n<y<  {<D=  ~  F=Y=  [=l=  ~  n=}=  =L>  ~  N>Z>  \>f>  ~  h>|>  ~>P?  ~  R?c?  e?t?  ~  v?B@  D@N@  ~  P@X@  Z@`@  ~  b@p@  r@~@  ~  @ALA  NAXA  ~  ZAaA  cAhA  ~  jAyA  {AHB  ~  JB[B  ]BlB  ~  nB~B  @CNC  ~  PC[C  ]CfC  ~  hCpC  rCxC  ~  zCBD  DDJD  ~  LD_D  aDrD  ~  tDLE  NEdE  ~  fEE  AFXF  ~  ZFmF  oF@G  ~  BGNG  PGZG  ~  \GnG  pG@H  ~  BHTH  VHfH  ~  hHtH  vH@I  ~  BITI  VIfI  ~  hItI  vI@J  ~  BJXJ  ZJnJ  ~  pJAK  CKRK  ~  TKhK  jK|K  ~  ~KPL  RLbL  ~  dL|L  ~LTM  ~  VMpM  rMJN  ~  LNeN  gN~N  ~  @OTO  VOhO  ~  jO@P  BPVP  ~  XPnP  pPDQ  ~  FQ\Q  ^QrQ  ~  tQJR  LR`R  ~  bRsR  uRDS  ~  FSYS  [SlS  ~  nSzS  |SFT  ~  HTaT  cTzT  ~  |T[U  ]UzU  ~  |UQV  SVfV  ~  hVzV  |VLW  ~  NWWW  YW`W  ~  bWjW  lWrW  ~  tWW  AXJX  ~  LXYX  [XfX  ~  hXsX  uX~X  ~  @YJY  LYTY  ~  VYcY  eYpY  ~  rY|Y  ~YFZ  ~  HZWZ  YZfZ  ~  hZxZ  zZH[  ~  J[Q[  S[X[  ~  Z[a[  c[h[  ~  j[y[  {[H\  ~  J\Y\  [\h\  ~  j\x\  z\F]  ~  H]T]  V]`]  ~  b]p]  r]~]  ~  @^N^  P^\^  ~  ^^i^  k^t^  ~  v^C_  E_P_  ~  R_f_  h_z_  ~  |_M`  O`^`  ~  ``x`  z`Pa  ~  Raia  ka@b  ~  BbPb  Rb^b  ~  `bmb  obzb  ~  |bHc  JcTc  ~  Vcic  kc|c  ~  ~cJd  LdVd  ~  Xd_d  adfd  ~  hdpd  rdxd  ~  zdDe  FeNe  ~  Pe^e  `ele  ~  ne@f  BfRf  ~  Tf[f  ]fbf  ~  dfqf  sf~f  ~  @gMg  OgZg  ~  \gqg  sgFh  ~  Hh[h  ]hnh  ~  ph|h  ~hHi  ~  JiZi  \iji  ~  li|i  ~iLj  ~  NjYj  [jdj  ~  fjuj  wjDk  ~  FkZk  \knk  ~  pkBl  DlTl  ~  Vlcl  elpl  ~  rlyl  {l@m  ~  BmQm  Sm`m  ~  bmjm  lmrm  ~  tm|m  ~mDn  ~  FnSn  Un`n  ~  bnin  knpn  ~  rnzn  |nBo  ~  DoQo  So^o  ~  `ono  po|o  ~  ~oFp  HpNp  ~  Pp]p  _pjp  ~  lpsp  upzp  ~  |pLq  Nq\q  ~  ^qgq  iqpq  ~  rqzq  |qBr  ~  DrTr  Vrdr  ~  frvr  xrFs  ~  HsYs  [sjs  ~  lsus  ws~s  ~  @tKt  MtVt  ~  Xtft  httt  ~  vt@u  BuJu  ~  LuXu  Zudu  ~  fuvu  xuFv  ~  HvUv  Wvbv  ~  dvqv  sv~v  ~  @wQw  Swbw  ~  dwow  qwzw  ~  |wGx  IxRx  ~  Txex  gxvx  ~  xxBy  DyLy  ~  Ny\y  ^yjy  ~  lywy  yyBz  ~  DzQz  Sz^z  ~  `zoz  qz~z  ~  @{Q{  S{b{  ~  d{r{  t{@|  ~  B|S|  U|d|  ~  f|u|  w|D}  ~  F}T}  V}b}  ~  d}t}  v}D~  ~  F~Q~  S~\~  ~  ^~p~  r~B  ~  DX  Zl  ~  n{  }H@  ~  J@]@  _@p@  ~  r@FA  HAZA  ~  \AjA  lAxA  ~  zADB  FBNB  ~  PB]B  _BjB  ~  lBwB  yBBC  ~  DCUC  WCfC  ~  hC|C  ~CPD  ~  RD_D  aDlD  ~  nDxD  zDBE  ~  DELE  NETE  ~  VEgE  iExE  ~  zELF  NF^F  ~  `FpF  rF@G  ~  BGOG  QG\G  ~  ^GpG  rGBH  ~  DHLH  NHTH  ~  VH`H  bHjH  ~  lHwH  yHBI  ~  DIOI  QIZI  ~  \InI  pI@J  ~  BJXJ  ZJnJ  ~  pJJ  AKNK  ~  PKYK  [KbK  ~  dKoK  qKzK  ~  |KPL  RLdL  ~  fLDM  FMbM  ~  dMwM  yMJN  ~  LNeN  gN~N  ~  @OQO  SObO  ~  dOoO  qOzO  ~  |ODP  FPLP  ~  NPUP  WP\P  ~  ^PeP  gPlP  ~  nP{P  }PHQ  ~  JQQQ  SQXQ  ~  ZQiQ  kQxQ  ~  zQFR  HRRR  ~  TR]R  _RfR  ~  hRuR  wRBS  ~  DSLS  NSTS  ~  VSbS  dSnS  ~  pS~S  @TLT  ~  NT\T  ^TjT  ~  lTuT  wT~T  ~  @UHU  JUPU  ~  RU_U  aUlU  ~  nUtU  vUzU  ~  |UNV  PV`V  ~  bVoV  qV|V  ~  ~VPW  RWbW  ~  dWqW  sW~W  ~  @XMX  OXZX  ~  \XpX  rXDY  ~  FYUY  WYdY  ~  fY}Y  YTZ  ~  VZkZ  mZ@[  ~  B[U[  W[h[  ~  j[{[  }[L\  ~  N\^\  `\n\  ~  p\~\  @]L]  ~  N]b]  d]v]  ~  x]D^  F^P^  ~  R^Z^  \^b^  ~  d^t^  v^D_  ~  F_R_  T_^_  ~  `_o_  q_~_  ~  @`J`  L`T`  ~  V`f`  h`v`  ~  x`Na  Pada  ~  fata  vaBb  ~  DbMb  ObVb  ~  Xbeb  gbrb  ~  tbJc  Lc`c  ~  bcwc  ycLd  ~  NdZd  \dfd  ~  hdtd  vd@e  ~  Be\e  ^eve  ~  xeIf  KfZf  ~  \fsf  ufJg  ~  Lg]g  _gng  ~  pgFh  Hh\h  ~  ^hxh  zhRi  ~  Tiji  li@j  ~  Bj\j  ^jvj  ~  xjBk  DkLk  ~  NkXk  Zkbk  ~  dkqk  sk~k  ~  @lKl  MlVl  ~  Xlcl  elnl  ~  pl{l  }lFm  ~  HmSm  Um^m  ~  `mkm  mmvm  ~  xmCn  EnNn  ~  Pn[n  ]nfn  ~  hnyn  {nJo  ~  LoVo  Xo`o  ~  boto  voFp  ~  HpSp  Up^p  ~  `pkp  mpvp  ~  xpCq  EqNq  ~  Pq^q  `qlq  ~  nqAr  CrTr  ~  Vrar  crlr  ~  nrr  AsPs  ~  Rsas  csps  ~  rsBt  DtRt  ~  Tt\t  ^tdt  ~  ftrt  tt~t  ~  @uIu  KuRu  ~  Tuau  cunu  ~  puCv  EvVv  ~  Xvgv  ivvv  ~  xv@w  BwHw  ~  Jw[w  ]wlw  ~  nww  AxPx  ~  Rx`x  bxnx  ~  pxxx  zx@y  ~  ByQy  Sy`y  ~  bysy  uyDz  ~  Fz[z  ]zpz  ~  rzM{  O{h{  ~  j{r{  t{z{  ~  |{F|  H|P|  ~  R|_|  a|l|  ~  n|@}  B}R}  ~  T}^}  `}h}  ~  j}u}  w}@~  ~  B~L~  N~V~  ~  X~h~  j~x~  ~  z~K  M\  ~  ^i  kt  ~  v  A@H@  ~  J@U@  W@`@  ~  b@u@  w@HA  ~  JAXA  ZAfA  ~  hAsA  uA~A  ~  @BJB  LBTB  ~  VBkB  mB@C  ~  BCLC  NCVC  ~  XChC  jCxC  ~  zCGD  IDTD  ~  VDcD  eDpD  ~  rD}D  DHE  ~  JEVE  XEbE  ~  dEkE  mErE  ~  tEE  AFJF  ~  LFTF  VF\F  ~  ^FjF  lFvF  ~  xFF  AGFG  ~  HGWG  YGfG  ~  hGtG  vG@H  ~  BHZH  \HrH  ~  tHKI  MIbI  ~  dItI  vIDJ  ~  FJTJ  VJbJ  ~  dJsJ  uJBK  ~  DKNK  PKXK  ~  ZKdK  fKnK  ~  pK~K  @LLL  ~  NLUL  WL\L  ~  ^LiL  kLtL  ~  vL~L  @MFM  ~  HMYM  [MjM  ~  lMvM  xM@N  ~  BNMN  ONXN  ~  ZNeN  gNpN  ~  rN|N  ~NFO  ~  HO[O  ]OnO  ~  pOzO  |ODP  ~  FPPP  RPZP  ~  \PqP  sPFQ  ~  HQVQ  XQdQ  ~  fQuQ  wQDR  ~  FRUR  WRdR  ~  fRsR  uR@S  ~  BSNS  PSZS  ~  \ShS  jStS  ~  vSHT  JTZT  ~  \TgT  iTrT  ~  tTDU  FUTU  ~  VUcU  eUpU  ~  rU}U  UHV  ~  JV\V  ^VnV  ~  pVAW  CWRW  ~  TWcW  eWrW  ~  tW@X  BXLX  ~  NX^X  `XnX  ~  pX@Y  BYPY  ~  RY\Y  ^YfY  ~  hYxY  zYHZ  ~  JZWZ  YZdZ  ~  fZtZ  vZB[  ~  D[][  _[v[  ~  x[K\  M\^\  ~  `\y\  {\R]  ~  T]f]  h]x]  ~  z]B^  D^J^  ~  L^Y^  [^f^  ~  h^o^  q^v^  ~  x^C_  E_N_  ~  P_Z_  \_d_  ~  f_r_  t_~_  ~  @`S`  U`f`  ~  h`w`  y`Fa  ~  HaOa  QaVa  ~  Xaaa  caja  ~  lata  va|a  ~  ~aTb  Vbjb  ~  lbAc  CcVc  ~  Xchc  jcxc  ~  zcTd  Vdnd  ~  pd|d  ~dHe  ~  Je\e  ^ene  ~  pe@f  BfPf  ~  Rf^f  `fjf  ~  lfxf  zfDg  ~  FgRg  Tg^g  ~  `gjg  lgtg  ~  vgEh  GhTh  ~  Vh`h  bhjh  ~  lh|h  ~hLi  ~  Ni[i  ]ihi  ~  jiyi  {iHj  ~  Jj_j  ajtj  ~  vjj  AkHk  ~  Jk\k  ^knk  ~  pk}k  kJl  ~  Ll]l  _lnl  ~  plEm  GmZm  ~  \mwm  ymRn  ~  Tn]n  _nfn  ~  hnDo  Fo`o  ~  bowo  yoLp  ~  Npbp  dpvp  ~  xpTq  Vqpq  ~  rqGr  Ir\r  ~  ^rnr  pr~r  ~  @sIs  KsRs  ~  Tscs  esrs  ~  ts~s  @tHt  ~  JtYt  [tht  ~  jtpt  rtvt  ~  xtBu  DuLu  ~  NuWu  Yu`u  ~  buou  qu|u  ~  ~uMv  Ov\v  ~  ^viv  kvtv  ~  vv@w  BwJw  ~  LwUw  Ww^w  ~  `wlw  nwxw  ~  zwOx  Qxdx  ~  fxux  wxDy  ~  Fy\y  ^yry  ~  tyFz  HzXz  ~  Zzjz  lzzz  ~  |zG{  I{R{  ~  T{_{  a{j{  ~  l{z{  |{H|  ~  J|T|  V|^|  ~  `|n|  p|||  ~  ~|I}  K}T}  ~  V}]}  _}d}  ~  f}u}  w}D~  ~  F~P~  R~Z~  ~  \~g~  i~r~  ~  t~}~  ~F  ~  HW  Yf  ~  hp  rx  ~  zJ@  L@Z@  ~  \@j@  l@x@  ~  z@EA  GAPA  ~  RAeA  gAxA  ~  zAGB  IBTB  ~  VBdB  fBrB  ~  tB}B  BFC  ~  HCUC  WCbC  ~  dCsC  uCBD  ~  DDND  PDXD  ~  ZDkD  mD|D  ~  ~DKE  MEXE  ~  ZEoE  qEDF  ~  FFcF  eF@G  ~  BGMG  OGXG  ~  ZGjG  lGzG  ~  |GGH  IHRH  ~  THeH  gHvH  ~  xHII  KIZI  ~  \InI  pI@J  ~  BJMJ  OJXJ  ~  ZJfJ  hJrJ  ~  tJLK  NKdK  ~  fKqK  sK|K  ~  ~KML  OL\L  ~  ^LjL  lLvL  ~  xLEM  GMRM  ~  TM]M  _MfM  ~  hMrM  tM|M  ~  ~MLN  NNZN  ~  \NcN  eNjN  ~  lNxN  zNDO  ~  FOUO  WOdO  ~  fO|O  ~ORP  ~  TPaP  cPnP  ~  pPzP  |PDQ  ~  FQWQ  YQhQ  ~  jQuQ  wQ@R  ~  BRMR  ORXR  ~  ZRaR  cRhR  ~  jRwR  yRDS  ~  FSQS  SS\S  ~  ^SrS  tSFT  ~  HTXT  ZThT  ~  jT}T  TPU  ~  RUaU  cUpU  ~  rULV  NVfV  ~  hVzV  |VLW  ~  NWaW  cWtW  ~  vWEX  GXTX  ~  VXbX  dXnX  ~  pX@Y  BYPY  ~  RYaY  cYpY  ~  rY|Y  ~YFZ  ~  HZUZ  WZbZ  ~  dZlZ  nZtZ  ~  vZB[  D[N[  ~  P[^[  `[l[  ~  n[~[  @\N\  ~  P\Y\  [\b\  ~  d\k\  m\r\  ~  t\{\  }\B]  ~  D]V]  X]h]  ~  j]s]  u]|]  ~  ~]K^  M^X^  ~  Z^j^  l^z^  ~  |^N_  P_`_  ~  b_r_  t_B`  ~  D`U`  W`f`  ~  h`z`  |`La  ~  Nafa  ha~a  ~  @bZb  \btb  ~  vbAc  CcLc  ~  NcTc  VcZc  ~  \cec  gcnc  ~  pc@d  BdPd  ~  Rdhd  jd~d  ~  @eVe  Xele  ~  ne@f  BfRf  ~  Tf[f  ]fbf  ~  dfof  qfzf  ~  |fEg  GgNg  ~  PgYg  [gbg  ~  dgug  wgFh  ~  HhUh  Whbh  ~  dhnh  phxh  ~  zhFi  HiRi  ~  Ti_i  aiji  ~  liti  vi|i  ~  ~iMj  Oj\j  ~  ^jlj  njzj  ~  |jGk  IkRk  ~  Tkdk  fktk  ~  vkCl  ElPl  ~  Rlcl  eltl  ~  vlHm  JmZm  ~  \mpm  rmDn  ~  FnVn  Xnfn  ~  hn@o  BoXo  ~  Zojo  lozo  ~  |oCp  EpJp  ~  LpTp  Vp\p  ~  ^pep  gplp  ~  npwp  yp@q  ~  BqMq  OqXq  ~  Zqgq  iqtq  ~  vqCr  ErPr  ~  Rr]r  _rhr  ~  jrvr  xrBs  ~  DsVs  Xshs  ~  jsys  {sHt  ~  JtYt  [tht  ~  jt}t  tPu  ~  Ru^u  `uju  ~  lutu  vu|u  ~  ~uMv  Ov\v  ~  ^viv  kvtv  ~  vv@w  BwJw  ~  LwTw  Vw\w  ~  ^wnw  pw~w  ~  @xNx  Px\x  ~  ^xkx  mxxx  ~  zxFy  HyRy  ~  Tycy  eyry  ~  tyAz  CzNz  ~  Pz_z  aznz  ~  pzwz  yz~z  ~  @{L{  N{X{  ~  Z{a{  c{h{  ~  j{x{  z{F|  ~  H|U|  W|b|  ~  d|t|  v|D}  ~  F}S}  U}`}  ~  b}j}  l}r}  ~  t}~}  @~H~  ~  J~X~  Z~f~  ~  h~o~  q~v~  ~  x~M  Ob  ~  dr  t@@  ~  B@Q@  S@`@  ~  b@j@  l@r@  ~  t@DA  FATA  ~  VA]A  _AdA  ~  fAnA  pAvA  ~  xADB  FBPB  ~  RB_B  aBlB  ~  nBxB  zBBC  ~  DCRC  TC`C  ~  bCqC  sC@D  ~  BDOD  QD\D  ~  ^DlD  nDzD  ~  |DIE  KEVE  ~  XEmE  oEBF  ~  DFNF  PFXF  ~  ZFlF  nF~F  ~  @GNG  PG\G  ~  ^GeG  gGlG  ~  nGyG  {GDH  ~  FH\H  ^HrH  ~  tHLI  NIdI  ~  fIlI  nIrI  ~  tIBJ  DJPJ  ~  RJfJ  hJzJ  ~  |JJK  LKXK  ~  ZKlK  nK~K  ~  @LTL  VLhL  ~  jLvL  xLBM  ~  DMOM  QMZM  ~  \MeM  gMnM  ~  pM}M  MJN  ~  LNTN  VN\N  ~  ^NsN  uNHO  ~  JOTO  VO^O  ~  `OmO  oOzO  ~  |OHP  JPTP  ~  VP_P  aPhP  ~  jPwP  yPDQ  ~  FQXQ  ZQjQ  ~  lQxQ  zQDR  ~  FR`R  bRzR  ~  |RPS  RSdS  ~  fSrS  tS~S  ~  @TOT  QT^T  ~  `ToT  qT~T  ~  @UNU  PU\U  ~  ^UtU  vUJV  ~  LVcV  eVzV  ~  |VOW  QWbW  ~  dWkW  mWrW  ~  tW|W  ~WDX  ~  FXTX  VXbX  ~  dXlX  nXtX  ~  vXFY  HYVY  ~  XYaY  cYjY  ~  lY{Y  }YJZ  ~  LZUZ  WZ^Z  ~  `ZgZ  iZnZ  ~  pZwZ  yZ~Z  ~  @[H[  J[P[  ~  R[`[  b[n[  ~  p[w[  y[~[  ~  @\I\  K\R\  ~  T\`\  b\l\  ~  n\{\  }\H]  ~  J]T]  V]^]  ~  `]n]  p]|]  ~  ~]R^  T^f^  ~  h^o^  q^v^  ~  x^^  A_F_  ~  H_]_  __r_  ~  t_~_  @`H`  ~  J`X`  Z`f`  ~  h`x`  z`Ha  ~  JaTa  Va^a  ~  `aoa  qa~a  ~  @bUb  Wbjb  ~  lb}b  bNc  ~  Pcac  ccrc  ~  tcFd  HdXd  ~  Zdfd  hdrd  ~  tdDe  FeTe  ~  Vefe  heve  ~  xeDf  FfPf  ~  Rf]f  _fhf  ~  jfuf  wf@g  ~  BgQg  Sg`g  ~  bgwg  ygLh  ~  NhYh  [hdh  ~  fhqh  sh|h  ~  ~hFi  HiNi  ~  Pi[i  ]ifi  ~  hisi  ui~i  ~  @jNj  Pj\j  ~  ^jmj  oj|j  ~  ~jQk  Skdk  ~  fkrk  tk~k  ~  @lMl  OlZl  ~  \lhl  jltl  ~  vlFm  HmVm  ~  Xmlm  nm@n  ~  BnOn  Qn\n  ~  ^nwn  ynPo  ~  Ro\o  ^ofo  ~  hozo  |oLp  ~  Np[p  ]php  ~  jpwp  ypDq  ~  FqPq  RqZq  ~  \qhq  jqtq  ~  vqDr  FrRr  ~  Trfr  hrxr  ~  zrLs  Ns^s  ~  `sys  {sRt  ~  Ttnt  ptHu  ~  Jucu  eu|u  ~  ~uQv  Svdv  ~  fvyv  {vLw  ~  Nw^w  `wnw  ~  pw~w  @xLx  ~  NxWx  Yx`x  ~  bxlx  nxvx  ~  xxCy  EyNy  ~  Py\y  ^yhy  ~  jyzy  |yJz  ~  LzZz  \zhz  ~  jzzz  |zJ{  ~  L{U{  W{^{  ~  `{n{  p{|{  ~  ~{J|  L|V|  ~  X|l|  n|@}  ~  B}R}  T}b}  ~  d}m}  o}v}  ~  x}I~  K~Z~  ~  \~c~  e~j~  ~  l~z~  |~H  ~  JW  Yd  ~  fr  t~  ~  @@_@  a@~@  ~  @ANA  PA\A  ~  ^AsA  uAHB  ~  JB]B  _BpB  ~  rB@C  BCNC  ~  PCfC  hC|C  ~  ~CLD  NDZD  ~  \DhD  jDtD  ~  vDDE  FERE  ~  TEbE  dEpE  ~  rEE  AFLF  ~  NF]F  _FlF  ~  nF|F  ~FJG  ~  LGZG  \GhG  ~  jGvG  xGBH  ~  DHTH  VHdH  ~  fHpH  rHzH  ~  |HII  KIVI  ~  XIiI  kIzI  ~  |INJ  PJ`J  ~  bJvJ  xJJK  ~  LK\K  ^KlK  ~  nKuK  wK|K  ~  ~KHL  JLRL  ~  TLeL  gLvL  ~  xLDM  FMPM  ~  RMbM  dMrM  ~  tMDN  FNTN  ~  VNaN  cNlN  ~  nNyN  {NDO  ~  FOSO  UO`O  ~  bOoO  qO|O  ~  ~OHP  JPRP  ~  TPcP  ePrP  ~  tPP  AQJQ  ~  LQZQ  \QhQ  ~  jQvQ  xQBR  ~  DRKR  MRRR  ~  TRjR  lR@S  ~  BSSS  USdS  ~  fSrS  tS~S  ~  @TGT  ITNT  ~  PT_T  aTnT  ~  pTEU  GUZU  ~  \UiU  kUvU  ~  xUKV  MV^V  ~  `VtV  vVHW  ~  JWYW  [WhW  ~  jWzW  |WJX  ~  LXXX  ZXdX  ~  fXmX  oXtX  ~  vX~X  @YFY  ~  HYOY  QYVY  ~  XYeY  gYrY  ~  tYCZ  EZRZ  ~  TZbZ  dZpZ  ~  rZyZ  {Z@[  ~  B[T[  V[f[  ~  h[y[  {[J\  ~  L\S\  U\Z\  ~  \\i\  k\v\  ~  x\@]  B]H]  ~  J]Z]  \]j]  ~  l]s]  u]z]  ~  |]L^  N^\^  ~  ^^i^  k^t^  ~  v^J_  L_^_  ~  `_l_  n_x_  ~  z_A`  C`H`  ~  J`Y`  [`h`  ~  j`}`  `Pa  ~  Ra^a  `aja  ~  la|a  ~aLb  ~  Nb_b  abpb  ~  rb{b  }bDc  ~  FcVc  Xcfc  ~  hcwc  ycFd  ~  HdWd  Ydfd  ~  hdqd  sdzd  ~  |dGe  IeRe  ~  Teae  cene  ~  peye  {eBf  ~  DfMf  OfVf  ~  Xfjf  lf|f  ~  ~fPg  Rgbg  ~  dg|g  ~gTh  ~  Vhah  chlh  ~  nhzh  |hFi  ~  HiVi  Xidi  ~  fimi  oiti  ~  vi~i  @jFj  ~  HjWj  Yjfj  ~  hj@k  BkXk  ~  Zkuk  wkPl  ~  Rl[l  ]ldl  ~  flsl  ul@m  ~  BmNm  PmZm  ~  \mmm  om~m  ~  @nOn  Qn^n  ~  `njn  lntn  ~  vnMo  Oodo  ~  foto  voBp  ~  DpUp  Wpfp  ~  hptp  vp@q  ~  BqJq  LqRq  ~  Tqiq  kq~q  ~  @rWr  Yrnr  ~  pr@s  BsPs  ~  Rsfs  hszs  ~  |sNt  Pt`t  ~  btyt  {tPu  ~  Ruhu  ju~u  ~  @vMv  OvZv  ~  \vmv  ov~v  ~  @wWw  Ywnw  ~  pw|w  ~wHx  ~  Jx^x  `xrx  ~  txFy  HyXy  ~  Zyfy  hyry  ~  tyBz  DzPz  ~  Rzhz  jz~z  ~  @{R{  T{d{  ~  f{s{  u{@|  ~  B|K|  M|T|  ~  V|c|  e|p|  ~  r|@}  B}N}  ~  P}g}  i}~}  ~  @~J~  L~T~  ~  V~c~  e~p~  ~  r~z~  |~B  ~  D[  ]r  ~  tO@  Q@j@  ~  l@CA  EAZA  ~  \ApA  rADB  ~  FBSB  UB`B  ~  bBsB  uBDC  ~  FCPC  RCZC  ~  \CmC  oC~C  ~  @DHD  JDPD  ~  RDuD  wDXE  ~  ZE~E  @FbF  ~  dF{F  }FRG  ~  TGgG  iGzG  ~  |GHH  JHTH  ~  VHfH  hHvH  ~  xHLI  NI`I  ~  bItI  vIFJ  ~  HJXJ  ZJhJ  ~  jJAK  CKXK  ~  ZKmK  oK@L  ~  BLXL  ZLnL  ~  pLCM  EMVM  ~  XMhM  jMxM  ~  zMLN  NN^N  ~  `NkN  mNvN  ~  xNDO  FOPO  ~  RO]O  _OhO  ~  jOvO  xOBP  ~  DPNP  PPXP  ~  ZPhP  jPvP  ~  xPHQ  JQXQ  ~  ZQfQ  hQrQ  ~  tQFR  HRXR  ~  ZRgR  iRtR  ~  vR~R  @SFS  ~  HSTS  VS`S  ~  bSmS  oSxS  ~  zSMT  OT`T  ~  bTsT  uTDU  ~  FUMU  OUTU  ~  VU]U  _UdU  ~  fUuU  wUDV  ~  FVRV  TV^V  ~  `VmV  oVzV  ~  |VGW  IWRW  ~  TW]W  _WfW  ~  hWrW  tW|W  ~  ~WMX  OX\X  ~  ^XiX  kXtX  ~  vXX  AYHY  ~  JYXY  ZYfY  ~  hYtY  vY@Z  ~  BZSZ  UZdZ  ~  fZnZ  pZvZ  ~  xZH[  J[X[  ~  Z[k[  m[|[  ~  ~[P\  R\b\  ~  d\l\  n\t\  ~  v\N]  P]f]  ~  h]y]  {]J^  ~  L^d^  f^|^  ~  ~^M_  O_\_  ~  ^_k_  m_x_  ~  z_M`  O```  ~  b`q`  s`@a  ~  BaJa  LaRa  ~  Ta_a  aaja  ~  lava  xa@b  ~  BbRb  Tbbb  ~  dbmb  obvb  ~  xbJc  Lc\c  ~  ^cic  kctc  ~  vcFd  HdVd  ~  Xddd  fdpd  ~  rdFe  HeZe  ~  \eee  gene  ~  pe}e  eJf  ~  Lf]f  _fnf  ~  pfGg  Ig^g  ~  `gmg  ogzg  ~  |gHh  JhTh  ~  Vh]h  _hdh  ~  fhqh  sh|h  ~  ~hIi  KiTi  ~  Vidi  firi  ~  tiAj  CjNj  ~  Pjcj  ejvj  ~  xjLk  Nk`k  ~  bknk  pkzk  ~  |kNl  Pl`l  ~  blnl  plzl  ~  |lNm  Pm`m  ~  bmnm  pmzm  ~  |mMn  On^n  ~  `nkn  mnvn  ~  xnGo  IoVo  ~  Xoko  mo~o  ~  @pYp  [prp  ~  tp~p  @qHq  ~  Jq^q  `qrq  ~  tq@r  BrLr  ~  Nrar  crtr  ~  vrDs  FsRs  ~  Tsgs  iszs  ~  |sGt  ItRt  ~  Ttat  ctnt  ~  pt|t  ~tHu  ~  JuTu  Vu^u  ~  `ulu  nuxu  ~  zuNv  Pvbv  ~  dvov  qvzv  ~  |vKw  MwZw  ~  \wlw  nw|w  ~  ~wKx  MxXx  ~  Zxkx  mx|x  ~  ~xUy  Wyly  ~  nyyy  {yDz  ~  FzUz  Wzdz  ~  fzqz  sz|z  ~  ~zH{  J{R{  ~  T{_{  a{j{  ~  l{z{  |{H|  ~  J|T|  V|^|  ~  `|l|  n|x|  ~  z|Q}  S}h}  ~  j}w}  y}D~  ~  F~[~  ]~p~  ~  r~@  BN  ~  P[  ]f  ~  hy  {J@  ~  L@\@  ^@l@  ~  n@x@  z@BA  ~  DARA  TA`A  ~  bApA  rA~A  ~  @BLB  NBXB  ~  ZBfB  hBrB  ~  tB@C  BCLC  ~  NCZC  \CfC  ~  hC}C  CRD  ~  TDcD  eDrD  ~  tDD  AEJE  ~  LEYE  [EfE  ~  hE{E  }ENF  ~  PF\F  ^FhF  ~  jFwF  yFDG  ~  FGSG  UG`G  ~  bGwG  yGLH  ~  NHYH  [HdH  ~  fHrH  tH~H  ~  @IXI  ZIpI  ~  rIJJ  LJbJ  ~  dJtJ  vJDK  ~  FK\K  ^KrK  ~  tKJL  LL`L  ~  bLyL  {LPM  ~  RMmM  oMHN  ~  JNWN  YNdN  ~  fNvN  xNFO  ~  HOTO  VO`O  ~  bOmO  oOxO  ~  zOSP  UPlP  ~  nPAQ  CQTQ  ~  VQeQ  gQtQ  ~  vQQR  SRlR  ~  nRyR  {RDS  ~  FSRS  TS^S  ~  `SkS  mSvS  ~  xSFT  HTTT  ~  VTgT  iTxT  ~  zTEU  GUPU  ~  RU_U  aUlU  ~  nUzU  |UFV  ~  HVUV  WVbV  ~  dVuV  wVFW  ~  HW\W  ^WpW  ~  rW}W  WHX  ~  JX[X  ]XlX  ~  nX@Y  BYRY  ~  TY^Y  `YhY  ~  jYyY  {YHZ  ~  JZSZ  UZ\Z  ~  ^ZiZ  kZtZ  ~  vZ@[  B[J[  ~  L[\[  ^[l[  ~  n[y[  {[D\  ~  F\Y\  [\l\  ~  n\\  A]P]  ~  R]d]  f]v]  ~  x]H^  J^X^  ~  Z^f^  h^r^  ~  t^A_  C_N_  ~  P_a_  c_r_  ~  t_K`  M`b`  ~  d`r`  t`@a  ~  BaOa  Qa\a  ~  ^ada  faja  ~  laya  {aFb  ~  HbOb  QbVb  ~  Xbfb  hbtb  ~  vbBc  DcNc  ~  Pcbc  dctc  ~  vcDd  FdRd  ~  Td[d  ]dbd  ~  ddtd  vdDe  ~  FeOe  QeXe  ~  Zeke  me|e  ~  ~eFf  HfNf  ~  Pf`f  bfpf  ~  rfJg  Lgbg  ~  dglg  ngtg  ~  vgFh  HhVh  ~  Xheh  ghrh  ~  thBi  DiPi  ~  Ribi  diri  ~  ti~i  @jHj  ~  JjQj  SjXj  ~  Zjcj  ejlj  ~  nj}j  jLk  ~  Nk_k  akpk  ~  rk~k  @lJl  ~  Ll\l  ^lll  ~  nl{l  }lHm  ~  JmVm  Xmbm  ~  dmsm  umBn  ~  DnVn  Xnhn  ~  jnrn  tnzn  ~  |nFo  HoPo  ~  Ro`o  bono  ~  po{o  }oFp  ~  HpZp  \plp  ~  npp  AqPq  ~  Rq\q  ^qfq  ~  hqwq  yqFr  ~  HrTr  Vr`r  ~  br{r  }rTs  ~  Vses  gsts  ~  vsHt  JtZt  ~  \tvt  xtPu  ~  Ru]u  _uhu  ~  juyu  {uHv  ~  Jv]v  _vpv  ~  rvHw  Jw^w  ~  `wvw  xwLx  ~  Nxlx  nxJy  ~  LyZy  \yhy  ~  jyzy  |yJz  ~  Lz`z  bztz  ~  vzG{  I{X{  ~  Z{m{  o{@|  ~  B|I|  K|P|  ~  R|]|  _|h|  ~  j|x|  z|F}  ~  H}S}  U}^}  ~  `}o}  q}~}  ~  @~S~  U~f~  ~  h~x~  z~H  ~  J^  `r  ~  tL@	  N@	d@	  ~  f@	u@	  w@	DA	  ~  FA	]A	  _A	tA	  ~  vA	GB	  IB	XB	  ~  ZB	jB	  lB	zB	  ~  |B	FC	  HC	PC	  ~  RC	eC	  gC	xC	  ~  zC	ED	  GD	PD	  ~  RD	_D	  aD	lD	  ~  nD	~D	  @E	NE	  ~  PE	gE	  iE	~E	  ~  @F	NF	  PF	\F	  ~  ^F	iF	  kF	tF	  ~  vF	GG	  IG	XG	  ~  ZG	iG	  kG	xG	  ~  zG	EH	  GH	PH	  ~  RH	\H	  ^H	fH	  ~  hH	sH	  uH	~H	  ~  @I	KI	  MI	VI	  ~  XI	hI	  jI	xI	  ~  zI	IJ	  KJ	XJ	  ~  ZJ	fJ	  hJ	rJ	  ~  tJ	MK	  OK	fK	  ~  hK	sK	  uK	~K	  ~  @L	QL	  SL	bL	  ~  dL	uL	  wL	FM	  ~  HM	RM	  TM	\M	  ~  ^M	nM	  pM	~M	  ~  @N	ON	  QN	^N	  ~  `N	pN	  rN	@O	  ~  BO	XO	  ZO	nO	  ~  pO	BP	  DP	TP	  ~  VP	bP	  dP	nP	  ~  pP	{P	  }P	FQ	  ~  HQ	YQ	  [Q	jQ	  ~  lQ	sQ	  uQ	zQ	  ~  |Q	HR	  JR	TR	  ~  VR	_R	  aR	hR	  ~  jR	rR	  tR	zR	  ~  |R	IS	  KS	VS	  ~  XS	gS	  iS	vS	  ~  xS	IT	  KT	ZT	  ~  \T	kT	  mT	zT	  ~  |T	FU	  HU	PU	  ~  RU	\U	  ^U	fU	  ~  hU	yU	  {U	JV	  ~  LV	[V	  ]V	jV	  ~  lV	vV	  xV	@W	  ~  BW	QW	  SW	`W	  ~  bW	rW	  tW	BX	  ~  DX	VX	  XX	hX	  ~  jX	xX	  zX	FY	  ~  HY	QY	  SY	ZY	  ~  \Y	cY	  eY	jY	  ~  lY	xY	  zY	DZ	  ~  FZ	MZ	  OZ	TZ	  ~  VZ	cZ	  eZ	pZ	  ~  rZ	{Z	  }Z	D[	  ~  F[	S[	  U[	`[	  ~  b[	u[	  w[	H\	  ~  J\	b\	  d\	z\	  ~  |\	G]	  I]	R]	  ~  T]	j]	  l]	@^	  ~  B^	I^	  K^	P^	  ~  R^	`^	  b^	n^	  ~  p^	x^	  z^	@_	  ~  B_	L_	  N_	V_	  ~  X_	__	  a_	f_	  ~  h_	v_	  x_	D`	  ~  F`	U`	  W`	d`	  ~  f`	s`	  u`	@a	  ~  Ba	Ma	  Oa	Xa	  ~  Za	ea	  ga	pa	  ~  ra	a	  Ab	Lb	  ~  Nb	Wb	  Yb	`b	  ~  bb	ob	  qb	|b	  ~  ~b	Nc	  Pc	^c	  ~  `c	jc	  lc	tc	  ~  vc	Bd	  Dd	Nd	  ~  Pd	Zd	  \d	dd	  ~  fd	td	  vd	Be	  ~  De	Xe	  Ze	le	  ~  ne	}e	  e	Lf	  ~  Nf	Yf	  [f	df	  ~  ff	|f	  ~f	Rg	  ~  Tg	\g	  ^g	dg	  ~  fg	sg	  ug	@h	  ~  Bh	Nh	  Ph	Zh	  ~  \h	nh	  ph	@i	  ~  Bi	Mi	  Oi	Xi	  ~  Zi	gi	  ii	ti	  ~  vi	Dj	  Fj	Rj	  ~  Tj	hj	  jj	|j	  ~  ~j	Ok	  Qk	`k	  ~  bk	uk	  wk	Hl	  ~  Jl	bl	  dl	zl	  ~  |l	Im	  Km	Vm	  ~  Xm	`m	  bm	hm	  ~  jm	qm	  sm	xm	  ~  zm	On	  Qn	dn	  ~  fn	sn	  un	@o	  ~  Bo	Po	  Ro	^o	  ~  `o	no	  po	|o	  ~  ~o	Hp	  Jp	Rp	  ~  Tp	ap	  cp	np	  ~  pp	xp	  zp	@q	  ~  Bq	Yq	  [q	pq	  ~  rq	Br	  Dr	Rr	  ~  Tr	^r	  `r	hr	  ~  jr	xr	  zr	Fs	  ~  Hs	Vs	  Xs	ds	  ~  fs	zs	  |s	Nt	  ~  Pt	^t	  `t	lt	  ~  nt	wt	  yt	@u	  ~  Bu	Ru	  Tu	bu	  ~  du	vu	  xu	Hv	  ~  Jv	`v	  bv	vv	  ~  xv	Iw	  Kw	Zw	  ~  \w	kw	  mw	zw	  ~  |w	Qx	  Sx	fx	  ~  hx	vx	  xx	Dy	  ~  Fy	[y	  ]y	py	  ~  ry	zy	  |y	Bz	  ~  Dz	Lz	  Nz	Tz	  ~  Vz	_z	  az	hz	  ~  jz	wz	  yz	D{	  ~  F{	S{	  U{	`{	  ~  b{	q{	  s{	@|	  ~  B|	P|	  R|	^|	  ~  `|	r|	  t|	D}	  ~  F}	S}	  U}	`}	  ~  b}	z}	  |}	R~	  ~  T~	e~	  g~	v~	  ~  x~	C	  E	N	  ~  P	`	  b	p	  ~  r		  A@
L@
  ~  N@
_@
  a@
p@
  ~  r@
DA
  FA
VA
  ~  XA
fA
  hA
tA
  ~  vA
DB
  FB
RB
  ~  TB
`B
  bB
lB
  ~  nB
~B
  @C
NC
  ~  PC
[C
  ]C
fC
  ~  hC
wC
  yC
FD
  ~  HD
[D
  ]D
nD
  ~  pD
EE
  GE
ZE
  ~  \E
eE
  gE
nE
  ~  pE
GF
  IF
^F
  ~  `F
hF
  jF
pF
  ~  rF
{F
  }F
DG
  ~  FG
QG
  SG
\G
  ~  ^G
oG
  qG
@H
  ~  BH
UH
  WH
hH
  ~  jH
xH
  zH
FI
  ~  HI
^I
  `I
tI
  ~  vI
KJ
  MJ
`J
  ~  bJ
vJ
  xJ
JK
  ~  LK
]K
  _K
nK
  ~  pK
JL
  LL
dL
  ~  fL
xL
  zL
JM
  ~  LM
gM
  iM
BN
  ~  DN
QN
  SN
^N
  ~  `N
tN
  vN
HO
  ~  JO
[O
  ]O
lO
  ~  nO
@P
  BP
RP
  ~  TP
cP
  eP
rP
  ~  tP
CQ
  EQ
RQ
  ~  TQ
cQ
  eQ
rQ
  ~  tQ
AR
  CR
NR
  ~  PR
`R
  bR
pR
  ~  rR
CS
  ES
TS
  ~  VS
oS
  qS
HT
  ~  JT
WT
  YT
dT
  ~  fT
{T
  }T
PU
  ~  RU
]U
  _U
hU
  ~  jU
tU
  vU
~U
  ~  @V
LV
  NV
XV
  ~  ZV
nV
  pV
BW
  ~  DW
PW
  RW
\W
  ~  ^W
nW
  pW
~W
  ~  @X
WX
  YX
nX
  ~  pX
X
  AY
NY
  ~  PY
`Y
  bY
pY
  ~  rY
AZ
  CZ
PZ
  ~  RZ
iZ
  kZ
@[
  ~  B[
[[
  ][
t[
  ~  v[
@\
  B\
J\
  ~  L\
X\
  Z\
d\
  ~  f\
A]
  C]
\]
  ~  ^]
p]
  r]
B^
  ~  D^
M^
  O^
V^
  ~  X^
d^
  f^
p^
  ~  r^
B_
  D_
R_
  ~  T_
a_
  c_
n_
  ~  p_
C`
  E`
V`
  ~  X`
i`
  k`
z`
  ~  |`
Ga
  Ia
Ra
  ~  Ta
`a
  ba
la
  ~  na
|a
  ~a
Jb
  ~  Lb
[b
  ]b
jb
  ~  lb
b
  Ac
Rc
  ~  Tc
ac
  cc
nc
  ~  pc
}c
  c
Jd
  ~  Ld
ad
  cd
vd
  ~  xd
De
  Fe
Pe
  ~  Re
^e
  `e
je
  ~  le
Df
  Ff
\f
  ~  ^f
zf
  |f
Vg
  ~  Xg
kg
  mg
~g
  ~  @h
Hh
  Jh
Ph
  ~  Rh
\h
  ^h
fh
  ~  hh
oh
  qh
vh
  ~  xh
Hi
  Ji
Xi
  ~  Zi
ki
  mi
|i
  ~  ~i
Nj
  Pj
^j
  ~  `j
gj
  ij
nj
  ~  pj
wj
  yj
~j
  ~  @k
Gk
  Ik
Nk
  ~  Pk
Wk
  Yk
^k
  ~  `k
kk
  mk
vk
  ~  xk
Ol
  Ql
fl
  ~  hl
sl
  ul
~l
  ~  @m
Om
  Qm
^m
  ~  `m
nm
  pm
|m
  ~  ~m
Sn
  Un
hn
  ~  jn
sn
  un
|n
  ~  ~n
Go
  Io
Po
  ~  Ro
ao
  co
po
  ~  ro
yo
  {o
@p
  ~  Bp
Ip
  Kp
Pp
  ~  Rp
bp
  dp
rp
  ~  tp
p
  Aq
Jq
  ~  Lq
\q
  ^q
lq
  ~  nq
wq
  yq
@r
  ~  Br
Or
  Qr
\r
  ~  ^r
or
  qr
@s
  ~  Bs
Is
  Ks
Ps
  ~  Rs
is
  ks
@t
  ~  Bt
Rt
  Tt
bt
  ~  dt
rt
  tt
@u
  ~  Bu
Iu
  Ku
Pu
  ~  Ru
_u
  au
lu
  ~  nu
wu
  yu
@v
  ~  Bv
Kv
  Mv
Tv
  ~  Vv
gv
  iv
xv
  ~  zv
Kw
  Mw
\w
  ~  ^w
jw
  lw
vw
  ~  xw
w
  Ax
Fx
  ~  Hx
Ux
  Wx
bx
  ~  dx
tx
  vx
Dy
  ~  Fy
Uy
  Wy
dy
  ~  fy
ty
  vy
Bz
  ~  Dz
Nz
  Pz
Xz
  ~  Zz
fz
  hz
rz
  ~  tz
|z
  ~z
D{
  ~  F{
T{
  V{
b{
  ~  d{
q{
  s{
~{
  ~  @|
Q|
  S|
b|
  ~  d|
t|
  v|
D}
  ~  F}
X}
  Z}
j}
  ~  l}
t}
  v}
|}
  ~  ~}
Q~
  S~
d~
  ~  f~
s~
  u~
@
  ~  B
Q
  S
`
  ~  b
u
  w
H@  ~  J@]@  _@p@  ~  r@CA  EATA  ~  VAbA  dAnA  ~  pA}A  AJB  ~  LBXB  ZBdB  ~  fBuB  wBDC  ~  FCSC  UC`C  ~  bCmC  oCxC  ~  zCDD  FDND  ~  PDYD  [DbD  ~  dDuD  wDFE  ~  HERE  TE\E  ~  ^EtE  vEJF  ~  LFZF  \FhF  ~  jF|F  ~FNG  ~  PGcG  eGvG  ~  xGKH  MH^H  ~  `HlH  nHxH  ~  zHLI  NI^I  ~  `ImI  oIzI  ~  |IIJ  KJVJ  ~  XJiJ  kJzJ  ~  |JIK  KKVK  ~  XKfK  hKtK  ~  vKK  ALHL  ~  JLUL  WL`L  ~  bLsL  uLDM  ~  FMRM  TM^M  ~  `MkM  mMvM  ~  xMNN  PNdN  ~  fNDO  FObO  ~  dOsO  uOBP  ~  DPQP  SP^P  ~  `PpP  rP@Q  ~  BQUQ  WQhQ  ~  jQqQ  sQxQ  ~  zQCR  ERLR  ~  NR]R  _RlR  ~  nRFS  HS^S  ~  `SnS  pS|S  ~  ~SPT  RTbT  ~  dTqT  sT~T  ~  @UQU  SUbU  ~  dUtU  vUDV  ~  FVQV  SV\V  ~  ^ViV  kVtV  ~  vV@W  BWJW  ~  LWaW  cWvW  ~  xWQX  SXjX  ~  lXEY  GY^Y  ~  `YtY  vYHZ  ~  JZZZ  \ZjZ  ~  lZwZ  yZB[  ~  D[U[  W[f[  ~  h[{[  }[N\  ~  P\]\  _\j\  ~  l\z\  |\H]  ~  J]\]  ^]n]  ~  p]D^  F^X^  ~  Z^j^  l^z^  ~  |^F_  H_P_  ~  R_`_  b_n_  ~  p__  A`N`  ~  P`]`  _`j`  ~  l`z`  |`Ha  ~  JaVa  Xaba  ~  dana  paxa  ~  zaCb  EbLb  ~  Nb_b  abpb  ~  rbBc  DcRc  ~  Tccc  ecrc  ~  tc}c  cFd  ~  HdSd  Ud^d  ~  `dkd  mdvd  ~  xdGe  IeVe  ~  Xeie  keze  ~  |eMf  Of^f  ~  `fkf  mfvf  ~  xfHg  JgXg  ~  Zgig  kgxg  ~  zgNh  Phbh  ~  dhwh  yhJi  ~  LiUi  Wi^i  ~  `ili  nixi  ~  ziKj  Mj\j  ~  ^jjj  ljvj  ~  xjCk  EkNk  ~  PkZk  \kdk  ~  fkok  qkxk  ~  zkCl  ElLl  ~  Nl\l  ^ljl  ~  ll@m  BmTm  ~  Vm`m  bmjm  ~  lmzm  |mHn  ~  JnTn  Vn^n  ~  `non  qn~n  ~  @oXo  Zopo  ~  roCp  EpTp  ~  Vpip  kp|p  ~  ~pOq  Qq`q  ~  bqlq  nqvq  ~  xqq  ArFr  ~  HrSr  Ur^r  ~  `rqr  srBs  ~  DsPs  Rs\s  ~  ^sws  ysPt  ~  Rtct  ettt  ~  vtJu  Lu^u  ~  `uou  qu~u  ~  @vSv  Uvfv  ~  hv{v  }vNw  ~  Pw_w  awnw  ~  pwDx  FxXx  ~  Zxjx  lxzx  ~  |xQy  Syfy  ~  hyCz  Ez^z  ~  `zpz  rz@{  ~  B{O{  Q{\{  ~  ^{p{  r{B|  ~  D|X|  Z|l|  ~  n|}|  |L}  ~  N}Y}  [}d}  ~  f}z}  |}N~  ~  P~a~  c~r~  ~  t~|~  ~~D  ~  FR  T^  ~  `m  oz  ~  |E@  G@N@  ~  P@\@  ^@h@  ~  j@s@  u@|@  ~  ~@EA  GALA  ~  NAXA  ZAbA  ~  dArA  tA@B  ~  BBNB  PBZB  ~  \BeB  gBnB  ~  pBB  ACNC  ~  PC\C  ^ChC  ~  jCyC  {CHD  ~  JDYD  [DhD  ~  jDxD  zDFE  ~  HESE  UE^E  ~  `EvE  xELF  ~  NFWF  YF`F  ~  bFlF  nFvF  ~  xFIG  KGZG  ~  \GeG  gGnG  ~  pGBH  DHTH  ~  VHaH  cHlH  ~  nH~H  @INI  ~  PI[I  ]IfI  ~  hIrI  tI|I  ~  ~IEJ  GJLJ  ~  NJZJ  \JfJ  ~  hJnJ  pJtJ  ~  vJ@K  BKJK  ~  LKZK  \KhK  ~  jKzK  |KJL  ~  LLZL  \LhL  ~  jLsL  uL|L  ~  ~LMM  OM\M  ~  ^MfM  hMnM  ~  pM}M  MJN  ~  LNXN  ZNdN  ~  fNmN  oNtN  ~  vN}N  NDO  ~  FOOO  QOXO  ~  ZOaO  cOhO  ~  jOsO  uO|O  ~  ~OKP  MPXP  ~  ZPmP  oP@Q  ~  BQLQ  NQVQ  ~  XQfQ  hQtQ  ~  vQBR  DRNR  ~  PRYR  [RbR  ~  dRkR  mRrR  ~  tR|R  ~RDS  ~  FSVS  XSfS  ~  hSxS  zSHT  ~  JTYT  [ThT  ~  jTrT  tTzT  ~  |THU  JUTU  ~  VU`U  bUjU  ~  lUwU  yUBV  ~  DVMV  OVVV  ~  XVjV  lV|V  ~  ~VRW  TWfW  ~  hWtW  vW@X  ~  BXTX  VXfX  ~  hX|X  ~XPY  ~  RYcY  eYtY  ~  vYDZ  FZRZ  ~  TZjZ  lZ@[  ~  B[O[  Q[\[  ~  ^[k[  m[x[  ~  z[M\  O\`\  ~  b\t\  v\F]  ~  H]S]  U]^]  ~  `]i]  k]r]  ~  t]A^  C^N^  ~  P^`^  b^p^  ~  r^{^  }^D_  ~  F_P_  R_Z_  ~  \_g_  i_r_  ~  t_E`  G`V`  ~  X`d`  f`p`  ~  r`@a  BaNa  ~  PaZa  \ada  ~  fata  vaBb  ~  DbTb  Vbdb  ~  fbtb  vbBc  ~  DcSc  Ucbc  ~  dcmc  ocvc  ~  xcFd  HdTd  ~  Vdgd  idxd  ~  zdFe  HeRe  ~  Tece  eere  ~  teAf  CfNf  ~  Pfcf  efvf  ~  xf@g  BgHg  ~  Jg[g  ]glg  ~  ngyg  {gDh  ~  FhOh  QhXh  ~  Zhah  chhh  ~  jhth  vh~h  ~  @iSi  Uifi  ~  hiwi  yiFj  ~  HjSj  Uj^j  ~  `jpj  rj@k  ~  BkKk  MkTk  ~  Vkak  cklk  ~  nkzk  |kFl  ~  HlZl  \lll  ~  nlAm  CmTm  ~  Vmbm  dmnm  ~  pmBn  DnTn  ~  Vnin  kn|n  ~  ~nGo  IoPo  ~  Ro\o  ^ofo  ~  hovo  xoDp  ~  FpMp  OpTp  ~  Vpcp  eppp  ~  rp}p  pHq  ~  JqQq  SqXq  ~  Zqmq  oq@r  ~  BrMr  OrXr  ~  Zrhr  jrvr  ~  xrr  AsFs  ~  HsOs  QsVs  ~  Xsas  csjs  ~  lsvs  xs@t  ~  BtPt  Rt^t  ~  `ttt  vtHu  ~  Jucu  eu|u  ~  ~uPv  Rvbv  ~  dvkv  mvrv  ~  tvAw  CwNw  ~  Pw_w  awnw  ~  pw~w  @xLx  ~  NxXx  Zxbx  ~  dxtx  vxDy  ~  Fy^y  `yvy  ~  xyGz  IzVz  ~  Xziz  kzzz  ~  |zI{  K{V{  ~  X{a{  c{j{  ~  l{y{  {{F|  ~  H|V|  X|d|  ~  f|q|  s|||  ~  ~|I}  K}T}  ~  V}e}  g}t}  ~  v}H~  J~Z~  ~  \~l~  n~|~  ~  ~~Q  Sd  ~  fw  yH@  ~  J@T@  V@^@  ~  `@l@  n@x@  ~  z@BA  DAJA  ~  LAYA  [AfA  ~  hAqA  sAzA  ~  |AIB  KBVB  ~  XBjB  lB|B  ~  ~BOC  QC`C  ~  bClC  nCvC  ~  xCJD  LD\D  ~  ^DD  AE`E  ~  bE|E  ~EVF  ~  XFkF  mF~F  ~  @GVG  XGlG  ~  nGDH  FHZH  ~  \HoH  qHBI  ~  DIUI  WIfI  ~  hI{I  }INJ  ~  PJ\J  ^JhJ  ~  jJ~J  @KRK  ~  TKaK  cKnK  ~  pKAL  CLRL  ~  TL`L  bLlL  ~  nL~L  @MNM  ~  PMZM  \MdM  ~  fMnM  pMvM  ~  xMCN  ENNN  ~  PNcN  eNvN  ~  xNFO  HOTO  ~  VOcO  eOpO  ~  rOAP  CPPP  ~  RPcP  ePtP  ~  vPBQ  DQNQ  ~  PQ`Q  bQpQ  ~  rQ}Q  QHR  ~  JRRR  TRZR  ~  \ReR  gRnR  ~  pRwR  yR~R  ~  @SRS  TSdS  ~  fSuS  wSDT  ~  FTTT  VTbT  ~  dTxT  zTLU  ~  NUiU  kUDV  ~  FVaV  cV|V  ~  ~VUW  WWlW  ~  nWBX  DXVX  ~  XXgX  iXvX  ~  xXNY  PYdY  ~  fYrY  tY~Y  ~  @ZIZ  KZRZ  ~  TZdZ  fZtZ  ~  vZC[  E[P[  ~  R[][  _[h[  ~  j[{[  }[L\  ~  N\\\  ^\j\  ~  l\|\  ~\L]  ~  N]a]  c]t]  ~  v]H^  J^Z^  ~  \^q^  s^F_  ~  H_S_  U_^_  ~  `_o_  q_~_  ~  @`N`  P`\`  ~  ^`o`  q`@a  ~  BaKa  MaTa  ~  Vaca  eapa  ~  raAb  CbPb  ~  Rblb  nbFc  ~  Hc]c  _crc  ~  tcFd  HdXd  ~  Zded  gdpd  ~  rdLe  Nefe  ~  heAf  CfZf  ~  \ftf  vfLg  ~  Ngag  cgtg  ~  vgLh  Nhbh  ~  dhyh  {hNi  ~  Piai  ciri  ~  tiHj  Jj\j  ~  ^jyj  {jTk  ~  Vknk  pkFl  ~  HlVl  Xldl  ~  fl|l  ~lRm  ~  Tmkm  mmBn  ~  DnYn  [nnn  ~  pnEo  GoZo  ~  \oko  mozo  ~  |oMp  Op^p  ~  `pnp  pp|p  ~  ~pEq  GqLq  ~  Nq^q  `qnq  ~  pqyq  {qBr  ~  DrNr  PrXr  ~  Zrdr  frnr  ~  pr~r  @sLs  ~  Ns^s  `sns  ~  psDt  FtXt  ~  Ztbt  dtjt  ~  ltzt  |tHu  ~  JuUu  Wu`u  ~  bumu  ouxu  ~  zuNv  Pvbv  ~  dvqv  sv~v  ~  @wTw  Vwhw  ~  jwsw  uw|w  ~  ~wNx  Px^x  ~  `xtx  vxHy  ~  fy~y  Pz\z  kztz  L{^{  {{R|  h|x|  K}X}  p}B~  N~T~  `~f~  u~~~  ~r   