The max_comments extractor argument is not respected for YouTube downloads. Many more comments than configured are downloaded

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2022.09.01 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
Despite setting the max_comments extractor argument as documented in the readme, the extractor continues long past the stated limit for a video with hundreds of thousands of comments. This is a problem, of course, because it takes a very, very long time to download so many comments. It has never stopped downloading comments on a video unless it downloaded all of them or unless I manually interrupted it, in spite of my trying to set automatic limits.
Here is a video that I am having this problem with, currently: https://www.youtube.com/watch?v=34Na4j8AVgA
Here is the command that I have been running. Note --extractor-args "max_comments:50,50,20,20". The output, where I allowed the downloader to continue running until after it had downloaded 6409 comments, is provided below. I have tried quite a few different options for max_comments and none of them have ever resulted in the comments download stopping before all comments were fully downloaded.
yt-dlp -ciw -k --add-metadata -v -f "best[tbr<?2400]/best" --geo-bypass --download-archive "../video/archive.txt" --write-thumbnail --write-auto-sub --write-subs --write-comments --sub-format srt --embed-subs --embed-thumbnail --write-info-json --sleep-interval 120 --max-sleep-interval 240 --extractor-args "max_comments:50,50,20,20" -o "../video/%(uploader)s/%(title)s-%(id)s.%(ext)s" https://www.youtube.com/playlist?list=<a playlist which includes this video>

Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
$ yt-dlp -ciw -vU -k --add-metadata -v -f "best[tbr<?2400]/best" --geo-bypass --download-archive "../video/archive.txt" --write-thumbnail --write-auto-sub --write-subs --write-comments --sub-format srt --embed-subs --embed-thumbnail --write-info-json --sleep-interval 120 --max-sleep-interval 240 --extractor-args "max_comments:50,50,20,20" -o "../video/%(uploader)s/%(title)s-%(id)s.%(ext)s" https://www.youtube.com/playlist?list=<my playlist>
[debug] Command-line config: ['-ciw', '-vU', '-k', '--add-metadata', '-v', '-f', 'best[tbr<?2400]/best', '--geo-bypass', '--download-archive', '../video/archive.txt', '--write-thumbnail', '--write-auto-sub', '--write-subs', '--write-comments', '--sub-format', 'srt', '--embed-subs', '--embed-thumbnail', '--write-info-json', '--sleep-interval', '120', '--max-sleep-interval', '240', '--extractor-args', 'max_comments:50,50,20,20', '-o', '../video/%(uploader)s/%(title)s-%(id)s.%(ext)s', 'https://www.youtube.com/playlist?list=<my playlist>']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.09.01 [5d7c7d6] (pip)
[debug] Python 3.10.2 (CPython 64bit) - Windows-10-10.0.19044-SP0
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 4.3.2-2021-02-02-full_build-www.gyan.dev, ffprobe 4.3.2-2021-02-02-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.13.0, brotli-1.0.9, certifi-2021.10.08, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.1
[debug] Proxy map: {}
[debug] Loaded 1670 extractors
[debug] Loading archive file '../video/archive.txt'
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.09.01, Current version: 2022.09.01
yt-dlp is up to date (2022.09.01)
[debug] [youtube:tab] Extracting URL: https://www.youtube.com/playlist?list=<my playlist>
[youtube:tab] <my playlist>: Downloading webpage
[debug] [youtube:tab] Final URL: https://www.youtube.com/playlist?list=<my playlist>
[youtube:tab] <my playlist>: Downloading API JSON with unavailable videos
[download] Downloading playlist: Save
[youtube:tab] <my playlist> page 1: Downloading API JSON
[youtube:tab] <my playlist> page 2: Downloading API JSON
[youtube:tab] <my playlist> page 3: Downloading API JSON
WARNING: [youtube:tab] YouTube said: INFO - Unavailable videos will be hidden during playback
[youtube:tab] <my playlist> page 4: Downloading API JSON
[youtube:tab] <my playlist> page 5: Downloading API JSON
[youtube:tab] <my playlist> page 6: Downloading API JSON
[youtube:tab] <my playlist> page 7: Downloading API JSON
[youtube:tab] <my playlist> page 8: Downloading API JSON
[youtube:tab] <my playlist> page 9: Downloading API JSON
[youtube:tab] <my playlist> page 10: Downloading API JSON
[youtube:tab] <my playlist> page 11: Downloading API JSON
[youtube:tab] <my playlist> page 12: Downloading API JSON
[youtube:tab] <my playlist> page 13: Downloading API JSON
[youtube:tab] <my playlist> page 14: Downloading API JSON
[info] Playlist metadata is already present
[info] Playlist thumbnail is already present
[youtube:tab] Playlist Save: Downloading 1466 videos of 1466
[download] <other video in playlist> has already been recorded in the archive
[download] <other video in playlist> has already been recorded in the archive
[download] <other video in playlist> has already been recorded in the archive
[download] <other video in playlist> has already been recorded in the archive
[download] Downloading video 5 of 1466
[debug] [youtube] Extracting URL: https://www.youtube.com/watch?v=t5Sd5c4o9UM
[youtube] t5Sd5c4o9UM: Downloading webpage
[youtube] t5Sd5c4o9UM: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[info] t5Sd5c4o9UM: Downloading subtitles: en-nP7-2PuUl7o
WARNING: No subtitle format found matching "srt" for language en-nP7-2PuUl7o, using vtt
[youtube] Downloading comment section API JSON
[youtube] Downloading ~337882 comments
[youtube] Sorting comments by newest first
[youtube] Downloading comment API JSON page 1 (0/337882)
[youtube]     Downloading comment API JSON reply thread 1 (18/337882)
[youtube] Downloading comment API JSON page 2 (23/337882)
[youtube] Downloading comment API JSON page 3 (43/337882)
[youtube]     Downloading comment API JSON reply thread 1 (49/337882)
[youtube]     Downloading comment API JSON reply thread 2 (55/337882)
[youtube]     Downloading comment API JSON reply thread 3 (57/337882)
[youtube] Downloading comment API JSON page 4 (65/337882)
[youtube]     Downloading comment API JSON reply thread 1 (72/337882)
[youtube] Downloading comment API JSON page 5 (86/337882)
[youtube]     Downloading comment API JSON reply thread 1 (98/337882)
[youtube]     Downloading comment API JSON reply thread 2 (100/337882)
[youtube] Downloading comment API JSON page 6 (108/337882)
[youtube]     Downloading comment API JSON reply thread 1 (110/337882)
[youtube]     Downloading comment API JSON reply thread 2 (124/337882)
[youtube] Downloading comment API JSON page 7 (130/337882)
[youtube]     Downloading comment API JSON reply thread 1 (149/337882)
[youtube] Downloading comment API JSON page 8 (151/337882)
[youtube]     Downloading comment API JSON reply thread 1 (154/337882)
[youtube] Downloading comment API JSON page 9 (172/337882)
[youtube] Downloading comment API JSON page 10 (192/337882)
[youtube]     Downloading comment API JSON reply thread 1 (193/337882)
[youtube]     Downloading comment API JSON reply thread 2 (199/337882)
[youtube]     Downloading comment API JSON reply thread 3 (214/337882)
[youtube] Downloading comment API JSON page 11 (216/337882)
[youtube]     Downloading comment API JSON reply thread 1 (223/337882)
[youtube]     Downloading comment API JSON reply thread 2 (234/337882)
[youtube]     Downloading comment API JSON reply thread 3 (237/337882)
[youtube] Downloading comment API JSON page 12 (245/337882)
[youtube]     Downloading comment API JSON reply thread 1 (247/337882)
[youtube]     Downloading comment API JSON reply thread 2 (255/337882)
[youtube]     Downloading comment API JSON reply thread 3 (260/337882)
[youtube] Downloading comment API JSON page 13 (268/337882)
[youtube] Downloading comment API JSON page 14 (288/337882)
[youtube]     Downloading comment API JSON reply thread 1 (300/337882)
[youtube]     Downloading comment API JSON reply thread 2 (307/337882)
[youtube] Downloading comment API JSON page 15 (310/337882)
[youtube]     Downloading comment API JSON reply thread 1 (317/337882)
[youtube]        Downloading comment replies API JSON page 1 (327/337882)
[youtube]     Downloading comment API JSON reply thread 2 (330/337882)
[youtube] Downloading comment API JSON page 16 (342/337882)
[youtube] Downloading comment API JSON page 17 (362/337882)
[youtube]     Downloading comment API JSON reply thread 1 (377/337882)
[youtube] Downloading comment API JSON page 18 (383/337882)
[youtube]     Downloading comment API JSON reply thread 1 (384/337882)
[youtube]     Downloading comment API JSON reply thread 2 (400/337882)
[youtube] Downloading comment API JSON page 19 (405/337882)
[youtube]     Downloading comment API JSON reply thread 1 (421/337882)
[youtube]     Downloading comment API JSON reply thread 2 (423/337882)
[youtube] Downloading comment API JSON page 20 (428/337882)
[youtube]     Downloading comment API JSON reply thread 1 (431/337882)
[youtube]     Downloading comment API JSON reply thread 2 (436/337882)
[youtube]     Downloading comment API JSON reply thread 3 (440/337882)
[youtube] Downloading comment API JSON page 21 (452/337882)
[youtube]     Downloading comment API JSON reply thread 1 (456/337882)
[youtube]     Downloading comment API JSON reply thread 2 (466/337882)
[youtube]     Downloading comment API JSON reply thread 3 (468/337882)
[youtube]     Downloading comment API JSON reply thread 4 (471/337882)
[youtube] Downloading comment API JSON page 22 (481/337882)
[youtube]     Downloading comment API JSON reply thread 1 (484/337882)
[youtube]     Downloading comment API JSON reply thread 2 (501/337882)
[youtube]        Downloading comment replies API JSON page 1 (510/337882)
[youtube] Downloading comment API JSON page 23 (512/337882)
[youtube] Downloading comment API JSON page 24 (532/337882)
[youtube]     Downloading comment API JSON reply thread 1 (546/337882)
[youtube] Downloading comment API JSON page 25 (554/337882)
[youtube]     Downloading comment API JSON reply thread 1 (556/337882)
[youtube] Downloading comment API JSON page 26 (576/337882)
[youtube]     Downloading comment API JSON reply thread 1 (582/337882)
[youtube]     Downloading comment API JSON reply thread 2 (584/337882)
[youtube]     Downloading comment API JSON reply thread 3 (590/337882)
[youtube] Downloading comment API JSON page 27 (600/337882)
[youtube]     Downloading comment API JSON reply thread 1 (606/337882)
[youtube]     Downloading comment API JSON reply thread 2 (612/337882)
[youtube]     Downloading comment API JSON reply thread 3 (614/337882)
[youtube] Downloading comment API JSON page 28 (623/337882)
[youtube]     Downloading comment API JSON reply thread 1 (631/337882)
[youtube]     Downloading comment API JSON reply thread 2 (640/337882)
[youtube] Downloading comment API JSON page 29 (648/337882)
[youtube]     Downloading comment API JSON reply thread 1 (649/337882)
[youtube]     Downloading comment API JSON reply thread 2 (651/337882)
[youtube]     Downloading comment API JSON reply thread 3 (665/337882)
[youtube] Downloading comment API JSON page 30 (671/337882)
[youtube]     Downloading comment API JSON reply thread 1 (673/337882)
[youtube]     Downloading comment API JSON reply thread 2 (679/337882)
[youtube] Downloading comment API JSON page 31 (696/337882)
[youtube]     Downloading comment API JSON reply thread 1 (699/337882)
[youtube]     Downloading comment API JSON reply thread 2 (707/337882)
[youtube]     Downloading comment API JSON reply thread 3 (709/337882)
[youtube] Downloading comment API JSON page 32 (718/337882)
[youtube]     Downloading comment API JSON reply thread 1 (736/337882)
[youtube] Downloading comment API JSON page 33 (739/337882)
[youtube]     Downloading comment API JSON reply thread 1 (749/337882)
[youtube] Downloading comment API JSON page 34 (760/337882)
[youtube]     Downloading comment API JSON reply thread 1 (778/337882)
[youtube] Downloading comment API JSON page 35 (781/337882)
[youtube]     Downloading comment API JSON reply thread 1 (788/337882)
[youtube]     Downloading comment API JSON reply thread 2 (793/337882)
[youtube] Downloading comment API JSON page 36 (804/337882)
[youtube] Downloading comment API JSON page 37 (824/337882)
[youtube] Downloading comment API JSON page 38 (844/337882)
[youtube]     Downloading comment API JSON reply thread 1 (845/337882)
[youtube]     Downloading comment API JSON reply thread 2 (854/337882)
[youtube] Downloading comment API JSON page 39 (871/337882)
[youtube]     Downloading comment API JSON reply thread 1 (873/337882)
[youtube]     Downloading comment API JSON reply thread 2 (890/337882)
[youtube] Downloading comment API JSON page 40 (895/337882)
[youtube]     Downloading comment API JSON reply thread 1 (899/337882)
[youtube] Downloading comment API JSON page 41 (916/337882)
[youtube]     Downloading comment API JSON reply thread 1 (917/337882)
[youtube]     Downloading comment API JSON reply thread 2 (922/337882)
[youtube]     Downloading comment API JSON reply thread 3 (932/337882)
[youtube] Downloading comment API JSON page 42 (939/337882)
[youtube]     Downloading comment API JSON reply thread 1 (945/337882)
[youtube]     Downloading comment API JSON reply thread 2 (952/337882)
[youtube]     Downloading comment API JSON reply thread 3 (956/337882)
[youtube] Downloading comment API JSON page 43 (963/337882)
[youtube]     Downloading comment API JSON reply thread 1 (969/337882)
[youtube]     Downloading comment API JSON reply thread 2 (978/337882)
[youtube]     Downloading comment API JSON reply thread 3 (980/337882)
[youtube] Downloading comment API JSON page 44 (987/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1007/337882)
[youtube] Downloading comment API JSON page 45 (1008/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1016/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1023/337882)
[youtube] Downloading comment API JSON page 46 (1030/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1031/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1045/337882)
[youtube]     Downloading comment API JSON reply thread 3 (1053/337882)
[youtube] Downloading comment API JSON page 47 (1055/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1056/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1068/337882)
[youtube]     Downloading comment API JSON reply thread 3 (1078/337882)
[youtube] Downloading comment API JSON page 48 (1084/337882)
[youtube] Downloading comment API JSON page 49 (1104/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1113/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1119/337882)
[youtube] Downloading comment API JSON page 50 (1126/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1129/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1131/337882)
[youtube]     Downloading comment API JSON reply thread 3 (1142/337882)
[youtube] Downloading comment API JSON page 51 (1153/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1161/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1167/337882)
[youtube]     Downloading comment API JSON reply thread 3 (1171/337882)
[youtube]     Downloading comment API JSON reply thread 4 (1175/337882)
[youtube] Downloading comment API JSON page 52 (1178/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1186/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1190/337882)
[youtube] Downloading comment API JSON page 53 (1200/337882)
[youtube] Downloading comment API JSON page 54 (1220/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1233/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1236/337882)
[youtube] Downloading comment API JSON page 55 (1244/337882)
[youtube] Downloading comment API JSON page 56 (1264/337882)
[youtube] Downloading comment API JSON page 57 (1284/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1293/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1301/337882)
[youtube] Downloading comment API JSON page 58 (1305/337882)
[youtube] Downloading comment API JSON page 59 (1325/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1334/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1335/337882)
[youtube]     Downloading comment API JSON reply thread 3 (1346/337882)
[youtube] Downloading comment API JSON page 60 (1350/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1351/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1370/337882)
[youtube] Downloading comment API JSON page 61 (1373/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1379/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1381/337882)
[youtube] Downloading comment API JSON page 62 (1395/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1402/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1407/337882)
[youtube] Downloading comment API JSON page 63 (1418/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1426/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1435/337882)
[youtube]     Downloading comment API JSON reply thread 3 (1438/337882)
[youtube]        Downloading comment replies API JSON page 1 (1447/337882)
[youtube]     Downloading comment API JSON reply thread 4 (1467/337882)
[youtube] Downloading comment API JSON page 64 (1473/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1474/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1477/337882)
[youtube]     Downloading comment API JSON reply thread 3 (1489/337882)
[youtube] Downloading comment API JSON page 65 (1503/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1509/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1518/337882)
[youtube]     Downloading comment API JSON reply thread 3 (1524/337882)
[youtube] Downloading comment API JSON page 66 (1529/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1543/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1546/337882)
[youtube]     Downloading comment API JSON reply thread 3 (1551/337882)
[youtube] Downloading comment API JSON page 67 (1553/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1567/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1574/337882)
[youtube] Downloading comment API JSON page 68 (1575/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1578/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1596/337882)
[youtube] Downloading comment API JSON page 69 (1597/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1606/337882)
[youtube] Downloading comment API JSON page 70 (1617/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1619/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1630/337882)
[youtube]     Downloading comment API JSON reply thread 3 (1632/337882)
[youtube]     Downloading comment API JSON reply thread 4 (1642/337882)
[youtube] Downloading comment API JSON page 71 (1643/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1644/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1660/337882)
[youtube] Downloading comment API JSON page 72 (1665/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1672/337882)
[youtube] Downloading comment API JSON page 73 (1686/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1694/337882)
[youtube] Downloading comment API JSON page 74 (1707/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1716/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1722/337882)
[youtube] Downloading comment API JSON page 75 (1729/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1733/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1740/337882)
[youtube] Downloading comment API JSON page 76 (1751/337882)
[youtube] Downloading comment API JSON page 77 (1771/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1772/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1779/337882)
[youtube]     Downloading comment API JSON reply thread 3 (1786/337882)
[youtube] Downloading comment API JSON page 78 (1796/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1800/337882)
[youtube] Downloading comment API JSON page 79 (1817/337882)
[youtube] Downloading comment API JSON page 80 (1837/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1845/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1857/337882)
[youtube] Downloading comment API JSON page 81 (1862/337882)
[youtube] Downloading comment API JSON page 82 (1882/337882)
[youtube] Downloading comment API JSON page 83 (1902/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1917/337882)
[youtube] Downloading comment API JSON page 84 (1930/337882)
[youtube] Downloading comment API JSON page 85 (1950/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1953/337882)
[youtube]     Downloading comment API JSON reply thread 2 (1958/337882)
[youtube] Downloading comment API JSON page 86 (1973/337882)
[youtube] Downloading comment API JSON page 87 (1993/337882)
[youtube]     Downloading comment API JSON reply thread 1 (1997/337882)
[youtube] Downloading comment API JSON page 88 (2019/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2028/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2034/337882)
[youtube] Downloading comment API JSON page 89 (2041/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2053/337882)
[youtube] Downloading comment API JSON page 90 (2062/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2078/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2083/337882)
[youtube] Downloading comment API JSON page 91 (2084/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2092/337882)
[youtube] Downloading comment API JSON page 92 (2105/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2122/337882)
[youtube] Downloading comment API JSON page 93 (2126/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2127/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2139/337882)
[youtube]     Downloading comment API JSON reply thread 3 (2146/337882)
[youtube] Downloading comment API JSON page 94 (2149/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2167/337882)
[youtube] Downloading comment API JSON page 95 (2170/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2174/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2190/337882)
[youtube]     Downloading comment API JSON reply thread 3 (2192/337882)
[youtube] Downloading comment API JSON page 96 (2193/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2207/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2220/337882)
[youtube] Downloading comment API JSON page 97 (2221/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2233/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2236/337882)
[youtube] Downloading comment API JSON page 98 (2246/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2247/337882)
[youtube] Downloading comment API JSON page 99 (2271/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2280/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2290/337882)
[youtube] Downloading comment API JSON page 100 (2294/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2296/337882)
[youtube]        Downloading comment replies API JSON page 1 (2304/337882)
[youtube] Downloading comment API JSON page 101 (2354/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2365/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2372/337882)
[youtube] Downloading comment API JSON page 102 (2379/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2385/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2388/337882)
[youtube]     Downloading comment API JSON reply thread 3 (2397/337882)
[youtube] Downloading comment API JSON page 103 (2405/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2419/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2422/337882)
[youtube] Downloading comment API JSON page 104 (2427/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2439/337882)
[youtube] Downloading comment API JSON page 105 (2448/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2449/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2455/337882)
[youtube]     Downloading comment API JSON reply thread 3 (2463/337882)
[youtube] Downloading comment API JSON page 106 (2471/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2479/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2491/337882)
[youtube] Downloading comment API JSON page 107 (2493/337882)
[youtube] Downloading comment API JSON page 108 (2513/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2520/337882)
[youtube] Downloading comment API JSON page 109 (2534/337882)
[youtube] Downloading comment API JSON page 110 (2554/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2557/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2572/337882)
[youtube]     Downloading comment API JSON reply thread 3 (2576/337882)
[youtube] Downloading comment API JSON page 111 (2579/337882)
[youtube] Downloading comment API JSON page 112 (2599/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2606/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2618/337882)
[youtube] Downloading comment API JSON page 113 (2620/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2621/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2625/337882)
[youtube]     Downloading comment API JSON reply thread 3 (2635/337882)
[youtube] Downloading comment API JSON page 114 (2650/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2667/337882)
[youtube] Downloading comment API JSON page 115 (2671/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2676/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2680/337882)
[youtube]     Downloading comment API JSON reply thread 3 (2687/337882)
[youtube] Downloading comment API JSON page 116 (2699/337882)
[youtube] Downloading comment API JSON page 117 (2719/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2722/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2729/337882)
[youtube] Downloading comment API JSON page 118 (2741/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2745/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2752/337882)
[youtube] Downloading comment API JSON page 119 (2764/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2776/337882)
[youtube]        Downloading comment replies API JSON page 1 (2786/337882)
[youtube]        Downloading comment replies API JSON page 2 (2836/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2849/337882)
[youtube] Downloading comment API JSON page 120 (2857/337882)
[youtube] Downloading comment API JSON page 121 (2877/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2883/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2887/337882)
[youtube] Downloading comment API JSON page 122 (2899/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2907/337882)
[youtube]     Downloading comment API JSON reply thread 2 (2922/337882)
[youtube] Downloading comment API JSON page 123 (2924/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2928/337882)
[youtube] Downloading comment API JSON page 124 (2947/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2959/337882)
[youtube] Downloading comment API JSON page 125 (2970/337882)
[youtube] Downloading comment API JSON page 126 (2990/337882)
[youtube]     Downloading comment API JSON reply thread 1 (2995/337882)
[youtube] Downloading comment API JSON page 127 (3011/337882)
[youtube] Downloading comment API JSON page 128 (3031/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3032/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3045/337882)
[youtube] Downloading comment API JSON page 129 (3053/337882)
[youtube] Downloading comment API JSON page 130 (3073/337882)
[youtube] Downloading comment API JSON page 131 (3093/337882)
[youtube] Downloading comment API JSON page 132 (3113/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3133/337882)
[youtube] Downloading comment API JSON page 133 (3135/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3139/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3145/337882)
[youtube]     Downloading comment API JSON reply thread 3 (3152/337882)
[youtube]     Downloading comment API JSON reply thread 4 (3154/337882)
[youtube] Downloading comment API JSON page 134 (3162/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3171/337882)
[youtube] Downloading comment API JSON page 135 (3183/337882)
[youtube] Downloading comment API JSON page 136 (3203/337882)
[youtube] Downloading comment API JSON page 137 (3223/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3237/337882)
[youtube]        Downloading comment replies API JSON page 1 (3247/337882)
[youtube] Downloading comment API JSON page 138 (3254/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3270/337882)
[youtube] Downloading comment API JSON page 139 (3274/337882)
[youtube] Downloading comment API JSON page 140 (3294/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3308/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3313/337882)
[youtube] Downloading comment API JSON page 141 (3316/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3318/337882)
[youtube] Downloading comment API JSON page 142 (3337/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3338/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3351/337882)
[youtube] Downloading comment API JSON page 143 (3359/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3375/337882)
[youtube]        Downloading comment replies API JSON page 1 (3385/337882)
[youtube] Downloading comment API JSON page 144 (3391/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3395/337882)
[youtube] Downloading comment API JSON page 145 (3412/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3414/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3422/337882)
[youtube] Downloading comment API JSON page 146 (3434/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3444/337882)
[youtube] Downloading comment API JSON page 147 (3455/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3460/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3466/337882)
[youtube]     Downloading comment API JSON reply thread 3 (3468/337882)
[youtube] Downloading comment API JSON page 148 (3478/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3479/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3486/337882)
[youtube]     Downloading comment API JSON reply thread 3 (3499/337882)
[youtube] Downloading comment API JSON page 149 (3508/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3517/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3526/337882)
[youtube]     Downloading comment API JSON reply thread 3 (3530/337882)
[youtube] Downloading comment API JSON page 150 (3533/337882)
[youtube] Downloading comment API JSON page 151 (3553/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3571/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3574/337882)
[youtube]        Downloading comment replies API JSON page 1 (3584/337882)
[youtube] Downloading comment API JSON page 152 (3596/337882)
[youtube] Downloading comment API JSON page 153 (3616/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3618/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3620/337882)
[youtube]        Downloading comment replies API JSON page 1 (3630/337882)
[youtube] Downloading comment API JSON page 154 (3662/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3667/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3676/337882)
[youtube] Downloading comment API JSON page 155 (3687/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3692/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3700/337882)
[youtube]     Downloading comment API JSON reply thread 3 (3709/337882)
[youtube] Downloading comment API JSON page 156 (3711/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3713/337882)
[youtube] Downloading comment API JSON page 157 (3732/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3736/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3745/337882)
[youtube]     Downloading comment API JSON reply thread 3 (3750/337882)
[youtube] Downloading comment API JSON page 158 (3756/337882)
[youtube] Downloading comment API JSON page 159 (3776/337882)
[youtube] Downloading comment API JSON page 160 (3796/337882)
[youtube] Downloading comment API JSON page 161 (3816/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3836/337882)
[youtube] Downloading comment API JSON page 162 (3837/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3839/337882)
[youtube] Downloading comment API JSON page 163 (3858/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3878/337882)
[youtube] Downloading comment API JSON page 164 (3880/337882)
[youtube] Downloading comment API JSON page 165 (3900/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3915/337882)
[youtube] Downloading comment API JSON page 166 (3921/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3924/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3927/337882)
[youtube]     Downloading comment API JSON reply thread 3 (3932/337882)
[youtube] Downloading comment API JSON page 167 (3944/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3952/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3955/337882)
[youtube] Downloading comment API JSON page 168 (3970/337882)
[youtube]     Downloading comment API JSON reply thread 1 (3981/337882)
[youtube]     Downloading comment API JSON reply thread 2 (3992/337882)
[youtube] Downloading comment API JSON page 169 (3994/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4001/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4014/337882)
[youtube] Downloading comment API JSON page 170 (4017/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4027/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4036/337882)
[youtube]     Downloading comment API JSON reply thread 3 (4038/337882)
[youtube] Downloading comment API JSON page 171 (4042/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4059/337882)
[youtube] Downloading comment API JSON page 172 (4063/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4083/337882)
[youtube] Downloading comment API JSON page 173 (4085/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4087/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4095/337882)
[youtube]     Downloading comment API JSON reply thread 3 (4108/337882)
[youtube] Downloading comment API JSON page 174 (4109/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4114/337882)
[youtube] Downloading comment API JSON page 175 (4135/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4137/337882)
[youtube] Downloading comment API JSON page 176 (4158/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4164/337882)
[youtube] Downloading comment API JSON page 177 (4179/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4184/337882)
[youtube] Downloading comment API JSON page 178 (4200/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4209/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4214/337882)
[youtube]     Downloading comment API JSON reply thread 3 (4217/337882)
[youtube] Downloading comment API JSON page 179 (4226/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4231/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4246/337882)
[youtube] Downloading comment API JSON page 180 (4251/337882)
[youtube] Downloading comment API JSON page 181 (4271/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4274/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4280/337882)
[youtube] Downloading comment API JSON page 182 (4293/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4297/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4309/337882)
[youtube]     Downloading comment API JSON reply thread 3 (4312/337882)
[youtube] Downloading comment API JSON page 183 (4318/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4321/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4327/337882)
[youtube]     Downloading comment API JSON reply thread 3 (4335/337882)
[youtube] Downloading comment API JSON page 184 (4341/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4345/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4358/337882)
[youtube] Downloading comment API JSON page 185 (4363/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4365/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4368/337882)
[youtube] Downloading comment API JSON page 186 (4390/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4409/337882)
[youtube] Downloading comment API JSON page 187 (4411/337882)
[youtube] Downloading comment API JSON page 188 (4431/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4439/337882)
[youtube] Downloading comment API JSON page 189 (4452/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4455/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4473/337882)
[youtube]     Downloading comment API JSON reply thread 3 (4475/337882)
[youtube] Downloading comment API JSON page 190 (4476/337882)
[youtube] Downloading comment API JSON page 191 (4496/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4497/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4509/337882)
[youtube] Downloading comment API JSON page 192 (4521/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4522/337882)
[youtube]        Downloading comment replies API JSON page 1 (4531/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4575/337882)
[youtube] Downloading comment API JSON page 193 (4578/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4587/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4597/337882)
[youtube] Downloading comment API JSON page 194 (4611/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4619/337882)
[youtube] Downloading comment API JSON page 195 (4632/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4636/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4643/337882)
[youtube]     Downloading comment API JSON reply thread 3 (4652/337882)
[youtube]        Downloading comment replies API JSON page 1 (4662/337882)
[youtube] Downloading comment API JSON page 196 (4667/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4677/337882)
[youtube] Downloading comment API JSON page 197 (4690/337882)
[youtube] Downloading comment API JSON page 198 (4710/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4729/337882)
[youtube] Downloading comment API JSON page 199 (4732/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4748/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4753/337882)
[youtube] Downloading comment API JSON page 200 (4755/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4765/337882)
[youtube] Downloading comment API JSON page 201 (4780/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4783/337882)
[youtube]     Downloading comment API JSON reply thread 2 (4795/337882)
[youtube]     Downloading comment API JSON reply thread 3 (4807/337882)
[youtube] Downloading comment API JSON page 202 (4808/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4821/337882)
[youtube] Downloading comment API JSON page 203 (4829/337882)
[youtube] Downloading comment API JSON page 204 (4849/337882)
[youtube] Downloading comment API JSON page 205 (4869/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4883/337882)
[youtube] Downloading comment API JSON page 206 (4890/337882)
[youtube] Downloading comment API JSON page 207 (4910/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4912/337882)
[youtube] Downloading comment API JSON page 208 (4931/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4949/337882)
[youtube] Downloading comment API JSON page 209 (4952/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4957/337882)
[youtube] Downloading comment API JSON page 210 (4981/337882)
[youtube]     Downloading comment API JSON reply thread 1 (4993/337882)
[youtube] Downloading comment API JSON page 211 (5002/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5019/337882)
[youtube] Downloading comment API JSON page 212 (5022/337882)
[youtube] Downloading comment API JSON page 213 (5042/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5050/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5062/337882)
[youtube] Downloading comment API JSON page 214 (5069/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5077/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5081/337882)
[youtube] Downloading comment API JSON page 215 (5092/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5093/337882)
[youtube] Downloading comment API JSON page 216 (5113/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5115/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5125/337882)
[youtube]     Downloading comment API JSON reply thread 3 (5127/337882)
[youtube] Downloading comment API JSON page 217 (5138/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5148/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5154/337882)
[youtube] Downloading comment API JSON page 218 (5160/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5164/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5174/337882)
[youtube]     Downloading comment API JSON reply thread 3 (5180/337882)
[youtube]     Downloading comment API JSON reply thread 4 (5186/337882)
[youtube] Downloading comment API JSON page 219 (5189/337882)
[youtube] Downloading comment API JSON page 220 (5209/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5227/337882)
[youtube] Downloading comment API JSON page 221 (5230/337882)
[youtube] Downloading comment API JSON page 222 (5250/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5257/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5267/337882)
[youtube] Downloading comment API JSON page 223 (5273/337882)
[youtube] Downloading comment API JSON page 224 (5293/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5309/337882)
[youtube] Downloading comment API JSON page 225 (5317/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5330/337882)
[youtube] Downloading comment API JSON page 226 (5340/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5343/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5345/337882)
[youtube]     Downloading comment API JSON reply thread 3 (5357/337882)
[youtube]     Downloading comment API JSON reply thread 4 (5362/337882)
[youtube] Downloading comment API JSON page 227 (5364/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5366/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5369/337882)
[youtube] Downloading comment API JSON page 228 (5386/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5392/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5394/337882)
[youtube] Downloading comment API JSON page 229 (5407/337882)
[youtube] Downloading comment API JSON page 230 (5427/337882)
[youtube] Downloading comment API JSON page 231 (5447/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5457/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5464/337882)
[youtube] Downloading comment API JSON page 232 (5469/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5472/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5479/337882)
[youtube]     Downloading comment API JSON reply thread 3 (5488/337882)
[youtube]     Downloading comment API JSON reply thread 4 (5491/337882)
[youtube] Downloading comment API JSON page 233 (5493/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5512/337882)
[youtube] Downloading comment API JSON page 234 (5514/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5518/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5521/337882)
[youtube]     Downloading comment API JSON reply thread 3 (5524/337882)
[youtube]     Downloading comment API JSON reply thread 4 (5533/337882)
[youtube]     Downloading comment API JSON reply thread 5 (5536/337882)
[youtube] Downloading comment API JSON page 235 (5540/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5550/337882)
[youtube] Downloading comment API JSON page 236 (5562/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5579/337882)
[youtube] Downloading comment API JSON page 237 (5583/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5598/337882)
[youtube] Downloading comment API JSON page 238 (5605/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5611/337882)
[youtube] Downloading comment API JSON page 239 (5626/337882)
[youtube] Downloading comment API JSON page 240 (5646/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5661/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5667/337882)
[youtube]        Downloading comment replies API JSON page 1 (5676/337882)
[youtube] Downloading comment API JSON page 241 (5709/337882)
[youtube] Downloading comment API JSON page 242 (5729/337882)
[youtube] Downloading comment API JSON page 243 (5749/337882)
[youtube] Downloading comment API JSON page 244 (5769/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5779/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5784/337882)
[youtube] Downloading comment API JSON page 245 (5791/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5798/337882)
[youtube]        Downloading comment replies API JSON page 1 (5807/337882)
[youtube] Downloading comment API JSON page 246 (5822/337882)
[youtube] Downloading comment API JSON page 247 (5842/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5852/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5858/337882)
[youtube]     Downloading comment API JSON reply thread 3 (5864/337882)
[youtube] Downloading comment API JSON page 248 (5866/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5867/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5871/337882)
[youtube] Downloading comment API JSON page 249 (5888/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5890/337882)
[youtube] Downloading comment API JSON page 250 (5909/337882)
[youtube] Downloading comment API JSON page 251 (5929/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5931/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5935/337882)
[youtube]     Downloading comment API JSON reply thread 3 (5943/337882)
[youtube]     Downloading comment API JSON reply thread 4 (5952/337882)
[youtube] Downloading comment API JSON page 252 (5957/337882)
[youtube]     Downloading comment API JSON reply thread 1 (5962/337882)
[youtube]     Downloading comment API JSON reply thread 2 (5967/337882)
[youtube]     Downloading comment API JSON reply thread 3 (5979/337882)
[youtube] Downloading comment API JSON page 253 (5981/337882)
[youtube] Downloading comment API JSON page 254 (6001/337882)
[youtube] Downloading comment API JSON page 255 (6021/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6029/337882)
[youtube]     Downloading comment API JSON reply thread 2 (6041/337882)
[youtube] Downloading comment API JSON page 256 (6044/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6051/337882)
[youtube]     Downloading comment API JSON reply thread 2 (6064/337882)
[youtube] Downloading comment API JSON page 257 (6066/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6082/337882)
[youtube] Downloading comment API JSON page 258 (6087/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6093/337882)
[youtube]     Downloading comment API JSON reply thread 2 (6100/337882)
[youtube] Downloading comment API JSON page 259 (6109/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6113/337882)
[youtube] Downloading comment API JSON page 260 (6130/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6132/337882)
[youtube]     Downloading comment API JSON reply thread 2 (6134/337882)
[youtube]     Downloading comment API JSON reply thread 3 (6144/337882)
[youtube]     Downloading comment API JSON reply thread 4 (6146/337882)
[youtube] Downloading comment API JSON page 261 (6158/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6178/337882)
[youtube] Downloading comment API JSON page 262 (6180/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6186/337882)
[youtube]     Downloading comment API JSON reply thread 2 (6188/337882)
[youtube]     Downloading comment API JSON reply thread 3 (6193/337882)
[youtube]     Downloading comment API JSON reply thread 4 (6195/337882)
[youtube]     Downloading comment API JSON reply thread 5 (6199/337882)
[youtube] Downloading comment API JSON page 263 (6205/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6220/337882)
[youtube] Downloading comment API JSON page 264 (6227/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6231/337882)
[youtube]     Downloading comment API JSON reply thread 2 (6248/337882)
[youtube] Downloading comment API JSON page 265 (6252/337882)
[youtube] Downloading comment API JSON page 266 (6272/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6287/337882)
[youtube]     Downloading comment API JSON reply thread 2 (6289/337882)
[youtube] Downloading comment API JSON page 267 (6293/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6298/337882)
[youtube]     Downloading comment API JSON reply thread 2 (6308/337882)
[youtube] Downloading comment API JSON page 268 (6315/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6316/337882)
[youtube]     Downloading comment API JSON reply thread 2 (6318/337882)
[youtube]     Downloading comment API JSON reply thread 3 (6335/337882)
[youtube] Downloading comment API JSON page 269 (6337/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6339/337882)
[youtube]     Downloading comment API JSON reply thread 2 (6340/337882)
[youtube]     Downloading comment API JSON reply thread 3 (6341/337882)
[youtube]     Downloading comment API JSON reply thread 4 (6344/337882)
[youtube]     Downloading comment API JSON reply thread 5 (6345/337882)
[youtube]     Downloading comment API JSON reply thread 6 (6346/337882)
[youtube] Downloading comment API JSON page 270 (6359/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6361/337882)
[youtube]     Downloading comment API JSON reply thread 2 (6376/337882)
[youtube] Downloading comment API JSON page 271 (6381/337882)
[youtube]     Downloading comment API JSON reply thread 1 (6384/337882)
[youtube]     Downloading comment API JSON reply thread 2 (6386/337882)
[youtube]     Downloading comment API JSON reply thread 3 (6396/337882)
[youtube]     Downloading comment API JSON reply thread 4 (6399/337882)
[youtube]     Downloading comment API JSON reply thread 5 (6409/337882)
[youtube] Interrupted by user
[youtube] Extracted 6409 comments
[info] t5Sd5c4o9UM: Downloading 1 format(s): 22
[info] Video subtitle en-nP7-2PuUl7o.vtt is already present
[info] Video thumbnail is already present
[info] Video metadata is already present
[debug] Invoking http downloader on "https://rr4---sn-5go7ynld.googlevideo.com/videoplayback?expire=1663776751&ei=j-MqY_bfG8uN7ASX3LGIDw&ip=<IP_ADDRESS>&id=o-AEt_wfDusccmX9i467ZbmSYbwKV_MpZ1XIScctLUVBWV&itag=22&source=youtube&requiressl=yes&mh=cH&mm=31%2C29&mn=sn-5go7ynld%2Csn-5goeen7r&ms=au%2Crdu&mv=m&mvi=4&pl=24&gcr=gb&initcwndbps=2931250&spc=yR2vp31NNlyWzW972p4Q7pEIpJcNHSo&vprv=1&svpuc=1&mime=video%2Fmp4&ratebypass=yes&dur=301.603&lmt=1646303887424653&mt=1663754735&fvip=1&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRAIgeBh4gMzNswWHtsTmzogfLjOf8AqEL0XO09Kral48lmMCIADWGUh_TA2rsRXbHqcVEsCPcyPOEv8QWaUpBhidTdnF&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgKxMP-xSBohC2KSdfB8H8lH22IZutNvYGdujpaEZgW28CIQDLPJQea4TF9egLAnTDdqBqv6j5I4qJt5OaElsRA2Oamg%3D%3D"
[download] Sleeping 153.06 seconds ...

