U
    g                     @   s(   d dl Z ddlmZ G dd deZdS )    N   )InfoExtractorc                	   @   s   e Zd ZdZdZde de dZdZde e de d	e dZd
e de dde e dgZddddddddidddddddddddddddddd ddd!ddgZ	d"d#dd#d$dddidgZ
d%d& Zd'S )(CloudflareStreamIEz$(?:(?:watch|iframe|customer-\w+)\.)?z<(?:cloudflarestream\.com|(?:videodelivery|bytehighway)\.net)z(?:embed\.|)z%/embed/[^/?#]+\.js\?(?:[^#]+&)?video=z%[\da-f]{32}|eyJ[\w-]+\.[\w-]+\.[\w-]+zhttps?://(?:z/|z)(?P<id>z/<script[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//z(?:z)(?:(?!\1).)*)\1z(<iframe[^>]+\bsrc=["\'](?P<url>https?://z/[\da-f]{32})zchttps://embed.cloudflarestream.com/embed/we4g.fla9.latest.js?video=31c9291ab41fac05471db4e73aa11717Z 31c9291ab41fac05471db4e73aa11717mp4zShttps://videodelivery.net/31c9291ab41fac05471db4e73aa11717/thumbnails/thumbnail.jpg)idexttitle	thumbnailZskip_downloadm3u8)url	info_dictparamszuhttps://watch.cloudflarestream.com/embed/sdk-iframe-integration.fla9.latest.js?video=0e8e040aec776862e1d632a699edf59eZ 0e8e040aec776862e1d632a699edf59ezShttps://videodelivery.net/0e8e040aec776862e1d632a699edf59e/thumbnails/thumbnail.jpg)r   r   zChttps://watch.cloudflarestream.com/9df17203414fd1db3e3ed74abbe936c1T)r   Zonly_matchingzPhttps://cloudflarestream.com/31c9291ab41fac05471db4e73aa11717/manifest/video.mpdz`https://embed.videodelivery.net/embed/r4xu.fla9.latest.js?video=81d80727f3022488598f68d323c1ad5ez^https://customer-aw5py76sw8wyqzmh.cloudflarestream.com/2463f6d3e06fa29710a337f5f5389fd8/iframea;  https://watch.cloudflarestream.com/eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJraWQiOiJmYTA0YjViMzQ2NDkwYTM5NWJiNzQ1NWFhZTA2YzYwZSIsInN1YiI6Ijg4ZDQxMDhhMzY0MjA3M2VhYmFhZjg3ZGExODJkMjYzIiwiZXhwIjoxNjAwNjA5MzE5fQ.xkRJwLGkt0nZ%5F0BlPiwU7iW4pqb4lKkznbKfAhGg0tGcxSS6ZBA3lcTUwu7W%2DyCFbnAl%2Dhqk3Fn%5FqeQS%5FQydP27qTHpB9iIFFsMtk1tqzGZV5v4yrYDnwLSKzEKvVd6QwJnfABtxH2JdpSNuWlMUiVXFxGWgjOw6QeTNDDklTQYXV%5FNLV7sErSn5CeOPeRRkdXb%2D8ip%5FVOcfk1nDsFoOo4fctFtGP0wYMyY5ae8nhhatydHwevuvJCcEvEfh%2D4qjq9mCZOodevmtSQ4YWmggf4BxtWnDWYrGW8Otp6oqezrR8oY4%2DbKdV6PaqBj49aJdcls6xK7PmM8%5Fvjy3xfm0Mgz2https://upride.cc/incident/shoulder-pass-at-light/Z eaef9dea5159cf968be84241b5cedfe7zShttps://videodelivery.net/eaef9dea5159cf968be84241b5cedfe7/thumbnails/thumbnail.jpgc           
      C   s   |  |}d|krdnd}d| d| d}d|krX| t|dd d |d	 }|d
 }| j|d |ddddd\}}| j|d |ddd\}}	|| | j|	|d |||d ||dS )Nzbytehighway.net/zbytehighway.netzvideodelivery.netzhttps:///.r   z===subzmanifest/video.r   r   Zm3u8_nativeZhlsF)Zm3u8_idfatalZmpdZdash)Zmpd_idr   )targetzthumbnails/thumbnail.jpg)r   r	   r
   formats	subtitles)	Z	_match_idZ_parse_jsonbase64urlsafe_b64decodesplitZ#_extract_m3u8_formats_and_subtitlesZ"_extract_mpd_formats_and_subtitlesextendZ_merge_subtitles)
selfr   Zvideo_iddomainbase_urlZmanifest_base_urlr   r   Zfmtssubs r   E/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/cloudflarestream.py_real_extract@   sD    
    
   

z CloudflareStreamIE._real_extractN)__name__
__module____qualname__Z_SUBDOMAIN_REZ
_DOMAIN_REZ	_EMBED_REZ_ID_REZ
_VALID_URLZ_EMBED_REGEXZ_TESTSZ_WEBPAGE_TESTSr    r   r   r   r   r      sh    	$ r   )r   commonr   r   r   r   r   r   <module>   s   