From 342119dba6f3dc2152eef1fc9841264a9e56b9f0 Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Sat, 9 Nov 2024 05:11:41 +0100 Subject: [PATCH] fix: A/B test 17: channel playlists lockupViewModel --- codegen/src/abtest.rs | 39 +- notes/AB_Tests.md | 70 + src/client/channel.rs | 8 +- src/client/response/mod.rs | 51 +- src/client/response/music_details.rs | 4 +- src/client/response/playlist.rs | 24 +- src/client/response/url_endpoint.rs | 6 + src/client/response/video_item.rs | 81 +- ...map_channel_playlists_20241109_lockup.snap | 672 ++ ...l__tests__map_channel_playlists_base.snap} | 0 src/serializer/text.rs | 10 +- .../channel_playlists_20241109_lockup.json | 7854 +++++++++++++++++ ...lists.json => channel_playlists_base.json} | 0 13 files changed, 8770 insertions(+), 49 deletions(-) create mode 100644 src/client/snapshots/rustypipe__client__channel__tests__map_channel_playlists_20241109_lockup.snap rename src/client/snapshots/{rustypipe__client__channel__tests__map_channel_playlists.snap => rustypipe__client__channel__tests__map_channel_playlists_base.snap} (100%) create mode 100644 testfiles/channel/channel_playlists_20241109_lockup.json rename testfiles/channel/{channel_playlists.json => channel_playlists_base.json} (100%) diff --git a/codegen/src/abtest.rs b/codegen/src/abtest.rs index 153a080..ceb99f3 100644 --- a/codegen/src/abtest.rs +++ b/codegen/src/abtest.rs @@ -36,6 +36,7 @@ pub enum ABTest { CommentsFrameworkUpdate = 14, ChannelShortsLockup = 15, PlaylistPageHeader = 16, + ChannelPlaylistsLockup = 17, } /// List of active A/B tests that are run when none is manually specified @@ -112,6 +113,7 @@ pub async fn run_test( ABTest::CommentsFrameworkUpdate => comments_framework_update(&query).await, ABTest::ChannelShortsLockup => channel_shorts_lockup(&query).await, ABTest::PlaylistPageHeader => playlist_page_header_renderer(&query).await, + ABTest::ChannelPlaylistsLockup => channel_playlists_lockup(&query).await, } .unwrap(); pb.inc(1); @@ -156,7 +158,7 @@ pub async fn attributed_text_description(rp: &RustyPipeQuery) -> Result { content_check_ok: false, racy_check_ok: false, }; - let response_txt = rp.raw(ClientType::Desktop, "next", &q).await.unwrap(); + let response_txt = rp.raw(ClientType::Desktop, "next", &q).await?; if !response_txt.contains("\"Black Mamba\"") { bail!("invalid response data"); @@ -166,7 +168,7 @@ pub async fn attributed_text_description(rp: &RustyPipeQuery) -> Result { } pub async fn three_tab_channel_layout(rp: &RustyPipeQuery) -> Result { - let channel = rp.channel_videos("UCR-DXc1voovS8nhAvccRZhg").await.unwrap(); + let channel = rp.channel_videos("UCR-DXc1voovS8nhAvccRZhg").await?; Ok(channel.has_live || channel.has_shorts) } @@ -233,8 +235,7 @@ pub async fn discography_page(rp: &RustyPipeQuery) -> Result { params: None, }, ) - .await - .unwrap(); + .await?; Ok(res.contains(&format!("\"MPAD{id}\""))) } @@ -296,8 +297,7 @@ pub async fn channel_about_modal(rp: &RustyPipeQuery) -> Result { params: None, }, ) - .await - .unwrap(); + .await?; Ok(!res.contains("\"EgVhYm91dPIGBAoCEgA%3D\"")) } @@ -334,8 +334,7 @@ pub async fn music_playlist_two_column(rp: &RustyPipeQuery) -> Result { params: None, }, ) - .await - .unwrap(); + .await?; Ok(res.contains("\"musicResponsiveHeaderRenderer\"")) } @@ -344,8 +343,7 @@ pub async fn comments_framework_update(rp: &RustyPipeQuery) -> Result { "Eg0SC3dMZHBSN2d1S3k4GAYyJSIRIgt3TGRwUjdndUt5ODAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"; let res = rp .raw(ClientType::Desktop, "next", &QCont { continuation }) - .await - .unwrap(); + .await?; Ok(res.contains("\"frameworkUpdates\"")) } @@ -360,8 +358,7 @@ pub async fn channel_shorts_lockup(rp: &RustyPipeQuery) -> Result { params: Some("EgZzaG9ydHPyBgUKA5oBAA%3D%3D"), }, ) - .await - .unwrap(); + .await?; Ok(res.contains("\"shortsLockupViewModel\"")) } @@ -376,7 +373,21 @@ pub async fn playlist_page_header_renderer(rp: &RustyPipeQuery) -> Result params: None, }, ) - .await - .unwrap(); + .await?; Ok(res.contains("\"pageHeaderRenderer\"")) } + +pub async fn channel_playlists_lockup(rp: &RustyPipeQuery) -> Result { + let id = "UC2DjFE7Xf11URZqWBigcVOQ"; + let res = rp + .raw( + ClientType::Desktop, + "browse", + &QBrowse { + browse_id: id, + params: Some("EglwbGF5bGlzdHMgAQ%3D%3D"), + }, + ) + .await?; + Ok(res.contains("\"lockupViewModel\"")) +} diff --git a/notes/AB_Tests.md b/notes/AB_Tests.md index 800048f..d754912 100644 --- a/notes/AB_Tests.md +++ b/notes/AB_Tests.md @@ -899,3 +899,73 @@ YouTube changed the data model for the channel shorts tab } } ``` + +## [17] Channel playlists: lockupViewModel + +- **Encountered on:** 09.11.2024 +- **Impact:** 🟢 Low +- **Endpoint:** browse +- **Status:** Common (50%) + +YouTube changed the data model for the channel playlists / podcasts / albums tab + +```json +{ + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/XYdmX8w8xwI/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCqmf6TGfDinNXhgU29ZxOkv2u9sQ", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "5 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2370867, + "darkTheme": 2370867 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + } + ] + } + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Jellybean Components Series" + } + } + }, + "contentId": "PLvOlSehNtuHv268f0mW5m1t_hq_RVGRSA", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST" + } +} +``` diff --git a/src/client/channel.rs b/src/client/channel.rs index 58cdf85..e2b75b2 100644 --- a/src/client/channel.rs +++ b/src/client/channel.rs @@ -776,8 +776,10 @@ mod tests { } #[rstest] - fn map_channel_playlists() { - let json_path = path!(*TESTFILES / "channel" / "channel_playlists.json"); + #[case::base("base")] + #[case::lockup("20241109_lockup")] + fn map_channel_playlists(#[case] name: &str) { + let json_path = path!(*TESTFILES / "channel" / format!("channel_playlists_{name}.json")); let json_file = File::open(json_path).unwrap(); let channel: response::Channel = @@ -791,7 +793,7 @@ mod tests { "deserialization/mapping warnings: {:?}", map_res.warnings ); - insta::assert_ron_snapshot!("map_channel_playlists", map_res.c); + insta::assert_ron_snapshot!(format!("map_channel_playlists_{name}"), map_res.c); } #[rstest] diff --git a/src/client/response/mod.rs b/src/client/response/mod.rs index cf946e6..f1db4b9 100644 --- a/src/client/response/mod.rs +++ b/src/client/response/mod.rs @@ -188,13 +188,13 @@ pub(crate) enum ChannelBadgeStyle { #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct Alert { - pub alert_renderer: AlertRenderer, + pub alert_renderer: TextBox, } #[serde_as] #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] -pub(crate) struct AlertRenderer { +pub(crate) struct TextBox { #[serde_as(as = "Text")] pub text: String, } @@ -523,3 +523,50 @@ pub(crate) struct AvatarStackViewModel { #[serde_as(deserialize_as = "AttributedText")] pub text: TextComponent, } + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct ContentImage { + pub collection_thumbnail_view_model: CollectionThumbnailViewModel, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct CollectionThumbnailViewModel { + pub primary_thumbnail: ThumbnailViewModelWrap, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct ThumbnailViewModelWrap { + pub thumbnail_view_model: ImageViewOl, +} + +#[serde_as] +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct ImageViewOl { + pub image: Thumbnails, + #[serde_as(as = "VecSkipError<_>")] + pub overlays: Vec, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct ImageViewOverlay { + pub thumbnail_overlay_badge_view_model: ThumbnailOverlayBadgeViewModel, +} + +#[serde_as] +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct ThumbnailOverlayBadgeViewModel { + #[serde_as(as = "VecSkipError<_>")] + pub thumbnail_badges: Vec, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct ThumbnailBadges { + pub thumbnail_badge_view_model: TextBox, +} diff --git a/src/client/response/music_details.rs b/src/client/response/music_details.rs index 4254b00..a27c8c3 100644 --- a/src/client/response/music_details.rs +++ b/src/client/response/music_details.rs @@ -3,8 +3,8 @@ use serde_with::{serde_as, DefaultOnError, VecSkipError}; use crate::serializer::text::Text; -use super::AlertRenderer; use super::ContentsRenderer; +use super::TextBox; use super::{ music_item::{ItemSection, PlaylistPanelRenderer}, ContentRenderer, @@ -115,7 +115,7 @@ pub(crate) struct MusicLyrics { #[serde(rename_all = "camelCase")] pub(crate) enum ListOrMessage { SectionListRenderer(ContentsRenderer), - MessageRenderer(AlertRenderer), + MessageRenderer(TextBox), } #[derive(Debug, Deserialize)] diff --git a/src/client/response/playlist.rs b/src/client/response/playlist.rs index 619932e..24eae36 100644 --- a/src/client/response/playlist.rs +++ b/src/client/response/playlist.rs @@ -4,9 +4,9 @@ use serde_with::{serde_as, DefaultOnError, VecSkipError}; use crate::serializer::text::{AttributedText, Text, TextComponent, TextComponents}; use super::{ - url_endpoint::NavigationEndpoint, video_item::YouTubeListRenderer, Alert, ContentRenderer, - ContentsRenderer, ImageView, PageHeaderRendererContent, PhMetadataView, ResponseContext, - SectionList, Tab, ThumbnailsWrap, TwoColumnBrowseResults, + url_endpoint::OnTap, video_item::YouTubeListRenderer, Alert, ContentRenderer, ContentsRenderer, + ImageView, PageHeaderRendererContent, PhMetadataView, ResponseContext, SectionList, Tab, + TextBox, ThumbnailsWrap, TwoColumnBrowseResults, }; #[serde_as] @@ -70,15 +70,7 @@ pub(crate) struct PlaylistHeaderBanner { #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct Byline { - pub playlist_byline_renderer: BylineRenderer, -} - -#[serde_as] -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct BylineRenderer { - #[serde_as(as = "Text")] - pub text: String, + pub playlist_byline_renderer: TextBox, } #[derive(Debug, Deserialize)] @@ -187,11 +179,5 @@ pub(crate) struct ButtonAction { #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct ButtonViewModel { - pub on_tap: ActionOnTap, -} - -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct ActionOnTap { - pub innertube_command: NavigationEndpoint, + pub on_tap: OnTap, } diff --git a/src/client/response/url_endpoint.rs b/src/client/response/url_endpoint.rs index 147dd31..46e247a 100644 --- a/src/client/response/url_endpoint.rs +++ b/src/client/response/url_endpoint.rs @@ -157,6 +157,12 @@ pub(crate) struct WatchEndpointConfig { pub music_video_type: MusicVideoType, } +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct OnTap { + pub innertube_command: NavigationEndpoint, +} + #[derive(Default, Debug, Clone, Copy, Deserialize, PartialEq, Eq)] pub(crate) enum MusicVideoType { #[default] diff --git a/src/client/response/video_item.rs b/src/client/response/video_item.rs index b358be2..0574812 100644 --- a/src/client/response/video_item.rs +++ b/src/client/response/video_item.rs @@ -4,7 +4,7 @@ use serde_with::{ }; use time::OffsetDateTime; -use super::{ChannelBadge, ContinuationEndpoint, Thumbnails}; +use super::{ChannelBadge, ContentImage, ContinuationEndpoint, Thumbnails}; use crate::{ model::{ Channel, ChannelId, ChannelItem, ChannelTag, PlaylistItem, Verification, VideoItem, @@ -33,6 +33,8 @@ pub(crate) enum YouTubeListItem { ChannelRenderer(ChannelRenderer), + LockupViewModel(LockupViewModel), + /// Continauation items are located at the end of a list /// and contain the continuation token for progressive loading #[serde(rename_all = "camelCase")] @@ -165,6 +167,41 @@ pub(crate) struct ShortsOverlayMetadata { pub secondary_text: Option, } +/// Generalized list item, currently only used for playlists +#[serde_as] +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct LockupViewModel { + pub content_image: ContentImage, + pub metadata: LockupViewModelMetadata, + pub content_id: String, + #[serde(default)] + #[serde_as(deserialize_as = "DefaultOnError")] + pub content_type: LockupContentType, +} + +#[derive(Default, Debug, Deserialize)] +#[serde(rename_all = "SCREAMING_SNAKE_CASE")] +pub(crate) enum LockupContentType { + LockupContentTypePlaylist, + #[default] + Unknown, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct LockupViewModelMetadata { + pub lockup_metadata_view_model: LockupViewModelMetadataInner, +} + +#[serde_as] +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct LockupViewModelMetadataInner { + #[serde_as(as = "AttributedText")] + pub title: String, +} + /// Video displayed in a playlist #[serde_as] #[derive(Debug, Deserialize)] @@ -681,6 +718,38 @@ impl YouTubeListMapper { short_description: channel.description_snippet, } } + + fn map_lockup(&mut self, lockup: LockupViewModel) -> Option { + let md = lockup.metadata.lockup_metadata_view_model; + let tn = lockup + .content_image + .collection_thumbnail_view_model + .primary_thumbnail + .thumbnail_view_model; + match lockup.content_type { + LockupContentType::LockupContentTypePlaylist => Some(PlaylistItem { + id: lockup.content_id, + name: md.title, + thumbnail: tn.image.into(), + channel: self.channel.clone(), + video_count: tn + .overlays + .first() + .and_then(|ol| { + ol.thumbnail_overlay_badge_view_model + .thumbnail_badges + .first() + }) + .and_then(|badge| { + util::parse_numeric_or_warn( + &badge.thumbnail_badge_view_model.text, + &mut self.warnings, + ) + }), + }), + LockupContentType::Unknown => None, + } + } } impl YouTubeListMapper { @@ -711,6 +780,11 @@ impl YouTubeListMapper { let mapped = YouTubeItem::Channel(self.map_channel(channel)); self.items.push(mapped); } + YouTubeListItem::LockupViewModel(lockup) => { + if let Some(mapped) = self.map_lockup(lockup) { + self.items.push(YouTubeItem::Playlist(mapped)); + } + } YouTubeListItem::ContinuationItemRenderer { continuation_endpoint, } => self.ctoken = Some(continuation_endpoint.continuation_command.token), @@ -784,6 +858,11 @@ impl YouTubeListMapper { let mapped = self.map_playlist(playlist); self.items.push(mapped); } + YouTubeListItem::LockupViewModel(lockup) => { + if let Some(mapped) = self.map_lockup(lockup) { + self.items.push(mapped); + } + } YouTubeListItem::ContinuationItemRenderer { continuation_endpoint, } => self.ctoken = Some(continuation_endpoint.continuation_command.token), diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_playlists_20241109_lockup.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_playlists_20241109_lockup.snap new file mode 100644 index 0000000..54203a7 --- /dev/null +++ b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_playlists_20241109_lockup.snap @@ -0,0 +1,672 @@ +--- +source: src/client/channel.rs +expression: map_res.c +--- +Channel( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + handle: Some("@EEVblog"), + subscriber_count: Some(952000), + video_count: Some(2), + avatar: [ + Thumbnail( + url: "https://yt3.googleusercontent.com/ytc/AIdro_l17lYcTcRSydZeQK-RuiSfEeH5eX9m4irSNQj6109v5MQ=s72-c-k-c0x00ffffff-no-rj", + width: 72, + height: 72, + ), + Thumbnail( + url: "https://yt3.googleusercontent.com/ytc/AIdro_l17lYcTcRSydZeQK-RuiSfEeH5eX9m4irSNQj6109v5MQ=s120-c-k-c0x00ffffff-no-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://yt3.googleusercontent.com/ytc/AIdro_l17lYcTcRSydZeQK-RuiSfEeH5eX9m4irSNQj6109v5MQ=s160-c-k-c0x00ffffff-no-rj", + width: 160, + height: 160, + ), + ], + verification: Verified, + description: "NO SCRIPT, NO FEAR, ALL OPINION\nAn off-the-cuff Video Blog about Electronics Engineering, for engineers, hobbyists, enthusiasts, hackers and Makers\nHosted by Dave Jones from Sydney Australia\n\nDONATIONS:\nBitcoin: 3KqyH1U3qrMPnkLufM2oHDU7YB4zVZeFyZ\nEthereum: 0x99ccc4d2654ba40744a1f678d9868ecb15e91206\nPayPal: david@alternatezone.com\n\nPatreon: https://www.patreon.com/eevblog\n\nEEVblog2: http://www.youtube.com/EEVblog2\nEEVdiscover: https://www.youtube.com/channel/UCkGvUEt8iQLmq3aJIMjT2qQ\n\nEMAIL:\nAdvertising/Commercial: eevblog+business@gmail.com\nFan mail: eevblog+fan@gmail.com\nHate Mail: eevblog+hate@gmail.com\n\nI DON\'T DO PAID VIDEO SPONSORSHIPS, DON\'T ASK!\n\nPLEASE:\nDo NOT ask for personal advice on something, post it in the EEVblog forum.\nI read ALL email, but please don\'t be offended if I don\'t have time to reply, I get a LOT of email.\n\nMailbag\nPO Box 7949\nBaulkham Hills NSW 2153\nAUSTRALIA", + tags: [ + "electronics", + "engineering", + "maker", + "hacker", + "design", + "circuit", + "hardware", + "pic", + "atmel", + "oscilloscope", + "multimeter", + "diy", + "hobby", + "review", + "teardown", + "microcontroller", + "arduino", + "video", + "blog", + "tutorial", + "how-to", + "interview", + "rant", + "industry", + "news", + "mailbag", + "dumpster diving", + "debunking", + ], + banner: [ + Thumbnail( + url: "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w1060-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + width: 1060, + height: 175, + ), + Thumbnail( + url: "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w1138-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + width: 1138, + height: 188, + ), + Thumbnail( + url: "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w1707-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + width: 1707, + height: 283, + ), + Thumbnail( + url: "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w2120-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + width: 2120, + height: 351, + ), + Thumbnail( + url: "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w2276-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + width: 2276, + height: 377, + ), + Thumbnail( + url: "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w2560-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + width: 2560, + height: 424, + ), + ], + has_shorts: true, + has_live: true, + visitor_data: None, + content: Paginator( + count: None, + items: [ + PlaylistItem( + id: "PLvOlSehNtuHv268f0mW5m1t_hq_RVGRSA", + name: "Jellybean Components Series", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/XYdmX8w8xwI/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCqmf6TGfDinNXhgU29ZxOkv2u9sQ", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(5), + ), + PlaylistItem( + id: "PLvOlSehNtuHu46I7nFuUg3LC3PpiWTR4f", + name: "Tandy Electronics / Radio Shack & Computers", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/uUXxY6gA-7g/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAlIVvQ4Axx40Xa_i8F56qmppXEXg", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(11), + ), + PlaylistItem( + id: "PLvOlSehNtuHuS01_RNCnvpzyk7bycYCmM", + name: "Open Source Hardware", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/m_8jh_MpWBE/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBx6U5iikp5rSO78dIWdy1RQ_BLNQ", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(4), + ), + PlaylistItem( + id: "PLvOlSehNtuHuwwQ1fpquOJuA5MSfD4iD6", + name: "Fluke Multimeters", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/ymJc5oxthlw/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDAOiw39aJajjAdroLnuj_fh60Ryw", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(22), + ), + PlaylistItem( + id: "PLvOlSehNtuHs2LwEdDwTp3n7mxb-MyBbo", + name: "EEVacademy Digital Design Tutorial Series", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/lJ3q9RHIatU/hqdefault.jpg?sqp=-oaymwExCOADEI4CSFryq4qpAyMIARUAAIhCGAHwAQH4Af4JgALQBYoCDAgAEAEYQyBXKGUwDw==&rs=AOn4CLBaaQaTJzi7H-zjwSsTlNJdBsyqvQ", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(5), + ), + PlaylistItem( + id: "PLvOlSehNtuHu2v8THrRMt8E9ziHtRXPm7", + name: "AI / ChatGPT", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/g5_Ts9SWbYs/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBmZPW6EiAvTCsI86BFg4BxXLj66A", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(3), + ), + PlaylistItem( + id: "PLvOlSehNtuHvXuXRmoBUys09Dwi1heNii", + name: "Shorts", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/ndvJtQ8nxV4/hqdefault.jpg?sqp=-oaymwExCOADEI4CSFryq4qpAyMIARUAAIhCGAHwAQH4AbYIgAKAD4oCDAgAEAEYNyBTKH8wDw==&rs=AOn4CLDD0qOLs38KPJtqdG6zCeVLQMf62Q", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(1), + ), + PlaylistItem( + id: "PLvOlSehNtuHv3gxNg5BGoZJJu9htoAGB6", + name: "Microcontrollers", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/L9Wrv7nW-S8/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDiAT5izyig1ntMSUhvSOVuYSsG1Q", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(1), + ), + PlaylistItem( + id: "PLvOlSehNtuHvllTQ-vwvY26E3Bvrov93Y", + name: "Bypass Capacitors", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/1xicZF9glH0/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAFb2FcbpdtAG1xLjmdkdIm1hFvgA", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(4), + ), + PlaylistItem( + id: "PLvOlSehNtuHtOV3AEwhuea4TnviddKfAj", + name: "MacGyver Project", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/4yosozyeIP4/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAkwsCiJjFkWhYxtcg5NgfnQbkZrA", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(3), + ), + PlaylistItem( + id: "PLvOlSehNtuHuvHE5GQrQJxWXHdmW2l5IF", + name: "Calculators", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/S3R4r2xvVYQ/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLB7HH5drG-33c1SyRe9kyZBrXvm3A", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(1), + ), + PlaylistItem( + id: "PLvOlSehNtuHs6wRwVSaErU0BEnLiHfnKJ", + name: "BM235", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/WPyEFB4cHkA/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAzBuQFV8T9hM8adlPvv58C9TeDug", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(9), + ), + PlaylistItem( + id: "PLvOlSehNtuHu4k0ZkKFLsysSB5iava6Qu", + name: "Vibration Measurement", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/uus_cpZiqsU/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCqdsjWVFaLOkEcXgbZD2Eca8MnuQ", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(3), + ), + PlaylistItem( + id: "PLvOlSehNtuHtdQF-m5UFZ5GEjABadI3kI", + name: "Component Selection", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/uq1DMWtjL2U/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAbgb1Jdb5P69JGdZQ-a8asLLyYdA", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(6), + ), + PlaylistItem( + id: "PLvOlSehNtuHtlndPUSOPgsujUdq1c5Mr9", + name: "Solar Roadways", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/oIImmlfCyzo/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBxApgyGu3dNXRGoqLctVUnESpEIA", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(23), + ), + PlaylistItem( + id: "PLvOlSehNtuHvD6M_7WeN071OVsZFE0_q-", + name: "Electronics Tutorials - AC Circuit Theory Series", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/rrPtvYYJ2-g/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBEVc71xxSjJ-xlA_dDQaYIjdHyUw", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(3), + ), + PlaylistItem( + id: "PLvOlSehNtuHtVLq2MDPIz82BWMIZcuwhK", + name: "Electronics Tutorial - DC Fundamentals", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/xSRe_4TQbuo/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDP4V24_MG6vzvUZsHep9WFSCCY6Q", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(8), + ), + PlaylistItem( + id: "PLvOlSehNtuHvIDfW3x2p4BY6l4RYgfBJE", + name: "Oscilloscope Probing", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/OiAmER1OJh4/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAXeGAvEc8y3pEsPUxWdsNIP9UmPw", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(14), + ), + PlaylistItem( + id: "PLvOlSehNtuHu6Jjb8U82eKQfvKhJVl0Bu", + name: "Thermal Design", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/8ruFVmxf0zs/hqdefault.jpg?sqp=-oaymwExCOADEI4CSFryq4qpAyMIARUAAIhCGAHwAQH4Af4JgALQBYoCDAgAEAEYfyA1KDUwDw==&rs=AOn4CLD6PMawyYXKe8KT1-Y6vWjQc2xIDw", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(9), + ), + PlaylistItem( + id: "PLvOlSehNtuHs-X2Awg33PCBNrP2BGFVhC", + name: "Electric Cars", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/CPcZm1Tu5VI/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCsm8De0QaHPaeCZqxMp_F464fWzg", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(9), + ), + PlaylistItem( + id: "PLvOlSehNtuHuLODLTeq3PM-OJRP2nzNUa", + name: "Designing a better uCurrent", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/0AEVilxXAAo/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCjotFuRjPPBHd2LWzt3lviPj9HaA", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(3), + ), + PlaylistItem( + id: "PLvOlSehNtuHtvTKP4RTNW1-08Kmzy1pvA", + name: "EMC Compliance & Measurement", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/lYmfVMWbIHQ/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBtygEqMXx7Lwe5SuBWt2q0CSahYA", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(8), + ), + PlaylistItem( + id: "PLvOlSehNtuHuUTpCrTVX7BdU68l2aVqMv", + name: "Power Counter Display Project", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/nTpE1Nw3Yy4/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAbPl28_i7isizY6A1t2_c6gV8BAQ", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(2), + ), + PlaylistItem( + id: "PLvOlSehNtuHvm120Tq40nKrM5SUBlolN3", + name: "Live - Ask Dave", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/gQ7TTuiDH1M/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBMnucUil90WeDSIeFz8mZCOtEv9g", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(3), + ), + PlaylistItem( + id: "PLvOlSehNtuHsiF93KOLoF1KAHArmIW9lC", + name: "Padauk Microcontroller", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/r45r4rV5JOI/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCn4kGWcjBOhk3vN8QPMDa9L3mkKA", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(10), + ), + PlaylistItem( + id: "PLvOlSehNtuHvxTzBLwUFw4My4rtrNFzED", + name: "Other Debunking Videos", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/WopuF9vD7KE/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBv5buh3qMs4feQaPj6Fy6bxl_vuA", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(1), + ), + PlaylistItem( + id: "PLvOlSehNtuHt2pJ7X5tumuM4Wa3r1OC7Q", + name: "Audio & Speakers", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/qHbkw0Gm7pk/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCJBYXTDttGHTm51j3bfwqxOqVFig", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(9), + ), + PlaylistItem( + id: "PLvOlSehNtuHtX7OearWdmqGzqiu4DHKWi", + name: "Cameras", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/g9umAQ1-an4/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCB5jNm9U-rypnpthK_N321LpYWew", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(16), + ), + PlaylistItem( + id: "PLvOlSehNtuHu-TaNRp27_PiXjBG5wY9Gv", + name: "Cryptocurrency", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/ibPgfzd9zd8/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDe3IXT88HR3XxnxfqrpAxh6pfYMg", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(7), + ), + PlaylistItem( + id: "PLvOlSehNtuHvmK-VGcZ33ZuATmcNB8tvH", + name: "LCD Tutorial", + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/ZYvxgl-9tNM/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDv2WT4Chl1_H2G43AjfSFpPcKVoA", + width: 480, + height: 270, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(952000), + )), + video_count: Some(6), + ), + ], + ctoken: Some("4qmFsgLCARIYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RGnRFZ2x3YkdGNWJHbHpkSE1ZQXlBQk1BRTRBZW9EUEVOblRrUlJhbEZUU2tKSmFWVkZlREpVTW5oVVdsZG9UMlJJVmtsa2JURk1URlphU0ZreGIzcE5NWEF4VVZaU2RGa3dOVU5QU0ZJeVUwTm5PQSUzRCUzRJoCL2Jyb3dzZS1mZWVkVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RcGxheWxpc3RzMTA0"), + endpoint: browse, + ), +) diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_playlists.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_playlists_base.snap similarity index 100% rename from src/client/snapshots/rustypipe__client__channel__tests__map_channel_playlists.snap rename to src/client/snapshots/rustypipe__client__channel__tests__map_channel_playlists_base.snap diff --git a/src/serializer/text.rs b/src/serializer/text.rs index f88cad4..90a298a 100644 --- a/src/serializer/text.rs +++ b/src/serializer/text.rs @@ -5,7 +5,7 @@ use serde_with::{serde_as, DefaultOnError, DeserializeAs, VecSkipError}; use crate::{ client::response::url_endpoint::{ - MusicPage, MusicPageType, MusicVideoType, NavigationEndpoint, PageType, + MusicPage, MusicPageType, MusicVideoType, NavigationEndpoint, OnTap, PageType, }, model::{richtext::Style, UrlTarget}, util, @@ -159,7 +159,7 @@ pub(crate) struct AttributedText { struct CommandRun { start_index: usize, length: usize, - on_tap: AttributedTextOnTap, + on_tap: OnTap, #[serde(default)] #[serde_as(as = "DefaultOnError<_>")] on_tap_options: Option, @@ -196,12 +196,6 @@ enum Strikethrough { None, } -#[derive(Deserialize)] -#[serde(rename_all = "camelCase")] -struct AttributedTextOnTap { - innertube_command: NavigationEndpoint, -} - #[derive(Deserialize)] #[serde(rename_all = "camelCase")] struct AttributedTextOnTapOptions { diff --git a/testfiles/channel/channel_playlists_20241109_lockup.json b/testfiles/channel/channel_playlists_20241109_lockup.json new file mode 100644 index 0000000..64031b8 --- /dev/null +++ b/testfiles/channel/channel_playlists_20241109_lockup.json @@ -0,0 +1,7854 @@ +{ + "responseContext": { + "serviceTrackingParams": [ + { + "service": "GFEEDBACK", + "params": [ + { + "key": "route", + "value": "channel.playlists" + }, + { + "key": "is_owner", + "value": "false" + }, + { + "key": "is_alc_surface", + "value": "false" + }, + { + "key": "browse_id", + "value": "UC2DjFE7Xf11URZqWBigcVOQ" + }, + { + "key": "browse_id_prefix", + "value": "" + }, + { + "key": "logged_in", + "value": "0" + }, + { + "key": "e", + "value": "23804281,23966208,23986027,24004644,24077241,24166867,24181174,24241378,24439361,24453989,24459435,24499533,24542367,24543668,24547317,24548629,24566687,24699899,39325349,39325801,39325818,39325854,39326590,39326596,39326613,39326620,39326986,39327050,39327100,39327297,39327327,39327564,39327574,39327594,39327601,39327635,39327662,39327677,39327743,39327834,39327846,39327900,39327964,51009781,51010235,51017346,51020570,51025415,51050361,51053689,51063643,51064835,51072748,51091058,51095478,51098299,51111738,51115184,51117319,51124104,51129210,51133103,51141472,51146014,51152050,51157411,51157841,51158514,51160545,51165467,51169118,51176511,51178982,51182850,51183910,51184990,51195231,51204329,51213773,51217504,51222382,51222973,51223961,51227037,51228350,51230241,51230478,51231814,51237842,51239093,51241028,51242448,51243940,51248255,51248734,51251836,51255676,51255680,51255743,51256074,51256084,51258066,51263449,51266454,51272458,51273608,51274583,51275782,51276557,51276565,51281227,51282792,51285052,51285717,51287196,51287500,51289938,51292055,51294322,51295132,51296439,51297233,51298019,51298020,51299710,51299724,51300176,51300241,51300699,51302492,51302680,51303665,51303667,51303669,51303789,51304155,51305839,51306259,51307502,51308045,51308060,51309314,51310323,51310742,51311505,51312688,51313149,51313767,51314158,51315041,51317748,51317942,51318844,51320777,51322670,51323366,51325576,51326207,51326641,51326932,51327613,51327636,51328144,51329227,51329506,51330194,51332896,51333739,51333879,51335364,51337186,51337350,51338524,51339126,51339163,51339747,51342093,51343109,51343368" + }, + { + "key": "visitor_data", + "value": "CgtDa0taVld6Unk0cyj4nru5BjIKCgJERRIEEgAgag%3D%3D" + } + ] + }, + { + "service": "GOOGLE_HELP", + "params": [ + { + "key": "browse_id", + "value": "UC2DjFE7Xf11URZqWBigcVOQ" + }, + { + "key": "browse_id_prefix", + "value": "" + } + ] + }, + { + "service": "CSI", + "params": [ + { + "key": "c", + "value": "WEB" + }, + { + "key": "cver", + "value": "2.20241107.01.00" + }, + { + "key": "yt_li", + "value": "0" + }, + { + "key": "GetChannelPage_rid", + "value": "0x4784b3549d4bfe74" + } + ] + }, + { + "service": "GUIDED_HELP", + "params": [ + { + "key": "logged_in", + "value": "0" + } + ] + }, + { + "service": "ECATCHER", + "params": [ + { + "key": "client.version", + "value": "2.20241107" + }, + { + "key": "client.name", + "value": "WEB" + } + ] + } + ], + "maxAgeSeconds": 300, + "mainAppWebResponseContext": { + "loggedOut": true, + "trackingParam": "kx_fmPxhoPZRevO1P7uL_NB5HitbbTeqseaDrwjz0000omwRgkuswmIBwOcCE59TDtslLKPQ-SS" + }, + "webResponseContextExtensionData": { + "hasDecorated": true + } + }, + "contents": { + "twoColumnBrowseResultsRenderer": { + "tabs": [ + { + "tabRenderer": { + "endpoint": { + "clickTrackingParams": "CE8Q8JMBGAUiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/featured", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EghmZWF0dXJlZA%3D%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Home", + "selected": false, + "content": { + "sectionListRenderer": { + "trackingParams": "CFAQui8iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "disablePullToRefresh": true + } + }, + "trackingParams": "CE8Q8JMBGAUiEwjNmrnZoM6JAxWWXHoFHd1sJiA=" + } + }, + { + "tabRenderer": { + "endpoint": { + "clickTrackingParams": "CE0Q8JMBGAYiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/videos", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EgZ2aWRlb3M%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Videos", + "selected": false, + "content": { + "sectionListRenderer": { + "trackingParams": "CE4Qui8iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "disablePullToRefresh": true + } + }, + "trackingParams": "CE0Q8JMBGAYiEwjNmrnZoM6JAxWWXHoFHd1sJiA=" + } + }, + { + "tabRenderer": { + "endpoint": { + "clickTrackingParams": "CEsQ8JMBGAciEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/shorts", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EgZzaG9ydHM%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Shorts", + "selected": false, + "content": { + "sectionListRenderer": { + "trackingParams": "CEwQui8iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "disablePullToRefresh": true + } + }, + "trackingParams": "CEsQ8JMBGAciEwjNmrnZoM6JAxWWXHoFHd1sJiA=" + } + }, + { + "tabRenderer": { + "endpoint": { + "clickTrackingParams": "CEkQ8JMBGAgiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/streams", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EgdzdHJlYW1z", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Live", + "selected": false, + "content": { + "sectionListRenderer": { + "trackingParams": "CEoQui8iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "disablePullToRefresh": true + } + }, + "trackingParams": "CEkQ8JMBGAgiEwjNmrnZoM6JAxWWXHoFHd1sJiA=" + } + }, + { + "tabRenderer": { + "endpoint": { + "clickTrackingParams": "CCQQ8JMBGAkiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/playlists", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EglwbGF5bGlzdHM%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Playlists", + "selected": true, + "content": { + "sectionListRenderer": { + "contents": [ + { + "itemSectionRenderer": { + "contents": [ + { + "gridRenderer": { + "items": [ + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/XYdmX8w8xwI/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCqmf6TGfDinNXhgU29ZxOkv2u9sQ", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "5 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2370867, + "darkTheme": 2370867 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 2963775, + "darkTheme": 2963775 + } + } + }, + "stackColor": { + "lightTheme": 7113113, + "darkTheme": 7768467 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Jellybean Components Series" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEgQ0sQMGAAiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHv268f0mW5m1t_hq_RVGRSA", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHv268f0mW5m1t_hq_RVGRSA" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHv268f0mW5m1t_hq_RVGRSA", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CEgQ0sQMGAAiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444369 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEgQ0sQMGAAiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=XYdmX8w8xwI&list=PLvOlSehNtuHv268f0mW5m1t_hq_RVGRSA&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "XYdmX8w8xwI", + "playlistId": "PLvOlSehNtuHv268f0mW5m1t_hq_RVGRSA", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh2MjY4ZjBtVzVtMXRfaHFfUlZHUlNB" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr5---sn-h0jeln7e.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=5d87665fcc3cc702&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/uUXxY6gA-7g/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAlIVvQ4Axx40Xa_i8F56qmppXEXg", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "11 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 796190, + "darkTheme": 796190 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 1326898, + "darkTheme": 1326898 + } + } + }, + "stackColor": { + "lightTheme": 7051659, + "darkTheme": 7376003 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Tandy Electronics / Radio Shack & Computers" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEcQ0sQMGAEiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHu46I7nFuUg3LC3PpiWTR4f", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHu46I7nFuUg3LC3PpiWTR4f" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHu46I7nFuUg3LC3PpiWTR4f", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CEcQ0sQMGAEiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444368 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEcQ0sQMGAEiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=uUXxY6gA-7g&list=PLvOlSehNtuHu46I7nFuUg3LC3PpiWTR4f&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "uUXxY6gA-7g", + "playlistId": "PLvOlSehNtuHu46I7nFuUg3LC3PpiWTR4f", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh1NDZJN25GdVVnM0xDM1BwaVdUUjRm" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr2---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=b945f163a800fbb8&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/m_8jh_MpWBE/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBx6U5iikp5rSO78dIWdy1RQ_BLNQ", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "4 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 3355443, + "darkTheme": 3355443 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4144959, + "darkTheme": 4144959 + } + } + }, + "stackColor": { + "lightTheme": 10066329, + "darkTheme": 9211020 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Open Source Hardware" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEYQ0sQMGAIiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHuS01_RNCnvpzyk7bycYCmM", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHuS01_RNCnvpzyk7bycYCmM" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHuS01_RNCnvpzyk7bycYCmM", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CEYQ0sQMGAIiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444367 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEYQ0sQMGAIiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=m_8jh_MpWBE&list=PLvOlSehNtuHuS01_RNCnvpzyk7bycYCmM&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "m_8jh_MpWBE", + "playlistId": "PLvOlSehNtuHuS01_RNCnvpzyk7bycYCmM", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh1UzAxX1JOQ252cHp5azdieWNZQ21N" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr5---sn-h0jeener.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=9bff2387f3295811&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/ymJc5oxthlw/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDAOiw39aJajjAdroLnuj_fh60Ryw", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "22 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2500134, + "darkTheme": 2500134 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4144959, + "darkTheme": 4144959 + } + } + }, + "stackColor": { + "lightTheme": 10066329, + "darkTheme": 9211020 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Fluke Multimeters" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEUQ0sQMGAMiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHuwwQ1fpquOJuA5MSfD4iD6", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHuwwQ1fpquOJuA5MSfD4iD6" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHuwwQ1fpquOJuA5MSfD4iD6", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CEUQ0sQMGAMiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444366 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEUQ0sQMGAMiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=ymJc5oxthlw&list=PLvOlSehNtuHuwwQ1fpquOJuA5MSfD4iD6&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "ymJc5oxthlw", + "playlistId": "PLvOlSehNtuHuwwQ1fpquOJuA5MSfD4iD6", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh1d3dRMWZwcXVPSnVBNU1TZkQ0aUQ2" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr1---sn-h0jelne7.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=ca625ce68c6d865c&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/lJ3q9RHIatU/hqdefault.jpg?sqp=-oaymwExCOADEI4CSFryq4qpAyMIARUAAIhCGAHwAQH4Af4JgALQBYoCDAgAEAEYQyBXKGUwDw==&rs=AOn4CLBaaQaTJzi7H-zjwSsTlNJdBsyqvQ", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "5 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2239283, + "darkTheme": 2239283 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 2766399, + "darkTheme": 2766399 + } + } + }, + "stackColor": { + "lightTheme": 7046553, + "darkTheme": 7767955 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "EEVacademy Digital Design Tutorial Series" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEQQ0sQMGAQiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHs2LwEdDwTp3n7mxb-MyBbo", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHs2LwEdDwTp3n7mxb-MyBbo" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHs2LwEdDwTp3n7mxb-MyBbo", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CEQQ0sQMGAQiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444365 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEQQ0sQMGAQiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=lJ3q9RHIatU&list=PLvOlSehNtuHs2LwEdDwTp3n7mxb-MyBbo&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "lJ3q9RHIatU", + "playlistId": "PLvOlSehNtuHs2LwEdDwTp3n7mxb-MyBbo", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUhzMkx3RWREd1RwM243bXhiLU15QmJv" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr4---sn-h0jeened.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=949deaf511c86ad5&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/g5_Ts9SWbYs/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBmZPW6EiAvTCsI86BFg4BxXLj66A", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "3 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2500134, + "darkTheme": 2500134 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 3947580, + "darkTheme": 3947580 + } + } + }, + "stackColor": { + "lightTheme": 10066329, + "darkTheme": 9211020 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "AI / ChatGPT" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEMQ0sQMGAUiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHu2v8THrRMt8E9ziHtRXPm7", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHu2v8THrRMt8E9ziHtRXPm7" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHu2v8THrRMt8E9ziHtRXPm7", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CEMQ0sQMGAUiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444364 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEMQ0sQMGAUiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=g5_Ts9SWbYs&list=PLvOlSehNtuHu2v8THrRMt8E9ziHtRXPm7&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "g5_Ts9SWbYs", + "playlistId": "PLvOlSehNtuHu2v8THrRMt8E9ziHtRXPm7", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh1MnY4VEhyUk10OEU5emlIdFJYUG03" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr1---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=839fd3b3d4966d8b&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/ndvJtQ8nxV4/hqdefault.jpg?sqp=-oaymwExCOADEI4CSFryq4qpAyMIARUAAIhCGAHwAQH4AbYIgAKAD4oCDAgAEAEYNyBTKH8wDw==&rs=AOn4CLDD0qOLs38KPJtqdG6zCeVLQMf62Q", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "1 video", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 1450291, + "darkTheme": 1450291 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 2570841, + "darkTheme": 2570841 + } + } + }, + "stackColor": { + "lightTheme": 7044505, + "darkTheme": 7766419 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Shorts" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEIQ0sQMGAYiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHvXuXRmoBUys09Dwi1heNii", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHvXuXRmoBUys09Dwi1heNii" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHvXuXRmoBUys09Dwi1heNii", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CEIQ0sQMGAYiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444363 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEIQ0sQMGAYiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=ndvJtQ8nxV4&list=PLvOlSehNtuHvXuXRmoBUys09Dwi1heNii&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "ndvJtQ8nxV4", + "playlistId": "PLvOlSehNtuHvXuXRmoBUys09Dwi1heNii", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh2WHVYUm1vQlV5czA5RHdpMWhlTmlp" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr1---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=9ddbc9b50f27c55e&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/L9Wrv7nW-S8/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDiAT5izyig1ntMSUhvSOVuYSsG1Q", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "1 video", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 337436, + "darkTheme": 337436 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 605999, + "darkTheme": 605999 + } + } + }, + "stackColor": { + "lightTheme": 7051659, + "darkTheme": 7376003 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Microcontrollers" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEEQ0sQMGAciEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHv3gxNg5BGoZJJu9htoAGB6", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHv3gxNg5BGoZJJu9htoAGB6" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHv3gxNg5BGoZJJu9htoAGB6", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CEEQ0sQMGAciEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444362 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEEQ0sQMGAciEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=L9Wrv7nW-S8&list=PLvOlSehNtuHv3gxNg5BGoZJJu9htoAGB6&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "L9Wrv7nW-S8", + "playlistId": "PLvOlSehNtuHv3gxNg5BGoZJJu9htoAGB6", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh2M2d4Tmc1QkdvWkpKdTlodG9BR0I2" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr2---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=2fd5abbfb9d6f92f&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/1xicZF9glH0/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAFb2FcbpdtAG1xLjmdkdIm1hFvgA", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "4 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 3353895, + "darkTheme": 3353895 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4143153, + "darkTheme": 4143153 + } + } + }, + "stackColor": { + "lightTheme": 10061686, + "darkTheme": 9667958 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Bypass Capacitors" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEAQ0sQMGAgiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHvllTQ-vwvY26E3Bvrov93Y", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHvllTQ-vwvY26E3Bvrov93Y" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHvllTQ-vwvY26E3Bvrov93Y", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CEAQ0sQMGAgiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444361 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CEAQ0sQMGAgiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=1xicZF9glH0&list=PLvOlSehNtuHvllTQ-vwvY26E3Bvrov93Y&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "1xicZF9glH0", + "playlistId": "PLvOlSehNtuHvllTQ-vwvY26E3Bvrov93Y", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh2bGxUUS12d3ZZMjZFM0J2cm92OTNZ" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=d7189c645f60947d&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/4yosozyeIP4/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAkwsCiJjFkWhYxtcg5NgfnQbkZrA", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "3 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2500134, + "darkTheme": 2500134 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4408131, + "darkTheme": 4408131 + } + } + }, + "stackColor": { + "lightTheme": 10066329, + "darkTheme": 9211020 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "MacGyver Project" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CD8Q0sQMGAkiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHtOV3AEwhuea4TnviddKfAj", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHtOV3AEwhuea4TnviddKfAj" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHtOV3AEwhuea4TnviddKfAj", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CD8Q0sQMGAkiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444360 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CD8Q0sQMGAkiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=4yosozyeIP4&list=PLvOlSehNtuHtOV3AEwhuea4TnviddKfAj&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "4yosozyeIP4", + "playlistId": "PLvOlSehNtuHtOV3AEwhuea4TnviddKfAj", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh0T1YzQUV3aHVlYTRUbnZpZGRLZkFq" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=e32a2ca33c9e20fe&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/S3R4r2xvVYQ/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLB7HH5drG-33c1SyRe9kyZBrXvm3A", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "1 video", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2041379, + "darkTheme": 2041379 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 3358523, + "darkTheme": 3358523 + } + } + }, + "stackColor": { + "lightTheme": 8165773, + "darkTheme": 7507073 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Calculators" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CD4Q0sQMGAoiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHuvHE5GQrQJxWXHdmW2l5IF", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHuvHE5GQrQJxWXHdmW2l5IF" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHuvHE5GQrQJxWXHdmW2l5IF", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CD4Q0sQMGAoiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444359 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CD4Q0sQMGAoiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=S3R4r2xvVYQ&list=PLvOlSehNtuHuvHE5GQrQJxWXHdmW2l5IF&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "S3R4r2xvVYQ", + "playlistId": "PLvOlSehNtuHuvHE5GQrQJxWXHdmW2l5IF", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh1dkhFNUdRclFKeFdYSGRtVzJsNUlG" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr1---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=4b7478af6c6f5584&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/WPyEFB4cHkA/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAzBuQFV8T9hM8adlPvv58C9TeDug", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "9 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 3353129, + "darkTheme": 3353129 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4142388, + "darkTheme": 4142388 + } + } + }, + "stackColor": { + "lightTheme": 10059644, + "darkTheme": 9665400 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "BM235" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CD0Q0sQMGAsiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHs6wRwVSaErU0BEnLiHfnKJ", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHs6wRwVSaErU0BEnLiHfnKJ" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHs6wRwVSaErU0BEnLiHfnKJ", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CD0Q0sQMGAsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444358 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CD0Q0sQMGAsiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=WPyEFB4cHkA&list=PLvOlSehNtuHs6wRwVSaErU0BEnLiHfnKJ&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "WPyEFB4cHkA", + "playlistId": "PLvOlSehNtuHs6wRwVSaErU0BEnLiHfnKJ", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUhzNndSd1ZTYUVyVTBCRW5MaUhmbktK" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr5---sn-h0jelnez.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=58fc84141e1c1e40&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/uus_cpZiqsU/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCqdsjWVFaLOkEcXgbZD2Eca8MnuQ", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "3 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2631459, + "darkTheme": 2631459 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4144439, + "darkTheme": 4144439 + } + } + }, + "stackColor": { + "lightTheme": 12564901, + "darkTheme": 9209977 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Vibration Measurement" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDwQ0sQMGAwiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHu4k0ZkKFLsysSB5iava6Qu", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHu4k0ZkKFLsysSB5iava6Qu" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHu4k0ZkKFLsysSB5iava6Qu", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDwQ0sQMGAwiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444357 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDwQ0sQMGAwiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=uus_cpZiqsU&list=PLvOlSehNtuHu4k0ZkKFLsysSB5iava6Qu&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "uus_cpZiqsU", + "playlistId": "PLvOlSehNtuHu4k0ZkKFLsysSB5iava6Qu", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh1NGswWmtLRkxzeXNTQjVpYXZhNlF1" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr2---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=baeb3f729662aac5&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/uq1DMWtjL2U/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAbgb1Jdb5P69JGdZQ-a8asLLyYdA", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "6 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 3351073, + "darkTheme": 3351073 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4139562, + "darkTheme": 4139562 + } + } + }, + "stackColor": { + "lightTheme": 10054763, + "darkTheme": 9664374 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Component Selection" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDsQ0sQMGA0iEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHtdQF-m5UFZ5GEjABadI3kI", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHtdQF-m5UFZ5GEjABadI3kI" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHtdQF-m5UFZ5GEjABadI3kI", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDsQ0sQMGA0iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444356 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDsQ0sQMGA0iEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=uq1DMWtjL2U&list=PLvOlSehNtuHtdQF-m5UFZ5GEjABadI3kI&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "uq1DMWtjL2U", + "playlistId": "PLvOlSehNtuHtdQF-m5UFZ5GEjABadI3kI", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh0ZFFGLW01VUZaNUdFakFCYWRJM2tJ" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr5---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=baad43316b632f65&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/oIImmlfCyzo/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBxApgyGu3dNXRGoqLctVUnESpEIA", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "23 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2630940, + "darkTheme": 2630940 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4143917, + "darkTheme": 4143917 + } + } + }, + "stackColor": { + "lightTheme": 12562823, + "darkTheme": 9209200 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Solar Roadways" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDoQ0sQMGA4iEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHtlndPUSOPgsujUdq1c5Mr9", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHtlndPUSOPgsujUdq1c5Mr9" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHtlndPUSOPgsujUdq1c5Mr9", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDoQ0sQMGA4iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444355 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDoQ0sQMGA4iEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=oIImmlfCyzo&list=PLvOlSehNtuHtlndPUSOPgsujUdq1c5Mr9&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "oIImmlfCyzo", + "playlistId": "PLvOlSehNtuHtlndPUSOPgsujUdq1c5Mr9", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh0bG5kUFVTT1Bnc3VqVWRxMWM1TXI5" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=a082269a57c2cb3a&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/rrPtvYYJ2-g/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBEVc71xxSjJ-xlA_dDQaYIjdHyUw", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "3 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 3353387, + "darkTheme": 3353387 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4142646, + "darkTheme": 4142646 + } + } + }, + "stackColor": { + "lightTheme": 10060674, + "darkTheme": 9666173 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Electronics Tutorials - AC Circuit Theory Series" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDkQ0sQMGA8iEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHvD6M_7WeN071OVsZFE0_q-", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHvD6M_7WeN071OVsZFE0_q-" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHvD6M_7WeN071OVsZFE0_q-", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDkQ0sQMGA8iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444354 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDkQ0sQMGA8iEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=rrPtvYYJ2-g&list=PLvOlSehNtuHvD6M_7WeN071OVsZFE0_q-&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "rrPtvYYJ2-g", + "playlistId": "PLvOlSehNtuHvD6M_7WeN071OVsZFE0_q-", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh2RDZNXzdXZU4wNzFPVnNaRkUwX3Et" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr2---sn-h0jeener.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=aeb3edbd8609dbe8&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/xSRe_4TQbuo/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDP4V24_MG6vzvUZsHep9WFSCCY6Q", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "8 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2631720, + "darkTheme": 2631720 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4144959, + "darkTheme": 4144959 + } + } + }, + "stackColor": { + "lightTheme": 12566463, + "darkTheme": 9211020 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Electronics Tutorial - DC Fundamentals" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDgQ0sQMGBAiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHtVLq2MDPIz82BWMIZcuwhK", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHtVLq2MDPIz82BWMIZcuwhK" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHtVLq2MDPIz82BWMIZcuwhK", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDgQ0sQMGBAiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444353 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDgQ0sQMGBAiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=xSRe_4TQbuo&list=PLvOlSehNtuHtVLq2MDPIz82BWMIZcuwhK&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "xSRe_4TQbuo", + "playlistId": "PLvOlSehNtuHtVLq2MDPIz82BWMIZcuwhK", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh0VkxxMk1EUEl6ODJCV01JWmN1d2hL" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr4---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=c5245eff84d06eea&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/OiAmER1OJh4/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAXeGAvEc8y3pEsPUxWdsNIP9UmPw", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "14 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 3352609, + "darkTheme": 3352609 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4141610, + "darkTheme": 4141610 + } + } + }, + "stackColor": { + "lightTheme": 10059115, + "darkTheme": 9666934 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Oscilloscope Probing" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDcQ0sQMGBEiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHvIDfW3x2p4BY6l4RYgfBJE", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHvIDfW3x2p4BY6l4RYgfBJE" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHvIDfW3x2p4BY6l4RYgfBJE", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDcQ0sQMGBEiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444352 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDcQ0sQMGBEiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=OiAmER1OJh4&list=PLvOlSehNtuHvIDfW3x2p4BY6l4RYgfBJE&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "OiAmER1OJh4", + "playlistId": "PLvOlSehNtuHvIDfW3x2p4BY6l4RYgfBJE", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh2SURmVzN4MnA0Qlk2bDRSWWdmQkpF" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr2---sn-h0jeenek.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=3a2026111d4e261e&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/8ruFVmxf0zs/hqdefault.jpg?sqp=-oaymwExCOADEI4CSFryq4qpAyMIARUAAIhCGAHwAQH4Af4JgALQBYoCDAgAEAEYfyA1KDUwDw==&rs=AOn4CLD6PMawyYXKe8KT1-Y6vWjQc2xIDw", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "9 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 3347733, + "darkTheme": 3347733 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 5842213, + "darkTheme": 5842213 + } + } + }, + "stackColor": { + "lightTheme": 10054507, + "darkTheme": 9664118 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Thermal Design" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDYQ0sQMGBIiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHu6Jjb8U82eKQfvKhJVl0Bu", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHu6Jjb8U82eKQfvKhJVl0Bu" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHu6Jjb8U82eKQfvKhJVl0Bu", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDYQ0sQMGBIiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444351 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDYQ0sQMGBIiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=8ruFVmxf0zs&list=PLvOlSehNtuHu6Jjb8U82eKQfvKhJVl0Bu&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "8ruFVmxf0zs", + "playlistId": "PLvOlSehNtuHu6Jjb8U82eKQfvKhJVl0Bu", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh1NkpqYjhVODJlS1FmdktoSlZsMEJ1" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr1---sn-h0jelne7.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=f2bb85566c5fd33b&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/CPcZm1Tu5VI/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCsm8De0QaHPaeCZqxMp_F464fWzg", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "9 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 3352360, + "darkTheme": 3352360 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4141362, + "darkTheme": 4141362 + } + } + }, + "stackColor": { + "lightTheme": 10057593, + "darkTheme": 9664120 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Electric Cars" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDUQ0sQMGBMiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHs-X2Awg33PCBNrP2BGFVhC", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHs-X2Awg33PCBNrP2BGFVhC" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHs-X2Awg33PCBNrP2BGFVhC", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDUQ0sQMGBMiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444350 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDUQ0sQMGBMiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=CPcZm1Tu5VI&list=PLvOlSehNtuHs-X2Awg33PCBNrP2BGFVhC&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "CPcZm1Tu5VI", + "playlistId": "PLvOlSehNtuHs-X2Awg33PCBNrP2BGFVhC", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUhzLVgyQXdnMzNQQ0JOclAyQkdGVmhD" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr5---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=08f7199b54eee552&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/0AEVilxXAAo/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCjotFuRjPPBHd2LWzt3lviPj9HaA", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "3 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2500134, + "darkTheme": 2500134 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 3355443, + "darkTheme": 3355443 + } + } + }, + "stackColor": { + "lightTheme": 10066329, + "darkTheme": 9211020 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Designing a better uCurrent" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDQQ0sQMGBQiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHuLODLTeq3PM-OJRP2nzNUa", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHuLODLTeq3PM-OJRP2nzNUa" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHuLODLTeq3PM-OJRP2nzNUa", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDQQ0sQMGBQiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444349 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDQQ0sQMGBQiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=0AEVilxXAAo&list=PLvOlSehNtuHuLODLTeq3PM-OJRP2nzNUa&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "0AEVilxXAAo", + "playlistId": "PLvOlSehNtuHuLODLTeq3PM-OJRP2nzNUa", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh1TE9ETFRlcTNQTS1PSlJQMm56TlVh" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr5---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=d001158a5c57000a&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/lYmfVMWbIHQ/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBtygEqMXx7Lwe5SuBWt2q0CSahYA", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "8 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2500134, + "darkTheme": 2500134 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4144959, + "darkTheme": 4144959 + } + } + }, + "stackColor": { + "lightTheme": 10066329, + "darkTheme": 9211020 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "EMC Compliance & Measurement" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDMQ0sQMGBUiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHtvTKP4RTNW1-08Kmzy1pvA", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHtvTKP4RTNW1-08Kmzy1pvA" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHtvTKP4RTNW1-08Kmzy1pvA", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDMQ0sQMGBUiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444348 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDMQ0sQMGBUiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=lYmfVMWbIHQ&list=PLvOlSehNtuHtvTKP4RTNW1-08Kmzy1pvA&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "lYmfVMWbIHQ", + "playlistId": "PLvOlSehNtuHtvTKP4RTNW1-08Kmzy1pvA", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh0dlRLUDRSVE5XMS0wOEttenkxcHZB" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr5---sn-h0jeln7e.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=95899f54c59b2074&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/nTpE1Nw3Yy4/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAbPl28_i7isizY6A1t2_c6gV8BAQ", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "2 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2500134, + "darkTheme": 2500134 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4342338, + "darkTheme": 4342338 + } + } + }, + "stackColor": { + "lightTheme": 10066329, + "darkTheme": 9211020 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Power Counter Display Project" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDIQ0sQMGBYiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHuUTpCrTVX7BdU68l2aVqMv", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHuUTpCrTVX7BdU68l2aVqMv" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHuUTpCrTVX7BdU68l2aVqMv", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDIQ0sQMGBYiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444347 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDIQ0sQMGBYiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=nTpE1Nw3Yy4&list=PLvOlSehNtuHuUTpCrTVX7BdU68l2aVqMv&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "nTpE1Nw3Yy4", + "playlistId": "PLvOlSehNtuHuUTpCrTVX7BdU68l2aVqMv", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh1VVRwQ3JUVlg3QmRVNjhsMmFWcU12" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=9d3a44d4dc37632e&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/gQ7TTuiDH1M/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBMnucUil90WeDSIeFz8mZCOtEv9g", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "3 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2631201, + "darkTheme": 2631201 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4143923, + "darkTheme": 4143923 + } + } + }, + "stackColor": { + "lightTheme": 12563099, + "darkTheme": 9208690 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Live - Ask Dave" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDEQ0sQMGBciEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHvm120Tq40nKrM5SUBlolN3", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHvm120Tq40nKrM5SUBlolN3" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHvm120Tq40nKrM5SUBlolN3", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDEQ0sQMGBciEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444346 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDEQ0sQMGBciEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=gQ7TTuiDH1M&list=PLvOlSehNtuHvm120Tq40nKrM5SUBlolN3&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "gQ7TTuiDH1M", + "playlistId": "PLvOlSehNtuHvm120Tq40nKrM5SUBlolN3", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh2bTEyMFRxNDBuS3JNNVNVQmxvbE4z" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr4---sn-h0jeenek.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=810ed34ee8831f53&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/r45r4rV5JOI/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCn4kGWcjBOhk3vN8QPMDa9L3mkKA", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "10 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 3353379, + "darkTheme": 3353379 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4142380, + "darkTheme": 4142380 + } + } + }, + "stackColor": { + "lightTheme": 10060139, + "darkTheme": 9667702 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Padauk Microcontroller" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDAQ0sQMGBgiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHsiF93KOLoF1KAHArmIW9lC", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHsiF93KOLoF1KAHArmIW9lC" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHsiF93KOLoF1KAHArmIW9lC", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDAQ0sQMGBgiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444345 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CDAQ0sQMGBgiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=r45r4rV5JOI&list=PLvOlSehNtuHsiF93KOLoF1KAHArmIW9lC&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "r45r4rV5JOI", + "playlistId": "PLvOlSehNtuHsiF93KOLoF1KAHArmIW9lC", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUhzaUY5M0tPTG9GMUtBSEFybUlXOWxD" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr2---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=af8e6be2b57924e2&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/WopuF9vD7KE/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBv5buh3qMs4feQaPj6Fy6bxl_vuA", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "1 video", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2630920, + "darkTheme": 2630920 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4998671, + "darkTheme": 4998671 + } + } + }, + "stackColor": { + "lightTheme": 12564869, + "darkTheme": 9210224 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Other Debunking Videos" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CC8Q0sQMGBkiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHvxTzBLwUFw4My4rtrNFzED", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHvxTzBLwUFw4My4rtrNFzED" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHvxTzBLwUFw4My4rtrNFzED", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CC8Q0sQMGBkiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444344 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CC8Q0sQMGBkiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=WopuF9vD7KE&list=PLvOlSehNtuHvxTzBLwUFw4My4rtrNFzED&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "WopuF9vD7KE", + "playlistId": "PLvOlSehNtuHvxTzBLwUFw4My4rtrNFzED", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh2eFR6Qkx3VUZ3NE15NHJ0ck5GekVE" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jelne7.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=5a8a6e17dbc3eca1&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/qHbkw0Gm7pk/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCJBYXTDttGHTm51j3bfwqxOqVFig", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "9 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2631720, + "darkTheme": 2631720 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 3618615, + "darkTheme": 3618615 + } + } + }, + "stackColor": { + "lightTheme": 12566463, + "darkTheme": 9211020 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Audio & Speakers" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CC4Q0sQMGBoiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHt2pJ7X5tumuM4Wa3r1OC7Q", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHt2pJ7X5tumuM4Wa3r1OC7Q" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHt2pJ7X5tumuM4Wa3r1OC7Q", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CC4Q0sQMGBoiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444343 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CC4Q0sQMGBoiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=qHbkw0Gm7pk&list=PLvOlSehNtuHt2pJ7X5tumuM4Wa3r1OC7Q&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "qHbkw0Gm7pk", + "playlistId": "PLvOlSehNtuHt2pJ7X5tumuM4Wa3r1OC7Q", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh0MnBKN1g1dHVtdU00V2EzcjFPQzdR" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jeln7l.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=a876e4c341a6ee99&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/g9umAQ1-an4/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCB5jNm9U-rypnpthK_N321LpYWew", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "16 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2106911, + "darkTheme": 2106911 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 3555124, + "darkTheme": 3555124 + } + } + }, + "stackColor": { + "lightTheme": 8493437, + "darkTheme": 7769203 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Cameras" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CC0Q0sQMGBsiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHtX7OearWdmqGzqiu4DHKWi", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHtX7OearWdmqGzqiu4DHKWi" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHtX7OearWdmqGzqiu4DHKWi", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CC0Q0sQMGBsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444342 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CC0Q0sQMGBsiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=g9umAQ1-an4&list=PLvOlSehNtuHtX7OearWdmqGzqiu4DHKWi&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "g9umAQ1-an4", + "playlistId": "PLvOlSehNtuHtX7OearWdmqGzqiu4DHKWi", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh0WDdPZWFyV2RtcUd6cWl1NERIS1dp" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=83dba6010d7e6a7e&ip=79.205.208.149&initcwndbps=1848750&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/ibPgfzd9zd8/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDe3IXT88HR3XxnxfqrpAxh6pfYMg", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "7 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 3354153, + "darkTheme": 3354153 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4143668, + "darkTheme": 4143668 + } + } + }, + "stackColor": { + "lightTheme": 10062717, + "darkTheme": 9668217 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "Cryptocurrency" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CCwQ0sQMGBwiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHu-TaNRp27_PiXjBG5wY9Gv", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHu-TaNRp27_PiXjBG5wY9Gv" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHu-TaNRp27_PiXjBG5wY9Gv", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CCwQ0sQMGBwiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444341 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CCwQ0sQMGBwiEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=ibPgfzd9zd8&list=PLvOlSehNtuHu-TaNRp27_PiXjBG5wY9Gv&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "ibPgfzd9zd8", + "playlistId": "PLvOlSehNtuHu-TaNRp27_PiXjBG5wY9Gv", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh1LVRhTlJwMjdfUGlYakJHNXdZOUd2" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr5---sn-h0jelne7.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=89b3e07f377dcddf&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "lockupViewModel": { + "contentImage": { + "collectionThumbnailViewModel": { + "primaryThumbnail": { + "thumbnailViewModel": { + "image": { + "sources": [ + { + "url": "https://i.ytimg.com/vi/ZYvxgl-9tNM/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDv2WT4Chl1_H2G43AjfSFpPcKVoA", + "width": 480, + "height": 270 + } + ] + }, + "overlays": [ + { + "thumbnailOverlayBadgeViewModel": { + "thumbnailBadges": [ + { + "thumbnailBadgeViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAYLISTS" + } + } + ] + }, + "text": "6 videos", + "badgeStyle": "THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT", + "backgroundColor": { + "lightTheme": 2500134, + "darkTheme": 2500134 + } + } + } + ], + "position": "THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END" + } + }, + { + "thumbnailHoverOverlayViewModel": { + "icon": { + "sources": [ + { + "clientResource": { + "imageName": "PLAY_ALL" + } + } + ] + }, + "text": { + "content": "Play all", + "styleRuns": [ + { + "startIndex": 0, + "length": 8 + } + ] + }, + "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER" + } + } + ], + "backgroundColor": { + "lightTheme": 4013373, + "darkTheme": 4013373 + } + } + }, + "stackColor": { + "lightTheme": 10066329, + "darkTheme": 9211020 + } + } + }, + "metadata": { + "lockupMetadataViewModel": { + "title": { + "content": "LCD Tutorial" + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "View full playlist", + "commandRuns": [ + { + "startIndex": 0, + "length": 18, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CCsQ0sQMGB0iEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/playlist?list=PLvOlSehNtuHvmK-VGcZ33ZuATmcNB8tvH", + "webPageType": "WEB_PAGE_TYPE_PLAYLIST", + "rootVe": 5754, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "VLPLvOlSehNtuHvmK-VGcZ33ZuATmcNB8tvH" + } + } + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 18, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + } + } + ] + } + ], + "delimiter": " • " + } + } + } + }, + "contentId": "PLvOlSehNtuHvmK-VGcZ33ZuATmcNB8tvH", + "contentType": "LOCKUP_CONTENT_TYPE_PLAYLIST", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CCsQ0sQMGB0iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "clientVeSpec": { + "uiType": 205394, + "veCounter": 202444340 + }, + "enableDisplayloggerExperiment": true + } + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CCsQ0sQMGB0iEwjNmrnZoM6JAxWWXHoFHd1sJiAyBmctaGlnaFoYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RmgEFEPI4GGg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=ZYvxgl-9tNM&list=PLvOlSehNtuHvmK-VGcZ33ZuATmcNB8tvH&pp=iAQB", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "ZYvxgl-9tNM", + "playlistId": "PLvOlSehNtuHvmK-VGcZ33ZuATmcNB8tvH", + "params": "OAI%3D", + "playerParams": "iAQB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GiJQTHZPbFNlaE50dUh2bUstVkdjWjMzWnVBVG1jTkI4dHZI" + } + }, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr1---sn-h0jeln7e.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=658bf1825fbdb4d3&ip=79.205.208.149&initcwndbps=1876250&mt=1731120795&oweuc=" + } + } + } + } + } + } + } + } + } + }, + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CCoQ6IsCGAAiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse" + } + }, + "continuationCommand": { + "token": "4qmFsgLCARIYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RGnRFZ2x3YkdGNWJHbHpkSE1ZQXlBQk1BRTRBZW9EUEVOblRrUlJhbEZUU2tKSmFWVkZlREpVTW5oVVdsZG9UMlJJVmtsa2JURk1URlphU0ZreGIzcE5NWEF4VVZaU2RGa3dOVU5QU0ZJeVUwTm5PQSUzRCUzRJoCL2Jyb3dzZS1mZWVkVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RcGxheWxpc3RzMTA0", + "request": "CONTINUATION_REQUEST_TYPE_BROWSE" + } + } + } + } + ], + "trackingParams": "CCoQ6IsCGAAiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "targetId": "browse-feedUC2DjFE7Xf11URZqWBigcVOQplaylists104" + } + } + ], + "trackingParams": "CCkQuy8YACITCM2audmgzokDFZZcegUd3WwmIA==" + } + } + ], + "trackingParams": "CCUQui8iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "subMenu": { + "channelSubMenuRenderer": { + "contentTypeSubMenuItems": [ + { + "endpoint": { + "clickTrackingParams": "CCUQui8iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/playlists?view=1", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EglwbGF5bGlzdHMgAQ%3D%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Created playlists", + "selected": true + } + ], + "sortSetting": { + "sortFilterSubMenuRenderer": { + "subMenuItems": [ + { + "title": "Date added (newest)", + "selected": true, + "navigationEndpoint": { + "clickTrackingParams": "CCgQ48AHGAAiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/playlists?view=1&sort=dd&flow=grid", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EglwbGF5bGlzdHMYAyABMAE%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "trackingParams": "CCgQ48AHGAAiEwjNmrnZoM6JAxWWXHoFHd1sJiA=" + }, + { + "title": "Last video added", + "selected": false, + "navigationEndpoint": { + "clickTrackingParams": "CCcQ48AHGAEiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/playlists?view=1&sort=lad&flow=grid", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EglwbGF5bGlzdHMYBCABMAE%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "trackingParams": "CCcQ48AHGAEiEwjNmrnZoM6JAxWWXHoFHd1sJiA=" + } + ], + "title": "Sort by", + "icon": { + "iconType": "SORT" + }, + "accessibility": { + "accessibilityData": { + "label": "Sort by" + } + }, + "trackingParams": "CCYQgdoEIhMIzZq52aDOiQMVllx6BR3dbCYg" + } + } + } + }, + "targetId": "browse-feedUC2DjFE7Xf11URZqWBigcVOQplaylists", + "disablePullToRefresh": true + } + }, + "trackingParams": "CCQQ8JMBGAkiEwjNmrnZoM6JAxWWXHoFHd1sJiA=" + } + }, + { + "tabRenderer": { + "endpoint": { + "clickTrackingParams": "CCIQ8JMBGAoiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/community", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "Egljb21tdW5pdHk%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Community", + "selected": false, + "content": { + "sectionListRenderer": { + "trackingParams": "CCMQui8iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "disablePullToRefresh": true + } + }, + "trackingParams": "CCIQ8JMBGAoiEwjNmrnZoM6JAxWWXHoFHd1sJiA=" + } + }, + { + "tabRenderer": { + "endpoint": { + "clickTrackingParams": "CCAQ8JMBGAsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/store", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EgVzdG9yZQ%3D%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Store", + "selected": false, + "content": { + "sectionListRenderer": { + "trackingParams": "CCEQui8iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "disablePullToRefresh": true + } + }, + "trackingParams": "CCAQ8JMBGAsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=" + } + }, + { + "expandableTabRenderer": { + "endpoint": { + "clickTrackingParams": "CAAQhGciEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/search", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EgZzZWFyY2g%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Search", + "selected": false + } + } + ] + } + }, + "header": { + "pageHeaderRenderer": { + "pageTitle": "EEVblog", + "content": { + "pageHeaderViewModel": { + "title": { + "dynamicTextViewModel": { + "text": { + "content": "EEVblog", + "styleRuns": [ + { + "startIndex": 7, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + } + ] + } + } + } + ], + "attachmentRuns": [ + { + "startIndex": 7, + "length": 0, + "element": { + "type": { + "imageType": { + "image": { + "sources": [ + { + "clientResource": { + "imageName": "CHECK_CIRCLE_FILLED" + }, + "width": 14, + "height": 14 + } + ] + } + } + }, + "properties": { + "layoutProperties": { + "height": { + "value": 14, + "unit": "DIMENSION_UNIT_POINT" + }, + "width": { + "value": 14, + "unit": "DIMENSION_UNIT_POINT" + }, + "margin": { + "left": { + "value": 8, + "unit": "DIMENSION_UNIT_POINT" + } + } + } + } + }, + "alignment": "ALIGNMENT_VERTICAL_CENTER" + } + ] + }, + "maxLines": 2, + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CB8Qj-QKIhMIzZq52aDOiQMVllx6BR3dbCYg", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 176655, + "veCounter": 202444339 + } + } + }, + "accessibilityContext": { + "label": "EEVblog, Verified" + } + } + } + }, + "image": { + "decoratedAvatarViewModel": { + "avatar": { + "avatarViewModel": { + "image": { + "sources": [ + { + "url": "https://yt3.googleusercontent.com/ytc/AIdro_l17lYcTcRSydZeQK-RuiSfEeH5eX9m4irSNQj6109v5MQ=s72-c-k-c0x00ffffff-no-rj", + "width": 72, + "height": 72 + }, + { + "url": "https://yt3.googleusercontent.com/ytc/AIdro_l17lYcTcRSydZeQK-RuiSfEeH5eX9m4irSNQj6109v5MQ=s120-c-k-c0x00ffffff-no-rj", + "width": 120, + "height": 120 + }, + { + "url": "https://yt3.googleusercontent.com/ytc/AIdro_l17lYcTcRSydZeQK-RuiSfEeH5eX9m4irSNQj6109v5MQ=s160-c-k-c0x00ffffff-no-rj", + "width": 160, + "height": 160 + } + ], + "processor": { + "borderImageProcessor": { + "circular": true + } + } + }, + "avatarImageSize": "AVATAR_SIZE_XL", + "loggingDirectives": { + "trackingParams": "CB4Q6OENIhMIzZq52aDOiQMVllx6BR3dbCYg", + "visibility": { + "types": "12" + }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "@EEVblog" + }, + "enableTruncation": true + } + ] + }, + { + "metadataParts": [ + { + "text": { + "content": "952K subscribers" + } + }, + { + "text": { + "content": "2K videos", + "styleRuns": [ + { + "startIndex": 0, + "length": 9 + } + ] + } + } + ] + } + ], + "delimiter": "•", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CB0Q9eQKIhMIzZq52aDOiQMVllx6BR3dbCYg", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 176757, + "veCounter": 202444338 + } + } + } + } + } + }, + "actions": { + "flexibleActionsViewModel": { + "actionsRows": [ + { + "actions": [ + { + "buttonViewModel": { + "title": "Subscribe", + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBkQjqULIhMIzZq52aDOiQMVllx6BR3dbCYg", + "commandMetadata": { + "webCommandMetadata": { + "ignoreNavigation": true + } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "simpleText": "Want to subscribe to this channel?" + }, + "content": { + "simpleText": "Sign in to subscribe to this channel." + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BLUE_TEXT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "simpleText": "Sign in" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBwQ_YYEIhMIzZq52aDOiQMVllx6BR3dbCYgMglzdWJzY3JpYmU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252F%2540EEVblog%252Fplaylists%26continue_action%3DQUFFLUhqbnRHMXhSWkRGdlpDTV9pY2txa3BwSmNSLVFuQXxBQ3Jtc0trUnZjYlkxckVSdlRSWnpFSFdBQjZvZVVCTVREbDlIYmRFaTBHZERSZ3haeGNzOUE2ajYzX0FlRV9kOC00MTVnb2ZwSFhWT2o5RmNZUGx2TG9fczlQRUJER19idjZDT0lxR0hmbmhScjRSWDZyd1E1b2ZRb3Z0aDNCbUlYYjFobXlQZkhGNV9XMTlQVWU2MS1UOFpEQlcyR0VnRWV5YXBtNlUxVFhmOFpFcGQySUZTWkZKNVhSZVI4SWdkNWpEZlBiVllMcno&hl=en&ec=66429", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBwQ_YYEIhMIzZq52aDOiQMVllx6BR3dbCYg", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/playlists", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EglwbGF5bGlzdHM%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "continueAction": "QUFFLUhqbnRHMXhSWkRGdlpDTV9pY2txa3BwSmNSLVFuQXxBQ3Jtc0trUnZjYlkxckVSdlRSWnpFSFdBQjZvZVVCTVREbDlIYmRFaTBHZERSZ3haeGNzOUE2ajYzX0FlRV9kOC00MTVnb2ZwSFhWT2o5RmNZUGx2TG9fczlQRUJER19idjZDT0lxR0hmbmhScjRSWDZyd1E1b2ZRb3Z0aDNCbUlYYjFobXlQZkhGNV9XMTlQVWU2MS1UOFpEQlcyR0VnRWV5YXBtNlUxVFhmOFpFcGQySUZTWkZKNVhSZVI4SWdkNWpEZlBiVllMcno", + "idamTag": "66429" + } + }, + "trackingParams": "CBwQ_YYEIhMIzZq52aDOiQMVllx6BR3dbCYg" + } + } + } + } + } + } + }, + "accessibilityText": "Subscribe", + "style": "BUTTON_VIEW_MODEL_STYLE_MONO", + "trackingParams": "CBkQjqULIhMIzZq52aDOiQMVllx6BR3dbCYg", + "isFullWidth": false, + "type": "BUTTON_VIEW_MODEL_TYPE_FILLED", + "buttonSize": "BUTTON_VIEW_MODEL_SIZE_DEFAULT", + "state": "BUTTON_VIEW_MODEL_STATE_ACTIVE" + } + }, + { + "buttonViewModel": { + "title": "Join", + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBoQocYHGAIiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "ignoreNavigation": true + } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { + "text": "Want to join this channel?" + } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to become a member." + } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "simpleText": "Sign in" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBsQ8FsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3Dhttps%253A%252F%252Fwww.youtube.com%252Fyoutubei%252Fv1%252Fbrowse%253FprettyPrint%253Dfalse&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "hack": true + } + }, + "trackingParams": "CBsQ8FsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=" + } + } + } + } + } + } + }, + "accessibilityText": "Join this channel", + "style": "BUTTON_VIEW_MODEL_STYLE_MONO", + "trackingParams": "CBoQocYHGAIiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "isFullWidth": false, + "type": "BUTTON_VIEW_MODEL_TYPE_OUTLINE", + "buttonSize": "BUTTON_VIEW_MODEL_SIZE_DEFAULT", + "state": "BUTTON_VIEW_MODEL_STATE_ACTIVE", + "onVisible": { + "innertubeCommand": { + "clickTrackingParams": "CBoQocYHGAIiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "logFlowLoggingEventCommand": { + "flowEventType": 1, + "flowEventNamespace": "FLOW_EVENT_NAMESPACE_SPONSORSHIPS_PURCHASE", + "flowType": "FLOW_TYPE_SPONSORSHIPS_PURCHASE", + "flowEventMetadata": { + "sponsorshipsPurchaseContext": { + "joinMethod": "SPONSORSHIPS_JOIN_METHOD_CHANNEL_PAGE_BUTTON" + } + } + } + } + }, + "targetId": "sponsorships-button", + "loggingDirectives": { + "trackingParams": "CBoQocYHGAIiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 123681, + "veCounter": 202444337 + }, + "enableDisplayloggerExperiment": true + } + } + } + ] + } + ], + "minimumRowHeight": 44, + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CBkQjqULIhMIzZq52aDOiQMVllx6BR3dbCYg", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 184974, + "veCounter": 202444336 + } + } + } + } + } + }, + "description": { + "descriptionPreviewViewModel": { + "description": { + "content": "NO SCRIPT, NO FEAR, ALL OPINION " + }, + "maxLines": 2, + "truncationText": { + "content": "...more", + "styleRuns": [ + { + "startIndex": 0, + "length": 7, + "weight": 500 + } + ] + }, + "alwaysShowTruncationText": true, + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CBQQr_4KIhMIzZq52aDOiQMVllx6BR3dbCYg", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 180015, + "veCounter": 202444335 + } + } + }, + "accessibilityContext": { + "label": "Description. NO SCRIPT, NO FEAR, ALL OPINION...tap for more." + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBQQr_4KIhMIzZq52aDOiQMVllx6BR3dbCYg", + "showEngagementPanelEndpoint": { + "engagementPanel": { + "engagementPanelSectionListRenderer": { + "header": { + "engagementPanelTitleHeaderRenderer": { + "title": { + "simpleText": "About" + }, + "visibilityButton": { + "buttonRenderer": { + "style": "STYLE_DEFAULT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "icon": { + "iconType": "CLOSE" + }, + "accessibility": { + "label": "Close" + }, + "trackingParams": "CBgQ8FsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "accessibilityData": { + "accessibilityData": { + "label": "Close" + } + }, + "command": { + "clickTrackingParams": "CBgQ8FsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "changeEngagementPanelVisibilityAction": { + "targetId": "6822294f-0000-2cdd-9a5b-d4f547f0397c", + "visibility": "ENGAGEMENT_PANEL_VISIBILITY_HIDDEN" + } + } + } + }, + "trackingParams": "CBUQ040EIhMIzZq52aDOiQMVllx6BR3dbCYg" + } + }, + "content": { + "sectionListRenderer": { + "contents": [ + { + "itemSectionRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CBcQuy8YACITCM2audmgzokDFZZcegUd3WwmIA==", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse" + } + }, + "continuationCommand": { + "token": "4qmFsgJgEhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1EaRDhnWXJHaW1hQVNZS0pEWTRNakl5T1RVd0xUQXdNREF0TW1Oa1pDMDVZVFZpTFdRMFpqVTBOMll3TXprM1l3JTNEJTNE", + "request": "CONTINUATION_REQUEST_TYPE_BROWSE" + } + } + } + } + ], + "trackingParams": "CBcQuy8YACITCM2audmgzokDFZZcegUd3WwmIA==", + "sectionIdentifier": "68222950-0000-2cdd-9a5b-d4f547f0397c", + "targetId": "68222950-0000-2cdd-9a5b-d4f547f0397c" + } + } + ], + "trackingParams": "CBYQui8iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "scrollPaneStyle": { + "scrollable": true + } + } + }, + "targetId": "6822294f-0000-2cdd-9a5b-d4f547f0397c", + "identifier": { + "surface": "ENGAGEMENT_PANEL_SURFACE_BROWSE", + "tag": "6822294f-0000-2cdd-9a5b-d4f547f0397c" + } + } + }, + "identifier": { + "surface": "ENGAGEMENT_PANEL_SURFACE_BROWSE", + "tag": "6822294f-0000-2cdd-9a5b-d4f547f0397c" + }, + "engagementPanelPresentationConfigs": { + "engagementPanelPopupPresentationConfig": { + "popupType": "PANEL_POPUP_TYPE_DIALOG" + } + } + } + } + } + } + } + } + }, + "attribution": { + "attributionViewModel": { + "text": { + "content": "eevblog.com", + "commandRuns": [ + { + "startIndex": 0, + "length": 11, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CA8QjaULIhMIzZq52aDOiQMVllx6BR3dbCYg", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.youtube.com/redirect?event=channel_header&redir_token=QUFFLUhqbm53VzBBc0pBbHVZLXpGTXYwTjcwV0dEVUZ2d3xBQ3Jtc0tuLXo0UG1KQjFNeHF3ZDlUZVp4QlhyZ1BwNTY0UERnd05NNWRoNjVUNHhweXBLYWlrd1ZsRFBvV3JhNUFvSmZxQ1M0by1hQ1Z5RW0wdjFNV01YQXBpZFRMYkFtZjlaZXJhWlVRRVhCNlN5ZmZSeTFsWQ&q=http%3A%2F%2Fwww.eevblog.com", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.youtube.com/redirect?event=channel_header&redir_token=QUFFLUhqbm53VzBBc0pBbHVZLXpGTXYwTjcwV0dEVUZ2d3xBQ3Jtc0tuLXo0UG1KQjFNeHF3ZDlUZVp4QlhyZ1BwNTY0UERnd05NNWRoNjVUNHhweXBLYWlrd1ZsRFBvV3JhNUFvSmZxQ1M0by1hQ1Z5RW0wdjFNV01YQXBpZFRMYkFtZjlaZXJhWlVRRVhCNlN5ZmZSeTFsWQ&q=http%3A%2F%2Fwww.eevblog.com", + "target": "TARGET_NEW_WINDOW" + } + } + } + } + ], + "styleRuns": [ + { + "weightLabel": "FONT_WEIGHT_NORMAL", + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4282296063 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4278607828 + } + ] + } + } + } + ] + }, + "suffix": { + "content": "and 12 more links", + "commandRuns": [ + { + "startIndex": 0, + "length": 17, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CA8QjaULIhMIzZq52aDOiQMVllx6BR3dbCYg", + "showEngagementPanelEndpoint": { + "engagementPanel": { + "engagementPanelSectionListRenderer": { + "header": { + "engagementPanelTitleHeaderRenderer": { + "title": { + "simpleText": "About" + }, + "visibilityButton": { + "buttonRenderer": { + "style": "STYLE_DEFAULT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "icon": { + "iconType": "CLOSE" + }, + "accessibility": { + "label": "Close" + }, + "trackingParams": "CBMQ8FsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "accessibilityData": { + "accessibilityData": { + "label": "Close" + } + }, + "command": { + "clickTrackingParams": "CBMQ8FsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "changeEngagementPanelVisibilityAction": { + "targetId": "68222951-0000-2cdd-9a5b-d4f547f0397c", + "visibility": "ENGAGEMENT_PANEL_VISIBILITY_HIDDEN" + } + } + } + }, + "trackingParams": "CBAQ040EIhMIzZq52aDOiQMVllx6BR3dbCYg" + } + }, + "content": { + "sectionListRenderer": { + "contents": [ + { + "itemSectionRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CBIQuy8YACITCM2audmgzokDFZZcegUd3WwmIA==", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse" + } + }, + "continuationCommand": { + "token": "4qmFsgJgEhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1EaRDhnWXJHaW1hQVNZS0pEWTRNakl5T1RVeUxUQXdNREF0TW1Oa1pDMDVZVFZpTFdRMFpqVTBOMll3TXprM1l3JTNEJTNE", + "request": "CONTINUATION_REQUEST_TYPE_BROWSE" + } + } + } + } + ], + "trackingParams": "CBIQuy8YACITCM2audmgzokDFZZcegUd3WwmIA==", + "sectionIdentifier": "68222952-0000-2cdd-9a5b-d4f547f0397c", + "targetId": "68222952-0000-2cdd-9a5b-d4f547f0397c" + } + } + ], + "trackingParams": "CBEQui8iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "scrollPaneStyle": { + "scrollable": true + } + } + }, + "targetId": "68222951-0000-2cdd-9a5b-d4f547f0397c", + "identifier": { + "surface": "ENGAGEMENT_PANEL_SURFACE_BROWSE", + "tag": "68222951-0000-2cdd-9a5b-d4f547f0397c" + } + } + }, + "identifier": { + "surface": "ENGAGEMENT_PANEL_SURFACE_BROWSE", + "tag": "68222951-0000-2cdd-9a5b-d4f547f0397c" + }, + "engagementPanelPresentationConfigs": { + "engagementPanelPopupPresentationConfig": { + "popupType": "PANEL_POPUP_TYPE_DIALOG" + } + } + } + } + } + } + ], + "styleRuns": [ + { + "fontName": "", + "fontSize": 0, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + }, + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CA8QjaULIhMIzZq52aDOiQMVllx6BR3dbCYg", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 184973, + "veCounter": 202444334 + } + } + } + } + } + }, + "banner": { + "imageBannerViewModel": { + "image": { + "sources": [ + { + "url": "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w1060-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + "width": 1060, + "height": 175 + }, + { + "url": "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w1138-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + "width": 1138, + "height": 188 + }, + { + "url": "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w1707-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + "width": 1707, + "height": 283 + }, + { + "url": "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w2120-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + "width": 2120, + "height": 351 + }, + { + "url": "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w2276-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + "width": 2276, + "height": 377 + }, + { + "url": "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w2560-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + "width": 2560, + "height": 424 + } + ] + }, + "style": "IMAGE_BANNER_STYLE_INSET", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CA4QnfILIhMIzZq52aDOiQMVllx6BR3dbCYg", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 194845, + "veCounter": 202444333 + } + } + } + } + } + }, + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CA0Qot8KIhMIzZq52aDOiQMVllx6BR3dbCYg", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 176034, + "veCounter": 202444332 + } + } + } + } + } + } + } + }, + "metadata": { + "channelMetadataRenderer": { + "title": "EEVblog", + "description": "NO SCRIPT, NO FEAR, ALL OPINION\nAn off-the-cuff Video Blog about Electronics Engineering, for engineers, hobbyists, enthusiasts, hackers and Makers\nHosted by Dave Jones from Sydney Australia\n\nDONATIONS:\nBitcoin: 3KqyH1U3qrMPnkLufM2oHDU7YB4zVZeFyZ\nEthereum: 0x99ccc4d2654ba40744a1f678d9868ecb15e91206\nPayPal: david@alternatezone.com\n\nPatreon: https://www.patreon.com/eevblog\n\nEEVblog2: http://www.youtube.com/EEVblog2\nEEVdiscover: https://www.youtube.com/channel/UCkGvUEt8iQLmq3aJIMjT2qQ\n\nEMAIL:\nAdvertising/Commercial: eevblog+business@gmail.com\nFan mail: eevblog+fan@gmail.com\nHate Mail: eevblog+hate@gmail.com\n\nI DON'T DO PAID VIDEO SPONSORSHIPS, DON'T ASK!\n\nPLEASE:\nDo NOT ask for personal advice on something, post it in the EEVblog forum.\nI read ALL email, but please don't be offended if I don't have time to reply, I get a LOT of email.\n\nMailbag\nPO Box 7949\nBaulkham Hills NSW 2153\nAUSTRALIA", + "rssUrl": "https://www.youtube.com/feeds/videos.xml?channel_id=UC2DjFE7Xf11URZqWBigcVOQ", + "externalId": "UC2DjFE7Xf11URZqWBigcVOQ", + "keywords": "electronics engineering maker hacker design circuit hardware pic atmel oscilloscope multimeter diy hobby review teardown microcontroller arduino video blog tutorial how-to interview rant industry news mailbag \"dumpster diving\" debunking", + "ownerUrls": [ + "http://www.youtube.com/@EEVblog" + ], + "avatar": { + "thumbnails": [ + { + "url": "https://yt3.googleusercontent.com/ytc/AIdro_l17lYcTcRSydZeQK-RuiSfEeH5eX9m4irSNQj6109v5MQ=s900-c-k-c0x00ffffff-no-rj", + "width": 900, + "height": 900 + } + ] + }, + "channelUrl": "https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ", + "isFamilySafe": true, + "facebookProfileId": "EEVblog", + "availableCountryCodes": [ + "AU", + "WS", + "MQ", + "SJ", + "LS", + "TG", + "US", + "AE", + "BO", + "JO", + "MA", + "CK", + "UM", + "AM", + "DK", + "IQ", + "SZ", + "TT", + "GF", + "MU", + "FR", + "HR", + "BT", + "JE", + "MG", + "FK", + "SN", + "IL", + "TR", + "HM", + "PW", + "GY", + "SK", + "TW", + "BV", + "NG", + "PE", + "CR", + "KG", + "BG", + "AW", + "ID", + "KP", + "CW", + "SR", + "PH", + "SC", + "CZ", + "MK", + "MC", + "LR", + "GE", + "GW", + "BL", + "QA", + "GM", + "BW", + "BD", + "MV", + "NA", + "SE", + "GS", + "CX", + "ZA", + "SI", + "GB", + "DM", + "PS", + "MX", + "CU", + "KN", + "AZ", + "KW", + "SL", + "AO", + "BS", + "BY", + "GG", + "BQ", + "MY", + "CY", + "IO", + "GA", + "RS", + "CL", + "SO", + "YE", + "GL", + "GH", + "CO", + "LB", + "KY", + "BI", + "SB", + "PK", + "GI", + "KM", + "LT", + "SG", + "CF", + "NF", + "MD", + "MT", + "TH", + "RE", + "TL", + "SH", + "MS", + "PA", + "MW", + "PN", + "LK", + "VA", + "NL", + "HK", + "ME", + "EE", + "MH", + "HT", + "IT", + "CC", + "IR", + "VE", + "FJ", + "HN", + "ES", + "BE", + "AL", + "KH", + "KR", + "MM", + "LY", + "BR", + "TK", + "NO", + "PT", + "AF", + "BJ", + "BZ", + "AS", + "KE", + "CI", + "CG", + "LA", + "YT", + "AI", + "JP", + "KZ", + "TF", + "GD", + "RU", + "AG", + "GU", + "LU", + "PM", + "AD", + "MF", + "TM", + "MN", + "NU", + "PL", + "NR", + "EH", + "NP", + "NE", + "SA", + "SY", + "AQ", + "TN", + "FM", + "AX", + "UG", + "RO", + "GR", + "FI", + "VU", + "GT", + "UY", + "MP", + "EG", + "ZM", + "HU", + "KI", + "ZW", + "CH", + "GP", + "VC", + "SV", + "AT", + "DO", + "PG", + "SS", + "TO", + "BA", + "WF", + "DJ", + "LV", + "VI", + "ST", + "PF", + "MZ", + "TJ", + "UA", + "ET", + "NC", + "RW", + "BF", + "IE", + "IM", + "CD", + "GQ", + "SX", + "EC", + "SM", + "PY", + "CV", + "AR", + "JM", + "LI", + "ER", + "OM", + "PR", + "TD", + "MR", + "MO", + "BM", + "SD", + "BB", + "DZ", + "GN", + "TV", + "VG", + "TC", + "VN", + "IN", + "TZ", + "CN", + "ML", + "NZ", + "IS", + "BN", + "NI", + "DE", + "LC", + "CA", + "CM", + "UZ", + "FO", + "BH" + ], + "androidDeepLink": "android-app://com.google.android.youtube/http/www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ", + "androidAppindexingLink": "android-app://com.google.android.youtube/http/www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ", + "iosAppindexingLink": "ios-app://544007664/vnd.youtube/www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ", + "vanityChannelUrl": "http://www.youtube.com/@EEVblog" + } + }, + "trackingParams": "CAAQhGciEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "topbar": { + "desktopTopbarRenderer": { + "logo": { + "topbarLogoRenderer": { + "iconImage": { + "iconType": "YOUTUBE_LOGO" + }, + "tooltipText": { + "runs": [ + { + "text": "YouTube Home" + } + ] + }, + "endpoint": { + "clickTrackingParams": "CAwQsV4iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/", + "webPageType": "WEB_PAGE_TYPE_BROWSE", + "rootVe": 3854, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "FEwhat_to_watch" + } + }, + "trackingParams": "CAwQsV4iEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "overrideEntityKey": "EgZ0b3BiYXIg9QEoAQ%3D%3D" + } + }, + "searchbox": { + "fusionSearchboxRenderer": { + "icon": { + "iconType": "SEARCH" + }, + "placeholderText": { + "runs": [ + { + "text": "Search" + } + ] + }, + "config": { + "webSearchboxConfig": { + "requestLanguage": "en", + "requestDomain": "us", + "hasOnscreenKeyboard": false, + "focusSearchbox": true + } + }, + "trackingParams": "CAoQ7VAiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "searchEndpoint": { + "clickTrackingParams": "CAoQ7VAiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "" + } + }, + "clearButton": { + "buttonRenderer": { + "style": "STYLE_DEFAULT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "icon": { + "iconType": "CLOSE" + }, + "trackingParams": "CAsQ8FsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "accessibilityData": { + "accessibilityData": { + "label": "Clear search query" + } + } + } + } + } + }, + "trackingParams": "CAEQq6wBIhMIzZq52aDOiQMVllx6BR3dbCYg", + "topbarButtons": [ + { + "topbarMenuButtonRenderer": { + "icon": { + "iconType": "MORE_VERT" + }, + "menuRequest": { + "clickTrackingParams": "CAgQ_qsBGAAiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/account/account_menu" + } + }, + "signalServiceEndpoint": { + "signal": "GET_ACCOUNT_MENU", + "actions": [ + { + "clickTrackingParams": "CAgQ_qsBGAAiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "openPopupAction": { + "popup": { + "multiPageMenuRenderer": { + "trackingParams": "CAkQ_6sBIhMIzZq52aDOiQMVllx6BR3dbCYg", + "style": "MULTI_PAGE_MENU_STYLE_TYPE_SYSTEM", + "showLoadingSpinner": true + } + }, + "popupType": "DROPDOWN", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CAgQ_qsBGAAiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "accessibility": { + "accessibilityData": { + "label": "Settings" + } + }, + "tooltip": "Settings", + "style": "STYLE_DEFAULT" + } + }, + { + "buttonRenderer": { + "style": "STYLE_SUGGESTIVE", + "size": "SIZE_SMALL", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "icon": { + "iconType": "AVATAR_LOGGED_OUT" + }, + "navigationEndpoint": { + "clickTrackingParams": "CAcQ1IAEGAEiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3Dhttps%253A%252F%252Fwww.youtube.com%252Fyoutubei%252Fv1%252Fbrowse%253FprettyPrint%253Dfalse&hl=en&ec=65620", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "idamTag": "65620" + } + }, + "trackingParams": "CAcQ1IAEGAEiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "targetId": "topbar-signin" + } + } + ], + "hotkeyDialog": { + "hotkeyDialogRenderer": { + "title": { + "runs": [ + { + "text": "Keyboard shortcuts" + } + ] + }, + "sections": [ + { + "hotkeyDialogSectionRenderer": { + "title": { + "runs": [ + { + "text": "Playback" + } + ] + }, + "options": [ + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle play/pause" + } + ] + }, + "hotkey": "k" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rewind 10 seconds" + } + ] + }, + "hotkey": "j" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Fast forward 10 seconds" + } + ] + }, + "hotkey": "l" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Previous video" + } + ] + }, + "hotkey": "P (SHIFT+p)" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Next video" + } + ] + }, + "hotkey": "N (SHIFT+n)" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Previous frame (while paused)" + } + ] + }, + "hotkey": ",", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Comma" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Next frame (while paused)" + } + ] + }, + "hotkey": ".", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Period" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Decrease playback rate" + } + ] + }, + "hotkey": "< (SHIFT+,)", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Less than or SHIFT + comma" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Increase playback rate" + } + ] + }, + "hotkey": "> (SHIFT+.)", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Greater than or SHIFT + period" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Seek to specific point in the video (7 advances to 70% of duration)" + } + ] + }, + "hotkey": "0..9" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Seek to previous chapter" + } + ] + }, + "hotkey": "CONTROL + ←" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Seek to next chapter" + } + ] + }, + "hotkey": "CONTROL + →" + } + } + ] + } + }, + { + "hotkeyDialogSectionRenderer": { + "title": { + "runs": [ + { + "text": "General" + } + ] + }, + "options": [ + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle full screen" + } + ] + }, + "hotkey": "f" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle theater mode" + } + ] + }, + "hotkey": "t" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle miniplayer" + } + ] + }, + "hotkey": "i" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Close miniplayer or current dialog" + } + ] + }, + "hotkey": "ESCAPE" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle mute" + } + ] + }, + "hotkey": "m" + } + } + ] + } + }, + { + "hotkeyDialogSectionRenderer": { + "title": { + "runs": [ + { + "text": "Subtitles and closed captions" + } + ] + }, + "options": [ + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "If the video supports captions, toggle captions ON/OFF" + } + ] + }, + "hotkey": "c" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rotate through different text opacity levels" + } + ] + }, + "hotkey": "o" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rotate through different window opacity levels" + } + ] + }, + "hotkey": "w" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rotate through font sizes (increasing)" + } + ] + }, + "hotkey": "+" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rotate through font sizes (decreasing)" + } + ] + }, + "hotkey": "-", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Minus" + } + } + } + } + ] + } + }, + { + "hotkeyDialogSectionRenderer": { + "title": { + "runs": [ + { + "text": "Spherical Videos" + } + ] + }, + "options": [ + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Pan up" + } + ] + }, + "hotkey": "w" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Pan left" + } + ] + }, + "hotkey": "a" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Pan down" + } + ] + }, + "hotkey": "s" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Pan right" + } + ] + }, + "hotkey": "d" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Zoom in" + } + ] + }, + "hotkey": "+ on numpad or ]", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Plus on number pad or right bracket" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Zoom out" + } + ] + }, + "hotkey": "- on numpad or [", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Minus on number pad or left bracket" + } + } + } + } + ] + } + } + ], + "dismissButton": { + "buttonRenderer": { + "style": "STYLE_BLUE_TEXT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Dismiss" + } + ] + }, + "trackingParams": "CAYQ8FsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=" + } + }, + "trackingParams": "CAUQteYDIhMIzZq52aDOiQMVllx6BR3dbCYg" + } + }, + "backButton": { + "buttonRenderer": { + "trackingParams": "CAQQvIYDIhMIzZq52aDOiQMVllx6BR3dbCYg", + "command": { + "clickTrackingParams": "CAQQvIYDIhMIzZq52aDOiQMVllx6BR3dbCYg", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CAQQvIYDIhMIzZq52aDOiQMVllx6BR3dbCYg", + "signalAction": { + "signal": "HISTORY_BACK" + } + } + ] + } + } + } + }, + "forwardButton": { + "buttonRenderer": { + "trackingParams": "CAMQvYYDIhMIzZq52aDOiQMVllx6BR3dbCYg", + "command": { + "clickTrackingParams": "CAMQvYYDIhMIzZq52aDOiQMVllx6BR3dbCYg", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CAMQvYYDIhMIzZq52aDOiQMVllx6BR3dbCYg", + "signalAction": { + "signal": "HISTORY_FORWARD" + } + } + ] + } + } + } + }, + "a11ySkipNavigationButton": { + "buttonRenderer": { + "style": "STYLE_DEFAULT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Skip navigation" + } + ] + }, + "trackingParams": "CAIQ8FsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "command": { + "clickTrackingParams": "CAIQ8FsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CAIQ8FsiEwjNmrnZoM6JAxWWXHoFHd1sJiA=", + "signalAction": { + "signal": "SKIP_NAVIGATION" + } + } + ] + } + } + } + } + } + }, + "microformat": { + "microformatDataRenderer": { + "urlCanonical": "https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ", + "title": "EEVblog", + "description": "NO SCRIPT, NO FEAR, ALL OPINION An off-the-cuff Video Blog about Electronics Engineering, for engineers, hobbyists, enthusiasts, hackers and Makers Hosted by...", + "thumbnail": { + "thumbnails": [ + { + "url": "https://yt3.googleusercontent.com/ytc/AIdro_l17lYcTcRSydZeQK-RuiSfEeH5eX9m4irSNQj6109v5MQ=s200-c-k-c0x00ffffff-no-rj?days_since_epoch=20036", + "width": 200, + "height": 200 + } + ] + }, + "siteName": "YouTube", + "appName": "YouTube", + "androidPackage": "com.google.android.youtube", + "iosAppStoreId": "544007664", + "iosAppArguments": "https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ", + "ogType": "yt-fb-app:channel", + "urlApplinksWeb": "https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ?feature=applinks", + "urlApplinksIos": "vnd.youtube://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ?feature=applinks", + "urlApplinksAndroid": "vnd.youtube://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ?feature=applinks", + "urlTwitterIos": "vnd.youtube://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ?feature=twitter-deep-link", + "urlTwitterAndroid": "vnd.youtube://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ?feature=twitter-deep-link", + "twitterCardType": "summary", + "twitterSiteHandle": "@YouTube", + "schemaDotOrgType": "http://schema.org/http://schema.org/YoutubeChannelV2", + "noindex": false, + "unlisted": false, + "familySafe": true, + "tags": [ + "electronics", + "engineering", + "maker", + "hacker", + "design", + "circuit", + "hardware", + "pic", + "atmel", + "oscilloscope", + "multimeter", + "diy", + "hobby", + "review", + "teardown", + "microcontroller", + "arduino", + "video", + "blog", + "tutorial", + "how-to", + "interview", + "rant", + "industry", + "news", + "mailbag", + "dumpster diving", + "debunking" + ], + "availableCountries": [ + "AU", + "WS", + "MQ", + "SJ", + "LS", + "TG", + "US", + "AE", + "BO", + "JO", + "MA", + "CK", + "UM", + "AM", + "DK", + "IQ", + "SZ", + "TT", + "GF", + "MU", + "FR", + "HR", + "BT", + "JE", + "MG", + "FK", + "SN", + "IL", + "TR", + "HM", + "PW", + "GY", + "SK", + "TW", + "BV", + "NG", + "PE", + "CR", + "KG", + "BG", + "AW", + "ID", + "KP", + "CW", + "SR", + "PH", + "SC", + "CZ", + "MK", + "MC", + "LR", + "GE", + "GW", + "BL", + "QA", + "GM", + "BW", + "BD", + "MV", + "NA", + "SE", + "GS", + "CX", + "ZA", + "SI", + "GB", + "DM", + "PS", + "MX", + "CU", + "KN", + "AZ", + "KW", + "SL", + "AO", + "BS", + "BY", + "GG", + "BQ", + "MY", + "CY", + "IO", + "GA", + "RS", + "CL", + "SO", + "YE", + "GL", + "GH", + "CO", + "LB", + "KY", + "BI", + "SB", + "PK", + "GI", + "KM", + "LT", + "SG", + "CF", + "NF", + "MD", + "MT", + "TH", + "RE", + "TL", + "SH", + "MS", + "PA", + "MW", + "PN", + "LK", + "VA", + "NL", + "HK", + "ME", + "EE", + "MH", + "HT", + "IT", + "CC", + "IR", + "VE", + "FJ", + "HN", + "ES", + "BE", + "AL", + "KH", + "KR", + "MM", + "LY", + "BR", + "TK", + "NO", + "PT", + "AF", + "BJ", + "BZ", + "AS", + "KE", + "CI", + "CG", + "LA", + "YT", + "AI", + "JP", + "KZ", + "TF", + "GD", + "RU", + "AG", + "GU", + "LU", + "PM", + "AD", + "MF", + "TM", + "MN", + "NU", + "PL", + "NR", + "EH", + "NP", + "NE", + "SA", + "SY", + "AQ", + "TN", + "FM", + "AX", + "UG", + "RO", + "GR", + "FI", + "VU", + "GT", + "UY", + "MP", + "EG", + "ZM", + "HU", + "KI", + "ZW", + "CH", + "GP", + "VC", + "SV", + "AT", + "DO", + "PG", + "SS", + "TO", + "BA", + "WF", + "DJ", + "LV", + "VI", + "ST", + "PF", + "MZ", + "TJ", + "UA", + "ET", + "NC", + "RW", + "BF", + "IE", + "IM", + "CD", + "GQ", + "SX", + "EC", + "SM", + "PY", + "CV", + "AR", + "JM", + "LI", + "ER", + "OM", + "PR", + "TD", + "MR", + "MO", + "BM", + "SD", + "BB", + "DZ", + "GN", + "TV", + "VG", + "TC", + "VN", + "IN", + "TZ", + "CN", + "ML", + "NZ", + "IS", + "BN", + "NI", + "DE", + "LC", + "CA", + "CM", + "UZ", + "FO", + "BH" + ], + "linkAlternates": [ + { + "hrefUrl": "https://m.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ" + }, + { + "hrefUrl": "android-app://com.google.android.youtube/http/youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ" + }, + { + "hrefUrl": "ios-app://544007664/http/youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ" + } + ] + } + } +} diff --git a/testfiles/channel/channel_playlists.json b/testfiles/channel/channel_playlists_base.json similarity index 100% rename from testfiles/channel/channel_playlists.json rename to testfiles/channel/channel_playlists_base.json