ERROR: Interrupted by user

It's --extractor-args "youtube:max_comments=50,50,20,20"

...Oh.
It would be nice if that were explained more clearly in the readme, and/or if max_comments:50,50,20,20 would produce a warning or error the same as max_comments=50,50,20,20 when I tried that.

It would be nice if that were explained more clearly in the readme,

Yes, that's the part I was referring to. It is not clearly explained that one must write youtube: before the configuration options as shown, e.g. max_comments. The two examples may illustrate a pattern to one who is fully familiar with the available options, who understands that there is not simply an option named youtube: for which player-client=android_embedded,... is an acceptable configuration value. For the uninitiated among us, the pattern is not so clear.
One more sentence to state clearly that the options documented below that point must be prefixed with the name of the extractor might go a long way.


DS4Windows doesn't start after updating to 2.0

Just upgraded in-app.
Now nothing happens when I run DS4Windows.exe. No window, no message. DS4Windows process appears in list of running processes then disappears.
I think it would be good if it was easier to roll back versions for issues like this. Maybe having some of the latest releases available for download would help. Last version you can download directly is <IP_ADDRESS>. Which now I need to download and roll back to and I can't update from in case this happens again.
Edit:
I'm on Windows 10 Pro 64-bit

If anyone else has issues with v2.0 and needs to roll back the version:
Get older version from releases and extract to a new place. Don't run Updater as it will just upgrade to 2.0 and break it again.
Go to the Updates folder in your (broken) v2.0 DS4Windows directory.
Previous update versions are in there. Pick one and extract the contents to the directory of the older version, it should upgrade it to whatever version you picked.

