yt-dlp 2025.11.19.232938.dev0__tar.gz → 2025.12.20.232942.dev0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1260) hide show
  1. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/AUTHORS +8 -0
  2. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/Changelog.md +63 -3
  3. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/PKG-INFO +16 -16
  4. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/README.md +12 -12
  5. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/README.txt +21 -18
  6. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/completions/fish/yt-dlp.fish +1 -1
  7. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/changelog_override.json +6 -0
  8. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/install_deps.py +13 -13
  9. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/make_changelog.py +7 -1
  10. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/pyproject.toml +3 -3
  11. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/supportedsites.md +12 -10
  12. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/helper.py +1 -1
  13. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_utils.py +7 -0
  14. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt-dlp.1 +22 -18
  15. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/YoutubeDL.py +4 -0
  16. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/cookies.py +8 -1
  17. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/_extractors.py +8 -6
  18. yt_dlp-2025.12.20.232942.dev0/yt_dlp/extractor/agalega.py +91 -0
  19. yt_dlp-2025.12.20.232942.dev0/yt_dlp/extractor/alibaba.py +42 -0
  20. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/archiveorg.py +40 -12
  21. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bandcamp.py +40 -41
  22. yt_dlp-2025.12.20.232942.dev0/yt_dlp/extractor/digiteka.py +81 -0
  23. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dropbox.py +4 -1
  24. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/fc2.py +4 -0
  25. yt_dlp-2025.12.20.232942.dev0/yt_dlp/extractor/filmarchiv.py +52 -0
  26. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gofile.py +8 -4
  27. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lazy_extractors.py +67 -50
  28. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/loom.py +42 -24
  29. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nebula.py +53 -0
  30. yt_dlp-2025.12.20.232942.dev0/yt_dlp/extractor/netapp.py +79 -0
  31. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/neteasemusic.py +4 -1
  32. yt_dlp-2025.12.20.232942.dev0/yt_dlp/extractor/netzkino.py +60 -0
  33. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nhk.py +104 -199
  34. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/parti.py +15 -21
  35. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/patreon.py +2 -1
  36. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pornhub.py +10 -13
  37. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/s4c.py +7 -6
  38. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sportdeutschland.py +19 -17
  39. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/telecinco.py +34 -18
  40. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tubitv.py +7 -4
  41. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/urplay.py +31 -17
  42. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/wistia.py +11 -3
  43. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/xhamster.py +24 -27
  44. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/yahoo.py +52 -115
  45. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/_base.py +5 -0
  46. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/_tab.py +2 -5
  47. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/_video.py +79 -21
  48. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/ejs.py +3 -1
  49. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/_info.py +1 -1
  50. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/options.py +2 -2
  51. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/postprocessor/ffmpeg.py +2 -2
  52. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/utils/_jsruntime.py +45 -10
  53. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/utils/_utils.py +20 -11
  54. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/version.py +3 -3
  55. yt_dlp-2025.11.19.232938.dev0/yt_dlp/extractor/digiteka.py +0 -98
  56. yt_dlp-2025.11.19.232938.dev0/yt_dlp/extractor/netzkino.py +0 -85
  57. yt_dlp-2025.11.19.232938.dev0/yt_dlp/extractor/nextmedia.py +0 -238
  58. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/.gitignore +0 -0
  59. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/LICENSE +0 -0
  60. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/completions/bash/yt-dlp +0 -0
  61. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/completions/zsh/_yt-dlp +0 -0
  62. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/__init__.py +0 -0
  63. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/bash-completion.in +0 -0
  64. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/bash-completion.py +0 -0
  65. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/changelog_override.schema.json +0 -0
  66. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/check-porn.py +0 -0
  67. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/cli_to_api.py +0 -0
  68. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/fish-completion.in +0 -0
  69. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/fish-completion.py +0 -0
  70. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/generate_aes_testdata.py +0 -0
  71. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/generate_third_party_licenses.py +0 -0
  72. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/lazy_load_template.py +0 -0
  73. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/logo.ico +0 -0
  74. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/make_contributing.py +0 -0
  75. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/make_issue_template.py +0 -0
  76. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/make_lazy_extractors.py +0 -0
  77. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/make_readme.py +0 -0
  78. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/make_supportedsites.py +0 -0
  79. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/prepare_manpage.py +0 -0
  80. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/run_tests.py +0 -0
  81. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/set-variant.py +0 -0
  82. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/setup_variables.py +0 -0
  83. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/setup_variables_tests.py +0 -0
  84. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/tomlparse.py +0 -0
  85. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/update-version.py +0 -0
  86. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/update_changelog.py +0 -0
  87. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/update_ejs.py +0 -0
  88. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/utils.py +0 -0
  89. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/zsh-completion.in +0 -0
  90. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/devscripts/zsh-completion.py +0 -0
  91. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/__init__.py +0 -0
  92. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/conftest.py +0 -0
  93. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/parameters.json +0 -0
  94. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_InfoExtractor.py +0 -0
  95. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_YoutubeDL.py +0 -0
  96. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_YoutubeDLCookieJar.py +0 -0
  97. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_aes.py +0 -0
  98. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_age_restriction.py +0 -0
  99. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_all_urls.py +0 -0
  100. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_cache.py +0 -0
  101. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_compat.py +0 -0
  102. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_config.py +0 -0
  103. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_cookies.py +0 -0
  104. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_devalue.py +0 -0
  105. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_download.py +0 -0
  106. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_downloader_external.py +0 -0
  107. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_downloader_http.py +0 -0
  108. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_execution.py +0 -0
  109. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_http_proxy.py +0 -0
  110. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_iqiyi_sdk_interpreter.py +0 -0
  111. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_jsc/conftest.py +0 -0
  112. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_jsc/test_ejs_integration.py +0 -0
  113. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_jsc/test_provider.py +0 -0
  114. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_jsinterp.py +0 -0
  115. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_netrc.py +0 -0
  116. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_networking.py +0 -0
  117. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_networking_utils.py +0 -0
  118. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_overwrites.py +0 -0
  119. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_plugins.py +0 -0
  120. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_post_hooks.py +0 -0
  121. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_postprocessors.py +0 -0
  122. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_pot/conftest.py +0 -0
  123. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_pot/test_pot_builtin_memorycache.py +0 -0
  124. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_pot/test_pot_builtin_utils.py +0 -0
  125. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_pot/test_pot_builtin_webpospec.py +0 -0
  126. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_pot/test_pot_director.py +0 -0
  127. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_pot/test_pot_framework.py +0 -0
  128. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_socks.py +0 -0
  129. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_subtitles.py +0 -0
  130. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_traversal.py +0 -0
  131. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_update.py +0 -0
  132. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_verbose_output.py +0 -0
  133. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_websockets.py +0 -0
  134. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_youtube_lists.py +0 -0
  135. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/test_youtube_misc.py +0 -0
  136. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testcert.pem +0 -0
  137. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/certificate/ca.crt +0 -0
  138. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/certificate/ca.key +0 -0
  139. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/certificate/ca.srl +0 -0
  140. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/certificate/client.crt +0 -0
  141. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/certificate/client.csr +0 -0
  142. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/certificate/client.key +0 -0
  143. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/certificate/clientencrypted.key +0 -0
  144. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/certificate/clientwithencryptedkey.crt +0 -0
  145. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/certificate/clientwithkey.crt +0 -0
  146. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/certificate/instructions.md +0 -0
  147. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/cookies/httponly_cookies.txt +0 -0
  148. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/cookies/malformed_cookies.txt +0 -0
  149. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/cookies/session_cookies.txt +0 -0
  150. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/f4m/custom_base_url.f4m +0 -0
  151. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/ism/ec-3_test.Manifest +0 -0
  152. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/ism/sintel.Manifest +0 -0
  153. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/m3u8/bipbop_16x9.m3u8 +0 -0
  154. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/m3u8/img_bipbop_adv_example_fmp4.m3u8 +0 -0
  155. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/mpd/float_duration.mpd +0 -0
  156. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/mpd/subtitles.mpd +0 -0
  157. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/mpd/unfragmented.mpd +0 -0
  158. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/mpd/urls_only.mpd +0 -0
  159. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/netrc/netrc +0 -0
  160. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/netrc/print_netrc.py +0 -0
  161. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/plugin_packages/testpackage/yt_dlp_plugins/extractor/package.py +0 -0
  162. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/reload_plugins/yt_dlp_plugins/extractor/normal.py +0 -0
  163. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/reload_plugins/yt_dlp_plugins/postprocessor/normal.py +0 -0
  164. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/thumbnails/foo %d bar/placeholder +0 -0
  165. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/xspf/foo_xspf.xspf +0 -0
  166. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/yt_dlp_plugins/extractor/_ignore.py +0 -0
  167. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/yt_dlp_plugins/extractor/ignore.py +0 -0
  168. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/yt_dlp_plugins/extractor/normal.py +0 -0
  169. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/yt_dlp_plugins/extractor/override.py +0 -0
  170. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/yt_dlp_plugins/extractor/overridetwo.py +0 -0
  171. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/yt_dlp_plugins/postprocessor/normal.py +0 -0
  172. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/zipped_plugins/yt_dlp_plugins/extractor/zipped.py +0 -0
  173. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/test/testdata/zipped_plugins/yt_dlp_plugins/postprocessor/zipped.py +0 -0
  174. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/__init__.py +0 -0
  175. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/__main__.py +0 -0
  176. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/__pyinstaller/__init__.py +0 -0
  177. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/__pyinstaller/hook-yt_dlp.py +0 -0
  178. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/aes.py +0 -0
  179. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/cache.py +0 -0
  180. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/compat/__init__.py +0 -0
  181. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/compat/_deprecated.py +0 -0
  182. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/compat/_legacy.py +0 -0
  183. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/compat/compat_utils.py +0 -0
  184. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/compat/imghdr.py +0 -0
  185. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/compat/shutil.py +0 -0
  186. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/compat/urllib/__init__.py +0 -0
  187. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/compat/urllib/request.py +0 -0
  188. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/dependencies/Cryptodome.py +0 -0
  189. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/dependencies/__init__.py +0 -0
  190. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/__init__.py +0 -0
  191. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/bunnycdn.py +0 -0
  192. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/common.py +0 -0
  193. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/dash.py +0 -0
  194. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/external.py +0 -0
  195. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/f4m.py +0 -0
  196. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/fc2.py +0 -0
  197. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/fragment.py +0 -0
  198. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/hls.py +0 -0
  199. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/http.py +0 -0
  200. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/ism.py +0 -0
  201. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/mhtml.py +0 -0
  202. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/niconico.py +0 -0
  203. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/rtmp.py +0 -0
  204. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/rtsp.py +0 -0
  205. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/websocket.py +0 -0
  206. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/downloader/youtube_live_chat.py +0 -0
  207. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/__init__.py +0 -0
  208. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/abc.py +0 -0
  209. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/abcnews.py +0 -0
  210. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/abcotvs.py +0 -0
  211. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/abematv.py +0 -0
  212. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/academicearth.py +0 -0
  213. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/acast.py +0 -0
  214. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/acfun.py +0 -0
  215. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/adn.py +0 -0
  216. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/adobeconnect.py +0 -0
  217. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/adobepass.py +0 -0
  218. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/adobetv.py +0 -0
  219. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/adultswim.py +0 -0
  220. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/aenetworks.py +0 -0
  221. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/aeonco.py +0 -0
  222. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/afreecatv.py +0 -0
  223. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/agora.py +0 -0
  224. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/airtv.py +0 -0
  225. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/aitube.py +0 -0
  226. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/aliexpress.py +0 -0
  227. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/aljazeera.py +0 -0
  228. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/allocine.py +0 -0
  229. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/allstar.py +0 -0
  230. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/alphaporno.py +0 -0
  231. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/alsace20tv.py +0 -0
  232. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/altcensored.py +0 -0
  233. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/alura.py +0 -0
  234. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/amadeustv.py +0 -0
  235. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/amara.py +0 -0
  236. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/amazon.py +0 -0
  237. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/amazonminitv.py +0 -0
  238. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/amcnetworks.py +0 -0
  239. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/americastestkitchen.py +0 -0
  240. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/amp.py +0 -0
  241. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/anchorfm.py +0 -0
  242. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/angel.py +0 -0
  243. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/antenna.py +0 -0
  244. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/anvato.py +0 -0
  245. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/aol.py +0 -0
  246. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/apa.py +0 -0
  247. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/aparat.py +0 -0
  248. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/appleconnect.py +0 -0
  249. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/applepodcasts.py +0 -0
  250. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/appletrailers.py +0 -0
  251. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/arcpublishing.py +0 -0
  252. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ard.py +0 -0
  253. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/arnes.py +0 -0
  254. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/art19.py +0 -0
  255. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/arte.py +0 -0
  256. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/asobichannel.py +0 -0
  257. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/asobistage.py +0 -0
  258. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/atresplayer.py +0 -0
  259. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/atscaleconf.py +0 -0
  260. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/atvat.py +0 -0
  261. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/audimedia.py +0 -0
  262. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/audioboom.py +0 -0
  263. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/audiodraft.py +0 -0
  264. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/audiomack.py +0 -0
  265. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/audius.py +0 -0
  266. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/awaan.py +0 -0
  267. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/aws.py +0 -0
  268. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/axs.py +0 -0
  269. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/azmedien.py +0 -0
  270. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/baidu.py +0 -0
  271. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/banbye.py +0 -0
  272. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bandlab.py +0 -0
  273. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bannedvideo.py +0 -0
  274. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bbc.py +0 -0
  275. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/beacon.py +0 -0
  276. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/beatbump.py +0 -0
  277. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/beatport.py +0 -0
  278. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/beeg.py +0 -0
  279. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/behindkink.py +0 -0
  280. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/berufetv.py +0 -0
  281. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bet.py +0 -0
  282. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bfi.py +0 -0
  283. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bfmtv.py +0 -0
  284. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bibeltv.py +0 -0
  285. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bigflix.py +0 -0
  286. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bigo.py +0 -0
  287. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bild.py +0 -0
  288. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bilibili.py +0 -0
  289. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/biobiochiletv.py +0 -0
  290. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bitchute.py +0 -0
  291. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bitmovin.py +0 -0
  292. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/blackboardcollaborate.py +0 -0
  293. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bleacherreport.py +0 -0
  294. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/blerp.py +0 -0
  295. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/blogger.py +0 -0
  296. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bloomberg.py +0 -0
  297. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bluesky.py +0 -0
  298. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bokecc.py +0 -0
  299. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bongacams.py +0 -0
  300. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/boosty.py +0 -0
  301. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bostonglobe.py +0 -0
  302. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/box.py +0 -0
  303. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/boxcast.py +0 -0
  304. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bpb.py +0 -0
  305. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/br.py +0 -0
  306. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/brainpop.py +0 -0
  307. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/breitbart.py +0 -0
  308. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/brightcove.py +0 -0
  309. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/brilliantpala.py +0 -0
  310. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/btvplus.py +0 -0
  311. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bundesliga.py +0 -0
  312. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bundestag.py +0 -0
  313. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/bunnycdn.py +0 -0
  314. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/businessinsider.py +0 -0
  315. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/buzzfeed.py +0 -0
  316. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/byutv.py +0 -0
  317. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/c56.py +0 -0
  318. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/caffeinetv.py +0 -0
  319. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/callin.py +0 -0
  320. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/caltrans.py +0 -0
  321. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cam4.py +0 -0
  322. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/camdemy.py +0 -0
  323. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/camfm.py +0 -0
  324. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cammodels.py +0 -0
  325. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/camsoda.py +0 -0
  326. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/camtasia.py +0 -0
  327. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/canal1.py +0 -0
  328. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/canalalpha.py +0 -0
  329. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/canalc2.py +0 -0
  330. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/canalplus.py +0 -0
  331. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/canalsurmas.py +0 -0
  332. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/caracoltv.py +0 -0
  333. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cbc.py +0 -0
  334. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cbs.py +0 -0
  335. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cbsnews.py +0 -0
  336. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cbssports.py +0 -0
  337. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ccc.py +0 -0
  338. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ccma.py +0 -0
  339. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cctv.py +0 -0
  340. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cda.py +0 -0
  341. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cellebrite.py +0 -0
  342. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ceskatelevize.py +0 -0
  343. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cgtn.py +0 -0
  344. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/charlierose.py +0 -0
  345. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/chaturbate.py +0 -0
  346. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/chilloutzone.py +0 -0
  347. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/chzzk.py +0 -0
  348. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cinemax.py +0 -0
  349. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cinetecamilano.py +0 -0
  350. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cineverse.py +0 -0
  351. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ciscolive.py +0 -0
  352. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ciscowebex.py +0 -0
  353. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cjsw.py +0 -0
  354. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/clipchamp.py +0 -0
  355. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/clippit.py +0 -0
  356. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cliprs.py +0 -0
  357. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/closertotruth.py +0 -0
  358. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cloudflarestream.py +0 -0
  359. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cloudycdn.py +0 -0
  360. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/clubic.py +0 -0
  361. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/clyp.py +0 -0
  362. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cnbc.py +0 -0
  363. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cnn.py +0 -0
  364. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/comedycentral.py +0 -0
  365. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/common.py +0 -0
  366. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/commonmistakes.py +0 -0
  367. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/commonprotocols.py +0 -0
  368. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/condenast.py +0 -0
  369. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/contv.py +0 -0
  370. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/corus.py +0 -0
  371. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/coub.py +0 -0
  372. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cozytv.py +0 -0
  373. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cpac.py +0 -0
  374. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cracked.py +0 -0
  375. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/craftsy.py +0 -0
  376. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/crooksandliars.py +0 -0
  377. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/crowdbunker.py +0 -0
  378. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/crtvg.py +0 -0
  379. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cspan.py +0 -0
  380. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ctsnews.py +0 -0
  381. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ctvnews.py +0 -0
  382. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cultureunplugged.py +0 -0
  383. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/curiositystream.py +0 -0
  384. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/cybrary.py +0 -0
  385. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dacast.py +0 -0
  386. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dailymail.py +0 -0
  387. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dailymotion.py +0 -0
  388. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dailywire.py +0 -0
  389. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/damtomo.py +0 -0
  390. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dangalplay.py +0 -0
  391. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/daum.py +0 -0
  392. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/daystar.py +0 -0
  393. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dbtv.py +0 -0
  394. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dctp.py +0 -0
  395. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/democracynow.py +0 -0
  396. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/detik.py +0 -0
  397. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/deuxm.py +0 -0
  398. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dfb.py +0 -0
  399. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dhm.py +0 -0
  400. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/digitalconcerthall.py +0 -0
  401. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/digiview.py +0 -0
  402. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/discogs.py +0 -0
  403. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/disney.py +0 -0
  404. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dispeak.py +0 -0
  405. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dlf.py +0 -0
  406. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dlive.py +0 -0
  407. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/douyutv.py +0 -0
  408. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dplay.py +0 -0
  409. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/drbonanza.py +0 -0
  410. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dreisat.py +0 -0
  411. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/drooble.py +0 -0
  412. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dropout.py +0 -0
  413. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/drtalks.py +0 -0
  414. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/drtuber.py +0 -0
  415. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/drtv.py +0 -0
  416. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dtube.py +0 -0
  417. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/duboku.py +0 -0
  418. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dumpert.py +0 -0
  419. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/duoplay.py +0 -0
  420. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dvtv.py +0 -0
  421. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/dw.py +0 -0
  422. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ebaumsworld.py +0 -0
  423. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ebay.py +0 -0
  424. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/egghead.py +0 -0
  425. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/eggs.py +0 -0
  426. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/eighttracks.py +0 -0
  427. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/eitb.py +0 -0
  428. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/elementorembed.py +0 -0
  429. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/elonet.py +0 -0
  430. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/elpais.py +0 -0
  431. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/eltrecetv.py +0 -0
  432. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/embedly.py +0 -0
  433. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/epicon.py +0 -0
  434. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/epidemicsound.py +0 -0
  435. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/eplus.py +0 -0
  436. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/epoch.py +0 -0
  437. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/eporner.py +0 -0
  438. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/erocast.py +0 -0
  439. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/eroprofile.py +0 -0
  440. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/err.py +0 -0
  441. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ertgr.py +0 -0
  442. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/espn.py +0 -0
  443. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ettutv.py +0 -0
  444. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/europa.py +0 -0
  445. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/europeantour.py +0 -0
  446. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/eurosport.py +0 -0
  447. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/euscreen.py +0 -0
  448. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/expressen.py +0 -0
  449. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/extractors.py +0 -0
  450. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/eyedotv.py +0 -0
  451. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/facebook.py +0 -0
  452. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/fancode.py +0 -0
  453. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/fathom.py +0 -0
  454. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/faulio.py +0 -0
  455. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/faz.py +0 -0
  456. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/fczenit.py +0 -0
  457. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/fifa.py +0 -0
  458. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/filmon.py +0 -0
  459. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/filmweb.py +0 -0
  460. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/firsttv.py +0 -0
  461. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/fivetv.py +0 -0
  462. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/flextv.py +0 -0
  463. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/flickr.py +0 -0
  464. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/floatplane.py +0 -0
  465. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/folketinget.py +0 -0
  466. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/footyroom.py +0 -0
  467. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/formula1.py +0 -0
  468. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/fourtube.py +0 -0
  469. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/fox.py +0 -0
  470. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/fox9.py +0 -0
  471. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/foxnews.py +0 -0
  472. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/foxsports.py +0 -0
  473. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/fptplay.py +0 -0
  474. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/francaisfacile.py +0 -0
  475. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/franceinter.py +0 -0
  476. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/francetv.py +0 -0
  477. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/freesound.py +0 -0
  478. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/freespeech.py +0 -0
  479. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/freetv.py +0 -0
  480. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/frontendmasters.py +0 -0
  481. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/frontro.py +0 -0
  482. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/fujitv.py +0 -0
  483. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/funk.py +0 -0
  484. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/funker530.py +0 -0
  485. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/fuyintv.py +0 -0
  486. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gab.py +0 -0
  487. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gaia.py +0 -0
  488. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gamedevtv.py +0 -0
  489. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gamejolt.py +0 -0
  490. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gamespot.py +0 -0
  491. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gamestar.py +0 -0
  492. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gaskrank.py +0 -0
  493. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gazeta.py +0 -0
  494. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gbnews.py +0 -0
  495. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gdcvault.py +0 -0
  496. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gedidigital.py +0 -0
  497. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/generic.py +0 -0
  498. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/genericembeds.py +0 -0
  499. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/genius.py +0 -0
  500. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/germanupa.py +0 -0
  501. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/getcourseru.py +0 -0
  502. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gettr.py +0 -0
  503. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/giantbomb.py +0 -0
  504. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/glide.py +0 -0
  505. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/globalplayer.py +0 -0
  506. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/globo.py +0 -0
  507. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/glomex.py +0 -0
  508. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gmanetwork.py +0 -0
  509. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/go.py +0 -0
  510. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/godresource.py +0 -0
  511. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/godtube.py +0 -0
  512. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/golem.py +0 -0
  513. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/goodgame.py +0 -0
  514. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/googledrive.py +0 -0
  515. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/googlepodcasts.py +0 -0
  516. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/googlesearch.py +0 -0
  517. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/goplay.py +0 -0
  518. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gopro.py +0 -0
  519. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/goshgay.py +0 -0
  520. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gotostage.py +0 -0
  521. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gputechconf.py +0 -0
  522. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/graspop.py +0 -0
  523. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/gronkh.py +0 -0
  524. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/groupon.py +0 -0
  525. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/harpodeon.py +0 -0
  526. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hbo.py +0 -0
  527. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hearthisat.py +0 -0
  528. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/heise.py +0 -0
  529. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hellporno.py +0 -0
  530. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hgtv.py +0 -0
  531. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hidive.py +0 -0
  532. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/historicfilms.py +0 -0
  533. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hitrecord.py +0 -0
  534. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hketv.py +0 -0
  535. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hollywoodreporter.py +0 -0
  536. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/holodex.py +0 -0
  537. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hotnewhiphop.py +0 -0
  538. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hotstar.py +0 -0
  539. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hrefli.py +0 -0
  540. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hrfensehen.py +0 -0
  541. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hrti.py +0 -0
  542. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hse.py +0 -0
  543. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/huajiao.py +0 -0
  544. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/huffpost.py +0 -0
  545. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hungama.py +0 -0
  546. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/huya.py +0 -0
  547. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hypem.py +0 -0
  548. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hypergryph.py +0 -0
  549. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/hytale.py +0 -0
  550. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/icareus.py +0 -0
  551. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ichinanalive.py +0 -0
  552. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/idagio.py +0 -0
  553. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/idolplus.py +0 -0
  554. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ign.py +0 -0
  555. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/iheart.py +0 -0
  556. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ilpost.py +0 -0
  557. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/iltalehti.py +0 -0
  558. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/imdb.py +0 -0
  559. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/imggaming.py +0 -0
  560. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/imgur.py +0 -0
  561. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ina.py +0 -0
  562. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/inc.py +0 -0
  563. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/indavideo.py +0 -0
  564. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/infoq.py +0 -0
  565. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/instagram.py +0 -0
  566. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/internazionale.py +0 -0
  567. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/internetvideoarchive.py +0 -0
  568. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/iprima.py +0 -0
  569. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/iqiyi.py +0 -0
  570. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/islamchannel.py +0 -0
  571. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/israelnationalnews.py +0 -0
  572. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/itprotv.py +0 -0
  573. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/itv.py +0 -0
  574. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ivi.py +0 -0
  575. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ivideon.py +0 -0
  576. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ivoox.py +0 -0
  577. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/iwara.py +0 -0
  578. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ixigua.py +0 -0
  579. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/izlesene.py +0 -0
  580. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/jamendo.py +0 -0
  581. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/japandiet.py +0 -0
  582. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/jeuxvideo.py +0 -0
  583. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/jiosaavn.py +0 -0
  584. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/jixie.py +0 -0
  585. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/joj.py +0 -0
  586. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/jove.py +0 -0
  587. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/jstream.py +0 -0
  588. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/jtbc.py +0 -0
  589. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/jwplatform.py +0 -0
  590. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kakao.py +0 -0
  591. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kaltura.py +0 -0
  592. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kankanews.py +0 -0
  593. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/karaoketv.py +0 -0
  594. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kelbyone.py +0 -0
  595. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kenh14.py +0 -0
  596. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/khanacademy.py +0 -0
  597. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kick.py +0 -0
  598. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kicker.py +0 -0
  599. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kickstarter.py +0 -0
  600. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kika.py +0 -0
  601. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kinja.py +0 -0
  602. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kinopoisk.py +0 -0
  603. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kommunetv.py +0 -0
  604. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kompas.py +0 -0
  605. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/koo.py +0 -0
  606. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/krasview.py +0 -0
  607. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kth.py +0 -0
  608. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ku6.py +0 -0
  609. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kukululive.py +0 -0
  610. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/kuwo.py +0 -0
  611. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/la7.py +0 -0
  612. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/laracasts.py +0 -0
  613. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lastfm.py +0 -0
  614. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/laxarxames.py +0 -0
  615. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lbry.py +0 -0
  616. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lci.py +0 -0
  617. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lcp.py +0 -0
  618. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/learningonscreen.py +0 -0
  619. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lecture2go.py +0 -0
  620. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lecturio.py +0 -0
  621. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/leeco.py +0 -0
  622. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lefigaro.py +0 -0
  623. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lego.py +0 -0
  624. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lemonde.py +0 -0
  625. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lenta.py +0 -0
  626. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/libraryofcongress.py +0 -0
  627. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/libsyn.py +0 -0
  628. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lifenews.py +0 -0
  629. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/likee.py +0 -0
  630. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/linkedin.py +0 -0
  631. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/liputan6.py +0 -0
  632. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/listennotes.py +0 -0
  633. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/litv.py +0 -0
  634. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/livejournal.py +0 -0
  635. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/livestream.py +0 -0
  636. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/livestreamfails.py +0 -0
  637. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lnk.py +0 -0
  638. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/loco.py +0 -0
  639. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lovehomeporn.py +0 -0
  640. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lrt.py +0 -0
  641. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lsm.py +0 -0
  642. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lumni.py +0 -0
  643. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/lynda.py +0 -0
  644. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/maariv.py +0 -0
  645. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/magellantv.py +0 -0
  646. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/magentamusik.py +0 -0
  647. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mailru.py +0 -0
  648. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mainstreaming.py +0 -0
  649. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mangomolo.py +0 -0
  650. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/manoto.py +0 -0
  651. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/manyvids.py +0 -0
  652. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/maoritv.py +0 -0
  653. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/markiza.py +0 -0
  654. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/massengeschmacktv.py +0 -0
  655. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/masters.py +0 -0
  656. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/matchtv.py +0 -0
  657. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mave.py +0 -0
  658. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mbn.py +0 -0
  659. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mdr.py +0 -0
  660. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/medaltv.py +0 -0
  661. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mediaite.py +0 -0
  662. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mediaklikk.py +0 -0
  663. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/medialaan.py +0 -0
  664. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mediaset.py +0 -0
  665. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mediasite.py +0 -0
  666. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mediastream.py +0 -0
  667. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mediaworksnz.py +0 -0
  668. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/medici.py +0 -0
  669. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/megaphone.py +0 -0
  670. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/megatvcom.py +0 -0
  671. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/meipai.py +0 -0
  672. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/melonvod.py +0 -0
  673. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/metacritic.py +0 -0
  674. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mgtv.py +0 -0
  675. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/microsoftembed.py +0 -0
  676. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/microsoftstream.py +0 -0
  677. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/minds.py +0 -0
  678. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/minoto.py +0 -0
  679. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mir24tv.py +0 -0
  680. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mirrativ.py +0 -0
  681. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mirrorcouk.py +0 -0
  682. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mit.py +0 -0
  683. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mixch.py +0 -0
  684. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mixcloud.py +0 -0
  685. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mixlr.py +0 -0
  686. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mlb.py +0 -0
  687. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mlssoccer.py +0 -0
  688. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mocha.py +0 -0
  689. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mojevideo.py +0 -0
  690. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mojvideo.py +0 -0
  691. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/monstercat.py +0 -0
  692. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/motherless.py +0 -0
  693. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/motorsport.py +0 -0
  694. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/moviepilot.py +0 -0
  695. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/moview.py +0 -0
  696. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/moviezine.py +0 -0
  697. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/movingimage.py +0 -0
  698. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/msn.py +0 -0
  699. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mtv.py +0 -0
  700. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/muenchentv.py +0 -0
  701. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/murrtube.py +0 -0
  702. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/museai.py +0 -0
  703. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/musescore.py +0 -0
  704. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/musicdex.py +0 -0
  705. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mux.py +0 -0
  706. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mx3.py +0 -0
  707. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mxplayer.py +0 -0
  708. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/myspace.py +0 -0
  709. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/myspass.py +0 -0
  710. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/myvideoge.py +0 -0
  711. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/myvidster.py +0 -0
  712. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/mzaalo.py +0 -0
  713. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/n1.py +0 -0
  714. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nascar.py +0 -0
  715. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nate.py +0 -0
  716. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nationalgeographic.py +0 -0
  717. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/naver.py +0 -0
  718. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nba.py +0 -0
  719. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nbc.py +0 -0
  720. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ndr.py +0 -0
  721. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ndtv.py +0 -0
  722. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nekohacker.py +0 -0
  723. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nerdcubed.py +0 -0
  724. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nest.py +0 -0
  725. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/netverse.py +0 -0
  726. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/newgrounds.py +0 -0
  727. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/newspicks.py +0 -0
  728. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/newsy.py +0 -0
  729. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nexx.py +0 -0
  730. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nfb.py +0 -0
  731. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nfhsnetwork.py +0 -0
  732. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nfl.py +0 -0
  733. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nhl.py +0 -0
  734. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nick.py +0 -0
  735. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/niconico.py +0 -0
  736. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/niconicochannelplus.py +0 -0
  737. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ninaprotocol.py +0 -0
  738. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ninecninemedia.py +0 -0
  739. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ninegag.py +0 -0
  740. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ninenews.py +0 -0
  741. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ninenow.py +0 -0
  742. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nintendo.py +0 -0
  743. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nitter.py +0 -0
  744. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nobelprize.py +0 -0
  745. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/noice.py +0 -0
  746. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nonktube.py +0 -0
  747. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/noodlemagazine.py +0 -0
  748. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nosnl.py +0 -0
  749. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nova.py +0 -0
  750. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/novaplay.py +0 -0
  751. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nowcanal.py +0 -0
  752. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nowness.py +0 -0
  753. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/noz.py +0 -0
  754. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/npo.py +0 -0
  755. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/npr.py +0 -0
  756. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nrk.py +0 -0
  757. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nrl.py +0 -0
  758. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nts.py +0 -0
  759. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ntvcojp.py +0 -0
  760. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ntvde.py +0 -0
  761. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ntvru.py +0 -0
  762. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nubilesporn.py +0 -0
  763. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nuevo.py +0 -0
  764. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nuum.py +0 -0
  765. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nuvid.py +0 -0
  766. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nytimes.py +0 -0
  767. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nzherald.py +0 -0
  768. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nzonscreen.py +0 -0
  769. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/nzz.py +0 -0
  770. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/odkmedia.py +0 -0
  771. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/odnoklassniki.py +0 -0
  772. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/oftv.py +0 -0
  773. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/oktoberfesttv.py +0 -0
  774. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/olympics.py +0 -0
  775. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/on24.py +0 -0
  776. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ondemandkorea.py +0 -0
  777. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/onefootball.py +0 -0
  778. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/onenewsnz.py +0 -0
  779. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/oneplace.py +0 -0
  780. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/onet.py +0 -0
  781. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/onionstudios.py +0 -0
  782. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/onsen.py +0 -0
  783. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/opencast.py +0 -0
  784. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/openload.py +0 -0
  785. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/openrec.py +0 -0
  786. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ora.py +0 -0
  787. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/orf.py +0 -0
  788. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/outsidetv.py +0 -0
  789. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/owncloud.py +0 -0
  790. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/packtpub.py +0 -0
  791. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/palcomp3.py +0 -0
  792. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/panopto.py +0 -0
  793. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/parler.py +0 -0
  794. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/parlview.py +0 -0
  795. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pbs.py +0 -0
  796. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pearvideo.py +0 -0
  797. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/peekvids.py +0 -0
  798. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/peertube.py +0 -0
  799. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/peertv.py +0 -0
  800. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/peloton.py +0 -0
  801. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/performgroup.py +0 -0
  802. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/periscope.py +0 -0
  803. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pgatour.py +0 -0
  804. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/philharmoniedeparis.py +0 -0
  805. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/phoenix.py +0 -0
  806. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/photobucket.py +0 -0
  807. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pialive.py +0 -0
  808. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/piapro.py +0 -0
  809. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/picarto.py +0 -0
  810. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/piksel.py +0 -0
  811. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pinkbike.py +0 -0
  812. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pinterest.py +0 -0
  813. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/piramidetv.py +0 -0
  814. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/planetmarathi.py +0 -0
  815. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/platzi.py +0 -0
  816. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/playerfm.py +0 -0
  817. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/playplustv.py +0 -0
  818. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/playsuisse.py +0 -0
  819. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/playtvak.py +0 -0
  820. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/playwire.py +0 -0
  821. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pluralsight.py +0 -0
  822. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/plutotv.py +0 -0
  823. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/plvideo.py +0 -0
  824. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/plyr.py +0 -0
  825. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/podbayfm.py +0 -0
  826. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/podchaser.py +0 -0
  827. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/podomatic.py +0 -0
  828. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pokergo.py +0 -0
  829. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/polsatgo.py +0 -0
  830. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/polskieradio.py +0 -0
  831. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/popcorntimes.py +0 -0
  832. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/popcorntv.py +0 -0
  833. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pornbox.py +0 -0
  834. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pornflip.py +0 -0
  835. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pornotube.py +0 -0
  836. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pornovoisines.py +0 -0
  837. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pornoxo.py +0 -0
  838. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pr0gramm.py +0 -0
  839. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/prankcast.py +0 -0
  840. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/premiershiprugby.py +0 -0
  841. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/presstv.py +0 -0
  842. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/projectveritas.py +0 -0
  843. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/prosiebensat1.py +0 -0
  844. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/prx.py +0 -0
  845. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/puhutv.py +0 -0
  846. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/puls4.py +0 -0
  847. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/pyvideo.py +0 -0
  848. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/qdance.py +0 -0
  849. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/qingting.py +0 -0
  850. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/qqmusic.py +0 -0
  851. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/r7.py +0 -0
  852. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/radiko.py +0 -0
  853. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/radiocanada.py +0 -0
  854. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/radiocomercial.py +0 -0
  855. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/radiode.py +0 -0
  856. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/radiofrance.py +0 -0
  857. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/radiojavan.py +0 -0
  858. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/radiokapital.py +0 -0
  859. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/radioradicale.py +0 -0
  860. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/radiozet.py +0 -0
  861. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/radlive.py +0 -0
  862. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rai.py +0 -0
  863. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/raywenderlich.py +0 -0
  864. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rbgtum.py +0 -0
  865. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rcs.py +0 -0
  866. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rcti.py +0 -0
  867. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rds.py +0 -0
  868. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/redbee.py +0 -0
  869. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/redbulltv.py +0 -0
  870. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/reddit.py +0 -0
  871. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/redge.py +0 -0
  872. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/redgifs.py +0 -0
  873. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/redtube.py +0 -0
  874. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rentv.py +0 -0
  875. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/restudy.py +0 -0
  876. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/reuters.py +0 -0
  877. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/reverbnation.py +0 -0
  878. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rheinmaintv.py +0 -0
  879. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ridehome.py +0 -0
  880. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rinsefm.py +0 -0
  881. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rmcdecouverte.py +0 -0
  882. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rockstargames.py +0 -0
  883. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rokfin.py +0 -0
  884. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/roosterteeth.py +0 -0
  885. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rottentomatoes.py +0 -0
  886. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/roya.py +0 -0
  887. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rozhlas.py +0 -0
  888. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rte.py +0 -0
  889. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rtl2.py +0 -0
  890. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rtlnl.py +0 -0
  891. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rtnews.py +0 -0
  892. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rtp.py +0 -0
  893. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rtrfm.py +0 -0
  894. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rts.py +0 -0
  895. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rtvcplay.py +0 -0
  896. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rtve.py +0 -0
  897. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rtvs.py +0 -0
  898. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rtvslo.py +0 -0
  899. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rudovideo.py +0 -0
  900. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rule34video.py +0 -0
  901. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rumble.py +0 -0
  902. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/rutube.py +0 -0
  903. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ruutu.py +0 -0
  904. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ruv.py +0 -0
  905. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/safari.py +0 -0
  906. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/saitosan.py +0 -0
  907. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/samplefocus.py +0 -0
  908. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sapo.py +0 -0
  909. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sauceplus.py +0 -0
  910. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sbs.py +0 -0
  911. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sbscokr.py +0 -0
  912. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/screen9.py +0 -0
  913. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/screencast.py +0 -0
  914. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/screencastify.py +0 -0
  915. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/screencastomatic.py +0 -0
  916. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/screenrec.py +0 -0
  917. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/scrippsnetworks.py +0 -0
  918. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/scrolller.py +0 -0
  919. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/scte.py +0 -0
  920. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sejmpl.py +0 -0
  921. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sen.py +0 -0
  922. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/senalcolombia.py +0 -0
  923. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/senategov.py +0 -0
  924. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sendtonews.py +0 -0
  925. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/servus.py +0 -0
  926. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sevenplus.py +0 -0
  927. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sexu.py +0 -0
  928. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/seznamzpravy.py +0 -0
  929. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/shahid.py +0 -0
  930. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sharepoint.py +0 -0
  931. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sharevideos.py +0 -0
  932. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/shemaroome.py +0 -0
  933. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/shiey.py +0 -0
  934. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/showroomlive.py +0 -0
  935. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sibnet.py +0 -0
  936. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/simplecast.py +0 -0
  937. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sina.py +0 -0
  938. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/skeb.py +0 -0
  939. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sky.py +0 -0
  940. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/skyit.py +0 -0
  941. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/skylinewebcams.py +0 -0
  942. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/skynewsarabia.py +0 -0
  943. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/skynewsau.py +0 -0
  944. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/slideshare.py +0 -0
  945. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/slideslive.py +0 -0
  946. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/slutload.py +0 -0
  947. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/smotrim.py +0 -0
  948. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/snapchat.py +0 -0
  949. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/snotr.py +0 -0
  950. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/softwhiteunderbelly.py +0 -0
  951. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sohu.py +0 -0
  952. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sonyliv.py +0 -0
  953. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/soundcloud.py +0 -0
  954. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/soundgasm.py +0 -0
  955. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/southpark.py +0 -0
  956. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sovietscloset.py +0 -0
  957. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/spankbang.py +0 -0
  958. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/spiegel.py +0 -0
  959. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sport5.py +0 -0
  960. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sportbox.py +0 -0
  961. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/spreaker.py +0 -0
  962. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/springboardplatform.py +0 -0
  963. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sproutvideo.py +0 -0
  964. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/srgssr.py +0 -0
  965. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/srmediathek.py +0 -0
  966. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/stacommu.py +0 -0
  967. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/stageplus.py +0 -0
  968. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/stanfordoc.py +0 -0
  969. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/startrek.py +0 -0
  970. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/startv.py +0 -0
  971. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/steam.py +0 -0
  972. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/stitcher.py +0 -0
  973. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/storyfire.py +0 -0
  974. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/streaks.py +0 -0
  975. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/streamable.py +0 -0
  976. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/streamcz.py +0 -0
  977. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/streetvoice.py +0 -0
  978. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/stretchinternet.py +0 -0
  979. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/stripchat.py +0 -0
  980. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/stv.py +0 -0
  981. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/subsplash.py +0 -0
  982. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/substack.py +0 -0
  983. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sunporno.py +0 -0
  984. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sverigesradio.py +0 -0
  985. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/svt.py +0 -0
  986. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/swearnet.py +0 -0
  987. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/syvdk.py +0 -0
  988. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/sztvhu.py +0 -0
  989. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tagesschau.py +0 -0
  990. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/taptap.py +0 -0
  991. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tass.py +0 -0
  992. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tbs.py +0 -0
  993. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tbsjp.py +0 -0
  994. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/teachable.py +0 -0
  995. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/teachertube.py +0 -0
  996. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/teachingchannel.py +0 -0
  997. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/teamcoco.py +0 -0
  998. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/teamtreehouse.py +0 -0
  999. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ted.py +0 -0
  1000. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tele13.py +0 -0
  1001. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tele5.py +0 -0
  1002. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/telebruxelles.py +0 -0
  1003. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/telecaribe.py +0 -0
  1004. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/telegraaf.py +0 -0
  1005. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/telegram.py +0 -0
  1006. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/telemb.py +0 -0
  1007. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/telemundo.py +0 -0
  1008. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/telequebec.py +0 -0
  1009. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/teletask.py +0 -0
  1010. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/telewebion.py +0 -0
  1011. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tempo.py +0 -0
  1012. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tencent.py +0 -0
  1013. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tennistv.py +0 -0
  1014. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tenplay.py +0 -0
  1015. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/testurl.py +0 -0
  1016. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tf1.py +0 -0
  1017. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tfo.py +0 -0
  1018. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/theguardian.py +0 -0
  1019. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/thehighwire.py +0 -0
  1020. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/theholetv.py +0 -0
  1021. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/theintercept.py +0 -0
  1022. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/theplatform.py +0 -0
  1023. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/thestar.py +0 -0
  1024. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/thesun.py +0 -0
  1025. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/theweatherchannel.py +0 -0
  1026. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/thisamericanlife.py +0 -0
  1027. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/thisoldhouse.py +0 -0
  1028. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/thisvid.py +0 -0
  1029. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/threeqsdn.py +0 -0
  1030. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/threespeak.py +0 -0
  1031. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tiktok.py +0 -0
  1032. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tmz.py +0 -0
  1033. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tnaflix.py +0 -0
  1034. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/toggle.py +0 -0
  1035. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/toggo.py +0 -0
  1036. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tonline.py +0 -0
  1037. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/toongoggles.py +0 -0
  1038. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/toutiao.py +0 -0
  1039. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/toutv.py +0 -0
  1040. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/toypics.py +0 -0
  1041. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/traileraddict.py +0 -0
  1042. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/triller.py +0 -0
  1043. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/trovo.py +0 -0
  1044. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/trtcocuk.py +0 -0
  1045. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/trtworld.py +0 -0
  1046. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/trueid.py +0 -0
  1047. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/trunews.py +0 -0
  1048. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/truth.py +0 -0
  1049. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tube8.py +0 -0
  1050. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tubetugraz.py +0 -0
  1051. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tumblr.py +0 -0
  1052. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tunein.py +0 -0
  1053. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/turner.py +0 -0
  1054. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tv2.py +0 -0
  1055. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tv24ua.py +0 -0
  1056. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tv2dk.py +0 -0
  1057. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tv2hu.py +0 -0
  1058. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tv4.py +0 -0
  1059. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tv5mondeplus.py +0 -0
  1060. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tv5unis.py +0 -0
  1061. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tva.py +0 -0
  1062. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tvanouvelles.py +0 -0
  1063. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tvc.py +0 -0
  1064. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tver.py +0 -0
  1065. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tvigle.py +0 -0
  1066. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tviplayer.py +0 -0
  1067. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tvn24.py +0 -0
  1068. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tvnoe.py +0 -0
  1069. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tvopengr.py +0 -0
  1070. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tvp.py +0 -0
  1071. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tvplay.py +0 -0
  1072. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tvplayer.py +0 -0
  1073. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tvw.py +0 -0
  1074. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/tweakers.py +0 -0
  1075. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/twentymin.py +0 -0
  1076. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/twentythreevideo.py +0 -0
  1077. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/twitcasting.py +0 -0
  1078. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/twitch.py +0 -0
  1079. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/twitter.py +0 -0
  1080. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/txxx.py +0 -0
  1081. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/udemy.py +0 -0
  1082. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/udn.py +0 -0
  1083. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ufctv.py +0 -0
  1084. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ukcolumn.py +0 -0
  1085. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/uktvplay.py +0 -0
  1086. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/uliza.py +0 -0
  1087. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/umg.py +0 -0
  1088. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/unistra.py +0 -0
  1089. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/unitednations.py +0 -0
  1090. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/unity.py +0 -0
  1091. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/unsupported.py +0 -0
  1092. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/uol.py +0 -0
  1093. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/uplynk.py +0 -0
  1094. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/urort.py +0 -0
  1095. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/usanetwork.py +0 -0
  1096. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/usatoday.py +0 -0
  1097. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ustream.py +0 -0
  1098. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ustudio.py +0 -0
  1099. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/utreon.py +0 -0
  1100. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/varzesh3.py +0 -0
  1101. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vbox7.py +0 -0
  1102. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/veo.py +0 -0
  1103. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vevo.py +0 -0
  1104. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vgtv.py +0 -0
  1105. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vh1.py +0 -0
  1106. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vice.py +0 -0
  1107. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/viddler.py +0 -0
  1108. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/videa.py +0 -0
  1109. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/videocampus_sachsen.py +0 -0
  1110. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/videodetective.py +0 -0
  1111. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/videofyme.py +0 -0
  1112. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/videoken.py +0 -0
  1113. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/videomore.py +0 -0
  1114. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/videopress.py +0 -0
  1115. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vidflex.py +0 -0
  1116. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vidio.py +0 -0
  1117. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vidlii.py +0 -0
  1118. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vidly.py +0 -0
  1119. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vidyard.py +0 -0
  1120. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/viewlift.py +0 -0
  1121. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/viidea.py +0 -0
  1122. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vimeo.py +0 -0
  1123. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vimm.py +0 -0
  1124. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/viously.py +0 -0
  1125. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/viqeo.py +0 -0
  1126. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/viu.py +0 -0
  1127. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vk.py +0 -0
  1128. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vocaroo.py +0 -0
  1129. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vodpl.py +0 -0
  1130. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vodplatform.py +0 -0
  1131. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/voicy.py +0 -0
  1132. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/volejtv.py +0 -0
  1133. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/voxmedia.py +0 -0
  1134. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vrsquare.py +0 -0
  1135. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vrt.py +0 -0
  1136. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vtm.py +0 -0
  1137. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vtv.py +0 -0
  1138. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vuclip.py +0 -0
  1139. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/vvvvid.py +0 -0
  1140. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/walla.py +0 -0
  1141. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/washingtonpost.py +0 -0
  1142. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/wat.py +0 -0
  1143. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/wdr.py +0 -0
  1144. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/webcamerapl.py +0 -0
  1145. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/webcaster.py +0 -0
  1146. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/webofstories.py +0 -0
  1147. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/weibo.py +0 -0
  1148. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/weiqitv.py +0 -0
  1149. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/weverse.py +0 -0
  1150. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/wevidi.py +0 -0
  1151. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/weyyak.py +0 -0
  1152. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/whowatch.py +0 -0
  1153. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/whyp.py +0 -0
  1154. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/wikimedia.py +0 -0
  1155. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/wimbledon.py +0 -0
  1156. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/wimtv.py +0 -0
  1157. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/wordpress.py +0 -0
  1158. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/worldstarhiphop.py +0 -0
  1159. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/wppilot.py +0 -0
  1160. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/wrestleuniverse.py +0 -0
  1161. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/wsj.py +0 -0
  1162. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/wwe.py +0 -0
  1163. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/wykop.py +0 -0
  1164. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/xboxclips.py +0 -0
  1165. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/xiaohongshu.py +0 -0
  1166. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/ximalaya.py +0 -0
  1167. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/xinpianchang.py +0 -0
  1168. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/xminus.py +0 -0
  1169. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/xnxx.py +0 -0
  1170. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/xstream.py +0 -0
  1171. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/xvideos.py +0 -0
  1172. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/xxxymovies.py +0 -0
  1173. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/yandexdisk.py +0 -0
  1174. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/yandexmusic.py +0 -0
  1175. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/yandexvideo.py +0 -0
  1176. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/yapfiles.py +0 -0
  1177. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/yappy.py +0 -0
  1178. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/yfanefa.py +0 -0
  1179. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/yle_areena.py +0 -0
  1180. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youjizz.py +0 -0
  1181. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youku.py +0 -0
  1182. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/younow.py +0 -0
  1183. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youporn.py +0 -0
  1184. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/__init__.py +0 -0
  1185. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/_clip.py +0 -0
  1186. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/_mistakes.py +0 -0
  1187. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/_notifications.py +0 -0
  1188. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/_redirect.py +0 -0
  1189. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/_search.py +0 -0
  1190. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/README.md +0 -0
  1191. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/__init__.py +0 -0
  1192. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/__init__.py +0 -0
  1193. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/bun.py +0 -0
  1194. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/deno.py +0 -0
  1195. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/node.py +0 -0
  1196. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/quickjs.py +0 -0
  1197. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/__init__.py +0 -0
  1198. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/yt.solver.bun.lib.js +0 -0
  1199. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/yt.solver.core.js +0 -0
  1200. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/yt.solver.deno.lib.js +0 -0
  1201. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/_director.py +0 -0
  1202. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/_registry.py +0 -0
  1203. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/jsc/provider.py +0 -0
  1204. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/pot/README.md +0 -0
  1205. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/pot/__init__.py +0 -0
  1206. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/pot/_builtin/__init__.py +0 -0
  1207. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/pot/_builtin/memory_cache.py +0 -0
  1208. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/pot/_builtin/webpo_cachespec.py +0 -0
  1209. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/pot/_director.py +0 -0
  1210. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/pot/_provider.py +0 -0
  1211. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/pot/_registry.py +0 -0
  1212. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/pot/cache.py +0 -0
  1213. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/pot/provider.py +0 -0
  1214. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/youtube/pot/utils.py +0 -0
  1215. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/zaiko.py +0 -0
  1216. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/zapiks.py +0 -0
  1217. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/zattoo.py +0 -0
  1218. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/zdf.py +0 -0
  1219. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/zee5.py +0 -0
  1220. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/zeenews.py +0 -0
  1221. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/zenporn.py +0 -0
  1222. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/zetland.py +0 -0
  1223. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/zhihu.py +0 -0
  1224. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/zingmp3.py +0 -0
  1225. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/zoom.py +0 -0
  1226. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/extractor/zype.py +0 -0
  1227. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/globals.py +0 -0
  1228. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/jsinterp.py +0 -0
  1229. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/minicurses.py +0 -0
  1230. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/networking/__init__.py +0 -0
  1231. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/networking/_curlcffi.py +0 -0
  1232. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/networking/_helper.py +0 -0
  1233. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/networking/_requests.py +0 -0
  1234. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/networking/_urllib.py +0 -0
  1235. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/networking/_websockets.py +0 -0
  1236. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/networking/common.py +0 -0
  1237. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/networking/exceptions.py +0 -0
  1238. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/networking/impersonate.py +0 -0
  1239. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/networking/websocket.py +0 -0
  1240. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/plugins.py +0 -0
  1241. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/postprocessor/__init__.py +0 -0
  1242. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/postprocessor/common.py +0 -0
  1243. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/postprocessor/embedthumbnail.py +0 -0
  1244. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/postprocessor/exec.py +0 -0
  1245. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/postprocessor/metadataparser.py +0 -0
  1246. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/postprocessor/modify_chapters.py +0 -0
  1247. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/postprocessor/movefilesafterdownload.py +0 -0
  1248. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/postprocessor/sponsorblock.py +0 -0
  1249. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/postprocessor/xattrpp.py +0 -0
  1250. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/socks.py +0 -0
  1251. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/update.py +0 -0
  1252. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/utils/__init__.py +0 -0
  1253. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/utils/_deprecated.py +0 -0
  1254. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/utils/_legacy.py +0 -0
  1255. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/utils/jslib/__init__.py +0 -0
  1256. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/utils/jslib/devalue.py +0 -0
  1257. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/utils/networking.py +0 -0
  1258. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/utils/progress.py +0 -0
  1259. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/utils/traversal.py +0 -0
  1260. {yt_dlp-2025.11.19.232938.dev0 → yt_dlp-2025.12.20.232942.dev0}/yt_dlp/webvtt.py +0 -0
