
    V|h^!                     ^    S SK r SSKJr  SSKJr  SSKJrJr  SSKJ	r	J
r
Jr   " S S	\5      rg)
    N   )InfoExtractor)	KalturaIE   )HEADRequestRequest)remove_startsmuggle_urlurlencode_postdatac                       \ rS rSrSrSrSrSSSSS	S
S.S.SSSSSS.SS0S.SSSSSSS.SS.SSS.SSS S	S!S"S#.S.S$S%S	S&S'.S(.S)S*S+S	S,S.S(.S-S.S	S/S0S1S2S3.S4S50S.S6S7S	S8S9S2S:S;.SS0S.S<SS./
rS= rS> r	S?r
g@)A
GDCVaultIE	   FzGhttps?://(?:www\.)?gdcvault\.com/play/(?P<id>\d+)(?:/(?P<name>[\w-]+))?gdcvaultzDhttp://www.gdcvault.com/play/1019721/Doki-Doki-Universe-Sweet-Simple 7ce8388f544c88b7ac11c7ab1b593704201311826596_AWNYzDoki-Doki-Universe-Sweet-Simplemp4z;Doki-Doki Universe: Sweet, Simple and Genuine (GDC Next 10))id
display_idexttitle)urlmd5	info_dictz>http://www.gdcvault.com/play/1015683/Embracing-the-Dark-Art-of201203272_1330951438328RSXRzEmbracing-the-Dark-Art-offlvz5Embracing the Dark Art of Mathematical Modeling in AIskip_downloadT)r   r   paramsz@http://www.gdcvault.com/play/1015301/Thexder-Meets-Windows-95-or a5eb77996ef82118afbbe8e48731b98e1015301zThexder-Meets-Windows-95-orzNThexder Meets Windows 95, or Writing Great Games in the Windows 95 EnvironmentzRequires login)r   r   r   skipz!http://gdcvault.com/play/1020791/)r   only_matchingzChttp://gdcvault.com/play/1023460/Tenacious-Design-and-The-Interface a8efb6c31ed06ca8739294960b2dbabd840376_BQRCz"Tenacious-Design-and-The-Interfacez/Tenacious Design and The Interface of 'Destiny')r   r   r   r   z@http://www.gdcvault.com/play/1014631/Classic-Game-Postmortem-PAC12396_1299111843500GMPXzCHow to Create a Good Game - From My Experience of Designing Pac-Man)r   r   r   )r   r   z=http://www.gdcvault.com/play/1435/An-American-engine-in-Tokyo9350_1238021887562UHXBzAn-American-engine-in-TokyozdAn American Engine in Tokyo:/nThe collaboration of Epic Games and Square Enix/nFor THE LAST REMINANTzChttps://www.gdcvault.com/play/1026180/Mastering-the-Apex-of-Scaling
0_h1fg8j3pzCMastering the Apex of Scaling Game Servers (Presented by Multiplay)iJ\20190404zjoe@blazestreaming.com)r   r   r   	timestampupload_dateuploader_idformatzmp4-408z%https://www.gdcvault.com/play/1025699
0_zagynv0azTech Toolbox20190408iUӫ\)r   r   r   r)   r*   r(   z?http://www.gdcvault.com/play/1014846/Conference-Keynote-Shigeruc                    U R                  5       u  p4Ub  Uc  U R                  SU-   S-   5        g [        R                  " SU5      nUR	                  S5      S-   nUR	                  S5      S-   nUUS.n[        U[        U5      5      n	SU	R                  S	'   U R                  XS
5        U R                  XS5      n
U R                  XrS5        U
$ )NzIt looks like zH requires a login. Try specifying a username and password and try again.z(?P<root_url>https?://.*?/).*root_urlzapi/login.phplogout)emailpasswordz!application/x-www-form-urlencodedzContent-Typez
Logging inz Getting authenticated video pagezLogging out)	_get_login_inforeport_warningrematchgroupr   r   headers_download_webpage)selfwebpage_urlr   usernamer2   mobj	login_url
logout_url
login_formrequest
start_pages              S/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/gdcvault.py_loginGDCVaultIE._loginz   s    !113x/ 0; >  BL  !L  Mxx8+FJJz*_<	ZZ
+h6
  


 )%7
%CD*M'wLA++KEgh
z}E    c                 J   U R                  U5      R                  5       u  p#U=(       d    UnSU-   nU R                  XT5      nU R                  SUSS S9nU(       aD  U R	                  SUS5      nSU-   n	U R                  [        U	5      U5      R                  n	UUU	US.$ [        R                  " U5      n
U
(       a  [        U
S	U05      n
S
nOSnU R	                  XSS S9nUc:  U R                  XT5      nUc  U R                  S5        OUnU R	                  XS5      nU R	                  SUSS S9nU(       d]  U R                  XU5      S   nUR                  [        U R                  SUSS S9=(       d    U R!                  US S9S5      UUS.5        U$ U SU 3n
SnSUUU
US.$ )Nzhttp://www.gdcvault.com/play/z>s1\.addVariable\("file",\s*encodeURIComponent\("(/[^"]+)"\)\);r   )defaultz9<td><strong>Session Name:?</strong></td>\s*<td>(.*?)</td>r   zhttp://www.gdcvault.com)r   r   r   r   
source_urlKalturazG<iframe src="(?P<xml_root>.+?)/(?:gdc-)?player.*?\.html.*?".*?</iframe>zxml rootzCould not login.z=<iframe src=".*?\?xml(?:=|URL=xml/)(.+?\.xml).*?".*?</iframe>zxml filenamer   z'>Session Name:\s*<.*?>\s*<td>(.+?)</td>zGDC Vault - )r   r   r   z/xml/DigitallySpeakingurl_transparent)_typer   r   r   ie_key)_match_valid_urlgroupsr9   _search_regex_html_search_regex_request_webpager   r   r   _extract_urlr
   rD   r4   _parse_html5_media_entriesupdater	   _og_search_title)r:   r   video_idnamer   r;   rB   
direct_urlr   	video_url	embed_urlrN   PLAYER_REGEXxml_root	login_resxml_nameinfos                    rC   _real_extractGDCVaultIE._real_extract   s'   ..s3::<%X
5@++KD
''Mt ( -
 ++LG%E 2J>I--I&225#  ( 	  **:6	#Ic/BCIFeL..*d / DH KK@	$''(:;!*J#66$* >H ..PND / :H 66sQRST)$*<*<BJ += +/ +2262G2G"D 3H 323AC #",  #*E(4I(F '$
 	
rF    N)__name__
__module____qualname____firstlineno___WORKING
_VALID_URL_NETRC_MACHINE_TESTSrD   rb   __static_attributes__rd   rF   rC   r   r   	   s[   H[JN Z5)?V			
 T39P	  	
 V5;i	 %
	
 7!	
 Y5#BL		
	
 V/^	
 S.;			
 Y"^')7 )	
" ;"')7'  	
" U!	
MkFZ.E
rF   r   )r5   commonr   kalturar   
networkingr   r   utilsr	   r
   r   r   rd   rF   rC   <module>rr      s%    	 !  - A AM
 M
rF   