You're confusing which DS4Windows you are using. Jays2Kings (this repository) hasn't been updated in 3 years with the last version being <IP_ADDRESS>, and you're not going to get any help posting your issues here.
Version 2.0 is Ryochan7's fork of DS4Windows which is very active and is the de facto repository for DS4Windows now. If you have any problems, you should post your issue there, not here. Furthermore, the previous versions are found in Ryochan7's releases.
As for your problem, I also had the same issues when updating in-place. Even after rebooting, DS4Windows wouldn't launch. I fixed it simply downloading v2.0 directly from the website and into a new folder. DS4Windows now launches from my new folder (and I deleted the old one). Version 2 is a major re-write so I expected that updating in-place might have some problems.

This was a combination of two different problems regarding the updater. The issues were discovered only about two weeks ago. Due to that, the only safe upgrade path ended up being updating from version 1.7.28 to version 2.0. Trying to update from an older version would lead to an incomplete installation of version 2.0.
The major recourse for people running older versions is to download the fixed DS4Updater and run it in the DS4Windows folder. You can also start from scratch with a new DS4Windows installation. More info about the update can be found at the following link.
https://github.com/Ryochan7/DS4Windows/issues/946

This is my first time installing this program, so I've never had any version prior to 2.0. I'm having the same problem, and I'm wondering if it has anything to do with installing this while Steam is running. I can't remember if I had Steam up or not (I probably did). If so, is it possible this program would conflict with Steam since Steam also recognizes the DS4 controller and has drivers for it?