@@ -1,5 +1,6 @@
1
1
  04-pasha-04
2
2
  0x9fff00
3
+ 0x∅
3
4
  1-Byte
4
5
  114514ns
5
6
  2ShedsJackson
@@ -335,6 +336,7 @@ Eitan Adler
335
336
  Eitan Postavsky
336
337
  Elan Ruusamäe
337
338
  Elias Probst
339
+ Elioo
338
340
  Elyse
339
341
  Emanuel Hoogeveen
340
342
  Emilien Kenler
@@ -699,6 +701,7 @@ Mehavoid
699
701
  Mel Shafer
700
702
  Meneth32
701
703
  Mevious
704
+ Michael D.
702
705
  Michael Haggerty
703
706
  Michael Kaiser
704
707
  Michael Klein
@@ -1090,6 +1093,7 @@ WassimAttar
1090
1093
  Wehzuri
1091
1094
  WeidiDeng
1092
1095
  Wes
1096
+ WhatAmISupposedToPutHere
1093
1097
  Will Glynn
1094
1098
  Will Sewell
1095
1099
  Will Smillie
@@ -1224,6 +1228,7 @@ dannycolligan
1224
1228
  danut007ro
1225
1229
  dasidiot
1226
1230
  davex25
1231
+ delta
1227
1232
  denneboomyo
