Ë
    š„j#*  ã                   ón   — d dl Z ddlmZ ddlmZmZmZ  G d„ de«      Z G d„ d	e«      Z G d
„ de«      Z	y)é    Né   )ÚInfoExtractoré   )ÚExtractorErrorÚfloat_or_noneÚtry_getc                   ó´  — e Zd ZdZdZdZddddddddddd	œ
Zdd
dddddœZdj                  dj                  ej                  «       «      dj                  ej                  «       «      «      Zddddddddddedœ	dœddd d!d"dd#d$d%edœ	d&d'id(d)œd*d+dd,d-dd.d/d0edœ	d&d'id1œd2d3d4dd5d6d7d8d9ed:œd&d'id;œd<d'd=œd>d'd=œd?d'd=œd@d'd=œdAd'd=œdBd'd=œdCd'd=œdDd'd=œdEd'd=œgZdF„ ZyG)HÚVGTVIEFz,VGTV, BTTV, FTV, Aftenposten and AftonbladetÚvgtvÚbttvÚsatvÚfvntvÚaptvÚabtv)
ztv.vg.nozvgtv.nozbt.no/tvzaftenbladet.no/tvzfvn.no/fvntvzaftenposten.no/webtvzap.vgtv.no/webtvztv.aftonbladet.seztv.aftonbladet.se/abtvzwww.aftonbladet.se/tvÚbtÚsaÚfvnÚapÚab)r   r   r   r   r   r   aË  (?x)
                    (?:https?://(?:www\.)?
                    (?P<host>
                        {}
                    )
                    /?
                    (?:
                        (?:\#!/)?(?:video|live)/|
                        embed?.*id=|
                        a(?:rticles)?/
                    )|
                    (?P<appname>
                        {}
                    ):)
                    (?P<id>\d+)
                    ú|z?http://www.vgtv.no/#!/video/84196/hevnen-er-soet-episode-10-abuÚ b8be7a234cebb840c0d512c78013e02fÚ84196Úmp4u    Hevnen er sÃ¸t: Episode 10 - Abuz$md5:e25e4badb5f544b04341e14abdc72234úre:^https?://.*\.jpgg     @„@iàå¸SÚ20140706©	ÚidÚextÚtitleÚdescriptionÚ	thumbnailÚdurationÚ	timestampÚupload_dateÚ
view_count©ÚurlÚmd5Ú	info_dictzHhttp://www.vgtv.no/#!/live/100764/opptak-vgtv-foelger-em-kvalifiseringenÚ100764Úflvu'   OPPTAK: VGTV fÃ¸lger EM-kvalifiseringenz$md5:3772d9c0dc2dff92a886b60039a7d4d3g    €ÇÁ@iH¡TÚ20140907Úskip_downloadTzVideo is no longer available)r'   r)   ÚparamsÚskipz:http://www.vgtv.no/#!/live/113063/direkte-v75-fra-solvallaÚ113063zV75 fra Solvalla 30.05.15z$md5:b3743425765355855f88e096acc93231ine  iÞxiUÚ20150530)r'   r)   r.   zVhttp://www.aftenposten.no/webtv/#!/video/21039/trailer-sweatshop-i-can-t-take-any-moreÚ fd828cd29774a729bf4d4425fe192972Ú21039u/   TRAILER: Â«SWEATSHOPÂ» - I canÂ´t take any morez$md5:21891f2b0dd7ec2f78d84a50e54f8238éB   iÔ½uTÚ20141126)r   r   r   r    r"   r#   r$   r%   )r'   r(   r)   r.   z7https://tv.vg.no/video/241779/politiets-ekstremkjoering)r'   Úonly_matchingz^http://www.bt.no/tv/#!/video/100250/norling-dette-er-forskjellen-paa-1-divisjon-og-eliteserienzihttp://ap.vgtv.no/webtv#!/video/111084/de-nye-bysyklene-lettere-bedre-gir-stoerre-hjul-og-feste-til-mobilzAhttp://www.vgtv.no/#!/video/127205/inside-the-mind-of-favela-funkzUhttps://tv.aftonbladet.se/video/36015/vulkanutbrott-i-rymden-nu-slapper-nasa-bildernaz,http://tv.aftonbladet.se/abtv/articles/36015z%https://www.aftonbladet.se/tv/a/36015zabtv:140026z<http://www.vgtv.no/video/84196/hevnen-er-soet-episode-10-abuc                 ó  — | j                  |«      }|j                  d«      }|j                  d«      }|r| j                  |   n|j                  d«      }| j                  |   }| j	                  d|› d|› d|› d�|d«      }|j                  d	«      d
k(  rt        d|› d�d¬«      ‚dg i}t        |«      dk(  r|dk(  r| j                  d|«      }|d   }	|j                  d«      }
|
dk(  }g }|	j                  d«      }|r&|j                  | j                  ||d|dd¬«      «       |	j                  d«      }|rJd}| j                  |d|› �z   |dd¬«      }|r+|D ]&  }|j                  d|i«       |j                  |«       Œ( |	j                  d«      xs g }|	j                  d«      }|r|j                  |«       |D ]’  }d |i}t        j                  d!|«      }|rct!        |j                  d"«      «      }|j                  t!        |j                  d#«      «      t!        |j                  d$«      «      |d%|› �d&œ«       |j                  |«       Œ” |d   j                  |«       |d   s]t#        |d'„ t$        «      }|rId(|v rE| j'                  |j)                  d)«      d*   j+                  d+«      d,   j-                  «       g¬-«      ‚|j                  ||d.   |d/   |d0   d1   d2z   |d3   t/        |d4   d5«      |d6   |d7œ«       |S )8Nr   ÚhostÚappnamezhttp://svp.vg.no/svp/api/v1/z/assets/z	?appName=z-websitezDownloading media JSONÚstatusÚinactivezVideo z is no longer availableT)ÚexpectedÚformatsé   r   ÚbtnoÚ
streamUrlsÚ
streamTypeÚliveÚhlsr   F)rB   Úm3u8_idÚfatalÚhdszhdcore=3.7.0ú?)Úf4m_idrE   Úextra_param_to_segment_urlÚpseudostreamingr'   z(\d+)_(\d+)_(\d+)é   r   r   zmp4-)ÚwidthÚheightÚtbrÚ	format_idc                 ó   — | d   d   S )NÚstreamConfigurationÚ
properties© )Úxs    úL/var/www/html/GAP/venv/lib/python3.12/site-packages/yt_dlp/extractor/vgtv.pyú<lambda>z&VGTVIE._real_extract.<locals>.<lambda>ë   s   €  Ð"7Ñ 8¸Ñ F€ ó    Ú
geoblockedú.éÿÿÿÿú/r   )Ú	countriesr   r    ÚimagesÚmainz?t[]=900x506q80Ú	publishedr"   iè  Údisplays)r   r   r    r!   r#   r"   r%   Úis_live)Ú_match_valid_urlÚgroupÚ_HOST_TO_APPNAMEÚ_APP_NAME_TO_VENDORÚ_download_jsonÚgetr   ÚlenÚ_extract_video_infoÚextendÚ_extract_m3u8_formatsÚ_extract_f4m_formatsÚupdateÚappendÚreÚsearchÚintr   ÚlistÚraise_geo_restrictedÚ
rpartitionÚ	partitionÚupperr   )Úselfr'   ÚmobjÚvideo_idr8   r9   ÚvendorÚdataÚinfoÚstreamsÚstream_typera   r=   Úhls_urlÚhds_urlÚhdcore_signÚf4m_formatsÚentryÚmp4_urlsÚmp4_urlÚformat_inforN   rR   s                          rU   Ú_real_extractzVGTVIE._real_extract©   sk  € Ø×$Ñ$ SÓ)ˆØ—:‘:˜dÓ#ˆØ�z‰z˜&Ó!ˆÙ15�$×'Ñ'¨Ò-¸4¿:¹:ÀiÓ;PˆØ×)Ñ)¨'Ñ2ˆà×"Ñ"Ø*¨6¨(°(¸8¸*ÀIÈgÈYÐV^Ð_ØÐ.ó0ˆð �8‰8�HÓ Ò+Ü Ø˜˜
Ð"9Ð:ÀTôKð Kð �rð
ˆô ˆx‹=˜AÒØ˜&Ò Ø×/Ñ/°¸ÓA�à�|Ñ$ˆØ—h‘h˜|Ó,ˆØ Ñ'ˆØˆà—+‘+˜eÓ$ˆÙØ�N‰N˜4×5Ñ5Ø˜ 5¨wÀÈUð 6ó Tô Uð —+‘+˜eÓ$ˆÙØ(ˆKØ×3Ñ3Ø˜A˜k˜]Ð+Ñ+¨X¸eÈ5ð 4ó RˆKáØ(ò *�Eà—L‘LÐ">ÀÐ!LÔMØ—N‘N 5Õ)ð*ð
 —;‘;Ð0Ó1Ò7°RˆØ—+‘+˜eÓ$ˆÙØ�O‰O˜GÔ$Øò 	(ˆGà�wðˆKô —9‘9Ð1°7Ó;ˆDÙÜ˜$Ÿ*™* Q›-Ó(�Ø×"Ñ"Ü  §¡¨A£Ó/Ü! $§*¡*¨Q£-Ó0ØØ#'¨ u ñ	$ô ð �N‰N˜;Õ'ð	(ð 	ˆY‰×Ñ˜wÔ'à�IŠÜ ØÑFÌóNˆJá˜l¨jÑ8Ø×/Ñ/Ø#Ÿ™¨sÓ3°BÑ7×AÑAÀ#ÓFÀqÑI×OÑOÓQÐRð 0ó Tð Tð 	�‰ØØ˜'‘]Ø Ñ.Ø˜h™¨Ñ/Ð2CÑCØ˜kÑ*Ü% d¨:Ñ&6¸Ó=Ø˜zÑ*Øñ	
ô 		ð ˆrW   N)Ú__name__Ú
__module__Ú__qualname__Ú_WORKINGÚIE_DESCÚ_GEO_BYPASSrd   re   ÚformatÚjoinÚkeysÚ
_VALID_URLrq   Ú_TESTSr‡   rS   rW   rU   r
   r
      s÷  „ Ø€HØ<€GØ€Kð ØØØ#ØØ &Ø"Ø#à"(Ø!'ñÐð ØØØØØñÐð÷ ™˜sŸx™xÐ(8×(=Ñ(=Ó(?Ó@À#Ç(Á(ÐK^×KcÑKcÓKeÓBfÓgð ð( UØ5àØØ;ØEØ4Ø#Ø'Ø)Ø!ñ
ñ		
ð$ ^àØØBØEØ4Ø"Ø'Ø)Ø!ñ
ð   ðð 3ñ%	
ð, PàØØ4ØEØ4Ø!Ø'Ø)Ø!ñ
ð   ðñ	
ð( lØ5àØØJØEØØ'Ø)Ø!ñ	ð   ðñ	
ð& MØ!ñ	
ð
 tØ!ñ	
ð
 Ø!ñ	
ð WØ!ñ	
ð kØ!ñ	
ð
 BØ!ñ	
ð
 ;Ø!ñ	
ð
 !Ø!ñ	
ð
 RØ!ñ	
ðWo€FóbQrW   r
   c                   ó>   — e Zd ZdZdZdZdddddd	d
dddedœ	dœZd„ Zy)ÚBTArticleIEz
bt:articlezBergens Tidende Articlesz<https?://(?:www\.)?bt\.no/(?:[^/]+/)+(?P<id>[^/]+)-\d+\.htmlzChttp://www.bt.no/nyheter/lokalt/Kjemper-for-internatet-1788214.htmlÚ 2acbe8ad129b3469d5ae51b1158878dfÚ23199r   zAlrekstad internatz$md5:dc81a9056c874fedb62fc48a300dac58r   é¿   i›´ãLÚ20101117r   r&   c                 ó”   — | j                  || j                  |«      «      }| j                  d|d«      }| j                  d|› �d«      S )Nz<video[^>]+data-id="(\d+)"zvideo idúbttv:ÚVGTV)Ú_download_webpageÚ	_match_idÚ_search_regexÚ
url_result)rw   r'   Úwebpagery   s       rU   r‡   zBTArticleIE._real_extract  sM   € Ø×(Ñ(¨¨d¯n©n¸SÓ.AÓBˆØ×%Ñ%Ø)¨7°Jó@ˆà�‰  x jÐ1°6Ó:Ð:rW   N)	rˆ   r‰   rŠ   ÚIE_NAMErŒ   r‘   rq   Ú_TESTr‡   rS   rW   rU   r”   r”   ý   sC   „ Ø€GØ(€GØP€JàTØ1àØØ)ØAØ0ØØ#Ø%Øñ

ñ€Eó ;rW   r”   c            
       óT   — e Zd ZdZdZdZdddddd	d
ddœddœdddddddddœdœgZd„ Zy)ÚBTVestlendingenIEzbt:vestlendingenzBergens Tidende - Vestlendingenz>https?://(?:www\.)?bt\.no/spesial/vestlendingen/#!/(?P<id>\d+)z/http://www.bt.no/spesial/vestlendingen/#!/86588Ú d7d17e3337dc80de6d3a540aefbe441bÚ86588ÚmovzOtto Wollertsenz%Vestlendingen Otto Fredrik WollertseniùICUÚ20150501)r   r   r   r    r#   r$   z	404 Error)r'   r(   r)   r/   z/http://www.bt.no/spesial/vestlendingen/#!/86255Ú a2893f8632e96389f4bdf36aa9463cebÚ86255u%   Du mÃ¥ tÃ¥le Ã¥ fryse og vÃ¦re sultenz$md5:b8046f4d022d5830ddab04865791d063Ú20150321iGhU)r   r   r   r    r$   r#   r&   c                 óJ   — | j                  d| j                  |«      › �d«      S )Nrš   r›   )rŸ   r�   )rw   r'   s     rU   r‡   zBTVestlendingenIE._real_extract5  s$   € Ø�‰  t§~¡~°cÓ':Ð&;Ð<¸fÓEÐErW   N)rˆ   r‰   rŠ   r¡   rŒ   r‘   r’   r‡   rS   rW   rU   r¤   r¤     sj   „ Ø €GØ/€GØR€Jà@Ø1àØØ&ØBØ#Ø%ñ
ð ñð AØ1àØØ<ØAØ%Ø#ñ
ñð€Fó2FrW   r¤   )
ro   Úcommonr   Úutilsr   r   r   r
   r”   r¤   rS   rW   rU   ú<module>r¯      s>   ðÛ 	å !÷ñ ôoˆ]ô oôd;�-ô ;ô6F˜õ FrW   