I'm also having the same problem.
Been using 1.7.28 with no problem (only that the updater never works). Now updated manually to 2.0.0 and DS4Windows refuses to start. DS4Windows process appears in list of running processes then disappears. Maybe it is conflicting with some order app running on the background?

@GundamApex @Lagrotta85 you should just post your issues in the Ryochan7's repository where it is more active and you are likely to get help from people who have deep knowledge of how the latest DS4Windows works.
The repository/issue tracker here is dead. I just happen to stop by once in a while to redirect people to the current de facto fork of DS4Windows.


Link 'see below' to appropriate sections of README

This is a stylistic change that slightly improves navigation of the README.

Thanks!


Fold BN after depthwise conv

BN can be folded to Conv2D for inference, I find it is also correct for DepthwiseConv2dNative.
I got the MobileNet model from https://github.com/tensorflow/models/blob/master/research/slim,  graph transform was applied and the correctness was verified via label_image sample.

I signed it

Sorry, this had to be reverted, because it broke some internal test. We're investigating.

Is there any update on this PR merging? Is it possible that it will be merged anytime soon? For mobilenet v1 model, this PR can be useful for performance.

@drpngx can u figure out which internal test failed? Is thera any workaround?

@drpngx,  a follow-up on this thread, can we get more insights about the error?
As @ashraf-bhuiyan pointed out, this PR helps to improve inference performance of MobilenetV1 and SSD-mobilenetV1,  and it is also a prerequisite for the quantization work. We tested this PR, it's valid on those two models mentioned above, yielding correct accuracy.
@zhaoyongke, Thanks for this PR. May I ask you to split the PR into two separate PR? fold_batch_norm being one PR, and fold_old_batch_norm being another PR?  such that they won't be blocked together.
Thanks,
Huiyang

