Henrik Heimbuerger
145bd631c5
[nebula] Authentication via tokens from cookie jar ( #537 )
...
Closes #496
Co-authored-by: hheimbuerger, TpmKranz
3 years ago
pukkandan
b35496d825
Add `only_once` param for `write_debug`
3 years ago
pukkandan
352d63fdb5
[utils] Improve `traverse_obj`
3 years ago
pukkandan
11f9be0912
[youtube] Extract data from multiple clients ( #536 )
...
* `player_client` accepts multiple clients
* default `player_client` = `android,web`
* music clients can be specifically requested
* Add IOS `player_client`
* Hide live dash since they can't be downloaded
Closes #501
Authored-by: pukkandan, colethedj
3 years ago
pukkandan
c84aeac6b5
Add `only_once` param for `report_warning`
...
Related: https://github.com/yt-dlp/yt-dlp/pull/488#discussion_r667527297
3 years ago
pukkandan
50fed816dd
Errors in playlist extraction should obey `--ignore-errors`
...
Related: https://github.com/yt-dlp/yt-dlp/issues/535#issuecomment-883277272 , https://github.com/yt-dlp/yt-dlp/issues/518#issuecomment-881794754
3 years ago
coletdjnz
a1a7907bc0
[youtube] Fix controversial videos when requested via API ( #533 )
...
Closes: https://github.com/yt-dlp/yt-dlp/issues/511#issuecomment-883024350
Authored by: colethedj
3 years ago
pukkandan
d61fc64618
[youtube:tab] Fix channels tab
3 years ago
pukkandan
6586bca9b9
[utils] Fix LazyList for Falsey values
3 years ago
pukkandan
da503b7a52
[youtube] Make `parse_time_text` and `_extract_chapters` non-fatal
...
Related: #532 , 7c365c2109
3 years ago
pukkandan
7c365c2109
[youtube] Sanity check `chapters` (and refactor related code)
...
Closes #520
3 years ago
pukkandan
3f698246b2
Rename `NOTE` in `-F` to `MORE INFO`
...
since it's often confused to be the same as `format_note`
3 years ago
pukkandan
cca80fe611
[youtube] Extract even more thumbnails and reduce testing
...
* Also fix bug where `_test_url` was being ignored
Ref: https://stackoverflow.com/a/20542029
Related: #340
3 years ago
pukkandan
c634ad2a3c
[compat] Remove unnecessary code
3 years ago
pukkandan
8f3343809e
[utils] Improve `traverse_obj`
...
* Allow skipping a level: `traverse_obj([{k:v1}, {k:v2}], (None, k))` => `[v1, v2]`
* Make keys variadic: `traverse_obj(obj, k1: str, k2: str)` => `traverse_obj(obj, (k1,), (k2,))`
* Fetch from multiple keys: `traverse_obj([{k1:[1], k2:[2], k3:[3]}], (0, (k1, k2), 0))` => `[1, 2]`
TODO: Add tests
3 years ago
pukkandan
0ba692acc8
[youtube] Extract more thumbnails
...
* The thumbnail URLs are hard-coded and their actual existence is tested lazily
* Added option `--no-check-formats` to not test them
Closes #340 , Related: #402 , #337 , https://github.com/ytdl-org/youtube-dl/issues/29049
3 years ago
pukkandan
d9488f69c1
[crunchyroll:playlist] Force http
...
Closes #495
3 years ago
pukkandan
5520aa2dc9
Add option `--exec-before-download`
...
Closes #530
3 years ago
mzbaulhaque
8d9b902243
[pornflip] Add new extractor ( #523 )
...
Authored-by: mzbaulhaque
3 years ago
coletdjnz
fe93e2c4cf
[youtube] misc cleanup and bug fixes ( #505 )
...
* Update some `_extract_response` calls to keep them consistent
* Cleanup continuation extraction related code using new API format
* Improve `_extract_account_syncid` to support multiple parameters
* Generalize `get_text` and related functions into one
* Update `INNERTUBE_CONTEXT_CLIENT_NAME` with integer values
Authored by: colethedj
3 years ago
coletdjnz
314ee30548
[youtube] Fix session index extraction and headers for non-web player clients ( #526 )
...
Fixes #522
3 years ago
coletdjnz
34917076ad
[youtube] Fix authentication when using multiple accounts
...
`SESSION_INDEX` in `ytcfg` is the index of the active account and should be sent as `X-Goog-AuthUser` header
Closes #518
Authored by @colethedj
3 years ago
The Hatsune Daishi
ccc7795ca3
[yahoo:gyao:player] Relax `_VALID_URL` ( #503 )
...
Authored by: nao20010128nao
3 years ago
Felix S
da1c94ee45
[generic] Extract previously missed subtitles ( #515 )
...
* [generic] Extract subtitles in cases missed previously
* [common] Detect discarded subtitles in SMIL manifests
* [generic] Extract everything in the SMIL manifest
Authored by: fstirlitz
3 years ago
pukkandan
3b297919e0
Revert "Merge webm formats into mkv if thumbnails are to be embedded ( #173 )"
...
This reverts commit 4d971a16b8
by @damianoamatruda
Closes #500
This was wrongly checking for `write_thumbnail`
3 years ago
coletdjnz
47193e0298
[youtube:tab] Extract playlist availability ( #504 )
...
Authored by: colethedj
3 years ago
coletdjnz
49bd8c66d3
[youtube:comments] Improve comment vote count parsing ( fixes #506 ) ( #508 )
...
Authored by: colethedj
3 years ago
Felix S
182b6ae8a6
[RTP] Fix extraction and add subtitles ( #497 )
...
Authored by: fstirlitz
3 years ago
felix
c843e68588
[utils] Improve `js_to_json` comment regex
...
Capture the newline character as part of a single-line comment
From #497 , Authored by: fstirlitz
3 years ago
felix
198f7ea89e
[extractor] Allow extracting multiple groups in `_search_regex`
...
From #497 , Authored by: fstirlitz
3 years ago
coletdjnz
c888ffb95a
[youtube] Use android client as default and add age-gate bypass for it ( #492 )
...
Authored by: colethedj
3 years ago
coletdjnz
9752433221
[youtube:comments] Fix `is_favorited` ( #491 )
...
Authored by colethedj
3 years ago
pukkandan
f0ff9979c6
[vlive] Extract thumbnail directly in addition to the one from Naver
...
Closes #477
3 years ago
pukkandan
501dd1ad55
[metadatafromfield] Do not detect numbers as field names
...
Related: https://github.com/yt-dlp/yt-dlp/issues/486#issuecomment-877820394
3 years ago
pukkandan
75722b037d
[webtt] Fix timestamps
...
Closes #474
3 years ago
coletdjnz
2d6659b9ea
[youtube:comments] Move comment extraction to new API ( #466 )
...
Closes #438 , #481 , #485
Authored by: colethedj
3 years ago
Kevin O'Connor
c5370857b3
[BravoTV] Improve metadata extraction ( #483 )
...
Authored by: kevinoconnor7
3 years ago
pukkandan
00034c146a
[embedthumbnail] Fix `_get_thumbnail_resolution`
3 years ago
pukkandan
325ebc1703
Improve `traverse_obj`
3 years ago
pukkandan
7dde84f3c9
[FFmpegMetadata] Add language of each stream
...
and some refactoring
3 years ago
pukkandan
6606817a86
[utils] Add `variadic`
3 years ago
zackmark29
73d829c144
[VIKI] Rewrite extractors ( #475 )
...
Closes #462
Also added extractor-arg `video_types` to `vikichannel`
Co-authored-by: zackmark29, pukkandan
3 years ago
pukkandan
60bdb7bd9e
[youtube] Fix sorting of 3gp format
3 years ago
pukkandan
4bb6b02f93
Improve `extractor_args` parsing
3 years ago
pukkandan
b5ac45b197
Fix selectors `all`, `mergeall` and add tests
...
Bug from: 981052c9c6
3 years ago
pukkandan
38a40c9e16
[version] update
...
:ci skip all
3 years ago
pukkandan
51f8a31d65
Update to ytdl-commit-a803582
...
[peertube] only call description endpoint if necessary
a803582717
3 years ago
Tom-Oliver Heidel
be05d5cff1
[soundcloud] Allow login using oauth token ( #469 )
...
Authored by: blackjack4494
3 years ago
zenerdi0de
30d569d2ac
[fancode] Fix extraction, support live and allow login with refresh token ( #471 )
...
Authored-by: zenerdi0de
3 years ago
OhMyBahGosh
08625e4125
[AdobePass] Add Spectrum MSO ( #470 )
...
From: https://github.com/ytdl-org/youtube-dl/pull/26792
Co-authored by: kevinoconnor7, ohmybahgosh
3 years ago
pukkandan
3acf6d3856
[Funimation] Rewrite extractor (See desc) ( #444 )
...
* Support direct `/player/` URL
* Treat the different versions of an episode as different formats of a single video. So `experience_id` can no longer be used as the video `id` and the `episode_id` is used instead. This means that all existing archives will break
* Extractor options `language` and `version` to pre-select them
* Compat option `seperate-video-versions` to fall back to old behavior (including using the old video IDs)
Closes #428
3 years ago
pukkandan
46890374f7
[extractor] Minor improvements (See desc)
...
1. Allow removal of login hint - extractors can set their own login hint as part of `msg`
2. Cleanup `_merge_subtitles` signature
3 years ago
pukkandan
60755938b3
[extractor] Prevent unnecessary download of hls manifests
...
and refactor `hls_split_discontinuity` code
3 years ago
pukkandan
723d44b92b
[fragment] Handle errors in threads correctly
3 years ago
pukkandan
bc97cdae67
[cleanup] Fix linter and some typos
...
Related: https://github.com/ytdl-org/youtube-dl/pull/29398
3 years ago
nyuszika7h
e010672ab5
[videa] Fix extraction ( #463 )
...
Authored by: nyuszika7h
3 years ago
pukkandan
169dbde946
Fixes for `--list` options (See desc)
...
1. Fix `--list-formats-old`
2. Allow listing with `--quiet`
3. Allow various listings to work together
4. Allow `--print` to work with listing
3 years ago
MinePlayersPE
17f0eb66b8
[RCTIPlus] Add extractor ( #443 )
...
Authored by: MinePlayersPE
3 years ago
pukkandan
981052c9c6
Some minor fixes and refactoring (see desc)
...
* [utils] Fix issues with reversal
* check_formats should catch `DownloadError`, not `ExtractorError`
* Simplify format selectors with `LazyList` and `yield from`
3 years ago
pukkandan
b1e60d1806
[facebook] Extract description and fix title
...
Partially fixes : #453
3 years ago
pukkandan
6b6c16ca6c
[downloader/ffmpeg] Fix `--ppa` when using simultaneous download
3 years ago
krichbanana
f6745c4980
[Youtube] Choose correct Live chat API for upcoming streams ( #460 )
...
Authored by: krichbanana
3 years ago
coletdjnz
109dd3b237
[youtube] Use new API for additional video extraction requests ( #328 )
...
Co-authored-by: colethedj, pukkandan
Closes https://github.com/yt-dlp/yt-dlp/issues/427
Workarounds for https://github.com/ytdl-org/youtube-dl/issues/29326 , https://github.com/yt-dlp/yt-dlp/issues/319 , https://github.com/ytdl-org/youtube-dl/issues/29086
3 years ago
siikamiika
c2603313b1
[youtube_live_chat] use `clickTrackingParams` ( #449 )
...
Authored by: siikamiika
3 years ago
LE
1e79316e20
[TBS] Support livestreams ( #448 )
...
Authored by: llacb47
3 years ago
coletdjnz
45261e063b
[youtube:comments] Fix error handling and add `itct` to params ( #446 )
...
Should close #439 (untested)
Authored by: colethedj
3 years ago
pukkandan
49c258e18d
[youtube] Fix subtitle names for age-gated videos
...
Related: https://github.com/iv-org/invidious/pull/2205#issuecomment-868680486
3 years ago
pukkandan
d3f62c1967
Fix `--throttled-rate` when using `--load-info-json`
3 years ago
pukkandan
5d3a0e794b
Add `--extractor-args` to pass extractor-specific arguments
3 years ago
Mevious
125728b038
[funimation] Add `FunimationShowIE` ( #442 )
...
Closes #436
Authored by: Mevious
3 years ago
pukkandan
15a4fd53d3
[thumbnailsconvertor] Treat `jpeg` as `jpg`
3 years ago
Adrik
4513a41a72
Process videos when using `--ignore-no-formats-error` ( #441 )
...
Authored by: krichbanana
3 years ago
pukkandan
6033d9808d
Fix `--flat-playlist` when entry has no `ie_key`
3 years ago
pukkandan
bd4d1ea398
[cleanup] Minor refactoring of `fragment`
3 years ago
pukkandan
8e897ed283
[fragment] Return status of download correctly
3 years ago
LE
412cce82b0
[yahoo] Fix extraction ( #435 )
...
Fixes: https://github.com/ytdl-org/youtube-dl/issues/28290
Co-authored-by: llacb47, pukkandan
3 years ago
siikamiika
d534c4520b
[youtube_live_chat] Fix download with cookies ( #437 )
...
Closes #417
Authored by: siikamiika
3 years ago
pukkandan
2b18a8c590
[plutotv] Improve `_VALID_URL`
...
Closes #431
3 years ago
pukkandan
dac8b87b0c
[version] update :ci skip all
3 years ago
pukkandan
6aecd87106
Release 2021.06.23
3 years ago
pukkandan
ed807c1837
Update to ytdl-commit-379f52a
...
[liveleak] Remove extractor
379f52a495
3 years ago
Mevious
29f63c9672
[funimation] Extract subtitles ( #434 )
...
Closes #420 , https://github.com/ytdl-org/youtube-dl/issues/25645
Related: https://github.com/ytdl-org/youtube-dl/pull/24906
Authored by: Mevious
3 years ago
pukkandan
9fc0de5796
[hotstar] Use server time for authentication instead of local time
...
Closes #396
3 years ago
siikamiika
c60ee3a218
[youtube_live_chat] Support ongoing live chat ( #422 )
...
Authored by: siikamiika
3 years ago
pukkandan
8a77e5e6bc
[cleanup] Revert unnecessary changes in 51d9739f80
3 years ago
pukkandan
51d9739f80
Add option `--throttled-rate` below which video data is re-extracted
...
Currently only for HTTP downloads
Closes #430 , workaround for https://github.com/ytdl-org/youtube-dl/issues/29326
3 years ago
pukkandan
4c7853de14
[fragment] Merge during download for `-N`, and refactor `hls`/`dash` ( #364 )
3 years ago
pukkandan
e6779b9400
[twitcasting] Websocket support ( #399 )
...
Closes #392
Authored by: nao20010128nao
3 years ago
pukkandan
e36d50c5dd
[websockets] Add `WebSocketFragmentFD` ( #399 )
...
Necessary for #392
Co-authored by: nao20010128nao, pukkandan
3 years ago
pukkandan
ff0f78e1fe
[aria2c] Lower `--min-split-size` for HTTP downloads
...
This makes downloading smaller files much faster
3 years ago
pukkandan
7e067091e8
[options] Rename `--add-metadata` to `--embed-metadata`
...
and clarify that it embeds chapter markers
3 years ago
pukkandan
f89b3e2d7a
Skip fixup of existing files and add `--fixup force` to force it
3 years ago
pukkandan
fd7cfb6444
[cleanup] Refactor fixup
3 years ago
pukkandan
4e6767b5f2
[youtube] Temporary fix for age-gate
...
Related:
https://stackoverflow.com/a/67629882
https://github.com/yt-dlp/yt-dlp/issues/319
https://github.com/ytdl-org/youtube-dl/issues/29333
https://github.com/ytdl-org/youtube-dl/issues/29086
3 years ago
pukkandan
9fea350f0d
Fix id sanitization in filenames
...
Closes #415
3 years ago
pukkandan
e858a9d6d3
[EmbedThumbnail] Add compat-option `embed-thumbnail-atomicparsley`
...
to force use of atomicparsley for embedding thumbnails in mp4
Related: #411
3 years ago
pukkandan
7e87e27c52
[postprocessor] Fix `_restrict_to` when a codec is not set
3 years ago
pukkandan
d0fb4bd16f
[pornhub] Extract `cast`
...
Closes #406 , https://github.com/ytdl-org/youtube-dl/pull/27384
3 years ago
felix
3fd4c2a543
[mediasite] Extract slides ( #343 )
...
Fixes:
https://github.com/ytdl-org/youtube-dl/issues/4974#issue-58006762
https://github.com/ytdl-org/youtube-dl/issues/4540#issuecomment-69574231
https://github.com/ytdl-org/youtube-dl/pull/11185#issuecomment-335554239
Authored by: fstirlitz
3 years ago
felix
cdb19aa4c2
[downloader/mhtml] Add new downloader ( #343 )
...
This downloader is intended to be used for streams that consist of a
timed sequence of stand-alone images, such as slideshows or thumbnail
streams
This can be used for implementing:
https://github.com/ytdl-org/youtube-dl/issues/4974#issue-58006762
https://github.com/ytdl-org/youtube-dl/issues/4540#issuecomment-69574231
https://github.com/ytdl-org/youtube-dl/pull/11185#issuecomment-335554239
https://github.com/ytdl-org/youtube-dl/issues/9868
https://github.com/ytdl-org/youtube-dl/pull/14951
Authored by: fstirlitz
3 years ago
pukkandan
4d85fbbdbb
Fix bug in 8326b00aab
3 years ago
pukkandan
551f93885e
Ignore `images` formats from merge
3 years ago
pukkandan
8326b00aab
Allow `images` formats
...
Necessary for #343 .
* They are identified by `vcodec=acodec='none'`
* These formats show as the worst in `-F`
* Any postprocessor that expects audio/video will be skipped
* `b*` and all related selectors will skip such formats
* This commit also does not add any selector for downloading such formats. They have to be explicitly requested by the `format_id`. Implementation of a selector is left for when #389 is resolved
3 years ago
pukkandan
b0249bcaf0
Expand `--check-formats` to thumbnails
...
Closes #402
3 years ago
pukkandan
21cd8fae49
Use `NamedTemporaryFile` for `--check-formats`
3 years ago
pukkandan
45db527fa6
[youtube] Login is not needed for `:ytrec`
3 years ago
pukkandan
28419ca2c8
[utils] Improve `LazyList`
...
* Add `repr` and `str` that mimics `list`
* Add `reversed`. Unlike `[::-1]`, reversed does not exhaust the iterable and modifies the `LazyList` in-place
* Add tests
3 years ago
pukkandan
8ba8714880
[EmbedThumbnail] Fix for already downloaded thumbnail
3 years ago
pukkandan
187986a857
Better error handling of syntax errors in `-f`
3 years ago
coletdjnz
4ba001080f
[youtube] Non-fatal alert reporting for unavailable videos page ( #401 )
...
Co-Authored by: colethedj, pukkandan
3 years ago
coletdjnz
1974e99f4b
[youtube] Improve SAPISID cookie handling ( closes #393 ) ( #395 )
...
Author: colethedj
3 years ago
pukkandan
0181adefc6
[build] Build Windows x86 version with py3.7
...
and remove redundant tests
Closes #390
:ci skip
Co-authored by: pukkandan, shirt-dev
3 years ago
pukkandan
fd3c633d26
[version] update
...
:ci skip all
3 years ago
pukkandan
385a27fad1
Improve offset parsing in outtmpl
3 years ago
pukkandan
639f1cea92
Fix `%d` and empty default in outtmpl
...
Closes #388
3 years ago
pukkandan
b5c5d84f60
Revert "[build] Build Windows x86 version with py3.8"
...
This reverts commit aa75e51f99
.
See #390
This is being reverted instead of modified due to #388
3 years ago
pukkandan
aa75e51f99
[build] Build Windows x86 version with py3.8
...
and remove redundant tests
:ci skip
Ao-authored by: pukkandan, shirt-dev
3 years ago
pukkandan
884ce9d05d
[version] update :ci skip all
3 years ago
pukkandan
3b1fe47d84
Release 2021.06.08
3 years ago
pukkandan
76a264ac9e
Make outtmpl more robust and catch errors early
3 years ago
pukkandan
324ad82006
[utils] Generalize `traverse_dict` to `traverse_obj`
3 years ago
Nil Admirari
beb982bead
[build,update] Add GNU-style SHA512 and prepare updater for simlar SHA256 ( #383 )
...
Authored by: nihil-admirari <50202386+nihil-admirari@users.noreply.github.com>
Related: #385
3 years ago
pukkandan
46358f647d
Update to ytdl-commit-c2350ca
...
Update MSVC 2010 redist URL
c2350cac24
3 years ago
pukkandan
bd99f6e648
Add field `original_url` with the user-inputted URL
...
So that they can be processed by `--parse-metadata` for example
`webpage_url` is the same, but may be modified by the extractor
3 years ago
pukkandan
ecb5419149
Make more fields available for `--print` when used with `--flat-playlist`
3 years ago
pukkandan
89ee4cf8ae
[viki] Fix extraction
...
Closes #381
Code from: 59e583f7e8
3 years ago
pukkandan
87ea7dfc04
Fix filename sanitization
...
Bug from 752cda3880
3 years ago
pukkandan
eb0f9d6838
[zoom] Extract transcripts as subtitles
3 years ago
pukkandan
d3d8d8184a
[extractor] Fix pre-checking archive for some extractors
...
The `id` regex group must be present for `_match_id` and pre-checking archive to work correctly
3 years ago
pukkandan
e85a39717a
[twitcasting] Add TwitCastingUserIE, TwitCastingLiveIE
...
Closes #374
Code adapted from: f1fb9222bb/youtube_dl/extractor/twitcasting.py
Authored by: pukkandan, nao20010128nao
3 years ago
MinePlayersPE
f2cd7060fc
[vidio] Add VidioPremierIE and VidioLiveIE ( #371 )
...
Authored-by: MinePlayersPE
3 years ago
pukkandan
752cda3880
Fix and refactor `prepare_outtmpl`
...
The following tests would have failed previously:
%(id)d %(id)r
%(ext)s-%(ext|def)d
%(width|)d
%(id)r %(height)r
%(formats.0)r
%s
3 years ago
pukkandan
9d83ad93d0
[cleanup] Mark unused files
3 years ago
felix
cc52de4356
[cleanup] Point all shebang to `python3` ( #372 )
...
Authored by: fstirlitz
3 years ago
felix
2ec1759f9d
[downloader/ffmpeg] Hide FFmpeg banner unless in verbose mode ( #372 )
...
Authored by: fstirlitz
3 years ago
felix
e2efe599aa
[common] Fix FourCC fallback when parsing ISM ( #372 )
...
In some DASH manifests, the FourCC attribute is actually present,
but empty. We thus apply the same fallback to 'AACL' that we do
when the attribute is entirely absent.
Authored by: fstirlitz
3 years ago
pukkandan
5e1dba8ed6
Remove duplicate file `trovolive.py`
3 years ago
pukkandan
bea742222f
[youtube] Support shorts URL
...
Closes #375
3 years ago
pukkandan
e06ca6ddac
[hls] Decrypt fragment when reading from disk
...
Closes #373
3 years ago
pukkandan
eb03899192
[version] update
...
:ci skip all
4 years ago
pukkandan
bc6b9bcd65
[utils] Escape URLs in `sanitized_Request`, not `sanitize_url`
...
d2558234cf
added escaping of URLs while sanitizing. However, `sanitize_url` may not always receive an actual URL.
Eg: When using `yt-dlp "search query" --default-search ytsearch`, `search query` gets escaped to `search%20query` before being prefixed with `ytsearch:` which is not the intended behavior. So the escaping is moved to `sanitized_Request` instead.
4 years ago
Ashish
6e6390321c
[Hotstar] Add HotStarSeriesIE ( #366 )
...
Authored by: Ashish0804
4 years ago
pukkandan
4040428efc
[update] Block further update for unsupported systems
4 years ago
pukkandan
14eb1ee1cb
Update to ytdl-commit-d495292
...
[ard] Relax _VALID_URL and fix video ids
d495292852
Closes #357
4 years ago
coletdjnz
879e7199bb
[archiveorg] Add YoutubeWebArchiveIE ( #356 )
...
Co-authored by: colethedj, pukkandan, alex-gedeon
4 years ago
pukkandan
d89da64b1d
[hls,dash] When using `concurrent_fragment_downloads`, do not keep the fragment content in memory
...
Partial fix for #359
This is a temporary solution until #364 can be implemented
4 years ago
pukkandan
5dcd8e1d88
[hls] Disable external downloader for `webtt`
4 years ago
MinePlayersPE
10bb7e51e8
[vidio] Add login support ( #362 )
...
Authored by: MinePlayersPE
4 years ago
pukkandan
b0089e8992
[fancode] Add extractor (#316,#354)
...
Closes #269 , #363
Authored by: rmsmachine
4 years ago
Ashish
a3ed14cbaf
[Voot] Add VootSeriesIE ( #351 )
...
Authored by: Ashish0804
4 years ago