1228
1233
  dequis
1229
1234
  diegorodriguezv
@@ -1448,6 +1453,7 @@ nmeum
1448
1453
  nmrugg
1449
1454
  nnoboa
1450
1455
  nomevi
1456
+ norepro
1451
1457
  nosoop
1452
1458
  nto
1453
1459
  nulloz
@@ -1488,9 +1494,11 @@ poyhen
1488
1494
  puc9
1489
1495
  pukkandan
1490
1496
  pulpe
1497
+ putridambassador121
1491
1498
  pyed
1492
1499
  pypy
1493
1500
  qbnu
1501
+ quietvoid
1494
1502
  quinlander
1495
1503
  qulaz
1496
1504
  rakslice
@@ -4,32 +4,92 @@
4
4
  # To create a release, dispatch the https://github.com/yt-dlp/yt-dlp/actions/workflows/release.yml workflow on master
5
5
  -->
6
6
 
7
- ### 2025.11.19.232938
7
+ ### 2025.12.20.232942
8
+
9
+ #### Core changes
10
+ - [Accept float values for `--sleep-subtitles`](https://github.com/yt-dlp/yt-dlp/commit/f6dc7d5279bcb7f29839c700d54ac148b332d208) ([#15282](https://github.com/yt-dlp/yt-dlp/issues/15282)) by [0xvd](https://github.com/0xvd)
11
+ - [Bypass interactive format selection if no formats are found](https://github.com/yt-dlp/yt-dlp/commit/e0bb4777328a7d1eb96f2d0256fa33ae06b5930d) ([#15278](https://github.com/yt-dlp/yt-dlp/issues/15278)) by [bashonly](https://github.com/bashonly)
12
+ - **utils**: `unified_timestamp`: [Add `tz_offset` parameter](https://github.com/yt-dlp/yt-dlp/commit/15263d049cb3f47e921b414782490052feca3def) ([#15357](https://github.com/yt-dlp/yt-dlp/issues/15357)) by [doe1080](https://github.com/doe1080)
13
+
14
+ #### Extractor changes
15
+ - **archive.org**: [Fix metadata extraction](https://github.com/yt-dlp/yt-dlp/commit/5f37f67d37b54bf9bd6fe7fa3083492d42f7a20a) ([#15286](https://github.com/yt-dlp/yt-dlp/issues/15286)) by [bashonly](https://github.com/bashonly)
16
+ - **bandcamp**: weekly: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/e9d4b22b9b09a30f31b557df740b01b09a8aefe8) ([#15208](https://github.com/yt-dlp/yt-dlp/issues/15208)) by [0xvd](https://github.com/0xvd), [bashonly](https://github.com/bashonly)
17
+ - **dropbox**: [Support videos in folders](https://github.com/yt-dlp/yt-dlp/commit/8a4b626daf59d0ecb6117ed275cb43dd68768b85) ([#15313](https://github.com/yt-dlp/yt-dlp/issues/15313)) by [0xvd](https://github.com/0xvd)
18
+ - **filmarchiv**: [Add extractor](https://github.com/yt-dlp/yt-dlp/commit/c0c9cac55446f7bf48370ba60c06f9cf5bc48d15) ([#13490](https://github.com/yt-dlp/yt-dlp/issues/13490)) by [4elta](https://github.com/4elta)
19
+ - **gofile**: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/c5e55e04795636a2855a1be80cea0f6b2d0f0cc6) ([#15296](https://github.com/yt-dlp/yt-dlp/issues/15296)) by [quietvoid](https://github.com/quietvoid)
20
+ - **nebula**: season: [Add extractor](https://github.com/yt-dlp/yt-dlp/commit/f5270705e816a24caef7357a7ce8e17471899d73) ([#15347](https://github.com/yt-dlp/yt-dlp/issues/15347)) by [0xvd](https://github.com/0xvd), [bashonly](https://github.com/bashonly)
21
+ - **netease**: program: [Support DJ URLs](https://github.com/yt-dlp/yt-dlp/commit/0ea6cc6d82318e554ffa0b5eaf9da4f4379ccbe9) ([#15365](https://github.com/yt-dlp/yt-dlp/issues/15365)) by [0xvd](https://github.com/0xvd)
22
+ - **netzkino**: [Rework extractor](https://github.com/yt-dlp/yt-dlp/commit/a27ec9efc63da1cfb2a390eb028549585dbb2f41) ([#15351](https://github.com/yt-dlp/yt-dlp/issues/15351)) by [doe1080](https://github.com/doe1080)
23
+ - **nextmedia**: [Remove extractors](https://github.com/yt-dlp/yt-dlp/commit/6d4984e64e893dd954e781046a3532eb7abbfa16) ([#15354](https://github.com/yt-dlp/yt-dlp/issues/15354)) by [doe1080](https://github.com/doe1080)
24
+ - **parti**: [Fix extractors](https://github.com/yt-dlp/yt-dlp/commit/04f2ec4b976271e1e7ad3e650a0be2c4fd796ee0) ([#15319](https://github.com/yt-dlp/yt-dlp/issues/15319)) by [seproDev](https://github.com/seproDev)
25
+ - **pornhub**: [Optimize metadata extraction](https://github.com/yt-dlp/yt-dlp/commit/f2ee2a46fc2a4efb6ed58ee9e67c506c6b72b843) ([#15231](https://github.com/yt-dlp/yt-dlp/issues/15231)) by [norepro](https://github.com/norepro)
26
+ - **telecinco**: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/b6f24745bfb89ec0eaaa181a68203c2e81e58802) ([#15311](https://github.com/yt-dlp/yt-dlp/issues/15311)) by [0xvd](https://github.com/0xvd), [bashonly](https://github.com/bashonly)
27
+ - **tubitv**: [Support URLs with locales](https://github.com/yt-dlp/yt-dlp/commit/f0bc71abf68480b3b65b27c2a60319bc88e5eea2) ([#15205](https://github.com/yt-dlp/yt-dlp/issues/15205)) by [0xvd](https://github.com/0xvd)
28
+ - **yahoo**: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/97fb78a5b95a98a698f77281ea0c101bf090ed4c) ([#15314](https://github.com/yt-dlp/yt-dlp/issues/15314)) by [0xvd](https://github.com/0xvd), [bashonly](https://github.com/bashonly)
29
+ - **youtube**: tab: [Fix flat thumbnails extraction for shorts](https://github.com/yt-dlp/yt-dlp/commit/ff61bef041d1f69fec1044f783fb938c005128af) ([#15331](https://github.com/yt-dlp/yt-dlp/issues/15331)) by [bashonly](https://github.com/bashonly)
30
+
31
+ #### Misc. changes
32
+ - **build**: [Bump official actions to latest versions](https://github.com/yt-dlp/yt-dlp/commit/825648a740867cbecd2e593963d7aaf3d568db84) ([#15305](https://github.com/yt-dlp/yt-dlp/issues/15305)) by [bashonly](https://github.com/bashonly)
33
+ - **ci**: [Explicitly declare permissions and limit credentials](https://github.com/yt-dlp/yt-dlp/commit/a6a8f6b6d6775caa031e5016b79db28c6aaadfcb) ([#15324](https://github.com/yt-dlp/yt-dlp/issues/15324)) by [bashonly](https://github.com/bashonly)
34
+
35
+ ### 2025.12.08
36
+
37
+ #### Core changes
38
+ - [Respect `PATHEXT` when locating JS runtime on Windows](https://github.com/yt-dlp/yt-dlp/commit/e564b4a8080cff48fa0c28f20272c05085ee6130) ([#15117](https://github.com/yt-dlp/yt-dlp/issues/15117)) by [Grub4K](https://github.com/Grub4K)
39
+ - **cookies**: [Fix `--cookies-from-browser` for new installs of Firefox 147+](https://github.com/yt-dlp/yt-dlp/commit/fa16dc5241ac1552074feee48e1c2605dc36d352) ([#15215](https://github.com/yt-dlp/yt-dlp/issues/15215)) by [bashonly](https://github.com/bashonly), [mbway](https://github.com/mbway)
8
40
 
9
41
  #### Extractor changes
42
+ - **agalega**: [Add extractor](https://github.com/yt-dlp/yt-dlp/commit/3cb5e4db54d44fe82d4eee94ae2f37cbce2e7dfc) ([#15105](https://github.com/yt-dlp/yt-dlp/issues/15105)) by [putridambassador121](https://github.com/putridambassador121)
43
+ - **alibaba**: [Add extractor](https://github.com/yt-dlp/yt-dlp/commit/c70b57c03e0c25767a5166620798297a2a4878fb) ([#15253](https://github.com/yt-dlp/yt-dlp/issues/15253)) by [seproDev](https://github.com/seproDev)
10
44
  - **bitmovin**: [Add extractor](https://github.com/yt-dlp/yt-dlp/commit/45a3b42bb917e99b0b5c155c272ebf4a82a5bf66) ([#15064](https://github.com/yt-dlp/yt-dlp/issues/15064)) by [seproDev](https://github.com/seproDev)
45
+ - **digiteka**: [Rework extractor](https://github.com/yt-dlp/yt-dlp/commit/6842620d56e4c4e6affb90c2f8dff8a36dee852c) ([#14903](https://github.com/yt-dlp/yt-dlp/issues/14903)) by [beliote](https://github.com/beliote)
46
+ - **fc2**: live: [Raise appropriate error when stream is offline](https://github.com/yt-dlp/yt-dlp/commit/4433b3a217c9f430dc057643bfd7b6769eff4a45) ([#15180](https://github.com/yt-dlp/yt-dlp/issues/15180)) by [Zer0spectrum](https://github.com/Zer0spectrum)
11
47
  - **floatplane**: [Add subtitle support](https://github.com/yt-dlp/yt-dlp/commit/b333ef1b3f961e292a8bf7052c54b54c81587a17) ([#15069](https://github.com/yt-dlp/yt-dlp/issues/15069)) by [seproDev](https://github.com/seproDev)
12
48
  - **jtbc**: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/947e7883406e5ea43687d6e4ff721cc0162c9664) ([#15047](https://github.com/yt-dlp/yt-dlp/issues/15047)) by [seproDev](https://github.com/seproDev)
49
+ - **loom**: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/36b29bb3532e008a2aaf3d36d1c6fc3944137930) ([#15236](https://github.com/yt-dlp/yt-dlp/issues/15236)) by [bashonly](https://github.com/bashonly)
13
50
  - **mave**: channel: [Add extractor](https://github.com/yt-dlp/yt-dlp/commit/5f66ac71f6637f768cd251509b0a932d0ce56427) ([#14915](https://github.com/yt-dlp/yt-dlp/issues/14915)) by [anlar](https://github.com/anlar)
14
51
  - **medaltv**: [Rework extractor](https://github.com/yt-dlp/yt-dlp/commit/a4c72acc462668a938827370bd77084a1cd4733b) ([#15103](https://github.com/yt-dlp/yt-dlp/issues/15103)) by [seproDev](https://github.com/seproDev)
52
+ - **netapp**: [Add extractors](https://github.com/yt-dlp/yt-dlp/commit/20f83f208eae863250b35e2761adad88e91d85a1) ([#15122](https://github.com/yt-dlp/yt-dlp/issues/15122)) by [darkstar](https://github.com/darkstar)
53
+ - **nhk**: [Fix extractors](https://github.com/yt-dlp/yt-dlp/commit/12d411722a3d7a0382d1d230a904ecd4e20298b6) ([#14528](https://github.com/yt-dlp/yt-dlp/issues/14528)) by [garret1317](https://github.com/garret1317)
15
54
  - **nowcanal**: [Add extractor](https://github.com/yt-dlp/yt-dlp/commit/4e680db1505dafb93313b1d42ffcd3f230fcc92a) ([#14584](https://github.com/yt-dlp/yt-dlp/issues/14584)) by [pferreir](https://github.com/pferreir)
55
+ - **patreon**: campaign: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/023e4db9afe0630c608621846856a1ca876d8bab) ([#15108](https://github.com/yt-dlp/yt-dlp/issues/15108)) by [thomasmllt](https://github.com/thomasmllt)
16
56
  - **rinsefm**: [Fix extractors](https://github.com/yt-dlp/yt-dlp/commit/d6aa8c235d2e7d9374f79ec73af23a3859c76bea) ([#15020](https://github.com/yt-dlp/yt-dlp/issues/15020)) by [1bnBattuta](https://github.com/1bnBattuta), [seproDev](https://github.com/seproDev)
57
+ - **s4c**: [Fix geo-restricted content](https://github.com/yt-dlp/yt-dlp/commit/26c2545b87e2b22f134d1f567ed4d4b0b91c3253) ([#15196](https://github.com/yt-dlp/yt-dlp/issues/15196)) by [seproDev](https://github.com/seproDev)
17
58
  - **soundcloudplaylist**: [Support new API URLs](https://github.com/yt-dlp/yt-dlp/commit/1dd84b9d1c33e50de49866b0d93c2596897ce506) ([#15071](https://github.com/yt-dlp/yt-dlp/issues/15071)) by [seproDev](https://github.com/seproDev)
59
+ - **sporteurope**: [Support new domain](https://github.com/yt-dlp/yt-dlp/commit/025191fea655ac879ca6dc68df358c26456a6e46) ([#15251](https://github.com/yt-dlp/yt-dlp/issues/15251)) by [bashonly](https://github.com/bashonly)
18
60
  - **sproutvideo**: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/2c9f0c3456057aff0631d9ea6d3eda70ffd8aabe) ([#15113](https://github.com/yt-dlp/yt-dlp/issues/15113)) by [bashonly](https://github.com/bashonly)
19
61
  - **thechosen**: [Add extractors](https://github.com/yt-dlp/yt-dlp/commit/854fded114f3b7b33693c2d3418575d04014aa4b) ([#14183](https://github.com/yt-dlp/yt-dlp/issues/14183)) by [mrFlamel](https://github.com/mrFlamel)
20
62
  - **thisoldhouse**: [Fix login support](https://github.com/yt-dlp/yt-dlp/commit/9daba4f442139ee2537746398afc5ac30b51c28c) ([#15097](https://github.com/yt-dlp/yt-dlp/issues/15097)) by [bashonly](https://github.com/bashonly)
63
+ - **tubitv**: series: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/2a777ecbd598de19a4c691ba1f790ccbec9cdbc4) ([#15018](https://github.com/yt-dlp/yt-dlp/issues/15018)) by [Zer0spectrum](https://github.com/Zer0spectrum)
64
+ - **urplay**: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/c2e7e9cdb2261adde01048d161914b156a3bad51) ([#15120](https://github.com/yt-dlp/yt-dlp/issues/15120)) by [seproDev](https://github.com/seproDev)
65
+ - **web.archive**: youtube: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/7ec6b9bc40ee8a21b11cce83a09a07a37014062e) ([#15234](https://github.com/yt-dlp/yt-dlp/issues/15234)) by [seproDev](https://github.com/seproDev)
66
+ - **wistiachannel**: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/0c696239ef418776ac6ba20284bd2f3976a011b4) ([#14218](https://github.com/yt-dlp/yt-dlp/issues/14218)) by [Sojiroh](https://github.com/Sojiroh)
67
+ - **xhamster**: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/29e257037862f3b2ad65e6e8d2972f9ed89389e3) ([#15252](https://github.com/yt-dlp/yt-dlp/issues/15252)) by [0xvd](https://github.com/0xvd)
21
68
  - **yfanefa**: [Add extractor](https://github.com/yt-dlp/yt-dlp/commit/af285016d2b14c4445109283e7c590b31542de88) ([#15032](https://github.com/yt-dlp/yt-dlp/issues/15032)) by [Haytam001](https://github.com/Haytam001)
22
- - **youtube**: [Detect "super resolution" AI-upscaled formats](https://github.com/yt-dlp/yt-dlp/commit/4cb5e191efeebc3679f89c3c8ac819bcd511bb1f) ([#15050](https://github.com/yt-dlp/yt-dlp/issues/15050)) by [bashonly](https://github.com/bashonly)
69
+ - **youtube**
70
+ - [Add `use_ad_playback_context` extractor-arg](https://github.com/yt-dlp/yt-dlp/commit/f7acf3c1f42cc474927ecc452205d7877af36731) ([#15220](https://github.com/yt-dlp/yt-dlp/issues/15220)) by [WhatAmISupposedToPutHere](https://github.com/WhatAmISupposedToPutHere)
71
+ - [Allow `ejs` patch version to differ](https://github.com/yt-dlp/yt-dlp/commit/7bd79d92965fe9f84d7e1720eb6bb10fa9a10c77) ([#15263](https://github.com/yt-dlp/yt-dlp/issues/15263)) by [Grub4K](https://github.com/Grub4K)
72
+ - [Detect "super resolution" AI-upscaled formats](https://github.com/yt-dlp/yt-dlp/commit/4cb5e191efeebc3679f89c3c8ac819bcd511bb1f) ([#15050](https://github.com/yt-dlp/yt-dlp/issues/15050)) by [bashonly](https://github.com/bashonly)
73
+ - [Determine wait time from player response](https://github.com/yt-dlp/yt-dlp/commit/715af0c636b2b33fb3df1eb2ee37eac8262d43ac) ([#14646](https://github.com/yt-dlp/yt-dlp/issues/14646)) by [bashonly](https://github.com/bashonly), [WhatAmISupposedToPutHere](https://github.com/WhatAmISupposedToPutHere)
74
+ - [Extract all automatic caption languages](https://github.com/yt-dlp/yt-dlp/commit/419776ecf57269efb13095386a19ddc75c1f11b2) ([#15156](https://github.com/yt-dlp/yt-dlp/issues/15156)) by [bashonly](https://github.com/bashonly)
75
+ - [Improve message when no JS runtime is found](https://github.com/yt-dlp/yt-dlp/commit/1d43fa5af883f96af902a29544fc766f5e97fce6) ([#15266](https://github.com/yt-dlp/yt-dlp/issues/15266)) by [bashonly](https://github.com/bashonly)
76
+ - [Update ejs to 0.3.2](https://github.com/yt-dlp/yt-dlp/commit/0c7e4cfcaed95909d7c1c0a11b5a12881bcfdfd6) ([#15267](https://github.com/yt-dlp/yt-dlp/issues/15267)) by [bashonly](https://github.com/bashonly)
23
77
 
24
78
  #### Downloader changes
25
79
  - [Fix playback wait time for ffmpeg downloads](https://github.com/yt-dlp/yt-dlp/commit/23f1ab346927ab73ad510fd7ba105a69e5291c66) ([#15066](https://github.com/yt-dlp/yt-dlp/issues/15066)) by [bashonly](https://github.com/bashonly)
26
80
 
27
81
  #### Postprocessor changes
28
82
  - **ffmpeg**: [Fix uncaught error if bad --ffmpeg-location is given](https://github.com/yt-dlp/yt-dlp/commit/0eed3fe530d6ff4b668494c5b1d4d6fc1ade96f7) ([#15104](https://github.com/yt-dlp/yt-dlp/issues/15104)) by [bashonly](https://github.com/bashonly)
83
+ - **ffmpegmetadata**: [Add more tag mappings](https://github.com/yt-dlp/yt-dlp/commit/04050be583aae21f99932a674d1d2992ff016d5c) ([#14654](https://github.com/yt-dlp/yt-dlp/issues/14654)) by [garret1317](https://github.com/garret1317)
29
84
 
30
85
  #### Networking changes
31
86
  - **Request Handler**: urllib: [Do not read after close](https://github.com/yt-dlp/yt-dlp/commit/6ee6a6fc58d6254ef944bd311e6890e208a75e98) ([#15049](https://github.com/yt-dlp/yt-dlp/issues/15049)) by [bashonly](https://github.com/bashonly)
32
87
 
88
+ #### Misc. changes
89
+ - **build**: [Bump PyInstaller minimum version requirement to 6.17.0](https://github.com/yt-dlp/yt-dlp/commit/280165026886a1f1614ab527c34c66d71faa5d69) ([#15199](https://github.com/yt-dlp/yt-dlp/issues/15199)) by [bashonly](https://github.com/bashonly)
90
+ - **cleanup**: Miscellaneous: [7a52ff2](https://github.com/yt-dlp/yt-dlp/commit/7a52ff29d86efc8f3adeba977b2009ce40b8e52e) by [bashonly](https://github.com/bashonly), [oxyzenQ](https://github.com/oxyzenQ), [RezSat](https://github.com/RezSat), [seproDev](https://github.com/seproDev)
91
+ - **devscripts**: `install_deps`: [Align options/terms with PEP 735](https://github.com/yt-dlp/yt-dlp/commit/29fe515d8d3386b3406ff02bdabb967d6821bc02) ([#15200](https://github.com/yt-dlp/yt-dlp/issues/15200)) by [bashonly](https://github.com/bashonly)
92
+
33
93
  ### 2025.11.12
34
94
 
35
95
  #### Important changes
@@ -90,7 +150,7 @@ yt-dlp now requires users to have an external JavaScript runtime (e.g. Deno) ins
90
150
  - **build**: [Bump musllinux Python version to 3.14](https://github.com/yt-dlp/yt-dlp/commit/646904cd3a79429ec5fdc43f904b3f57ae213f34) ([#14623](https://github.com/yt-dlp/yt-dlp/issues/14623)) by [bashonly](https://github.com/bashonly)
91
151
  - **cleanup**
92
152
  - Miscellaneous
93
- - [c63b4e2](https://github.com/yt-dlp/yt-dlp/commit/c63b4e2a2b81cc78397c8709ef53ffd29bada213) by [bashonly](https://github.com/bashonly), [matyb08](https://github.com/matyb08), [sepro](https://github.com/sepro)
153
+ - [c63b4e2](https://github.com/yt-dlp/yt-dlp/commit/c63b4e2a2b81cc78397c8709ef53ffd29bada213) by [bashonly](https://github.com/bashonly), [matyb08](https://github.com/matyb08), [seproDev](https://github.com/seproDev)
94
154
  - [335653b](https://github.com/yt-dlp/yt-dlp/commit/335653be82d5ef999cfc2879d005397402eebec1) by [bashonly](https://github.com/bashonly), [seproDev](https://github.com/seproDev)
95
155
  - **devscripts**: [Improve `install_deps` script](https://github.com/yt-dlp/yt-dlp/commit/73922e66e437fb4bb618bdc119a96375081bf508) ([#14766](https://github.com/yt-dlp/yt-dlp/issues/14766)) by [bashonly](https://github.com/bashonly)
96
156
  - **test**: [Skip flaky tests if source unchanged](https://github.com/yt-dlp/yt-dlp/commit/ade8c2b36ff300edef87d48fd1ba835ac35c5b63) ([#14970](https://github.com/yt-dlp/yt-dlp/issues/14970)) by [bashonly](https://github.com/bashonly), [Grub4K](https://github.com/Grub4K)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yt-dlp
3
- Version: 2025.11.19.232938.dev0
3
+ Version: 2025.12.20.232942.dev0
4
4
  Summary: A feature-rich command-line audio/video downloader
5
5
  Project-URL: Documentation, https://github.com/yt-dlp/yt-dlp#readme
6
6
  Project-URL: Repository, https://github.com/yt-dlp/yt-dlp
@@ -30,7 +30,7 @@ Provides-Extra: build
30
30
  Requires-Dist: build; extra == 'build'
31
31
  Requires-Dist: hatchling>=1.27.0; extra == 'build'
32
32
  Requires-Dist: pip; extra == 'build'
33
- Requires-Dist: setuptools<81,>=71.0.2; extra == 'build'
33
+ Requires-Dist: setuptools>=71.0.2; extra == 'build'
34
34
  Requires-Dist: wheel; extra == 'build'
35
35
  Provides-Extra: curl-cffi
36
36
  Requires-Dist: curl-cffi!=0.6.*,!=0.7.*,!=0.8.*,!=0.9.*,<0.14,>=0.5.10; (implementation_name == 'cpython') and extra == 'curl-cffi'
@@ -43,7 +43,7 @@ Requires-Dist: pycryptodomex; extra == 'default'
43
43
  Requires-Dist: requests<3,>=2.32.2; extra == 'default'
44
44
  Requires-Dist: urllib3<3,>=2.0.2; extra == 'default'
45
45
  Requires-Dist: websockets>=13.0; extra == 'default'
46
- Requires-Dist: yt-dlp-ejs==0.3.1; extra == 'default'
46
+ Requires-Dist: yt-dlp-ejs==0.3.2; extra == 'default'
47
47
  Provides-Extra: dev
48
48
  Requires-Dist: autopep8~=2.0; extra == 'dev'
49
49
  Requires-Dist: pre-commit; extra == 'dev'
@@ -51,7 +51,7 @@ Requires-Dist: pytest-rerunfailures~=14.0; extra == 'dev'
51
51
  Requires-Dist: pytest~=8.1; extra == 'dev'
52
52
  Requires-Dist: ruff~=0.14.0; extra == 'dev'
53
53
  Provides-Extra: pyinstaller
54
- Requires-Dist: pyinstaller>=6.13.0; extra == 'pyinstaller'
54
+ Requires-Dist: pyinstaller>=6.17.0; extra == 'pyinstaller'
55
55
  Provides-Extra: secretstorage
56
56
  Requires-Dist: cffi; extra == 'secretstorage'
57
57
  Requires-Dist: secretstorage; extra == 'secretstorage'
@@ -272,7 +272,7 @@ Python versions 3.10+ (CPython) and 3.11+ (PyPy) are supported. Other versions a
272
272
  On Windows, [Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)](https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe) is also necessary to run yt-dlp. You probably already have this, but if the executable throws an error due to missing `MSVCR100.dll` you need to install it manually.
273
273
  -->
274
274
 
275
- While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs` and a JavaScript runtime are highly recommended
275
+ While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs` and a supported JavaScript runtime/engine are highly recommended
276
276
 
277
277
  ### Strongly recommended
278
278
 
@@ -284,7 +284,7 @@ While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs`
284
284
 
285
285
  * [**yt-dlp-ejs**](https://github.com/yt-dlp/ejs) - Required for deciphering YouTube n/sig values. Licensed under [Unlicense](https://github.com/yt-dlp/ejs/blob/main/LICENSE), bundles [MIT](https://github.com/davidbonnet/astring/blob/main/LICENSE) and [ISC](https://github.com/meriyah/meriyah/blob/main/LICENSE.md) components.
286
286
 
287
- A JavaScript runtime like [**deno**](https://deno.land) (recommended), [**node.js**](https://nodejs.org), [**bun**](https://bun.sh), or [**QuickJS**](https://bellard.org/quickjs/) is also required to run yt-dlp-ejs. See [the wiki](https://github.com/yt-dlp/yt-dlp/wiki/EJS).
287
+ A JavaScript runtime/engine like [**deno**](https://deno.land) (recommended), [**node.js**](https://nodejs.org), [**bun**](https://bun.sh), or [**QuickJS**](https://bellard.org/quickjs/) is also required to run yt-dlp-ejs. See [the wiki](https://github.com/yt-dlp/yt-dlp/wiki/EJS).
288
288
 
289
289
  ### Networking
290
290
  * [**certifi**](https://github.com/certifi/python-certifi)\* - Provides Mozilla's root certificate bundle. Licensed under [MPLv2](https://github.com/certifi/python-certifi/blob/master/LICENSE)
@@ -297,7 +297,7 @@ While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs`
297
297
  The following provide support for impersonating browser requests. This may be required for some sites that employ TLS fingerprinting.
298
298
 
299
299
  * [**curl_cffi**](https://github.com/lexiforest/curl_cffi) (recommended) - Python binding for [curl-impersonate](https://github.com/lexiforest/curl-impersonate). Provides impersonation targets for Chrome, Edge and Safari. Licensed under [MIT](https://github.com/lexiforest/curl_cffi/blob/main/LICENSE)
300
- * Can be installed with the `curl-cffi` group, e.g. `pip install "yt-dlp[default,curl-cffi]"`
300
+ * Can be installed with the `curl-cffi` extra, e.g. `pip install "yt-dlp[default,curl-cffi]"`
301
301
  * Currently included in most builds *except* `yt-dlp` (Unix zipimport binary), `yt-dlp_x86` (Windows 32-bit) and `yt-dlp_musllinux_aarch64`
302
302
 
303
303
 
@@ -334,7 +334,7 @@ To build the standalone executable, you must have Python and `pyinstaller` (plus
334
334
  You can run the following commands:
335
335
 
336
336
  ```
337
- python devscripts/install_deps.py --include-group pyinstaller
337
+ python devscripts/install_deps.py --include-extra pyinstaller
338
338
  python devscripts/make_lazy_extractors.py
339
339
  python -m bundle.pyinstaller
340
340
  ```
@@ -552,7 +552,7 @@ Tip: Use `CTRL`+`F` (or `Command`+`F`) to search by keywords
552
552
  two-letter ISO 3166-2 country code
553
553
 
554
554
  ## Video Selection:
555
- -I, --playlist-items ITEM_SPEC Comma separated playlist_index of the items
555
+ -I, --playlist-items ITEM_SPEC Comma-separated playlist_index of the items
556
556
  to download. You can specify a range using
557
557
  "[START]:[STOP][:STEP]". For backward
558
558
  compatibility, START-STOP is also supported.
@@ -1368,7 +1368,7 @@ The field names themselves (the part inside the parenthesis) can also have some
1368
1368
 
1369
1369
  1. **Default**: A literal default value can be specified for when the field is empty using a `|` separator. This overrides `--output-na-placeholder`. E.g. `%(uploader|Unknown)s`
1370
1370
 
1371
- 1. **More Conversions**: In addition to the normal format types `diouxXeEfFgGcrs`, yt-dlp additionally supports converting to `B` = **B**ytes, `j` = **j**son (flag `#` for pretty-printing, `+` for Unicode), `h` = HTML escaping, `l` = a comma separated **l**ist (flag `#` for `\n` newline-separated), `q` = a string **q**uoted for the terminal (flag `#` to split a list into different arguments), `D` = add **D**ecimal suffixes (e.g. 10M) (flag `#` to use 1024 as factor), and `S` = **S**anitize as filename (flag `#` for restricted)
1371
+ 1. **More Conversions**: In addition to the normal format types `diouxXeEfFgGcrs`, yt-dlp additionally supports converting to `B` = **B**ytes, `j` = **j**son (flag `#` for pretty-printing, `+` for Unicode), `h` = HTML escaping, `l` = a comma-separated **l**ist (flag `#` for `\n` newline-separated), `q` = a string **q**uoted for the terminal (flag `#` to split a list into different arguments), `D` = add **D**ecimal suffixes (e.g. 10M) (flag `#` to use 1024 as factor), and `S` = **S**anitize as filename (flag `#` for restricted)
1372
1372
 
1373
1373
  1. **Unicode normalization**: The format type `U` can be used for NFC [Unicode normalization](https://docs.python.org/3/library/unicodedata.html#unicodedata.normalize). The alternate form flag (`#`) changes the normalization to NFD and the conversion flag `+` can be used for NFKC/NFKD compatibility equivalence normalization. E.g. `%(title)+.100U` is NFKC
1374
1374
 
@@ -1867,8 +1867,8 @@ Metadata fields | From
1867
1867
  `track` | `track_number`
1868
1868
  `artist` | `artist`, `artists`, `creator`, `creators`, `uploader` or `uploader_id`
1869
1869
  `composer` | `composer` or `composers`
1870
- `genre` | `genre` or `genres`
1871
- `album` | `album`
1870
+ `genre` | `genre`, `genres`, `categories` or `tags`
1871
+ `album` | `album` or `series`
1872
1872
  `album_artist` | `album_artist` or `album_artists`
1873
1873
  `disc` | `disc_number`
1874
1874
  `show` | `series`
@@ -1921,7 +1921,7 @@ The following extractors use this feature:
1921
1921
  #### youtube
1922
1922
  * `lang`: Prefer translated metadata (`title`, `description` etc) of this language code (case-sensitive). By default, the video primary language metadata is preferred, with a fallback to `en` translated. See [youtube/_base.py](https://github.com/yt-dlp/yt-dlp/blob/415b4c9f955b1a0391204bd24a7132590e7b3bdb/yt_dlp/extractor/youtube/_base.py#L402-L409) for the list of supported content language codes
1923
1923
  * `skip`: One or more of `hls`, `dash` or `translated_subs` to skip extraction of the m3u8 manifests, dash manifests and [auto-translated subtitles](https://github.com/yt-dlp/yt-dlp/issues/4090#issuecomment-1158102032) respectively
1924
- * `player_client`: Clients to extract video data from. The currently available clients are `web`, `web_safari`, `web_embedded`, `web_music`, `web_creator`, `mweb`, `ios`, `android`, `android_sdkless`, `android_vr`, `tv`, `tv_simply`, `tv_downgraded`, and `tv_embedded`. By default, `tv,android_sdkless,web` is used. If no JavaScript runtime is available, then `android_sdkless,web_safari,web` is used. If logged-in cookies are passed to yt-dlp, then `tv_downgraded,web_safari,web` is used for free accounts and `tv_downgraded,web_creator,web` is used for premium accounts. The `web_music` client is added for `music.youtube.com` URLs when logged-in cookies are used. The `web_embedded` client is added for age-restricted videos but only works if the video is embeddable. The `tv_embedded` and `web_creator` clients are added for age-restricted videos if account age-verification is required. Some clients, such as `web` and `web_music`, require a `po_token` for their formats to be downloadable. Some clients, such as `web_creator`, will only work with authentication. Not all clients support authentication via cookies. You can use `default` for the default clients, or you can use `all` for all clients (not recommended). You can prefix a client with `-` to exclude it, e.g. `youtube:player_client=default,-ios`
1924
+ * `player_client`: Clients to extract video data from. The currently available clients are `web`, `web_safari`, `web_embedded`, `web_music`, `web_creator`, `mweb`, `ios`, `android`, `android_sdkless`, `android_vr`, `tv`, `tv_simply`, `tv_downgraded`, and `tv_embedded`. By default, `tv,android_sdkless,web` is used. If no JavaScript runtime/engine is available, then `android_sdkless,web_safari,web` is used. If logged-in cookies are passed to yt-dlp, then `tv_downgraded,web_safari,web` is used for free accounts and `tv_downgraded,web_creator,web` is used for premium accounts. The `web_music` client is added for `music.youtube.com` URLs when logged-in cookies are used. The `web_embedded` client is added for age-restricted videos but only works if the video is embeddable. The `tv_embedded` and `web_creator` clients are added for age-restricted videos if account age-verification is required. Some clients, such as `web` and `web_music`, require a `po_token` for their formats to be downloadable. Some clients, such as `web_creator`, will only work with authentication. Not all clients support authentication via cookies. You can use `default` for the default clients, or you can use `all` for all clients (not recommended). You can prefix a client with `-` to exclude it, e.g. `youtube:player_client=default,-ios`
1925
1925
  * `player_skip`: Skip some network requests that are generally needed for robust extraction. One or more of `configs` (skip client configs), `webpage` (skip initial webpage), `js` (skip js player), `initial_data` (skip initial data/next ep request). While these options can help reduce the number of requests needed or avoid some rate-limiting, they could cause issues such as missing formats or metadata. See [#860](https://github.com/yt-dlp/yt-dlp/pull/860) and [#12826](https://github.com/yt-dlp/yt-dlp/issues/12826) for more details
1926
1926
  * `webpage_skip`: Skip extraction of embedded webpage data. One or both of `player_response`, `initial_data`. These options are for testing purposes and don't skip any network requests
1927
1927
  * `player_params`: YouTube player parameters to use for player requests. Will overwrite any default ones set by yt-dlp.
@@ -1936,14 +1936,14 @@ The following extractors use this feature:
1936
1936
  * `raise_incomplete_data`: `Incomplete Data Received` raises an error instead of reporting a warning
1937
1937
  * `data_sync_id`: Overrides the account Data Sync ID used in Innertube API requests. This may be needed if you are using an account with `youtube:player_skip=webpage,configs` or `youtubetab:skip=webpage`
1938
1938
  * `visitor_data`: Overrides the Visitor Data used in Innertube API requests. This should be used with `player_skip=webpage,configs` and without cookies. Note: this may have adverse effects if used improperly. If a session from a browser is wanted, you should pass cookies instead (which contain the Visitor ID)
1939
- * `po_token`: Proof of Origin (PO) Token(s) to use. Comma seperated list of PO Tokens in the format `CLIENT.CONTEXT+PO_TOKEN`, e.g. `youtube:po_token=web.gvs+XXX,web.player=XXX,web_safari.gvs+YYY`. Context can be any of `gvs` (Google Video Server URLs), `player` (Innertube player request) or `subs` (Subtitles)
1939
+ * `po_token`: Proof of Origin (PO) Token(s) to use. Comma-separated list of PO Tokens in the format `CLIENT.CONTEXT+PO_TOKEN`, e.g. `youtube:po_token=web.gvs+XXX,web.player=XXX,web_safari.gvs+YYY`. Context can be any of `gvs` (Google Video Server URLs), `player` (Innertube player request) or `subs` (Subtitles)
1940
1940
  * `pot_trace`: Enable debug logging for PO Token fetching. Either `true` or `false` (default)
1941
1941
  * `fetch_pot`: Policy to use for fetching a PO Token from providers. One of `always` (always try fetch a PO Token regardless if the client requires one for the given context), `never` (never fetch a PO Token), or `auto` (default; only fetch a PO Token if the client requires one for the given context)
1942
- * `playback_wait`: Duration (in seconds) to wait inbetween the extraction and download stages in order to ensure the formats are available. The default is `6` seconds
1943
1942
  * `jsc_trace`: Enable debug logging for JS Challenge fetching. Either `true` or `false` (default)
1943
+ * `use_ad_playback_context`: Skip preroll ads to eliminate the mandatory wait period before download. Do NOT use this when passing premium account cookies to yt-dlp, as it will result in a loss of premium formats. Only effective with the `web`, `web_safari`, `web_music` and `mweb` player clients. Either `true` or `false` (default)
1944
1944
 
1945
1945
  #### youtube-ejs
1946
- * `jitless`: Run suported Javascript engines in JIT-less mode. Supported runtimes are `deno`, `node` and `bun`. Provides better security at the cost of performance/speed. Do note that `node` and `bun` are still considered unsecure. Either `true` or `false` (default)
1946
+ * `jitless`: Run supported Javascript engines in JIT-less mode. Supported runtimes are `deno`, `node` and `bun`. Provides better security at the cost of performance/speed. Do note that `node` and `bun` are still considered insecure. Either `true` or `false` (default)
1947
1947
 
1948
1948
  #### youtubepot-webpo
1949
1949
  * `bind_to_visitor_id`: Whether to use the Visitor ID instead of Visitor Data for caching WebPO tokens. Either `true` (default) or `false`
@@ -207,7 +207,7 @@ Python versions 3.10+ (CPython) and 3.11+ (PyPy) are supported. Other versions a
207
207
  On Windows, [Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)](https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe) is also necessary to run yt-dlp. You probably already have this, but if the executable throws an error due to missing `MSVCR100.dll` you need to install it manually.
208
208
  -->
209
209
 
210
- While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs` and a JavaScript runtime are highly recommended
210
+ While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs` and a supported JavaScript runtime/engine are highly recommended
211
211
 
212
212
  ### Strongly recommended
213
213
 
@@ -219,7 +219,7 @@ While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs`
219
219
 
220
220
  * [**yt-dlp-ejs**](https://github.com/yt-dlp/ejs) - Required for deciphering YouTube n/sig values. Licensed under [Unlicense](https://github.com/yt-dlp/ejs/blob/main/LICENSE), bundles [MIT](https://github.com/davidbonnet/astring/blob/main/LICENSE) and [ISC](https://github.com/meriyah/meriyah/blob/main/LICENSE.md) components.
221
221
 
222
- A JavaScript runtime like [**deno**](https://deno.land) (recommended), [**node.js**](https://nodejs.org), [**bun**](https://bun.sh), or [**QuickJS**](https://bellard.org/quickjs/) is also required to run yt-dlp-ejs. See [the wiki](https://github.com/yt-dlp/yt-dlp/wiki/EJS).
222
+ A JavaScript runtime/engine like [**deno**](https://deno.land) (recommended), [**node.js**](https://nodejs.org), [**bun**](https://bun.sh), or [**QuickJS**](https://bellard.org/quickjs/) is also required to run yt-dlp-ejs. See [the wiki](https://github.com/yt-dlp/yt-dlp/wiki/EJS).
223
223
 
224
224
  ### Networking
225
225
  * [**certifi**](https://github.com/certifi/python-certifi)\* - Provides Mozilla's root certificate bundle. Licensed under [MPLv2](https://github.com/certifi/python-certifi/blob/master/LICENSE)
@@ -232,7 +232,7 @@ While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs`
232
232
  The following provide support for impersonating browser requests. This may be required for some sites that employ TLS fingerprinting.
233
233
 
234
234
  * [**curl_cffi**](https://github.com/lexiforest/curl_cffi) (recommended) - Python binding for [curl-impersonate](https://github.com/lexiforest/curl-impersonate). Provides impersonation targets for Chrome, Edge and Safari. Licensed under [MIT](https://github.com/lexiforest/curl_cffi/blob/main/LICENSE)
235
- * Can be installed with the `curl-cffi` group, e.g. `pip install "yt-dlp[default,curl-cffi]"`
235
+ * Can be installed with the `curl-cffi` extra, e.g. `pip install "yt-dlp[default,curl-cffi]"`
236
236
  * Currently included in most builds *except* `yt-dlp` (Unix zipimport binary), `yt-dlp_x86` (Windows 32-bit) and `yt-dlp_musllinux_aarch64`
237
237
 
238
238
 
@@ -269,7 +269,7 @@ To build the standalone executable, you must have Python and `pyinstaller` (plus
269
269
  You can run the following commands:
270
270
 
271
271
  ```
272
- python devscripts/install_deps.py --include-group pyinstaller
272
+ python devscripts/install_deps.py --include-extra pyinstaller
273
273
  python devscripts/make_lazy_extractors.py
274
274
  python -m bundle.pyinstaller
275
275
  ```
@@ -487,7 +487,7 @@ Tip: Use `CTRL`+`F` (or `Command`+`F`) to search by keywords
487
487
  two-letter ISO 3166-2 country code
488
488
 
489
489
  ## Video Selection:
490
- -I, --playlist-items ITEM_SPEC Comma separated playlist_index of the items
490
+ -I, --playlist-items ITEM_SPEC Comma-separated playlist_index of the items
491
491
  to download. You can specify a range using
492
492
  "[START]:[STOP][:STEP]". For backward
493
493
  compatibility, START-STOP is also supported.
@@ -1303,7 +1303,7 @@ The field names themselves (the part inside the parenthesis) can also have some
1303
1303
 
1304
1304
  1. **Default**: A literal default value can be specified for when the field is empty using a `|` separator. This overrides `--output-na-placeholder`. E.g. `%(uploader|Unknown)s`
1305
1305
 
1306
- 1. **More Conversions**: In addition to the normal format types `diouxXeEfFgGcrs`, yt-dlp additionally supports converting to `B` = **B**ytes, `j` = **j**son (flag `#` for pretty-printing, `+` for Unicode), `h` = HTML escaping, `l` = a comma separated **l**ist (flag `#` for `\n` newline-separated), `q` = a string **q**uoted for the terminal (flag `#` to split a list into different arguments), `D` = add **D**ecimal suffixes (e.g. 10M) (flag `#` to use 1024 as factor), and `S` = **S**anitize as filename (flag `#` for restricted)
1306
+ 1. **More Conversions**: In addition to the normal format types `diouxXeEfFgGcrs`, yt-dlp additionally supports converting to `B` = **B**ytes, `j` = **j**son (flag `#` for pretty-printing, `+` for Unicode), `h` = HTML escaping, `l` = a comma-separated **l**ist (flag `#` for `\n` newline-separated), `q` = a string **q**uoted for the terminal (flag `#` to split a list into different arguments), `D` = add **D**ecimal suffixes (e.g. 10M) (flag `#` to use 1024 as factor), and `S` = **S**anitize as filename (flag `#` for restricted)
1307
1307
 
1308
1308
  1. **Unicode normalization**: The format type `U` can be used for NFC [Unicode normalization](https://docs.python.org/3/library/unicodedata.html#unicodedata.normalize). The alternate form flag (`#`) changes the normalization to NFD and the conversion flag `+` can be used for NFKC/NFKD compatibility equivalence normalization. E.g. `%(title)+.100U` is NFKC
1309
1309
 
@@ -1802,8 +1802,8 @@ Metadata fields | From
1802
1802
  `track` | `track_number`
1803
1803
  `artist` | `artist`, `artists`, `creator`, `creators`, `uploader` or `uploader_id`
1804
1804
  `composer` | `composer` or `composers`
1805
- `genre` | `genre` or `genres`
1806
- `album` | `album`
1805
+ `genre` | `genre`, `genres`, `categories` or `tags`
1806
+ `album` | `album` or `series`
1807
1807
  `album_artist` | `album_artist` or `album_artists`
1808
1808
  `disc` | `disc_number`
1809
1809
  `show` | `series`
@@ -1856,7 +1856,7 @@ The following extractors use this feature:
1856
1856
  #### youtube
1857
1857
  * `lang`: Prefer translated metadata (`title`, `description` etc) of this language code (case-sensitive). By default, the video primary language metadata is preferred, with a fallback to `en` translated. See [youtube/_base.py](https://github.com/yt-dlp/yt-dlp/blob/415b4c9f955b1a0391204bd24a7132590e7b3bdb/yt_dlp/extractor/youtube/_base.py#L402-L409) for the list of supported content language codes
1858
1858
  * `skip`: One or more of `hls`, `dash` or `translated_subs` to skip extraction of the m3u8 manifests, dash manifests and [auto-translated subtitles](https://github.com/yt-dlp/yt-dlp/issues/4090#issuecomment-1158102032) respectively
1859
- * `player_client`: Clients to extract video data from. The currently available clients are `web`, `web_safari`, `web_embedded`, `web_music`, `web_creator`, `mweb`, `ios`, `android`, `android_sdkless`, `android_vr`, `tv`, `tv_simply`, `tv_downgraded`, and `tv_embedded`. By default, `tv,android_sdkless,web` is used. If no JavaScript runtime is available, then `android_sdkless,web_safari,web` is used. If logged-in cookies are passed to yt-dlp, then `tv_downgraded,web_safari,web` is used for free accounts and `tv_downgraded,web_creator,web` is used for premium accounts. The `web_music` client is added for `music.youtube.com` URLs when logged-in cookies are used. The `web_embedded` client is added for age-restricted videos but only works if the video is embeddable. The `tv_embedded` and `web_creator` clients are added for age-restricted videos if account age-verification is required. Some clients, such as `web` and `web_music`, require a `po_token` for their formats to be downloadable. Some clients, such as `web_creator`, will only work with authentication. Not all clients support authentication via cookies. You can use `default` for the default clients, or you can use `all` for all clients (not recommended). You can prefix a client with `-` to exclude it, e.g. `youtube:player_client=default,-ios`
1859
+ * `player_client`: Clients to extract video data from. The currently available clients are `web`, `web_safari`, `web_embedded`, `web_music`, `web_creator`, `mweb`, `ios`, `android`, `android_sdkless`, `android_vr`, `tv`, `tv_simply`, `tv_downgraded`, and `tv_embedded`. By default, `tv,android_sdkless,web` is used. If no JavaScript runtime/engine is available, then `android_sdkless,web_safari,web` is used. If logged-in cookies are passed to yt-dlp, then `tv_downgraded,web_safari,web` is used for free accounts and `tv_downgraded,web_creator,web` is used for premium accounts. The `web_music` client is added for `music.youtube.com` URLs when logged-in cookies are used. The `web_embedded` client is added for age-restricted videos but only works if the video is embeddable. The `tv_embedded` and `web_creator` clients are added for age-restricted videos if account age-verification is required. Some clients, such as `web` and `web_music`, require a `po_token` for their formats to be downloadable. Some clients, such as `web_creator`, will only work with authentication. Not all clients support authentication via cookies. You can use `default` for the default clients, or you can use `all` for all clients (not recommended). You can prefix a client with `-` to exclude it, e.g. `youtube:player_client=default,-ios`
1860
1860
  * `player_skip`: Skip some network requests that are generally needed for robust extraction. One or more of `configs` (skip client configs), `webpage` (skip initial webpage), `js` (skip js player), `initial_data` (skip initial data/next ep request). While these options can help reduce the number of requests needed or avoid some rate-limiting, they could cause issues such as missing formats or metadata. See [#860](https://github.com/yt-dlp/yt-dlp/pull/860) and [#12826](https://github.com/yt-dlp/yt-dlp/issues/12826) for more details
1861
1861
  * `webpage_skip`: Skip extraction of embedded webpage data. One or both of `player_response`, `initial_data`. These options are for testing purposes and don't skip any network requests
1862
1862
  * `player_params`: YouTube player parameters to use for player requests. Will overwrite any default ones set by yt-dlp.
@@ -1871,14 +1871,14 @@ The following extractors use this feature:
1871
1871
  * `raise_incomplete_data`: `Incomplete Data Received` raises an error instead of reporting a warning
1872
1872
  * `data_sync_id`: Overrides the account Data Sync ID used in Innertube API requests. This may be needed if you are using an account with `youtube:player_skip=webpage,configs` or `youtubetab:skip=webpage`
1873
1873
  * `visitor_data`: Overrides the Visitor Data used in Innertube API requests. This should be used with `player_skip=webpage,configs` and without cookies. Note: this may have adverse effects if used improperly. If a session from a browser is wanted, you should pass cookies instead (which contain the Visitor ID)
1874
- * `po_token`: Proof of Origin (PO) Token(s) to use. Comma seperated list of PO Tokens in the format `CLIENT.CONTEXT+PO_TOKEN`, e.g. `youtube:po_token=web.gvs+XXX,web.player=XXX,web_safari.gvs+YYY`. Context can be any of `gvs` (Google Video Server URLs), `player` (Innertube player request) or `subs` (Subtitles)
1874
+ * `po_token`: Proof of Origin (PO) Token(s) to use. Comma-separated list of PO Tokens in the format `CLIENT.CONTEXT+PO_TOKEN`, e.g. `youtube:po_token=web.gvs+XXX,web.player=XXX,web_safari.gvs+YYY`. Context can be any of `gvs` (Google Video Server URLs), `player` (Innertube player request) or `subs` (Subtitles)
1875
1875
  * `pot_trace`: Enable debug logging for PO Token fetching. Either `true` or `false` (default)
1876
1876
  * `fetch_pot`: Policy to use for fetching a PO Token from providers. One of `always` (always try fetch a PO Token regardless if the client requires one for the given context), `never` (never fetch a PO Token), or `auto` (default; only fetch a PO Token if the client requires one for the given context)
1877
- * `playback_wait`: Duration (in seconds) to wait inbetween the extraction and download stages in order to ensure the formats are available. The default is `6` seconds
1878
1877
  * `jsc_trace`: Enable debug logging for JS Challenge fetching. Either `true` or `false` (default)
1878
+ * `use_ad_playback_context`: Skip preroll ads to eliminate the mandatory wait period before download. Do NOT use this when passing premium account cookies to yt-dlp, as it will result in a loss of premium formats. Only effective with the `web`, `web_safari`, `web_music` and `mweb` player clients. Either `true` or `false` (default)
1879
1879
 
1880
1880
  #### youtube-ejs
1881
- * `jitless`: Run suported Javascript engines in JIT-less mode. Supported runtimes are `deno`, `node` and `bun`. Provides better security at the cost of performance/speed. Do note that `node` and `bun` are still considered unsecure. Either `true` or `false` (default)
1881
+ * `jitless`: Run supported Javascript engines in JIT-less mode. Supported runtimes are `deno`, `node` and `bun`. Provides better security at the cost of performance/speed. Do note that `node` and `bun` are still considered insecure. Either `true` or `false` (default)
1882
1882
 
1883
1883
  #### youtubepot-webpo
1884
1884
  * `bind_to_visitor_id`: Whether to use the Visitor ID instead of Visitor Data for caching WebPO tokens. Either `true` (default) or `false`
@@ -247,7 +247,8 @@ Python versions 3.10+ (CPython) and 3.11+ (PyPy) are supported. Other
247
247
  versions and implementations may or may not work correctly.
248
248
 
249
249
  While all the other dependencies are optional, ffmpeg, ffprobe,
250
- yt-dlp-ejs and a JavaScript runtime are highly recommended
250
+ yt-dlp-ejs and a supported JavaScript runtime/engine are highly
251
+ recommended
251
252
 
252
253
  Strongly recommended
253
254
 
@@ -267,8 +268,8 @@ Strongly recommended
267
268
  - yt-dlp-ejs - Required for deciphering YouTube n/sig values. Licensed
268
269
  under Unlicense, bundles MIT and ISC components.
269
270
 
270
- A JavaScript runtime like deno (recommended), node.js, bun, or
271
- QuickJS is also required to run yt-dlp-ejs. See the wiki.
271
+ A JavaScript runtime/engine like deno (recommended), node.js, bun,
272
+ or QuickJS is also required to run yt-dlp-ejs. See the wiki.
272
273
 
273
274
  Networking
274
275
 
@@ -289,7 +290,7 @@ may be required for some sites that employ TLS fingerprinting.
289
290
  - curl_cffi (recommended) - Python binding for curl-impersonate.
290
291
  Provides impersonation targets for Chrome, Edge and Safari. Licensed
291
292
  under MIT
292
- - Can be installed with the curl-cffi group, e.g.
293
+ - Can be installed with the curl-cffi extra, e.g.
293
294
  pip install "yt-dlp[default,curl-cffi]"
294
295
  - Currently included in most builds except yt-dlp (Unix zipimport
295
296
  binary), yt-dlp_x86 (Windows 32-bit) and
@@ -343,7 +344,7 @@ will be built for the same CPU architecture as the Python used.
343
344
 
344
345
  You can run the following commands:
345
346
 
346
- python devscripts/install_deps.py --include-group pyinstaller
347
+ python devscripts/install_deps.py --include-extra pyinstaller
347
348
  python devscripts/make_lazy_extractors.py
348
349
  python -m bundle.pyinstaller
349
350
 
@@ -580,7 +581,7 @@ Geo-restriction:
580
581
 
581
582
  Video Selection:
582
583
 
583
- -I, --playlist-items ITEM_SPEC Comma separated playlist_index of the items
584
+ -I, --playlist-items ITEM_SPEC Comma-separated playlist_index of the items
584
585
  to download. You can specify a range using
585
586
  "[START]:[STOP][:STEP]". For backward
586
587
  compatibility, START-STOP is also supported.
@@ -1481,7 +1482,7 @@ have some special formatting:
1481
1482
  7. More Conversions: In addition to the normal format types
1482
1483
  diouxXeEfFgGcrs, yt-dlp additionally supports converting to B =
1483
1484
  Bytes, j = json (flag # for pretty-printing, + for Unicode), h =
1484
- HTML escaping, l = a comma separated list (flag # for \n
1485
+ HTML escaping, l = a comma-separated list (flag # for \n
1485
1486
  newline-separated), q = a string quoted for the terminal (flag # to
1486
1487
  split a list into different arguments), D = add Decimal suffixes
1487
1488
  (e.g. 10M) (flag # to use 1024 as factor), and S = Sanitize as
@@ -2223,9 +2224,9 @@ metadata:
2223
2224
 
2224
2225
  composer composer or composers
2225
2226
 
2226
- genre genre or genres
2227
+ genre genre, genres, categories or tags
2227
2228
 
2228
- album album
2229
+ album album or series
2229
2230
 
2230
2231
  album_artist album_artist or album_artists
2231
2232
 
@@ -2297,7 +2298,7 @@ youtube
2297
2298
  available clients are web, web_safari, web_embedded, web_music,
2298
2299
  web_creator, mweb, ios, android, android_sdkless, android_vr, tv,
2299
2300
  tv_simply, tv_downgraded, and tv_embedded. By default,
2300
- tv,android_sdkless,web is used. If no JavaScript runtime is
2301
+ tv,android_sdkless,web is used. If no JavaScript runtime/engine is
2301
2302
  available, then android_sdkless,web_safari,web is used. If logged-in
2302
2303
  cookies are passed to yt-dlp, then tv_downgraded,web_safari,web is
2303
2304
  used for free accounts and tv_downgraded,web_creator,web is used for
@@ -2363,7 +2364,7 @@ youtube
2363
2364
  without cookies. Note: this may have adverse effects if used
2364
2365
  improperly. If a session from a browser is wanted, you should pass
2365
2366
  cookies instead (which contain the Visitor ID)
2366
- - po_token: Proof of Origin (PO) Token(s) to use. Comma seperated list
2367
+ - po_token: Proof of Origin (PO) Token(s) to use. Comma-separated list
2367
2368
  of PO Tokens in the format CLIENT.CONTEXT+PO_TOKEN, e.g.
2368
2369
  youtube:po_token=web.gvs+XXX,web.player=XXX,web_safari.gvs+YYY.
2369
2370
  Context can be any of gvs (Google Video Server URLs), player
@@ -2375,18 +2376,20 @@ youtube
2375
2376
  requires one for the given context), never (never fetch a PO Token),
2376
2377
  or auto (default; only fetch a PO Token if the client requires one
2377
2378
  for the given context)
2378
- - playback_wait: Duration (in seconds) to wait inbetween the
2379
- extraction and download stages in order to ensure the formats are
2380
- available. The default is 6 seconds
2381
2379
  - jsc_trace: Enable debug logging for JS Challenge fetching. Either
2382
2380
  true or false (default)
2381
+ - use_ad_playback_context: Skip preroll ads to eliminate the mandatory
2382
+ wait period before download. Do NOT use this when passing premium
2383
+ account cookies to yt-dlp, as it will result in a loss of premium
2384
+ formats. Only effective with the web, web_safari, web_music and mweb
2385
+ player clients. Either true or false (default)
2383
2386
 
2384
2387
  youtube-ejs
2385
2388
 
2386
- - jitless: Run suported Javascript engines in JIT-less mode. Supported
2387
- runtimes are deno, node and bun. Provides better security at the
2388
- cost of performance/speed. Do note that node and bun are still
2389
- considered unsecure. Either true or false (default)
2389
+ - jitless: Run supported Javascript engines in JIT-less mode.
2390
+ Supported runtimes are deno, node and bun. Provides better security
2391
+ at the cost of performance/speed. Do note that node and bun are
2392
+ still considered insecure. Either true or false (default)
2390
2393
 
2391
2394
  youtubepot-webpo
2392
2395
 
@@ -50,7 +50,7 @@ complete --command yt-dlp --long-option geo-bypass-country
50
50
  complete --command yt-dlp --long-option geo-bypass-ip-block
51
51
  complete --command yt-dlp --long-option playlist-start
52
52
  complete --command yt-dlp --long-option playlist-end
53
- complete --command yt-dlp --long-option playlist-items --short-option I --description 'Comma separated playlist_index of the items to download. You can specify a range using "[START]:[STOP][:STEP]". For backward compatibility, START-STOP is also supported. Use negative indices to count from the right and negative STEP to download in reverse order. E.g. "-I 1:3,7,-5::2" used on a playlist of size 15 will download the items at index 1,2,3,7,11,13,15'
53
+ complete --command yt-dlp --long-option playlist-items --short-option I --description 'Comma-separated playlist_index of the items to download. You can specify a range using "[START]:[STOP][:STEP]". For backward compatibility, START-STOP is also supported. Use negative indices to count from the right and negative STEP to download in reverse order. E.g. "-I 1:3,7,-5::2" used on a playlist of size 15 will download the items at index 1,2,3,7,11,13,15'
54
54
  complete --command yt-dlp --long-option match-title
55
55
  complete --command yt-dlp --long-option reject-title
56
56
  complete --command yt-dlp --long-option min-filesize --description 'Abort download if filesize is smaller than SIZE, e.g. 50k or 44.6M'
@@ -319,5 +319,11 @@
319
319
  "action": "add",
320
320
  "when": "6224a3898821965a7d6a2cb9cc2de40a0fd6e6bc",
321
321
  "short": "[priority] **An external JavaScript runtime is now required for full YouTube support**\nyt-dlp now requires users to have an external JavaScript runtime (e.g. Deno) installed in order to solve the JavaScript challenges presented by YouTube. [Read more](https://github.com/yt-dlp/yt-dlp/issues/15012)"
322
+ },
323
+ {
324
+ "action": "change",
325
+ "when": "c63b4e2a2b81cc78397c8709ef53ffd29bada213",
326
+ "short": "[cleanup] Misc (#14767)",
327
+ "authors": ["bashonly", "seproDev", "matyb08"]
322
328
  }
323
329
  ]
@@ -25,16 +25,16 @@ def parse_args():
25
25
  '-e', '--exclude-dependency', metavar='DEPENDENCY', action='append',
26
26
  help='exclude a dependency (can be used multiple times)')
27
27
  parser.add_argument(
28
- '-i', '--include-group', metavar='GROUP', action='append',
29
- help='include an optional dependency group (can be used multiple times)')
28
+ '-i', '--include-extra', metavar='EXTRA', action='append',
29
+ help='include an extra/optional-dependencies list (can be used multiple times)')
30
30
  parser.add_argument(
31
31
  '-c', '--cherry-pick', metavar='DEPENDENCY', action='append',
32
32
  help=(
33
33
  'only include a specific dependency from the resulting dependency list '
34
34
  '(can be used multiple times)'))
35
35
  parser.add_argument(
36
- '-o', '--only-optional-groups', action='store_true',
37
- help='omit default dependencies unless the "default" group is specified with --include-group')
36
+ '-o', '--omit-default', action='store_true',
37
+ help='omit the "default" extra unless it is explicitly included (it is included by default)')
38
38
  parser.add_argument(
39
39
  '-p', '--print', action='store_true',
40
40
  help='only print requirements to stdout')
@@ -51,27 +51,27 @@ def uniq(arg) -> dict[str, None]:
51
51
  def main():
52
52
  args = parse_args()
53
53
  project_table = parse_toml(read_file(args.input))['project']
54
- recursive_pattern = re.compile(rf'{project_table["name"]}\[(?P<group_name>[\w-]+)\]')
55
- optional_groups = project_table['optional-dependencies']
54
+ recursive_pattern = re.compile(rf'{project_table["name"]}\[(?P<extra_name>[\w-]+)\]')
55
+ extras = project_table['optional-dependencies']
56
56
 
57
57
  excludes = uniq(args.exclude_dependency)
58
58
  only_includes = uniq(args.cherry_pick)
59
- include_groups = uniq(args.include_group)
59
+ include_extras = uniq(args.include_extra)
60
60
 
61
- def yield_deps(group):
62
- for dep in group:
61
+ def yield_deps(extra):
62
+ for dep in extra:
63
63
  if mobj := recursive_pattern.fullmatch(dep):
64
- yield from optional_groups.get(mobj.group('group_name'), ())
64
+ yield from extras.get(mobj.group('extra_name'), ())
65
65
  else:
66
66
  yield dep
67
67
 
68
68
  targets = {}
69
- if not args.only_optional_groups:
69
+ if not args.omit_default:
70
70
  # legacy: 'dependencies' is empty now
71
71
  targets.update(dict.fromkeys(project_table['dependencies']))
72
- targets.update(dict.fromkeys(yield_deps(optional_groups['default'])))
72
+ targets.update(dict.fromkeys(yield_deps(extras['default'])))
73
73
 
74
- for include in filter(None, map(optional_groups.get, include_groups)):
74
+ for include in filter(None, map(extras.get, include_extras)):
75
75
  targets.update(dict.fromkeys(yield_deps(include)))
76
76
 
77
77
  def target_filter(target):