I am looking into this.

The failures seem to be all about this. Could you try to test that?

@drpngx Hi, can you provide a test case? I haven't replay this failure.

@drpngx ping you again, need a test case to replicate the failure. thanks.

It's failing on a processing of one of our internal graphs.
@smillius do you seen anything wrong with that CL?

As mentioned internally, this change incorrectly assumes that the channel_multiplier is 1.
A DepthwiseConv2dNative has a filter tensor of shape:
[filter_height, filter_width, in_channels, channel_multiplier]
So the output has in_channels * channel_multiplier many channels, and that one needs to match the dimension of mul_values.

Sorry, I missed channel_multiplier param. I'll fix it soon.

Maybe we can add a test for this?
Also it may make sense to not hard fail here but gracefully just not handle this case.

Good suggestion!

Hi all,
I've updated the transform functions and test cases:
Transform Functions
Test Cases
@drpngx @smillius , should I submit a new PR?
Thanks!

No just push a new commit. Thank you @smillius for looking into this!

No just push a new commit. Thank you @smillius for looking into this!

Yeah I pushed to my fork at myfork. Current status of this PR is 'Merged', what should I do then? Thank you again @drpngx !

Oh sorry, yes I forgot it had been merged and rolled back. Yes, please
create a new PR
On Sat, Nov 17, 2018, 10:55 PM zhaoyongke<EMAIL_ADDRESS>wrote:

No just push a new commit. Thank you @smillius
https://github.com/smillius for looking into this!
Yeah I pushed to my fork at myfork
https://github.com/zhaoyongke/tensorflow. Current status of this PR is
'Merged', what should I do then? Thank you again @drpngx
https://github.com/drpngx !
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/21023#issuecomment-439671866,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AT_SbbLm0WYdJLExHJA7puO-R-A6BsnGks5uwQRTgaJpZM4VZrdP
.

@drpngx Thanks!
New PR is here


Is trait.Message.html#method.encode the preferred way to encode a message?

Is https://docs.rs/prost/0.7.0/prost/trait.Message.html#method.encode the general way to encode messages? It takes a buffer. A quick look in:

https://github.com/danburkert/prost/blob/32ad5a2e1036a9c9425f0a84f032ba9f343b133e/protobuf/benches/dataset.rs#L49
https://www.swiftdiaries.com/rust/prost/

both use the encoded_len of the message for the capacity of the buffer. https://hockeybuggy.com/blog/post/2020/01/experimenting-with-protobufs-generated-types-in-rust uses just a value of 200 'to be sure'. That looks a little bit odd to me.
My question is: what should be the value of the buffer? Isn't it always the encoded_len of the same message? If so, why is the buffer parameter needed?

The reason that you can specify it, is because you may be encoding this into part of an existing buffer. That said, through #378 you would have the most common case of prost doing the allocation for you, for a single message.

Seems like #378 should fix this.


GIT_WORK_TREE error

