defuddle 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -21
- package/dist/cli.js +13 -45
- package/dist/cli.js.map +1 -1
- package/dist/constants.d.ts +7 -0
- package/dist/constants.js +22 -9
- package/dist/constants.js.map +1 -1
- package/dist/defuddle.d.ts +2 -1
- package/dist/defuddle.js +119 -48
- package/dist/defuddle.js.map +1 -1
- package/dist/elements/code.js +31 -9
- package/dist/elements/code.js.map +1 -1
- package/dist/elements/headings.js +42 -50
- package/dist/elements/headings.js.map +1 -1
- package/dist/extractors/youtube.d.ts +22 -2
- package/dist/extractors/youtube.js +231 -22
- package/dist/extractors/youtube.js.map +1 -1
- package/dist/index.full.js +1 -1
- package/dist/index.js +1 -1
- package/dist/markdown.js +5 -0
- package/dist/markdown.js.map +1 -1
- package/dist/node.d.ts +12 -5
- package/dist/node.js +53 -17
- package/dist/node.js.map +1 -1
- package/dist/scoring.js +4 -4
- package/dist/scoring.js.map +1 -1
- package/dist/standardize.js +88 -3
- package/dist/standardize.js.map +1 -1
- package/dist/utils/linkedom-compat.d.ts +5 -0
- package/dist/utils/linkedom-compat.js +23 -0
- package/dist/utils/linkedom-compat.js.map +1 -0
- package/dist/utils.d.ts +6 -0
- package/dist/utils.js +36 -0
- package/dist/utils.js.map +1 -1
- package/package.json +3 -4
|
@@ -2,8 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.YoutubeExtractor = void 0;
|
|
4
4
|
const _base_1 = require("./_base");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
5
6
|
const transcript_1 = require("../utils/transcript");
|
|
6
7
|
const SENTENCE_END = /[.!?]["'\u2019\u201D)]*\s*$/;
|
|
8
|
+
const QUESTION_END = /\?["'\u2019\u201D)]*\s*$/;
|
|
9
|
+
const TRANSCRIPT_GROUP_GAP_SECONDS = 20;
|
|
10
|
+
const TURN_MERGE_MAX_WORDS = 80;
|
|
11
|
+
const TURN_MERGE_MAX_SPAN_SECONDS = 45;
|
|
12
|
+
const SHORT_UTTERANCE_MAX_WORDS = 3;
|
|
13
|
+
const FIRST_GROUP_MERGE_MIN_WORDS = 8;
|
|
7
14
|
// Unofficial InnerTube API. Uses Android client context to get caption track URLs.
|
|
8
15
|
// Version may need updating if Google changes the API.
|
|
9
16
|
const INNERTUBE_API_URL = 'https://www.youtube.com/youtubei/v1/player?prettyPrint=false';
|
|
@@ -25,6 +32,7 @@ const INNERTUBE_WEB_CONTEXT = {
|
|
|
25
32
|
class YoutubeExtractor extends _base_1.BaseExtractor {
|
|
26
33
|
constructor(document, url, schemaOrgData) {
|
|
27
34
|
super(document, url, schemaOrgData);
|
|
35
|
+
this.inlineJsonCache = new Map();
|
|
28
36
|
this.videoElement = document.querySelector('video');
|
|
29
37
|
this.schemaOrgData = schemaOrgData;
|
|
30
38
|
}
|
|
@@ -38,12 +46,103 @@ class YoutubeExtractor extends _base_1.BaseExtractor {
|
|
|
38
46
|
return true;
|
|
39
47
|
}
|
|
40
48
|
extract() {
|
|
41
|
-
return this.buildResult();
|
|
49
|
+
return this.buildResult(this.extractTranscriptFromExistingDom());
|
|
42
50
|
}
|
|
43
51
|
async extractAsync() {
|
|
44
|
-
const transcript =
|
|
52
|
+
const transcript = this.extractTranscriptFromExistingDom()
|
|
53
|
+
|| await this.fetchTranscript()
|
|
54
|
+
|| await this.extractTranscriptFromOpenedDom();
|
|
45
55
|
return this.buildResult(transcript);
|
|
46
56
|
}
|
|
57
|
+
getCaptionTracks(playerData) {
|
|
58
|
+
const captionTracks = playerData?.captions?.playerCaptionsTracklistRenderer?.captionTracks;
|
|
59
|
+
return Array.isArray(captionTracks) ? captionTracks : [];
|
|
60
|
+
}
|
|
61
|
+
pickCaptionTrack(captionTracks) {
|
|
62
|
+
return captionTracks.find((track) => track.languageCode === 'en') || captionTracks[0];
|
|
63
|
+
}
|
|
64
|
+
getTrackDisplayName(track) {
|
|
65
|
+
return track?.name?.simpleText
|
|
66
|
+
|| track?.name?.runs?.map((run) => run?.text || '').join('').trim()
|
|
67
|
+
|| '';
|
|
68
|
+
}
|
|
69
|
+
normalizeLanguageLabel(label) {
|
|
70
|
+
return label
|
|
71
|
+
.replace(/\s*\([^)]*\)\s*/g, ' ')
|
|
72
|
+
.replace(/\s+/g, ' ')
|
|
73
|
+
.trim()
|
|
74
|
+
.toLocaleLowerCase();
|
|
75
|
+
}
|
|
76
|
+
getTranscriptLanguageCodeFromDom() {
|
|
77
|
+
const langButton = this.document.querySelector('ytd-engagement-panel-section-list-renderer[target-id="engagement-panel-searchable-transcript"] #footer yt-sort-filter-sub-menu-renderer yt-dropdown-menu button');
|
|
78
|
+
const selectedLabel = langButton?.textContent?.trim();
|
|
79
|
+
const captionTracks = this.getCaptionTracks(this.parseInlineJson('ytInitialPlayerResponse'));
|
|
80
|
+
const preferredTrack = this.pickCaptionTrack(captionTracks);
|
|
81
|
+
if (!selectedLabel) {
|
|
82
|
+
return preferredTrack?.languageCode || 'en';
|
|
83
|
+
}
|
|
84
|
+
const normalizedSelectedLabel = this.normalizeLanguageLabel(selectedLabel);
|
|
85
|
+
const matchingTrack = captionTracks.find((track) => this.normalizeLanguageLabel(this.getTrackDisplayName(track)) === normalizedSelectedLabel);
|
|
86
|
+
return matchingTrack?.languageCode || preferredTrack?.languageCode || 'en';
|
|
87
|
+
}
|
|
88
|
+
getInlineChapters() {
|
|
89
|
+
const inlineData = this.parseInlineJson('ytInitialData');
|
|
90
|
+
if (!inlineData)
|
|
91
|
+
return [];
|
|
92
|
+
const chapters = this.extractChaptersFromPlayerBar(inlineData);
|
|
93
|
+
if (chapters.length > 0)
|
|
94
|
+
return chapters;
|
|
95
|
+
return this.extractChaptersFromEngagementPanels(inlineData);
|
|
96
|
+
}
|
|
97
|
+
getTranscriptContainer() {
|
|
98
|
+
return this.document.querySelector('ytd-engagement-panel-section-list-renderer[target-id="engagement-panel-searchable-transcript"] #segments-container');
|
|
99
|
+
}
|
|
100
|
+
buildTranscriptFromContainer(container, chapters) {
|
|
101
|
+
if (container.children.length === 0)
|
|
102
|
+
return undefined;
|
|
103
|
+
const segmentElements = container.querySelectorAll('ytd-transcript-segment-renderer');
|
|
104
|
+
if (segmentElements.length === 0)
|
|
105
|
+
return undefined;
|
|
106
|
+
const segments = [];
|
|
107
|
+
for (const seg of Array.from(segmentElements)) {
|
|
108
|
+
const timestampEl = seg.querySelector('.segment-timestamp');
|
|
109
|
+
const textEl = seg.querySelector('.segment-text');
|
|
110
|
+
if (!timestampEl || !textEl)
|
|
111
|
+
continue;
|
|
112
|
+
const timeStr = (timestampEl.textContent || '').trim();
|
|
113
|
+
const text = (textEl.textContent || '').trim();
|
|
114
|
+
if (!text)
|
|
115
|
+
continue;
|
|
116
|
+
const seconds = this.parseTimestamp(timeStr);
|
|
117
|
+
if (seconds !== null) {
|
|
118
|
+
segments.push({ start: seconds, text });
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (segments.length === 0)
|
|
122
|
+
return undefined;
|
|
123
|
+
const groups = this.groupTranscriptSegments(segments);
|
|
124
|
+
const { html, text } = (0, transcript_1.buildTranscript)('youtube', groups, chapters);
|
|
125
|
+
return {
|
|
126
|
+
html,
|
|
127
|
+
text,
|
|
128
|
+
languageCode: this.getTranscriptLanguageCodeFromDom(),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
extractTranscriptFromExistingDom() {
|
|
132
|
+
try {
|
|
133
|
+
const container = this.getTranscriptContainer();
|
|
134
|
+
if (!container)
|
|
135
|
+
return undefined;
|
|
136
|
+
return this.buildTranscriptFromContainer(container, this.getInlineChapters());
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
console.error('YoutubeExtractor: failed to extract transcript from existing DOM', error);
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
canOpenTranscriptPanel() {
|
|
144
|
+
return typeof this.document.defaultView?.MutationObserver === 'function';
|
|
145
|
+
}
|
|
47
146
|
buildResult(transcript) {
|
|
48
147
|
const videoData = this.getVideoData();
|
|
49
148
|
const channelName = this.getChannelName(videoData);
|
|
@@ -140,6 +239,9 @@ class YoutubeExtractor extends _base_1.BaseExtractor {
|
|
|
140
239
|
return fromMicroformat || '';
|
|
141
240
|
}
|
|
142
241
|
parseInlineJson(globalName) {
|
|
242
|
+
if (this.inlineJsonCache.has(globalName)) {
|
|
243
|
+
return this.inlineJsonCache.get(globalName);
|
|
244
|
+
}
|
|
143
245
|
const scripts = Array.from(this.document.querySelectorAll('script'));
|
|
144
246
|
for (const script of scripts) {
|
|
145
247
|
const text = script.textContent || '';
|
|
@@ -159,7 +261,9 @@ class YoutubeExtractor extends _base_1.BaseExtractor {
|
|
|
159
261
|
if (depth === 0) {
|
|
160
262
|
const jsonText = text.slice(startIndex, i + 1);
|
|
161
263
|
try {
|
|
162
|
-
|
|
264
|
+
const parsed = JSON.parse(jsonText);
|
|
265
|
+
this.inlineJsonCache.set(globalName, parsed);
|
|
266
|
+
return parsed;
|
|
163
267
|
}
|
|
164
268
|
catch (error) {
|
|
165
269
|
console.error('YoutubeExtractor: failed to parse inline JSON', error);
|
|
@@ -183,13 +287,11 @@ class YoutubeExtractor extends _base_1.BaseExtractor {
|
|
|
183
287
|
]);
|
|
184
288
|
if (!playerData)
|
|
185
289
|
return undefined;
|
|
186
|
-
const captionTracks = playerData
|
|
187
|
-
|
|
188
|
-
if (!Array.isArray(captionTracks) || captionTracks.length === 0)
|
|
290
|
+
const captionTracks = this.getCaptionTracks(playerData);
|
|
291
|
+
if (captionTracks.length === 0)
|
|
189
292
|
return undefined;
|
|
190
293
|
// Prefer English, fall back to first available track
|
|
191
|
-
const track =
|
|
192
|
-
|| captionTracks[0];
|
|
294
|
+
const track = this.pickCaptionTrack(captionTracks);
|
|
193
295
|
if (!track?.baseUrl)
|
|
194
296
|
return undefined;
|
|
195
297
|
// Validate URL to prevent SSRF in server-side contexts
|
|
@@ -206,7 +308,14 @@ class YoutubeExtractor extends _base_1.BaseExtractor {
|
|
|
206
308
|
});
|
|
207
309
|
if (!response.ok)
|
|
208
310
|
return undefined;
|
|
209
|
-
|
|
311
|
+
let xml;
|
|
312
|
+
try {
|
|
313
|
+
xml = await response.text();
|
|
314
|
+
}
|
|
315
|
+
catch (textError) {
|
|
316
|
+
console.error('YoutubeExtractor: response.text() failed:', textError);
|
|
317
|
+
return undefined;
|
|
318
|
+
}
|
|
210
319
|
if (!xml)
|
|
211
320
|
return undefined;
|
|
212
321
|
return this.parseTranscriptXml(xml, track.languageCode || 'en', chapters);
|
|
@@ -216,6 +325,48 @@ class YoutubeExtractor extends _base_1.BaseExtractor {
|
|
|
216
325
|
return undefined;
|
|
217
326
|
}
|
|
218
327
|
}
|
|
328
|
+
async waitForTranscriptContainer() {
|
|
329
|
+
return new Promise((resolve) => {
|
|
330
|
+
let attempts = 0;
|
|
331
|
+
const check = () => {
|
|
332
|
+
const container = this.getTranscriptContainer();
|
|
333
|
+
if (container && container.children.length > 0) {
|
|
334
|
+
resolve(container);
|
|
335
|
+
}
|
|
336
|
+
else if (attempts++ < 20) {
|
|
337
|
+
setTimeout(check, 250);
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
resolve(null);
|
|
341
|
+
}
|
|
342
|
+
};
|
|
343
|
+
check();
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Fallback: open YouTube's transcript panel and read segments from the DOM.
|
|
348
|
+
* Used when fetch-based extraction fails and the transcript is not already rendered.
|
|
349
|
+
*/
|
|
350
|
+
async extractTranscriptFromOpenedDom() {
|
|
351
|
+
try {
|
|
352
|
+
if (!this.canOpenTranscriptPanel())
|
|
353
|
+
return undefined;
|
|
354
|
+
const transcriptButton = this.document.querySelector('ytd-video-description-transcript-section-renderer button');
|
|
355
|
+
if (!transcriptButton)
|
|
356
|
+
return undefined;
|
|
357
|
+
transcriptButton.click();
|
|
358
|
+
const container = await this.waitForTranscriptContainer();
|
|
359
|
+
if (!container)
|
|
360
|
+
return undefined;
|
|
361
|
+
const videoId = this.getVideoId();
|
|
362
|
+
const chapters = videoId ? await this.fetchChapters(videoId) : this.getInlineChapters();
|
|
363
|
+
return this.buildTranscriptFromContainer(container, chapters);
|
|
364
|
+
}
|
|
365
|
+
catch (error) {
|
|
366
|
+
console.error('YoutubeExtractor: failed to extract transcript from opened DOM', error);
|
|
367
|
+
return undefined;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
219
370
|
async fetchPlayerData(videoId) {
|
|
220
371
|
try {
|
|
221
372
|
const resp = await fetch(INNERTUBE_API_URL, {
|
|
@@ -229,15 +380,26 @@ class YoutubeExtractor extends _base_1.BaseExtractor {
|
|
|
229
380
|
videoId,
|
|
230
381
|
})
|
|
231
382
|
});
|
|
232
|
-
if (
|
|
233
|
-
|
|
234
|
-
|
|
383
|
+
if (resp.ok) {
|
|
384
|
+
const data = await resp.json();
|
|
385
|
+
if (this.getCaptionTracks(data).length > 0) {
|
|
386
|
+
return data;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
235
389
|
}
|
|
236
390
|
catch {
|
|
237
|
-
|
|
391
|
+
// Fall back to inline page data below.
|
|
238
392
|
}
|
|
393
|
+
const inlineData = this.parseInlineJson('ytInitialPlayerResponse');
|
|
394
|
+
if (this.getCaptionTracks(inlineData).length > 0) {
|
|
395
|
+
return inlineData;
|
|
396
|
+
}
|
|
397
|
+
return undefined;
|
|
239
398
|
}
|
|
240
399
|
async fetchChapters(videoId) {
|
|
400
|
+
const inlineChapters = this.getInlineChapters();
|
|
401
|
+
if (inlineChapters.length > 0)
|
|
402
|
+
return inlineChapters;
|
|
241
403
|
try {
|
|
242
404
|
const resp = await fetch(INNERTUBE_NEXT_URL, {
|
|
243
405
|
method: 'POST',
|
|
@@ -397,7 +559,7 @@ class YoutubeExtractor extends _base_1.BaseExtractor {
|
|
|
397
559
|
}
|
|
398
560
|
/**
|
|
399
561
|
* Group segments by speaker turns, then by sentences within each turn.
|
|
400
|
-
* Each ">>" marker starts a new speaker turn (with blank line separation).
|
|
562
|
+
* Each ">>" or "- " marker starts a new speaker turn (with blank line separation).
|
|
401
563
|
* Within a turn, text is split at sentence boundaries for readability.
|
|
402
564
|
* Tracks alternating speaker identity (0/1).
|
|
403
565
|
*/
|
|
@@ -409,7 +571,7 @@ class YoutubeExtractor extends _base_1.BaseExtractor {
|
|
|
409
571
|
let prevSegText = '';
|
|
410
572
|
for (const seg of segments) {
|
|
411
573
|
const isSpeakerChange = /^>>/.test(seg.text);
|
|
412
|
-
const cleanText = seg.text.replace(/^>>\s*/, '');
|
|
574
|
+
const cleanText = seg.text.replace(/^>>\s*/, '').replace(/^-\s+/, '');
|
|
413
575
|
// Only treat >> as a real speaker change if the previous segment
|
|
414
576
|
// ended at a sentence boundary — otherwise it's a mid-sentence
|
|
415
577
|
// false positive from auto-captions
|
|
@@ -435,10 +597,13 @@ class YoutubeExtractor extends _base_1.BaseExtractor {
|
|
|
435
597
|
// Split turns that start with a short affirmative (e.g. "Mhm.", "Yeah.")
|
|
436
598
|
// followed by longer text — the affirmative is likely the other speaker
|
|
437
599
|
this.splitAffirmativeTurns(turns);
|
|
438
|
-
// Second pass: split each turn into sentence groups
|
|
600
|
+
// Second pass: split each turn into sentence groups, then merge longer
|
|
601
|
+
// contiguous runs so interview answers do not get a timestamp per sentence.
|
|
439
602
|
const groups = [];
|
|
440
603
|
for (const turn of turns) {
|
|
441
|
-
const sentenceGroups =
|
|
604
|
+
const sentenceGroups = turn.speaker === undefined
|
|
605
|
+
? this.groupBySentence(turn.segments)
|
|
606
|
+
: this.mergeSentenceGroupsWithinTurn(this.groupBySentence(turn.segments));
|
|
442
607
|
for (let i = 0; i < sentenceGroups.length; i++) {
|
|
443
608
|
groups.push({
|
|
444
609
|
...sentenceGroups[i],
|
|
@@ -472,8 +637,8 @@ class YoutubeExtractor extends _base_1.BaseExtractor {
|
|
|
472
637
|
// response, not just the same speaker continuing after an affirmative
|
|
473
638
|
const remainder = firstSeg.text.slice(match[0].length).trim();
|
|
474
639
|
const restSegments = turn.segments.slice(1);
|
|
475
|
-
const restWords =
|
|
476
|
-
+ restSegments.reduce((sum, s) => sum + s.text
|
|
640
|
+
const restWords = (0, utils_1.countWords)(remainder)
|
|
641
|
+
+ restSegments.reduce((sum, s) => sum + (0, utils_1.countWords)(s.text), 0);
|
|
477
642
|
if (restWords < 30)
|
|
478
643
|
continue;
|
|
479
644
|
// Split: keep affirmative in current turn, move rest to new turn with flipped speaker
|
|
@@ -497,10 +662,53 @@ class YoutubeExtractor extends _base_1.BaseExtractor {
|
|
|
497
662
|
i++; // skip the newly inserted rest turn
|
|
498
663
|
}
|
|
499
664
|
}
|
|
665
|
+
mergeSentenceGroupsWithinTurn(groups) {
|
|
666
|
+
if (groups.length <= 1)
|
|
667
|
+
return groups;
|
|
668
|
+
const merged = [];
|
|
669
|
+
let current = { ...groups[0] };
|
|
670
|
+
let currentIsFirstInTurn = true;
|
|
671
|
+
for (let i = 1; i < groups.length; i++) {
|
|
672
|
+
const next = groups[i];
|
|
673
|
+
if (this.shouldMergeSentenceGroups(current, next, currentIsFirstInTurn)) {
|
|
674
|
+
current.text = `${current.text} ${next.text}`;
|
|
675
|
+
continue;
|
|
676
|
+
}
|
|
677
|
+
merged.push(current);
|
|
678
|
+
current = { ...next };
|
|
679
|
+
currentIsFirstInTurn = false;
|
|
680
|
+
}
|
|
681
|
+
merged.push(current);
|
|
682
|
+
return merged;
|
|
683
|
+
}
|
|
684
|
+
shouldMergeSentenceGroups(current, next, currentIsFirstInTurn) {
|
|
685
|
+
const currentWords = (0, utils_1.countWords)(current.text);
|
|
686
|
+
const nextWords = (0, utils_1.countWords)(next.text);
|
|
687
|
+
if (this.isShortStandaloneUtterance(current.text, currentWords) || this.isShortStandaloneUtterance(next.text, nextWords)) {
|
|
688
|
+
return false;
|
|
689
|
+
}
|
|
690
|
+
if (currentIsFirstInTurn && currentWords < FIRST_GROUP_MERGE_MIN_WORDS) {
|
|
691
|
+
return false;
|
|
692
|
+
}
|
|
693
|
+
if (QUESTION_END.test(current.text) || QUESTION_END.test(next.text)) {
|
|
694
|
+
return false;
|
|
695
|
+
}
|
|
696
|
+
if (currentWords + nextWords > TURN_MERGE_MAX_WORDS) {
|
|
697
|
+
return false;
|
|
698
|
+
}
|
|
699
|
+
if (next.start - current.start > TURN_MERGE_MAX_SPAN_SECONDS) {
|
|
700
|
+
return false;
|
|
701
|
+
}
|
|
702
|
+
return true;
|
|
703
|
+
}
|
|
704
|
+
isShortStandaloneUtterance(text, words) {
|
|
705
|
+
const w = words ?? (0, utils_1.countWords)(text);
|
|
706
|
+
return w > 0 && w <= SHORT_UTTERANCE_MAX_WORDS && SENTENCE_END.test(text);
|
|
707
|
+
}
|
|
500
708
|
/**
|
|
501
709
|
* Group segments by sentence boundaries for transcripts without speaker markers.
|
|
502
710
|
* Accumulates text until a segment ends with sentence-ending punctuation (.!?),
|
|
503
|
-
* or until a time gap
|
|
711
|
+
* or until a very large time gap between segments.
|
|
504
712
|
*/
|
|
505
713
|
groupBySentence(segments) {
|
|
506
714
|
const groups = [];
|
|
@@ -518,8 +726,9 @@ class YoutubeExtractor extends _base_1.BaseExtractor {
|
|
|
518
726
|
}
|
|
519
727
|
};
|
|
520
728
|
for (const seg of segments) {
|
|
521
|
-
//
|
|
522
|
-
|
|
729
|
+
// YouTube often emits sparse caption windows 10-15s apart even when the
|
|
730
|
+
// sentence is still continuing, so only treat very large gaps as breaks.
|
|
731
|
+
if (buffer && seg.start - lastStart > TRANSCRIPT_GROUP_GAP_SECONDS) {
|
|
523
732
|
flush();
|
|
524
733
|
}
|
|
525
734
|
if (!buffer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"youtube.js","sourceRoot":"","sources":["../../src/extractors/youtube.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"youtube.js","sourceRoot":"","sources":["../../src/extractors/youtube.ts"],"names":[],"mappings":"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"}
|