Getting this error when deploying:
Error: Command failed: /bin/sh -c git init
fatal: GIT_WORK_TREE (or --work-tree=<directory>) not allowed without specifying GIT_DIR (or --git-dir=<directory>)

Downgrading my git executable to 2.5 fixes this issue. Probably something changed on 2.7

Hmm probably.. But is it relative to Shipit?

Hey @thelinuxlich, if this is resolved for you would you mind closing the issue?


[stable/prometheus-pushgateway]: Fix release namespace

Is this a new chart
No
What this PR does / why we need it:
Add release namespace to resources
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

cc @gianrubio @cstaud

/ok-to-test

There is no need for this - helm will add the namespace by itself.

@davidkarlsen it does not when you deploy with helm template

/hold
Let’s hold PRs to stable prometheus charts for a short time until prometheus-community/community#28 (comment) is resolved. If you want to help with that effort, to test etc, that would be great!

🚧 This chart is now deprecated.
Further development has moved to prometheus-community/helm-charts.
If applicable, please re-open this PR there. Thanks!


Hardcode version string in src/raven.js (fixes GH-465)

Note src/raven.js specifies 2.0.0 because this is the current value of version in package.json on master.
When I cherry-pick this into stable/2.0.x, I will update the version string.

Grunt output when attempting to run grunt dist or grunt build when version mismatches:
➜  raven-js git:(master) ✗ grunt dist
Running "clean:0" (clean) task
>> 1 path cleaned.

Running "gitinfo" task

Running "version" task
Warning: Mismatched version in src/raven.js: 2.1.0 (should be 2.0.0) Use --force to continue.

Aborted due to warnings.

➜  raven-js git:(master) ✗ grunt build
Running "clean:0" (clean) task
>> 0 paths cleaned.

Running "gitinfo" task

Hardcode version string in src/raven.js (fixes GH-465)
Running "version" task
Warning: Mismatched version in src/raven.js: 2.1.0 (should be 2.0.0) Use --force to continue.

Aborted due to warnings.

Shitty, but the assertion makes it more palatable. :+1:


user's MOJO_CONFIG should be in json form as well

Fixes #1368

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/432/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/388/


NO-ISSUE: Remove @kie-tools/backend

This package was introduced when we were still figuring out the dynamics of Multiplying Architecture, and doesn't make sense anymore, since we always want to decouple micro-front-ends from backends, delegating the communication with backends to the hosting application as much as possible.
The API introduced by this package was not used except from one place on DashBuilder VS Code Extension, which was very easily adapted to work without it.

@tiagobento Thanks! The PR looks good. Indeed, it looks like was very easy to adapt the funcionality.


[Fix] Remove workspace existing check

It's not necessary check and can be cause of error when you work without workspace. It's possible when you open vscode and just open single file.

@ebetancourt Bump

@ebetancourt Bump

@velios Thanks! Sorry for the long wait! I didn't realize I was actually getting PRs! I'm not used to doing anything open source. I just merged, I will update on the store shortly


Customize placeholder

Discussed in https://github.com/CloudCannon/pagefind/discussions/107

Originally posted by scottaw66 October 24, 2022
Is there any way to customize the input placeholder text in such a way that it won't get overwritten? I mean the actual placeholder text, not its styling.
Thank you.

Implemented in the Pagefind v0.9.0 release 🎉


typo in comment

in file satch.c, line 225 the text should probably be
... binary clauses can become completely 'virtual' and do  not  have to be stored at all ...

Fixed in new rel-0.5.4.


Unable accept sent gift

I have shared a gift with someone he again shared the same gift with me getting this error while accepting it
it says the gift is expired / unavailable

old not required


Test VM poweron, boot, and phonehome

Description
Add power on + boot from disk + expect phone home test to the VM based tests.
Why is this needed
We hit #226 in production because we don't boot test osie.sh installations.
How Has This Been Tested?
make test-x86_64 test_aarch64.
How are existing users impacted? What migration steps/scripts do we need?
Legacy code, only EM is known to be impacted.
Checklist:
I have:

[ ] updated the documentation and/or roadmap (if required)
[x] added unit or e2e tests
[ ] provided instructions on how to upgrade

@mmlb for PR that is WIP, can you set them in the draft so it can get a review when it is ready? This will help cut down on reviews when the PR is actually not ready

oooooookay! tests are green again. I've rolled back the "test all the oses/arches/fws" commits for another PR so we can get this one out and done with! PTAL again.

@tstromberg PTAL. (I've mashed the "re-request review" button a dozen times but it doesn't seem to change state, I hope I didn't spam you)

Hey @tstromberg addressed some of your comments. Dropped the cfssl commit as it seems it missing from mirrors was temporary and now available again, noted the PR description details though.


Add eval script

Description of the change

Adds a script for model evaluation for generation based classification.

Sample usage is as follows (details can be seen with --help - this is is just for the sake of example and illustrates how to run something). Note that train is the default split for loading a local file, and the usage of --split matches that of a normal HF dataset. A --delimiter may also be passed for multi output classification.
python3 run_evaluation.py --model TinyLlama/TinyLlama-1.1B-step-50K-105b  --data_path stanford_alpaca/alpaca_data.json  --max_new_tokens 10  --purge_results --split train[:50]

Running an evaluation produces a directory containing 4 files, each of which is shown with an example snippet below.

eval_metrics.json - contains the metrics themselves.

{
    "accuracy": 0.02,
    "f1": {
        "macro": 0.0196078431372549,
        "micro": 0.02
    },
    "precision": {
        "macro": 0.5,
        "micro": 0.02
    },
    "recall": {
        "macro": 0.02,
        "micro": 0.02
    }
}

experiment_metadata.json - contains misc info about the experiment that might be useful later.

{
    "data_path": "stanford_alpaca/alpaca_data.json",
    "max_new_tokens": 10,
    "model": "TinyLlama/TinyLlama-1.1B-step-50K-105b"
}

label_map.json - contains the mapping from integer IDs to str classes based on the ground truth target sequences.  This is mostly useful for understanding the metrics if they look incorrect, because it's what is actually being used in the f1/accuracy calculations. If something is generated that is not in the ground truth sequences, it's put into a single <UNKNOWN LABEL> garbage class.

Note that the labels of this file do not matter - this is essentially garbage from an untuned model and just for the sake of example.
{
    "0": "",
    "1": "![](https://github.com/",
    "2": "![logo](https://user-images",
    "3": "### Instruction:\nGenerate",
    ...
    "44": "<UNKNOWN LABEL>"
}

preds_and_references.json - contains the formatted inputs provided to the model, the predicted target texts, and the ground truth target texts. This is also primarily for debugging purposes, in case things look a bit strange in the metrics.

[
    {
        "formatted input": "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\n### Instruction:\nGive three tips for staying healthy.\n\n### Response:",
        "predicted target": "### Instruction:\nGive",
        "ref target": "1.Eat a balanced diet and make sure to include plenty of fruits and vegetables. \n2. Exercise regularly to keep your body active and strong. \n3. Get enough sleep and maintain a consistent sleep schedule."
    },
    {
        "formatted input": "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\n### Instruction:\nWhat are the three primary colors?\n\n### Response:",
        "predicted target": "### Instruction:\nWhat is",
        "ref target": "The three primary colors are red, blue, and yellow."
    },
    ...
]

Note that currently this adds sklearn as a dependency to the project - we probably don't want to do this since scripts are not distributed, but we should figure out the right way to structure scripts dependencies. Or maybe we should just add it to dev dependencies in pyproject.toml?
Related issue number

How to verify the PR
See script in comments.
Was the PR tested

[ ] I have added >=1 unit test(s) for every new method I have added.
[ ] I have ensured all unit tests pass

How to Validate
There are a couple of cases to validate for metric correctness - the easiest way to do this is to directly test the already delimited strings. To make it easier, the example is taken from this blog post.
No Unknown Class
This is exactly the same as described in the blog post.
import json
from run_evaluation import map_predictions_and_references_to_encoded_vectors, compute_metrics_dict_multi

references = [
    ["cat", "dog"],
    ["cat", "bird"],
    ["bird"],
    [],
]
predictions = [
    ["dog", "bird"],
    ["cat"],
    ["bird"],
    ["cat", "bird"],
]

(
    pred_vecs,
    ref_vecs,
    eval_label_map,
) = map_predictions_and_references_to_encoded_vectors(predictions, references)
metrics_dict = compute_metrics_dict_multi(pred_vecs, ref_vecs)
print(json.dumps(metrics_dict, indent=4, sort_keys=True))

Produces:
{
    "accuracy": 0.25,
    "f1": {
        "macro": 0.6333333333333333,
        "micro": 0.5454545454545454
    },
    "precision": {
        "macro": 0.611111111111111,
        "micro": 0.5
    },
    "recall": {
        "macro": 0.6666666666666666,
        "micro": 0.6
    }
}

Note that .63 / .55 match for the micro and macro f1 - since accuracy in this case is checking complete match, .25 is correct.
 Change the predictions variable in the script above from:
predictions = [
    ["dog", "bird"],
    ["cat"],
    ["bird"],
    ["cat", "bird"],
]

to:
predictions = [
    ["dog", "bird"],
    ["cat"],
    ["bird"],
    ["cat", "bird", "garbage1", "garbage2", "garbage3"],
]

(the last of which effectively resolves to ["cat", "bird", "<UNKNOWN>"] during encoding.

thanks for the detail description on how to validate :)


optimize: the way classes are registered

Ⅰ. Describe what this PR did
optimize the way classes are registered
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #2445 into develop will decrease coverage by 0.31%.
The diff coverage is 6.25%.

@@              Coverage Diff              @@
##             develop    #2445      +/-   ##
=============================================
- Coverage      51.71%   51.39%   -0.32%
- Complexity      2664     2665       +1
=============================================
  Files            518      519       +1
  Lines          16809    16822      +13
  Branches        2031     2031
=============================================
- Hits            8693     8646      -47
- Misses          7298     7358      +60
  Partials         818      818

Impacted Files
Coverage Δ
Complexity Δ

...seata/core/serializer/SerializerClassRegistry.java
0.00% <0.00%> (ø)
0.00 <0.00> (?)

...in/java/io.seata.serializer.fst/FstSerializer.java
100.00% <100.00%> (ø)
4.00 <1.00> (+1.00)

...o/seata/serializer/kryo/KryoSerializerFactory.java
90.90% <100.00%> (-6.28%)
6.00 <0.00> (ø)

will conflict with #2445


Actively invite people to contribute

Discord conversation: https://discord.com/channels/823971286308356157/1128504153841336370/1147297935353204746
When asked about contributions I said:

Two biggest things are support and plugin research/development
Lots of people are asking questions in tickets - but the bigger thing is figuring out things like which models work best for different plugins, do they need extra configuration? And generally getting more models working
(I really wish llm-gpt4all didn't spew xtra junk to stderr)
Really I'd like there to be a solid chance that any model you might want to try can run in LLM, either via an existing plugin (with documented steps to run it) or via a new one
The most ambitious version of LLM is that it has a documented, clear path to getting model X running, on multiple platforms, for as many X as possible - and that it's widely used enough that model providers themselves start contributing plugins or plugin configuration documentation as part of their own releases

I need to actually turn this into a proper invitation - update the README and https://llm.datasette.io/en/stable/contributing.html page and really put the word out that I'm looking for help.

_p_i_ on Discord suggested using GitHub projects here - that could be great for tying together issues from all of the different plugin repos.

Sounds promising. This issue board alone contains questions of plugins, particularly the Llama plugin. Running a local model is a big part of why people are interested in llm. It's good service for users to somehow help them find if their issue already has an answer in the plugin repo, even if many might first look into the main repo for an answer. And often indeed post a plugin issue into the main repo.
Further, the issues in repos get buried as soon as you tackle a problem and release a fix. Discussions (or projects?) would give some permanence for topics that first-time users encounter. If the fix spans over multiple releases. Issues are not meant to stay visible over time.


Files missing from npm package

It doesn't look like the dependency on the animation-frame package is declared anywhere in package.json or bower.json, so unless it's installed manually, a consuming application will fail to build.
Thanks for your work on this project. There's a lot of very exciting stuff here, and I hope to see and be a part of future iterations.
Sidenote: Is there a reason the project doesn't have a bower.json file?

That dependency is in bower.json, which is here: https://github.com/runspired/smoke-and-mirrors/blob/master/bower.json

Hmm, it looks like there are some missing files in the npm package then? '/node_modules/smoke-and-mirrors' contains only these files and folders:

.idea/
addon/
app/
config/
docs/
node_modules/
.jshintrc
CHANGELOG.md
Gruntfile.js
LICENSE.md
README.md
ROADMAP.md
index.js
package.json

That would be problematic, I'll update that for the next release.  Thanks for the report!

Looks like this has been resolved in 0.2.0-beta.2. Thanks!


binutils: backport fix for 'invalid string offset' on arm

Fixes errors during linking:
/nix/store/{hash}-binutils-2.31.1/bin/ld: /nix/store/{hash}-glu-9.0.1/lib/libGLU.so: invalid string offset 1353 >= 1011 for section `.strtab'

Motivation for this change
This error shows up seemingly randomly when reading armv7 .so files with libbfd. In my case it prevents me building kinfocenter due to ld failing to read libGLU.so.
This will be obsolete when binutils is upgraded (eg, #78197 or  #85951), however it seems there's a lingering issue with lchmod that's making this difficult.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

The binutils update (#86954) is now in staging. Let's go with that instead.


When creating a new Papyrus model, remove the package import for UML Primitive Types

Issue and tracking information
Developer's time Estimated effort to fix (hours):
Developer's Actual time spent on fix (hours)
Issue reporter to provide a detailed description of the issue in the space below
When creating a new model with the AXCIOMA architecture context, the model is populated with two package imports, CXPrimitives and UML Primitive Types. We would like the UML Primitive Types to not be imported by default.

@J17359 Looks like this will won't take long to fix. Can I work on this until you approve more issues to work on?

@J17359 Looks like this will won't take long to fix. Can I work on this until you approve more issues to work on?

@ysroh Yes, please work this ticket. I will get with @J17359 on Monday to prioritize more tickets for you. Thank you for these rapid improvements!

@ysroh Yes, please work this ticket. I will get with @J17359 on Monday to prioritize more tickets for you. Thank you for these rapid improvements!

@j26151 Thanks.

@j26151 Thanks.

I have verified this fix, thank you.

I have verified this fix, thank you.

Verified and closing

Verified and closing


ng-enter-stagger doesnt' work with Ionic 1.x

Short description of the problem:
I want to animate a list using ngAnimate but ng-enter-stagger doesn't work with ngRepeat
What behavior are you expecting?
Animate a list like: http://gonehybrid.com/how-to-animate-your-ionic-app-with-animate-css-and-nganimate/
Regards, Nicholls

Hello! Thanks for opening an issue with us!  As this issue does not seem to be specific to a bug with the ionic framework I will point you to hit up our forum https://forum.ionicframework.com/. The awesome community on there will be able to help you. Thanks!


Deprecate robot/util -> planToConfiguration() [WIP]

This PR removes planToConfiguration() from robot/util, and updates the corresponding function in ConcreteRobot to use a snap planner.
We actually don't remove the method completely from robot/util, just the header: it's needed elsewhere in the .cpp file.
TODO/WIP:

Should we use the normal ConfigurationToConfiguration planner, or the DART version? Both work fine here and the normal version requires less cruft, so I've gone with that. LMK your thoughts!
Should we construct the planner in ConcreteRobot -> planToConfiguration, or have a planner member var in ConcreteRobot? The reason I didn't do this is because the MetaSkeleton passed to the planner constructor(s) may not match the metaSkeleton argument of planToConfiguration().

Before creating a pull request

[ ] Document new methods and classes
[ ] Format code with make format

Before merging a pull request

[ ] Set version target by selecting a milestone on the right side
[ ] Summarize this change in CHANGELOG.md
[ ] Add unit test(s) for this change

Should this be closed in favor of #588?


move sobolRBF to experimental method branch. Remove dependency on sklear...

...n.

Coverage increased (+5.34%) to 91.61% when pulling 7531de6b2d0dc4e8c2c32e5ccaa8808e811d4446 on remove-experimental into 742c1e9e6ae64ed49cc9ea32fc54e097f7cc4c9f on master.

Coverage increased (+5.34%) to 91.61% when pulling 7531de6b2d0dc4e8c2c32e5ccaa8808e811d4446 on remove-experimental into 742c1e9e6ae64ed49cc9ea32fc54e097f7cc4c9f on master.


upload streams

It would be good for the platform to provide a way to handle uploads. For example through a DolphinAction. There a parameter could be a representation of a stream of upload data. It should be possible to get information about the progress of the stream, at least about it being started and ended, in case of finite data like a giant String or a big byte array a progress information beyond that would be perfect to have for example a progress bar.
This functionality should not be realized by the highlander bean. One possibility could be for example to have an internal rest service through the platform and change the logic for the command realizing the remote invoke of the dolphin action.

see https://github.com/canoo/dolphin-platform/issues/420

For version 1 of DP we will have a REST client that supports all REST operations (GET, POST...) by using the client scope.


Cursor pagination with 'last' and 'before'

I had unexpected results on my frontend app when I have tried to paginate backward.
I'm using the demo project to reproduce this issue.
Considering data:

When paginating forward I get endcursor with value "Mg==" which is expected.

Then try to get previous node with arguments (last:1, before: "Mg==") and expecting to get entity with id = 1. As you can see I get correct node with previous cursor "MQ==", but id of entity is incorrect.

If I try to get 2 entities instead of 1, the returned cursors are kinda "shifted". Entity with id=1 has cursor "MA==".

I think it has something to do with cursor computation when using 'last' argument.

I put up pr #428 to fix this.
If you need a solution in the meantime, I can send the custom field extension code I've been using as a workaround.


Latest changes to main are not being deployed to website/gh-pages

Expected Behavior
When we merge a PR to main branch, the changes should show up on https://kserve.github.io/website
Actual Behavior

The PRs merged to main branch in the last 2 months are not showing up on the docs site
https://kserve.github.io/website redirects to https://kserve.github.io/website/0.11/
it looks like the default branch is set to v0.11 under git pages setting  for this repo

Steps to Reproduce the Problem
For example, below approved PRs are not reflecting on the website

https://github.com/kserve/website/pull/300
https://github.com/kserve/website/pull/299

Additional Info
Possible solution
Someone with permissions need to check the pages settings and update it to main branch if required

@yuzisun @theofpa if you are admins/maintainers for this repo, can you please take a look at this issue?

It should be published now


plain TCP RST packet in pod-to-pod-with-l7-policy-encryption for IPv6+IPSec+VXLan

After fixing the MTU issue when having IPSec with both in+egress proxy in #35173, we enabled the pod-to-pod-with-l7-policy-encryption test for IPv4. When trying to enable also the test for IPv6, we see a flaky behavior:

native routing: after the MTU patch, no problems are encountered and the tests execute smoothly.
overlay mode: either with or without the MTU patch, enabling the tests would cause a plain-test TCP RST packet to be leaked when using VxLan as overlay. This behavior is probably unrelated to the MTU patch and should be related only to CI and not to the whole IPv6 functioning. A guessing would be that bpftrace is still monitoring looking for plain-text packets while tearing down Cilium and something's probably happening in between.

As discussed in the previous MTU issue, the failing tests seems randomly happen with kernels rhel8-20240404.144247, 5.15-20240710.064909, and  bpf-next-20240711.013133. Testing with Geneve is ok, while with VXLan there's this problem.

From a 1st analysis in the previous issue, it seemed that this flake was constant, always occurring upon every run.
I wanted to check if I was able to reproduce locally with no luck. Every time I run the test it passes, and the bpftrace script does not detect any plain-text packet. BUT, I decided to keep monitoring the two nodes with client-server pods for a while ever after the test finished with success.
What I noticed, is that after a random amount of time (still close to ~1min), a multitude of TCP FYN-ACK packets are recorded in the receiver node. After more 4min, there's also a TCP RST packet recorded in the receiver node as well.
RST packet is being dropped with SKB_DROP_REASON_TCP_RESET. The others are dropped with SKB_DROP_REASON_NO_SOCKET, and SKB_DROP_REASON_NOT_SPECIFIED. The 1st drop ever registered is SKB_DROP_REASON_QUEUE_PURGE.
I'm still investigating this behavior and think whether we could hit the same in CI, even if there are basically no waiting periods between these packets (RST recorded as soon as the test finishes, no need to wait).
In the meantime, I attach to this both the pcaps and pwru output.
issue.zip

Same happened in https://github.com/cilium/cilium/pull/36364#issuecomment-2517956205 where the pod-to-pod-with-l7-policy-encryption test is not enabled yet.
We believe that the 5min delay of the RST packet is due to the Envoy stream_idle_timeout parameter: in this case, while the client has already closed the connection (SKB_DROP_REASON_NO_SOCKET), the envoy does not immediately close connection in case it can reuse it, and after the 5min it generates the RST packet.
Differently than https://github.com/cilium/cilium/issues/33084, in the current issue the bpftrace output reports override: 0, meaning that the packet does not come from a proxy 🤔
I'm quite sure this RST packet comes from a previous test being run, for which the envoy connection will ~5min later generate the RST packet. At this point, we should still be robust against previous flying packets, but maybe loading/removing policies or flushing ct in the meantime causes problems.
Potentially related https://github.com/cilium/cilium/issues/31651:packets being mistakenly forwarded when using L7 and CiliumInternalIP when no active socket.

Differently than https://github.com/cilium/cilium/issues/33084, in the current issue the bpftrace output reports override: 0, meaning that the packet does not come from a proxy 🤔

Related to this, consider that the script stops tracking a given source IP/port pair once the TCP connection is closed. That may explain override=0, even if the traffic was supposed to come from a proxy, considering that the connection is not closed cleanly here.

In fact, the connection that I'm seeing even with override=0 are still node->pod

Are you referring to the one mentioned in https://github.com/cilium/cilium/pull/36364#issuecomment-2517956205? If that's the case, then it is actually from the ingress endpoint (a special endpoint representing the proxy in case of ingress/gateway API traffic) to pod. So yes, I would normally expect it to be flagged as coming from the proxy.
    ingress:
      ipv4: <IP_ADDRESS>
      ipv6: fd00:10:244:2::8dcc

And yes, that looks definitely related to the behavior I had observed in https://github.com/cilium/cilium/issues/31651 (I just updated that issue to correctly mention the ingress IP, rather than the Cilium Internal IP. Both from memory and re-reading the description --- the Cilium Internal IP is actually assigned to the cilium_host interface --- I was definitely referring to the former, although I had mistakenly written the latter).

I managed to reproduce in lvh, but failed to simplify the steps and reduce repro time: it has to run the full conn test.
steps:
lvh images pull --cache quay.io/lvh-images/kind:bpf-next-20240711.013133 --dir ./
lvh run --host-mount=./ --image ./images/kind_bpf-next.qcow2       --daemonize -p 2222:22 --serial-port 0       --cpu=4 --mem=12G --cpu-kind host       --console-log-file /tmp/console.log

ssh -p 2222 -o "StrictHostKeyChecking=no" root@localhost
# then inside the lvh
(lvh)

Many thanks for the effort 🙏

TLDR
My theory is, L7 proxy (envoy) can't set proper mark to tcp reset. I'm not sure if this is a kernel limitation or our userspace process wasn't programmed correctly, I'll dig deeper next Monday.

Before holidays I also managed to reproduce this, but didn't fully understand the root cause.
As mentioned before, it seems like our L7 proxy sends keeps connections alive and sends a reset packet only after a given amount of time. That is why running the single cli test pod-to-pod-with-l7-encryption doesn't lead to leaks.

As for where tcp reset came from, I don't know yet, but I presume it's ordinary (and inevitable?) to see tcp reset segments in production, due to many reasons. The key question might be: should cilium transparent encryption also takes care of tcp reset; if yes, how?

Here I don't fully understand yet why they don't get marked.
If they were marked, I'd expect us to handle them as all the other proxy-to-pod packets -> https://github.com/cilium/cilium/blob/main/bpf/bpf_host.c#L885.

Repro

Same steps as yours, using lvh and bpf-next as kernel to reproduce.
Repro seems to be consistent among multiple runs.
Running individual test (pod-to-pod-with-l7-policy-encryption) passes with no leaked packet.
In IPv4-only test I never see the plain-text reset packet.

Investigation

Here I also attach the sysdump I generated, as well as my pwru trace until the moment of the leak (whole cli tests) and bpftrace leak-sysdump.zip, leak_pwru.log, leak_bpftrace.log.

Outstanding issues:

Is this a ipv6 only issue, or ipv4 is also affected?

For IPv4 I've never seen it nor in CI nor locally. Running v4-only tests doesn't cause the leak.

Is it possible to handle these tcp reset. I mean, our datapath should after all encrypt them? (VinE helps?)

I don't see why we shouldn't try to encrypt those packets. Theoretically, they are proxy-to-pod packets (even though we don't have the mark set yet), therefore imho they should be encrypted as well. VinE might help to avoid leaking a plain-text packet (despite being an empty reset), but I'm not sure how the receiver side would handle it.

Why were these tcp reset segments generated?

I think a connections is kept open by the L7 proxy and after a certain amount of time it tries to close it.
Still trying to narrow down the exact test in which they were originally generated though.


Fix excess latency difference math

Only affects anyone that specified a different monitor_interval.

cc @abhinav @eklitzke

Coverage decreased (-1.2%) to 83.197% when pulling 03328cd18e0ddf2506fcb62b2e80d18991f27c65 on fix_excess_latency_normalization into 3c68cc65d6a6b3401b67c8ce63faf8d3df076ac8 on master.

lgtm

Coverage decreased (-1.2%) to 83.197% when pulling f35d6ec07c6d8db6052844da2d5051477f9bf090 on fix_excess_latency_normalization into 3c68cc65d6a6b3401b67c8ce63faf8d3df076ac8 on master.


V2 Wizard - AWS

This PR adds the AWS substep to the Image Output step.

Seems to be a bug related to the state of the source selector. If you select a source, go to the next step, then return back to the AWS step, the source name gets dropped. (The account id is still there, because it comes from the store, but something is causing the select state to get reset.)

Something similar is happening for the manual option. If you choose it, input an ID, click Next and Back you'll be put on empty "sources" variant of the step.

:man_facepalming: I completely forgot about how the API schema for AWS works. We don't need to keep track of the AWS account ID for both cases. We need to keep track of the AWS account ID fr the share_with_accounts field or the source ID for the share_with_sources field. Will patch this up tomorrow, don't bother reviewing until then.

Okay, this has been refactored with the actual Image Builder API in mind and is ready for review again, @regexowl & @croissanne.
Couple of notes on this implementation: in our API the aws account ids and sources are a list of strings. That doesn't really map to the actual front end, where we have a single account id or a single source. So I have set the selectors and actions up such that the need to access the [0] index for these arrays is abstracted and hidden in the wizard slice.
Note that we do want the Redux store's schema itself to map well to the API, so it does define these as arrays of strings. That way when we finally create our handleSubmit function for the wizard, we have as close to 1:1 between the redux store data and the image request as possible.
I also want to make sure that we cannot have both a source id and account id set at the same time. So I've added some listeners. Setting an aws account id will clear the source id if it exists, and vice versa.
The listeners list is growing but still seems manageable at this point... I could have also just done this in the actions (so for instance, dispatching changeAwsAccount could also reset the awsSource). That probably would be a bit simpler, but to stay consistent with what we're doing for the targets I went ahead and created listeners. I'm open to getting rid of these in favor of a simpler solution in the future, but I'd suggest for now we just try it this way... maybe let's see how bad it gets by the time the wizard is done and re-evaulate then. :sweat_smile:

I'll add my comment here for transparency - the source ID does not persists when clicking through the steps. Otherwise looks great!

Ready for review again. 3rd time’s a charm I hope… I put all of my changes into a new commit so it is easy to review.
I have changed my philosophy on the RTK store schema. Previously I said I would like to keep it close to the API schema so it is easy to generate the requests. I now think it would be better to have the schema map directly to the wizard's steps and relevant step state.
The reason is that we should classify state as one of two types:

ephemeral state (e.g. is a drop down open or closed)
persistent state that we need to remember even when its related component is not being rendered

The persistent state includes both data that will make it into the final request, and data that we just need to keep track of for later (for instance, for use in the Review step or for when you go back and forth between steps).
I think it might become very confusing if we handle persistent state with a mixture of RTK and lifted useState. So for now, let’s rely on RTK for all persistent state and make the store’s schema match the wizard's layout.
Our eventual handleSubmit function will be a bit more complicated, but I suspect it will still be a huge improvement over what we have now... especially because we will have Typescript's safety.


feat: FemT logo and companies widget refactor

feat: added femT logo
refactor: centralized config of companies widget

:tada: This PR is included in version 1.81.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket: