diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudChannelTabExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudChannelTabExtractor.java index 30abe4fa95..b1df654839 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudChannelTabExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudChannelTabExtractor.java @@ -14,6 +14,8 @@ import javax.annotation.Nonnull; import java.io.IOException; +import java.util.HashSet; +import java.util.Set; import static org.schabi.newpipe.extractor.services.soundcloud.SoundcloudParsingHelper.SOUNDCLOUD_API_V2_URL; import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty; @@ -22,6 +24,9 @@ public class SoundcloudChannelTabExtractor extends ChannelTabExtractor { private static final String USERS_ENDPOINT = SOUNDCLOUD_API_V2_URL + "users/"; + /** Empty page cap against infinite pagination loops. */ + private static final int MAX_EMPTY_PAGES = 3; + private final String userId; public SoundcloudChannelTabExtractor(final StreamingService service, @@ -70,9 +75,40 @@ public InfoItemsPage getPage(final Page page) } final MultiInfoItemsCollector collector = new MultiInfoItemsCollector(getServiceId()); - final String nextPageUrl = SoundcloudParsingHelper.getInfoItemsFromApi( - collector, page.getUrl()); + final Set visitedPages = new HashSet<>(); + + String currentPageUrl = page.getUrl(); + String nextPageUrl = ""; + int emptyPageCount = 0; + + while (!isNullOrEmpty(currentPageUrl)) { + if (!visitedPages.add(currentPageUrl)) { + // Prevent infinite loops when the API points back to an already visited page. + nextPageUrl = ""; + break; + } + + final int itemsBefore = collector.getItems().size(); + final String candidateNextPage = SoundcloudParsingHelper + .getInfoItemsFromApi(collector, currentPageUrl); + final boolean hasNewItems = collector.getItems().size() > itemsBefore; + + if (hasNewItems) { + nextPageUrl = candidateNextPage; + break; + } + + emptyPageCount++; + if (emptyPageCount >= MAX_EMPTY_PAGES || isNullOrEmpty(candidateNextPage)) { + // Give up after too many empty responses or when SoundCloud stops providing tokens. + nextPageUrl = ""; + break; + } + + currentPageUrl = candidateNextPage; + } - return new InfoItemsPage<>(collector, new Page(nextPageUrl)); + final Page nextPage = isNullOrEmpty(nextPageUrl) ? null : new Page(nextPageUrl); + return new InfoItemsPage<>(collector, nextPage); } } diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudChannelTabExtractorTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudChannelTabExtractorTest.java index 9e99647c27..f80cad25f6 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudChannelTabExtractorTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudChannelTabExtractorTest.java @@ -1,15 +1,21 @@ package org.schabi.newpipe.extractor.services.soundcloud; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.schabi.newpipe.extractor.ExtractorAsserts.assertEmptyErrors; import static org.schabi.newpipe.extractor.ServiceList.SoundCloud; import static org.schabi.newpipe.extractor.services.DefaultTests.defaultTestGetPageInNewExtractor; import org.junit.jupiter.api.Test; import org.schabi.newpipe.extractor.InfoItem; +import org.schabi.newpipe.extractor.ListExtractor; import org.schabi.newpipe.extractor.StreamingService; import org.schabi.newpipe.extractor.channel.tabs.ChannelTabExtractor; import org.schabi.newpipe.extractor.channel.tabs.ChannelTabs; import org.schabi.newpipe.extractor.services.DefaultListExtractorTest; +import java.util.List; + class SoundcloudChannelTabExtractorTest { static class Tracks extends DefaultListExtractorTest { @@ -88,4 +94,30 @@ protected ChannelTabExtractor createExtractor() throws Exception { @Override public String expectedOriginalUrlContains() throws Exception { return "https://soundcloud.com/soreen-735855039/likes"; } @Override public InfoItem.InfoType expectedInfoItemType() { return InfoItem.InfoType.PLAYLIST; } } + + static class NoEmptyNextPages extends DefaultListExtractorTest { + @Override + protected ChannelTabExtractor createExtractor() throws Exception { + return SoundCloud.getChannelTabExtractorFromId("73637815", ChannelTabs.TRACKS); + } + + @Override public StreamingService expectedService() throws Exception { return SoundCloud; } + @Override public String expectedName() throws Exception { return ChannelTabs.TRACKS; } + @Override public String expectedId() throws Exception { return "73637815"; } + @Override public String expectedUrlContains() throws Exception { return "https://soundcloud.com/hurtbox/tracks"; } + @Override public String expectedOriginalUrlContains() throws Exception { return "https://soundcloud.com/hurtbox/tracks"; } + @Override public InfoItem.InfoType expectedInfoItemType() { return InfoItem.InfoType.STREAM; } + + @Test + public void testNextPages() throws Exception { + ListExtractor.InfoItemsPage page = extractor().getInitialPage(); + for (int i = 1; i <= 5; i++) { + assertEmptyErrors("Next page has errors", page.getErrors()); + assertFalse(page.getItems().isEmpty(), "Next page is empty"); + assertTrue(page.hasNextPage(), "Next page does not have more items"); + page = extractor().getPage(page.getNextPage()); + } + } + + } } diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_0.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_0.json new file mode 100644 index 0000000000..5f19517ce3 --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_0.json @@ -0,0 +1,59 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://w.soundcloud.com/player/?url\u003dhttps%3A%2F%2Fapi.soundcloud.com%2Fusers%2F73637815", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "age": [ + "41" + ], + "cache-control": [ + "public, max-age\u003d300" + ], + "content-type": [ + "text/html" + ], + "date": [ + "Sat, 11 Oct 2025 07:18:56 GMT" + ], + "p3p": [ + "policyref\u003d\"https://w.soundcloud.com/player/w3c/p3p.xml\", CP\u003d\"NON DSP COR CUR ADM DEV TAI PSAo PSDo OUR STP CNT\"" + ], + "server": [ + "am/2" + ], + "strict-transport-security": [ + "max-age\u003d63072000" + ], + "vary": [ + "Accept-Encoding" + ], + "via": [ + "sssr, 1.1 446f4800ed8a030e10e4a6dd15349224.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "6Yw0AsuW3SIXRNaT7KyQD0Rm1Mtomsc3UiS4gbjS0hGNEDTdE1RW7A\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL50-P5" + ], + "x-cache": [ + "Hit from cloudfront" + ] + }, + "responseBody": "\u003c!DOCTYPE html\u003e\n\u003chtml lang\u003d\"en\"\u003e\n\u003chead\u003e\n \u003cmeta charset\u003d\"UTF-8\"\u003e\n\n \n \u003clink rel\u003d\"dns-prefetch\" href\u003d\"//api-widget.soundcloud.com\"\u003e\n \u003clink rel\u003d\"dns-prefetch\" href\u003d\"//sb.scorecardresearch.com\"\u003e\n \u003clink rel\u003d\"dns-prefetch\" href\u003d\"//api.soundcloud.com\"\u003e\n \u003clink rel\u003d\"dns-prefetch\" href\u003d\"//va.sndcdn.com\"\u003e\n \u003clink rel\u003d\"dns-prefetch\" href\u003d\"//i1.sndcdn.com\"\u003e\n \u003clink rel\u003d\"dns-prefetch\" href\u003d\"//i2.sndcdn.com\"\u003e\n \u003clink rel\u003d\"dns-prefetch\" href\u003d\"//i3.sndcdn.com\"\u003e\n \u003clink rel\u003d\"dns-prefetch\" href\u003d\"//i4.sndcdn.com\"\u003e\n \u003clink rel\u003d\"dns-prefetch\" href\u003d\"//w1.sndcdn.com\"\u003e\n \u003clink rel\u003d\"dns-prefetch\" href\u003d\"//wis.sndcdn.com\"\u003e\n \u003clink rel\u003d\"dns-prefetch\" href\u003d\"//style.sndcdn.com\"\u003e\n \n \u003cmeta name\u003d\"robots\" content\u003d\"noindex, follow\"\u003e\n \u003cmeta http-equiv\u003d\"X-UA-Compatible\" content\u003d\"IE\u003dedge,chrome\u003d1\"\u003e\n \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width,minimum-scale\u003d1,maximum-scale\u003d1,user-scalable\u003dno\"\u003e\n \u003clink rel\u003d\"canonical\" href\u003d\"https://soundcloud.com/hurtbox\"\u003e\n\n \u003ctitle\u003eSoundCloud Widget\u003c/title\u003e\n\n \n \u003cbase target\u003d\"_blank\"\u003e\n \n\u003c/head\u003e\n\u003cbody style\u003d\"margin:0\"\u003e\n \u003cdiv id\u003d\"widget\" class\u003d\"widget g-background-default g-shadow-inset\" style\u003d\"height:100%\"\u003e\u003c/div\u003e\n \u003cscript src\u003d\"https://widget.sndcdn.com/widget-4-434ca88dccea.js\" crossorigin\u003e\u003c/script\u003e\n \n \u003cscript crossorigin src\u003d\"https://widget.sndcdn.com/widget-8-8102dadd8b2e.js\"\u003e\u003c/script\u003e\n \n \u003cscript crossorigin src\u003d\"https://widget.sndcdn.com/widget-9-0111f457ff60.js\"\u003e\u003c/script\u003e\n \n \n \u003cscript\u003ewindow.innerHeight\u003c\u003d20\u0026\u0026document.body.classList.add(\"mini-player\")\u003c/script\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n", + "latestUrl": "https://w.soundcloud.com/player/?url\u003dhttps%3A%2F%2Fapi.soundcloud.com%2Fusers%2F73637815" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_1.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_1.json new file mode 100644 index 0000000000..1b6143b3e9 --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_1.json @@ -0,0 +1,68 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://soundcloud.com", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "cache-control": [ + "private, max-age\u003d0, no-cache, no-store" + ], + "content-type": [ + "text/html" + ], + "date": [ + "Sat, 11 Oct 2025 07:19:38 GMT" + ], + "server": [ + "am/2" + ], + "server-timing": [ + "enabledFeatures; dur\u003d3.662564; desc\u003d\"api-v2/enabledFeatures\", geoip; dur\u003d0.766172; desc\u003d\"geoip/geoip\", privacySettings; dur\u003d5.73226; desc\u003d\"api-v2/privacySettings\"" + ], + "set-cookie": [ + "sc_tracking_anonymous_id\u003d%2296228e89-5696-4229-aa57-2b8bc5501df3%22; path\u003d/; expires\u003dMon, 11 Oct 2027 07:19:38 GMT; domain\u003d.soundcloud.com" + ], + "strict-transport-security": [ + "max-age\u003d63072000; includeSubdomains; preload" + ], + "vary": [ + "Accept-Encoding" + ], + "via": [ + "1.1 83dede49b3c78b7f99a0399a34264ed6.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "lpLv-fUteHxVx2b1AyVs9ifomzcPTkqa4f6DXzjfM781HCw98KldIA\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL52-P2" + ], + "x-cache": [ + "Miss from cloudfront" + ], + "x-frame-options": [ + "SAMEORIGIN" + ], + "x-pants": [ + "distant-towel" + ], + "x-xss-protection": [ + "1; mode\u003dblock" + ] + }, + "responseBody": "\u003c!DOCTYPE html\u003e\n\u003chtml lang\u003d\"en\"\u003e\n\u003chead\u003e\n\u003cmeta charset\u003d\"utf-8\"\u003e\n\u003cmeta name\u003d\"theme-color\" content\u003d\"#333\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//style.sndcdn.com\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//a-v2.sndcdn.com\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//api-v2.soundcloud.com\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//sb.scorecardresearch.com\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//secure.quantserve.com\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//eventlogger.soundcloud.com\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//api.soundcloud.com\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//ssl.google-analytics.com\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//i1.sndcdn.com\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//i2.sndcdn.com\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//i3.sndcdn.com\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//i4.sndcdn.com\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//wis.sndcdn.com\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//va.sndcdn.com\"\u003e\n\u003clink rel\u003d\"dns-prefetch\" href\u003d\"//pixel.quantserve.com\"\u003e\n\u003ctitle\u003eStream and listen to music online for free with SoundCloud\u003c/title\u003e\n\u003cmeta content\u003d\"record, sounds, share, sound, audio, tracks, music, soundcloud\" name\u003d\"keywords\"\u003e\n\u003cmeta name\u003d\"referrer\" content\u003d\"origin\"\u003e\n\u003cmeta name\u003d\"google-site-verification\" content\u003d\"dY0CigqM8Inubs_hgrYMwk-zGchKwrvJLcvI_G8631Q\"\u003e\n\u003clink crossorigin\u003d\"use-credentials\" rel\u003d\"manifest\" href\u003d\"/webmanifest.json\"\u003e\n\u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width,minimum-scale\u003d1,maximum-scale\u003d1,user-scalable\u003dno\"\u003e\n\u003cmeta content\u003d\"19507961798\" property\u003d\"fb:app_id\"\u003e\n\u003cmeta content\u003d\"SoundCloud\" property\u003d\"og:site_name\"\u003e\n\u003cmeta content\u003d\"SoundCloud\" property\u003d\"twitter:site\"\u003e\n\u003cmeta content\u003d\"SoundCloud\" property\u003d\"twitter:app:name:iphone\"\u003e\n\u003cmeta content\u003d\"336353151\" property\u003d\"twitter:app:id:iphone\"\u003e\n\u003cmeta content\u003d\"SoundCloud\" property\u003d\"twitter:app:name:ipad\"\u003e\n\u003cmeta content\u003d\"336353151\" property\u003d\"twitter:app:id:ipad\"\u003e\n\u003cmeta content\u003d\"SoundCloud\" property\u003d\"twitter:app:name:googleplay\"\u003e\n\u003cmeta content\u003d\"com.soundcloud.android\" property\u003d\"twitter:app:id:googleplay\"\u003e\n\u003clink href\u003d\"/sc-opensearch.xml\" rel\u003d\"search\" title\u003d\"SoundCloud\" type\u003d\"application/opensearchdescription+xml\"\u003e\n\u003cmeta name\u003d\"description\" content\u003d\"Discover and play over 320 million music tracks. Join the world’s largest online community of artists, bands, DJs, and audio creators.\"\u003e\u003cmeta property\u003d\"twitter:app:name:iphone\" content\u003d\"SoundCloud\"\u003e\u003cmeta property\u003d\"twitter:app:id:iphone\" content\u003d\"336353151\"\u003e\u003cmeta property\u003d\"twitter:app:name:ipad\" content\u003d\"SoundCloud\"\u003e\u003cmeta property\u003d\"twitter:app:id:ipad\" content\u003d\"336353151\"\u003e\u003cmeta property\u003d\"twitter:app:name:googleplay\" content\u003d\"SoundCloud\"\u003e\u003cmeta property\u003d\"twitter:app:id:googleplay\" content\u003d\"com.soundcloud.android\"\u003e\u003cmeta property\u003d\"twitter:card\" content\u003d\"summary_large_image\"\u003e\u003cmeta property\u003d\"twitter:title\" content\u003d\"Stream and listen to music online for free with SoundCloud\"\u003e\u003cmeta property\u003d\"twitter:description\" content\u003d\"Discover and play over 320 million music tracks. Join the world’s largest online community of artists, bands, DJs, and audio creators.\"\u003e\u003cmeta property\u003d\"twitter:image\" content\u003d\"https://a-v2.sndcdn.com/assets/images/meta/soundcloud-unfurl.png\"\u003e\u003cmeta property\u003d\"al:ios:app_name\" content\u003d\"SoundCloud\"\u003e\u003cmeta property\u003d\"al:ios:app_store_id\" content\u003d\"336353151\"\u003e\u003cmeta property\u003d\"al:android:app_name\" content\u003d\"SoundCloud\"\u003e\u003cmeta property\u003d\"al:android:package\" content\u003d\"com.soundcloud.android\"\u003e\u003cmeta property\u003d\"al:ios:url\" content\u003d\"soundcloud://page/authentication\"\u003e\u003cmeta property\u003d\"al:android:url\" content\u003d\"soundcloud://home\"\u003e\u003cmeta property\u003d\"og:type\" content\u003d\"website\"\u003e\u003cmeta property\u003d\"og:url\" content\u003d\"https://soundcloud.com/\"\u003e\u003cmeta property\u003d\"og:title\" content\u003d\"Stream and listen to music online for free with SoundCloud\"\u003e\u003cmeta property\u003d\"og:description\" content\u003d\"Discover and play over 320 million music tracks. Join the world’s largest online community of artists, bands, DJs, and audio creators.\"\u003e\u003cmeta property\u003d\"og:image\" content\u003d\"https://a-v2.sndcdn.com/assets/images/meta/soundcloud-unfurl-square.png\"\u003e\u003cmeta property\u003d\"og:image:secure_url\" content\u003d\"https://a-v2.sndcdn.com/assets/images/meta/soundcloud-unfurl-square.png\"\u003e\n\u003clink rel\u003d\"canonical\" href\u003d\"https://soundcloud.com/\"\u003e\u003clink rel\u003d\"alternate\" media\u003d\"only screen and (max-width: 640px)\" href\u003d\"https://m.soundcloud.com/\"\u003e\u003clink rel\u003d\"alternate\" href\u003d\"android-app://com.soundcloud.android/soundcloud/home\"\u003e\u003clink rel\u003d\"alternate\" href\u003d\"ios-app://336353151/soundcloud/home\"\u003e\n\u003cmeta name\u003d\"application-name\" content\u003d\"SoundCloud\"\u003e\n\u003cmeta name\u003d\"msapplication-tooltip\" content\u003d\"Launch SoundCloud\"\u003e\n\u003cmeta name\u003d\"msapplication-TileImage\" content\u003d\"https://a-v2.sndcdn.com/assets/images/sc-icons/win8-2dc974a18a.png\"\u003e\n\u003cmeta name\u003d\"msapplication-TileColor\" content\u003d\"#ff5500\"\u003e\n\u003cmeta name\u003d\"msapplication-starturl\" content\u003d\"https://soundcloud.com\"\u003e\n\u003clink href\u003d\"https://a-v2.sndcdn.com/assets/images/sc-icons/favicon-2cadd14bdb.ico\" rel\u003d\"icon\"\u003e\n\u003clink href\u003d\"https://a-v2.sndcdn.com/assets/images/sc-icons/ios-a62dfc8fe7.png\" rel\u003d\"apple-touch-icon\"\u003e\n\u003clink href\u003d\"https://a-v2.sndcdn.com/assets/images/sc-icons/fluid-b4e7a64b8b.png\" rel\u003d\"fluid-icon\"\u003e\n\u003cscript\u003e\n (function () {\n window.ddjskey \u003d \u00277FC6D561817844F25B65CDD97F28A1\u0027;\n // https://docs.datadome.co/docs/how-to-configure-the-javascript-tag\n window.ddoptions \u003d {\n ajaxListenerPath: [{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/tracks\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/tracks/*/comments\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/users/*/conversations/*\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/me/followings/*\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/users/*/track_likes/*\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/users/*/playlist_likes/*\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/users/*/system_playlist_likes/*\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/users/*/emails\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/playlists\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/playlists/*\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/me\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/me/track_reposts/*\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/me/track_reposts/*/caption\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/me/playlist_reposts/*\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/uploads/*/track-transcoding\",\"strict\":true},{\"host\":\"api-v2.soundcloud.com\",\"path\":\"/uploads/track-upload-policy\",\"strict\":true},{\"host\":\"graph.soundcloud.com\",\"path\":\"/graphql\",\"strict\":true}],\n overrideAbortFetch: true,\n sessionByHeader: true,\n cookieName: \u0027datadome\u0027,\n endpoint: \u0027https://dwt.soundcloud.com/js/\u0027,\n disableAutoRefreshOnCaptchaPassed: true,\n enableTagEvents: true,\n abortAsyncOnCaptchaDisplay: false,\n };\n })();\n\u003c/script\u003e\n\u003cscript src\u003d\"https://dwt.soundcloud.com/tags.js\" async\u003e\u003c/script\u003e\n\n\n\n\u003cscript\u003e!function(){var o,a,r;function e(a){return a.test(o)}o\u003dwindow.navigator.userAgent.toLowerCase();var i,t,n,s\u003dvoid 0!\u003d\u003dwindow.opera\u0026\u0026\"[object Opera]\"\u003d\u003d\u003dwindow.opera.toString(),p\u003do.match(/\\sopr\\/([0-9]+)\\./),d\u003de(/chrome/),c\u003de(/webkit/),m\u003d!d\u0026\u0026e(/safari/),w\u003d!s\u0026\u0026e(/msie|trident/),f\u003d!c\u0026\u0026e(/gecko/);i\u003dp?parseInt(p[1],10):(n\u003do.match(/(opera|chrome|safari|firefox|msie|rv:)\\/?\\s*(\\.?\\d+(\\.\\d+)*)/i))\u0026\u0026(t\u003do.match(/version\\/([.\\d]+)/i))?parseInt(t[1],10):n?parseInt(n[2],10):null;var h\u003de(/mobile|android|iphone|ipod|symbianos|nokia|s60|playbook|playstation/);f\u0026\u0026(r\u003d(a\u003do.match(/(firefox)\\/?\\s*(\\.?\\d+(\\.\\d+)*)/i))\u0026\u0026a.length\u003e1\u0026\u0026parseInt(a[2],10)\u003e\u003d47),i\u0026\u0026!h\u0026\u0026(d\u0026\u0026!p\u0026\u0026i\u003c51||f\u0026\u0026!p\u0026\u0026!1\u003d\u003d\u003dr||m\u0026\u0026i\u003c9||w||s\u0026\u0026i\u003c13||p\u0026\u0026i\u003c27)\u0026\u0026(window.__sc_abortApp\u003d!0)}()\u003c/script\u003e\n\u003clink rel\u003d\"stylesheet\" href\u003d\"https://style.sndcdn.com/css/inter-standard-b7568c5c2cbd63a52396.css\"\u003e\n\u003clink rel\u003d\"stylesheet\" href\u003d\"https://a-v2.sndcdn.com/assets/css/app-67d7966e896fe1a8d2e5.css\"\u003e\n\u003c/head\u003e\n\u003cbody class\u003d\"theme-dark\"\u003e\n\u003cscript\u003e\n (function () {\n var theme \u003d window.matchMedia(\u0027(prefers-color-scheme: dark)\u0027).matches\n ? \u0027dark\u0027\n : \u0027light\u0027;\n\n document.body.classList.remove(\u0027theme-dark\u0027);\n document.body.classList.add(\u0027theme-\u0027 + theme);\n })();\n\u003c/script\u003e\n\n\u003cdiv id\u003d\"app\"\u003e\n\u003cstyle\u003e.header{width:100%;background:var(--background-surface-color);height:46px}.header__logo{background:var(--background-surface-color)}.header__logoLink{display:flex;flex-direction:column;justify-content:center;align-content:center;height:46px;width:48px}.header__logoLink svg{color:var(--primary-color)}.header__logoLink:focus{background-color:rgba(255,72,0,.8);outline:0}#header__loading{margin:13px auto 0;width:16px;background:url(https://a-v2.sndcdn.com/assets/images/loader-dark-45940ae3d4.gif) center no-repeat;background-size:16px 16px}\u003c/style\u003e\n\u003cdiv role\u003d\"banner\" class\u003d\"header sc-selection-disabled show fixed g-dark g-z-index-header\"\u003e\n\u003cdiv class\u003d\"header__inner l-container l-fullwidth\"\u003e\n\u003cdiv class\u003d\"header__left left\"\u003e\n\u003cdiv class\u003d\"header__logo left\"\u003e\n\u003ca href\u003d\"/\" title\u003d\"Home\" class\u003d\"header__logoLink sc-border-box sc-ir\"\u003e\n\u003csvg viewBox\u003d\"0 0 143 64\" xmlns\u003d\"http://www.w3.org/2000/svg\" aria-hidden\u003d\"true\"\u003e\n\u003cpath fill\u003d\"currentColor\" transform\u003d\"translate(-166.000000, -1125.000000)\" d\u003d\"M308.984235,1169.99251 C308.382505,1180.70295 299.444837,1189.03525 288.718543,1188.88554 L240.008437,1188.88554 C237.777524,1188.86472 235.977065,1187.05577 235.966737,1184.82478 L235.966737,1132.37801 C235.894282,1130.53582 236.962478,1128.83883 238.654849,1128.10753 C238.654849,1128.10753 243.135035,1124.99996 252.572022,1124.99996 C258.337036,1124.99309 263.996267,1126.54789 268.948531,1129.49925 C276.76341,1134.09703 282.29495,1141.75821 284.200228,1150.62285 C285.880958,1150.14737 287.620063,1149.90993 289.36674,1149.91746 C294.659738,1149.88414 299.738952,1152.0036 303.438351,1155.78928 C307.13775,1159.57496 309.139562,1164.70168 308.984235,1169.99251 Z M229.885123,1135.69525 C231.353099,1153.48254 232.420718,1169.70654 229.885123,1187.43663 C229.796699,1188.23857 229.119091,1188.84557 228.312292,1188.84557 C227.505494,1188.84557 226.827885,1188.23857 226.739461,1187.43663 C224.375448,1169.85905 225.404938,1153.33003 226.739461,1135.69525 C226.672943,1135.09199 226.957336,1134.50383 227.471487,1134.18133 C227.985639,1133.85884 228.638946,1133.85884 229.153097,1134.18133 C229.667248,1134.50383 229.951641,1135.09199 229.885123,1135.69525 Z M220.028715,1187.4557 C219.904865,1188.26549 219.208361,1188.86356 218.389157,1188.86356 C217.569953,1188.86356 216.87345,1188.26549 216.7496,1187.4557 C214.986145,1172.28686 214.986145,1156.96477 216.7496,1141.79593 C216.840309,1140.9535 217.551388,1140.31488 218.398689,1140.31488 C219.245991,1140.31488 219.95707,1140.9535 220.047779,1141.79593 C222.005153,1156.95333 221.998746,1172.29994 220.028715,1187.4557 Z M210.153241,1140.2517 C211.754669,1156.55195 212.479125,1171.15545 210.134176,1187.41757 C210.134176,1188.29148 209.425728,1188.99993 208.551813,1188.99993 C207.677898,1188.99993 206.969449,1188.29148 206.969449,1187.41757 C204.70076,1171.36516 205.463344,1156.34224 206.969449,1140.2517 C207.05845,1139.43964 207.744425,1138.82474 208.561345,1138.82474 C209.378266,1138.82474 210.06424,1139.43964 210.153241,1140.2517 Z M200.258703,1187.47476 C200.169129,1188.29694 199.474788,1188.91975 198.647742,1188.91975 C197.820697,1188.91975 197.126356,1188.29694 197.036782,1187.47476 C195.216051,1173.32359 195.216051,1158.99744 197.036782,1144.84627 C197.036782,1143.94077 197.770837,1143.20671 198.676339,1143.20671 C199.581842,1143.20671 200.315897,1143.94077 200.315897,1144.84627 C202.251054,1158.99121 202.231809,1173.33507 200.258703,1187.47476 Z M190.383229,1155.50339 C192.880695,1166.56087 191.755882,1176.32196 190.287906,1187.58915 C190.168936,1188.33924 189.522207,1188.89148 188.762737,1188.89148 C188.003266,1188.89148 187.356537,1188.33924 187.237567,1187.58915 C185.903044,1176.47448 184.797296,1166.48462 187.142244,1155.50339 C187.142244,1154.60842 187.867763,1153.8829 188.762737,1153.8829 C189.65771,1153.8829 190.383229,1154.60842 190.383229,1155.50339 Z M180.526821,1153.82571 C182.814575,1165.15009 182.071055,1174.7396 180.469627,1186.10211 C180.27898,1187.7798 177.400223,1187.79886 177.247706,1186.10211 C175.798795,1174.91118 175.112468,1165.0357 177.190512,1153.82571 C177.281785,1152.97315 178.001234,1152.32661 178.858666,1152.32661 C179.716099,1152.32661 180.435548,1152.97315 180.526821,1153.82571 Z M170.575089,1159.31632 C172.977231,1166.82778 172.157452,1172.92846 170.479765,1180.63056 C170.391921,1181.42239 169.722678,1182.02149 168.925999,1182.02149 C168.12932,1182.02149 167.460077,1181.42239 167.372232,1180.63056 C165.923321,1173.08097 165.332318,1166.84684 167.23878,1159.31632 C167.330053,1158.46376 168.049502,1157.81722 168.906934,1157.81722 C169.764367,1157.81722 170.483816,1158.46376 170.575089,1159.31632 Z\"\u003e\u003c/path\u003e\n\u003c/svg\u003e\nSoundCloud\n\u003c/a\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id\u003d\"header__loading\" class\u003d\"sc-hidden\"\u003e\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cscript\u003ewindow.setTimeout((function(){if(!window.__sc_abortApp){var e\u003dwindow.document.getElementById(\"header__loading\");e\u0026\u0026(e.className\u003d\"\")}}),6e3)\u003c/script\u003e\n\u003cstyle\u003e.errorPage__inner{width:580px;margin:0 auto;position:relative;padding-top:460px;background:url(https://a-v2.sndcdn.com/assets/images/errors/500-e5a180b7a8.png) no-repeat 50% 80px;text-align:center;transition:all 1s linear}.errorTitle{margin-bottom:10px;font-size:30px}.errorText{line-height:28px;color:#666;font-size:20px}.errorButtons{margin-top:30px}@media (max-width:1280px){.errorPage__inner{background-size:80%}}\u003c/style\u003e\n\u003cnoscript class\u003d\"errorPage__inner\"\u003e\n\u003cdiv class\u003d\"errorPage__inner\"\u003e\n\u003cp class\u003d\"errorTitle\"\u003eJavaScript is disabled\u003c/p\u003e\n\u003cp class\u003d\"errorText sc-font-light\"\u003eYou need to enable JavaScript to use SoundCloud\u003c/p\u003e\n\u003cdiv class\u003d\"errorButtons\"\u003e\n\u003ca href\u003d\"http://www.enable-javascript.com/\" target\u003d\"_blank\" class\u003d\"sc-button sc-button-medium\"\u003eShow me how to enable it\u003c/a\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/noscript\u003e\n\u003cnoscript\u003e\u003c/noscript\u003e\n\u003cstyle\u003e#updateBrowserMessage{width:600px;margin:0 auto;position:relative;padding-top:410px;background:url(https://a-v2.sndcdn.com/assets/images/errors/browser-9cdd4e6df7.png) no-repeat 50% 130px;text-align:center;display:none}#updateBrowserMessage .messageText{line-height:26px;font-size:20px;margin-bottom:5px}#updateBrowserMessage .downloadLinks{margin-top:0}\u003c/style\u003e\n\u003cdiv id\u003d\"updateBrowserMessage\"\u003e\n\u003cp class\u003d\"messageText sc-text-light sc-text-secondary\"\u003e\nYour current browser isn\u0027t compatible with SoundCloud. \u003cbr\u003e\nPlease download one of our supported browsers.\n\u003ca href\u003d\"https://help.soundcloud.com/hc/articles/115003564308-Technical-requirements\"\u003eNeed help?\u003c/a\u003e\n\u003c/p\u003e\n\u003cdiv class\u003d\"downloadLinks sc-type-h3 sc-text-h3 sc-text-light sc-text-secondary\"\u003e\n\u003ca href\u003d\"http://google.com/chrome\" target\u003d\"_blank\" title\u003d\"Chrome\"\u003eChrome\u003c/a\u003e\n| \u003ca href\u003d\"http://firefox.com\" target\u003d\"_blank\" title\u003d\"Firefox\"\u003eFirefox\u003c/a\u003e |\n\u003ca href\u003d\"http://apple.com/safari\" target\u003d\"_blank\" title\u003d\"Safari\"\u003eSafari\u003c/a\u003e\n|\n\u003ca href\u003d\"https://www.microsoft.com/edge\" target\u003d\"_blank\" title\u003d\"Edge\"\u003eEdge\u003c/a\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cscript\u003ewindow.__sc_abortApp\u0026\u0026(window.document.getElementById(\"updateBrowserMessage\").style.display\u003d\"block\")\u003c/script\u003e\n\u003cdiv id\u003d\"error__timeout\" class\u003d\"errorPage__inner sc-hidden\"\u003e\n\u003cp class\u003d\"errorTitle sc-type-h1 sc-text-h1\"\u003eSorry! Something went wrong\u003c/p\u003e\n\u003cdiv class\u003d\"errorText sc-font-light\"\u003e\n\u003cp\u003eIs your network connection unstable or browser outdated?\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv class\u003d\"errorButtons\"\u003e\n\u003ca class\u003d\"sc-button\" href\u003d\"https://help.soundcloud.com\" target\u003d\"_blank\" id\u003d\"try-again\"\u003eI need help\u003c/a\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cscript\u003efunction displayError(){if(!window.__sc_abortApp){var r\u003dwindow.document,e\u003dr.getElementById(\"error__timeout\"),o\u003dr.getElementById(\"header__loading\");e\u0026\u0026o\u0026\u0026(e.className\u003d\"errorPage__inner\",o.className\u003d\"sc-hidden\")}}window.setTimeout(displayError,15e3),window.onerror\u003ddisplayError\u003c/script\u003e\n\u003cp\u003e\n\u003ca href\u003d\"/popular/searches\" title\u003d\"Popular searches\"\u003ePopular searches\u003c/a\u003e\n\u003c/p\u003e\n\u003c/div\u003e\n\u003cscript crossorigin src\u003d\"https://a-v2.sndcdn.com/assets/55-64b9d951.js\"\u003e\u003c/script\u003e\n\u003cscript crossorigin src\u003d\"https://a-v2.sndcdn.com/assets/53-1f82d836.js\"\u003e\u003c/script\u003e\n\u003cscript type\u003d\"text/javascript\"\u003e\n window.dataLayer \u003d window.dataLayer || [];\n function gtag() {\n dataLayer.push(arguments);\n }\n gtag(\u0027consent\u0027, \u0027default\u0027, {\n \u0027ad_storage\u0027: \u0027denied\u0027,\n \u0027analytics_storage\u0027: \u0027denied\u0027,\n \u0027functionality_storage\u0027: \u0027denied\u0027,\n \u0027personalization_storage\u0027: \u0027denied\u0027,\n \u0027security_storage\u0027: \u0027granted\u0027,\n \u0027ad_user_data\u0027: \u0027denied\u0027,\n \u0027ad_personalization\u0027: \u0027denied\u0027,\n \u0027region\u0027: [\n \u0027BE\u0027, \u0027EL\u0027, \u0027LT\u0027, \u0027PT\u0027, \u0027BG\u0027, \u0027ES\u0027, \u0027LU\u0027, \u0027RO\u0027,\n \u0027CZ\u0027, \u0027FR\u0027, \u0027HU\u0027, \u0027SI\u0027, \u0027DK\u0027, \u0027HR\u0027, \u0027MT\u0027, \u0027SK\u0027,\n \u0027DE\u0027, \u0027IT\u0027, \u0027NL\u0027, \u0027FI\u0027, \u0027EE\u0027, \u0027CY\u0027, \u0027AT\u0027, \u0027SE\u0027,\n \u0027IE\u0027, \u0027LV\u0027, \u0027PL\u0027, \u0027US-CA\u0027\n ]\n });\n gtag(\u0027consent\u0027, \u0027default\u0027, {\n \u0027ad_storage\u0027: \u0027granted\u0027,\n \u0027analytics_storage\u0027: \u0027granted\u0027,\n \u0027functionality_storage\u0027: \u0027granted\u0027,\n \u0027personalization_storage\u0027: \u0027granted\u0027,\n \u0027security_storage\u0027: \u0027granted\u0027,\n \u0027ad_user_data\u0027: \u0027granted\u0027,\n \u0027ad_personalization\u0027: \u0027granted\u0027\n });\n\u003c/script\u003e\n\u003cscript\n async\n src\u003d\"https://cdn.cookielaw.org/consent/7e62c772-c97a-4d95-8d0a-f99bbeadcf61/otSDKStub.js\"\n type\u003d\"text/javascript\"\n charset\u003d\"UTF-8\"\n data-domain-script\u003d\"7e62c772-c97a-4d95-8d0a-f99bbeadcf61\"\n\u003e\u003c/script\u003e\n\u003cscript type\u003d\"text/javascript\"\u003e\n (function (global) {\n function OptanonWrapper() {\n var activeGroups \u003d (global.OptanonActiveGroups || \u0027\u0027).split(\u0027,\u0027);\n\n if (Array.isArray(OptanonWrapper.callbacks)) {\n for (var i \u003d 0, max \u003d OptanonWrapper.callbacks.length; i \u003c max; i++) {\n try {\n OptanonWrapper.callbacks[i](activeGroups);\n } catch (e) {}\n }\n }\n\n OptanonWrapper.isLoaded \u003d true;\n };\n\n OptanonWrapper.callbacks \u003d [];\n OptanonWrapper.isLoaded \u003d false;\n\n global.OptanonWrapper \u003d OptanonWrapper;\n }(window));\n\u003c/script\u003e\n\n\u003cscript\u003ewindow.__sc_version\u003d\"1759936298\"\u003c/script\u003e\n\u003cscript\u003ewindow.__sc_hydration \u003d [{\"hydratable\":\"anonymousId\",\"data\":\"868136-150481-496544-361289\"},{\"hydratable\":\"features\",\"data\":{\"features\":[\"v2_dsa_report_content_links\",\"mobi_webauth_oauth_mode\",\"mobi_use_auth_internal_analytics\",\"v2_use_onetrust_tcfv2_us_ca\",\"mobi_enable_onetrust_tcfv2\",\"mobi_tracking_send_session_id\",\"mobi_use_onetrust_eu1\",\"mobi_use_onetrust_gb\",\"mobi_use_onetrust_tcfv2_us_ca\",\"mobi_dsa_report_content_form\",\"v2_use_onetrust_user_id_eu2\",\"v2_enable_sourcepoint_tcfv2\",\"mobi_use_onetrust_tcfv2_eu2\",\"checkout_send_segment_events_to_event_gateway\",\"mobi_use_onetrust_user_id_eu1\",\"trolley\",\"v2_nigeria_creator_banner\",\"mobi_use_onetrust_user_id_ex_us\",\"mobi_use_onetrust_tcfv2_eu1\",\"v2_post_with_caption\",\"v2_use_drm_transcodings\",\"v2_webi_embed_container\",\"v2_report_content_links\",\"mobi_use_dwt\",\"v2_use_onetrust_tcfv2_eu1\",\"mobi_use_onetrust_eu4\",\"featured_artists_banner\",\"v2_repost_redirect_page\",\"v2_use_onetrust_gb\",\"v2_dsa_ad_compliance\",\"checkout_use_extole\",\"use_onetrust_async\",\"creator_mid_tier_not_us\",\"mobi_dsa_report_content_links\",\"v2_signals_collection\",\"v2_track_level_distro_to_plan_picker\",\"v2_direct_support_link\",\"checkout_web_products\",\"v2_api_auth_sign_out\",\"v2_ie11_support_end\",\"checkout_use_new_connect\",\"mobi_dsa_ad_compliance\",\"cd_repost_to_artists\",\"v2_enable_crossfade\",\"v2_tracking_moengage_integration\",\"mobi_report_content_links\",\"creator_mid_tier_canada\",\"v2_hq_file_storage_release\",\"gql_tracks\",\"creator_plan_names_repositioning\",\"v2_use_onetrust_eu4\",\"v2_stories_onboarding\",\"mobi_use_onetrust_user_id_eu2\",\"mobi_tracking_moengage_integration\",\"v2_use_dwt\",\"v2_use_updated_alert_banner_quota_upsell\",\"creator_mid_tier_downgrade_downgrade\",\"v2_enable_onetrust\",\"v2_signed_out_cancellation_flow\",\"v2_import_playlist_experiment\",\"v2_disable_sidebar_comments_count\",\"v2_upload_redirection\",\"v2_subhub_churn_intercept\",\"checkout_use_new_plan_picker\",\"v2_signage_on_home\",\"v2_use_onetrust_eu2\",\"next_pro_first_fans\",\"v2_comscore_udm_2\",\"checkout_creator_coupon_codes_enabled\",\"fpi_messaging_drawer\",\"v2_use_onetrust_us\",\"v2_featured_fans_opt_out\",\"v2_comment_sorting\",\"mobi_open_app_soft_wall\",\"shorten_on_soundcloud\",\"sc4a_benefits_iframe\",\"checkout_use_recurly_with_paypal\",\"creator_mid_tier_not_germany_france_us\",\"v2_show_for_artists_link\",\"mobi_use_onetrust_eu3\",\"mobi_use_onetrust_elsewhere\",\"v2_use_onetrust_eu3\",\"v2_use_onetrust_tcfv2_ex_us\",\"creator_mid_tier\",\"mobi_use_onetrust_us\",\"v2_oscp_german_tax_fields_support\",\"v2_fallback_queue_for_search\",\"v2_use_onetrust_user_id_ex_us\",\"creator_mid_tier_upgrade_downgrade\",\"v2_use_new_connect\",\"v2_use_onetrust_tcfv2_eu2\",\"mobi_interstitial_ad\",\"v2_get_heard\",\"v2_next_pro_brazil_banner\",\"v2_interstitial_ad\",\"v2_send_segment_events_to_event_gateway\",\"v2_use_onetrust_eu1\",\"v2_enable_sourcepoint\",\"v2_repost_with_caption_graphql\",\"mobi_use_onetrust_tcfv2_ex_us\",\"creator_mid_tier_anz\",\"v2_tags_recent_tracks\",\"sc4a_onboarding_checklist\",\"show_disabled_tracks\",\"v2_statsig_hydrate_init\",\"mobi_new_ad_placements\",\"mobi_use_onetrust_eu2\",\"v2_velvetcake_profile_widget\",\"v2_enable_new_web_errors\",\"v2_use_onetrust_elsewhere\",\"checkout_use_dwt\",\"v2_webauth_use_local_tracking\",\"mobi_sign_in_experiment\",\"mobi_enable_onetrust\",\"v2_can_see_insights\",\"fpi_20_fans_rollout\",\"mobi_trinity\",\"v2_enable_crossfade_upload\",\"request_takedown\",\"v2_monetization_mx\",\"v2_webauth_oauth_mode\",\"v2_google_one_tap\",\"v2_enable_pwa\",\"v2_use_extole\",\"mobi_use_drm_transcodings\",\"mobi_use_hls_hack\",\"creator_mid_tier_uk\",\"v2_stories\",\"v2_use_onetrust_user_id_eu1\",\"v2_use_onetrust_user_id_global\",\"use_recurly_checkout\",\"v2_show_side_by_side_upsell_experience\",\"v2_enable_onetrust_tcfv2\",\"v2_enable_crossfade_track_manager\",\"v2_enable_tcfv2_consent_string_cache\",\"v2_track_manager_redirection\",\"use_on_soundcloud_short_links\",\"mobi_send_segment_events_to_event_gateway\",\"artist_fan_connection_widget\",\"v2_update_sidebar_module_headers\"]}},{\"hydratable\":\"geoip\",\"data\":{\"country_code\":\"DE\",\"country_name\":\"Germany\",\"region\":\"NI\",\"city\":\"Oldenburg\",\"postal_code\":\"26121\",\"latitude\":53.156,\"longitude\":8.1981}},{\"hydratable\":\"privacySettings\",\"data\":{\"allows_messages_from_unfollowed_users\":false,\"analytics_opt_in\":true,\"communications_opt_in\":true,\"targeted_advertising_opt_in\":false,\"legislation\":[]}},{\"hydratable\":\"statsigClientInitializeResponse\",\"data\":{\"configString\":\"{\\\"feature_gates\\\":{\\\"163128860\\\":{\\\"name\\\":\\\"163128860\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"295207513\\\":{\\\"name\\\":\\\"295207513\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"stableID\\\"},\\\"345354045\\\":{\\\"name\\\":\\\"345354045\\\",\\\"value\\\":true,\\\"rule_id\\\":\\\"731sdSdWyHhBiEE1adOfmh:100.00:3\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"491701917\\\":{\\\"name\\\":\\\"491701917\\\",\\\"value\\\":true,\\\"rule_id\\\":\\\"disabled\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"499445266\\\":{\\\"name\\\":\\\"499445266\\\",\\\"value\\\":true,\\\"rule_id\\\":\\\"2zczvl3rRbJmKMnEJmM02f\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"757817760\\\":{\\\"name\\\":\\\"757817760\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"798024607\\\":{\\\"name\\\":\\\"798024607\\\",\\\"value\\\":true,\\\"rule_id\\\":\\\"4otvCRNFwhd8AnJjkaVpwP:100.00:3\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"969152394\\\":{\\\"name\\\":\\\"969152394\\\",\\\"value\\\":true,\\\"rule_id\\\":\\\"6wbAdwvR4u4YIbEn5dVXxA:100.00:2\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"1070993832\\\":{\\\"name\\\":\\\"1070993832\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"1436889564\\\":{\\\"name\\\":\\\"1436889564\\\",\\\"value\\\":true,\\\"rule_id\\\":\\\"disabled\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"1474439853\\\":{\\\"name\\\":\\\"1474439853\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"1526785582\\\":{\\\"name\\\":\\\"1526785582\\\",\\\"value\\\":true,\\\"rule_id\\\":\\\"71xZspLE4r36IIC5pQj3ow\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"1614872978\\\":{\\\"name\\\":\\\"1614872978\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"stableID\\\"},\\\"1904819574\\\":{\\\"name\\\":\\\"1904819574\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"2185160558\\\":{\\\"name\\\":\\\"2185160558\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"2254327457\\\":{\\\"name\\\":\\\"2254327457\\\",\\\"value\\\":true,\\\"rule_id\\\":\\\"4sYtaqXQ4WwRBIL3uou5xp:100.00:1\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"2602694798\\\":{\\\"name\\\":\\\"2602694798\\\",\\\"value\\\":true,\\\"rule_id\\\":\\\"disabled\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"2794498451\\\":{\\\"name\\\":\\\"2794498451\\\",\\\"value\\\":true,\\\"rule_id\\\":\\\"disabled\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"2843948931\\\":{\\\"name\\\":\\\"2843948931\\\",\\\"value\\\":true,\\\"rule_id\\\":\\\"3ChENFp7VkCbAcg5HVesYq:100.00:1\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"2878451644\\\":{\\\"name\\\":\\\"2878451644\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"jXLaI5rguXpKga8ez8YmT\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"2882757490\\\":{\\\"name\\\":\\\"2882757490\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"2926794380\\\":{\\\"name\\\":\\\"2926794380\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"3282749987\\\":{\\\"name\\\":\\\"3282749987\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"7IQeMfio5o8DjknfsDgjqE:10.00:1\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"3570002952\\\":{\\\"name\\\":\\\"3570002952\\\",\\\"value\\\":true,\\\"rule_id\\\":\\\"IM348GHTSC0LJVvG4NdOB\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"3716405229\\\":{\\\"name\\\":\\\"3716405229\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"3862696535\\\":{\\\"name\\\":\\\"3862696535\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"3867004153\\\":{\\\"name\\\":\\\"3867004153\\\",\\\"value\\\":true,\\\"rule_id\\\":\\\"5II5rZZAmSsuNYNEWcRfNZ:100.00:1\\\",\\\"secondary_exposures\\\":[{\\\"gate\\\":\\\"2996255573\\\",\\\"gateValue\\\":\\\"false\\\",\\\"ruleID\\\":\\\"2Pvug3H5J3HhDTMgv6fmeS:5.00:1\\\"}],\\\"id_type\\\":\\\"userID\\\"},\\\"3884705820\\\":{\\\"name\\\":\\\"3884705820\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"stableID\\\"},\\\"4142218413\\\":{\\\"name\\\":\\\"4142218413\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"4242882860\\\":{\\\"name\\\":\\\"4242882860\\\",\\\"value\\\":false,\\\"rule_id\\\":\\\"default\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"},\\\"4289281104\\\":{\\\"name\\\":\\\"4289281104\\\",\\\"value\\\":true,\\\"rule_id\\\":\\\"6kaUB0WibrUbDhk3gG1voC\\\",\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\"}},\\\"dynamic_configs\\\":{\\\"183683058\\\":{\\\"name\\\":\\\"183683058\\\",\\\"value\\\":{\\\"creatorsOnly\\\":true},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Test\\\",\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"191888894\\\":{\\\"name\\\":\\\"191888894\\\",\\\"value\\\":{\\\"shouldShow\\\":true},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Test\\\",\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"301845008\\\":{\\\"name\\\":\\\"301845008\\\",\\\"value\\\":{},\\\"group\\\":\\\"targetingGate\\\",\\\"rule_id\\\":\\\"targetingGate\\\",\\\"is_device_based\\\":true,\\\"secondary_exposures\\\":[{\\\"gate\\\":\\\"4142218413\\\",\\\"gateValue\\\":\\\"false\\\",\\\"ruleID\\\":\\\"default\\\"}],\\\"id_type\\\":\\\"stableID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"746301305\\\":{\\\"name\\\":\\\"746301305\\\",\\\"value\\\":{\\\"is_artist_studio\\\":false},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Control\\\",\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"989509283\\\":{\\\"name\\\":\\\"989509283\\\",\\\"value\\\":{\\\"shouldShow\\\":true},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[{\\\"gate\\\":\\\"2254327457\\\",\\\"gateValue\\\":\\\"true\\\",\\\"ruleID\\\":\\\"4sYtaqXQ4WwRBIL3uou5xp:100.00:1\\\"}],\\\"group_name\\\":\\\"Test\\\",\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"1156106472\\\":{\\\"name\\\":\\\"1156106472\\\",\\\"value\\\":{\\\"test\\\":\\\"bar\\\"},\\\"group\\\":\\\"7AgUKcwSxgT6Tyf1gZ1yM3\\\",\\\"rule_id\\\":\\\"7AgUKcwSxgT6Tyf1gZ1yM3\\\",\\\"is_device_based\\\":true,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Test\\\",\\\"id_type\\\":\\\"stableID\\\",\\\"is_user_in_experiment\\\":true,\\\"is_experiment_active\\\":true},\\\"1375997689\\\":{\\\"name\\\":\\\"1375997689\\\",\\\"value\\\":{\\\"showBanner\\\":false,\\\"displayAfterDismissed\\\":false},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":true,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Control\\\",\\\"id_type\\\":\\\"stableID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"1407605912\\\":{\\\"name\\\":\\\"1407605912\\\",\\\"value\\\":{},\\\"group\\\":\\\"inlineTargetingRules\\\",\\\"rule_id\\\":\\\"inlineTargetingRules\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":true},\\\"1433112660\\\":{\\\"name\\\":\\\"1433112660\\\",\\\"value\\\":{},\\\"group\\\":\\\"inlineTargetingRules\\\",\\\"rule_id\\\":\\\"inlineTargetingRules\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"1452138818\\\":{\\\"name\\\":\\\"1452138818\\\",\\\"value\\\":{\\\"use_soundcloud\\\":true},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Test\\\",\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"1474511987\\\":{\\\"name\\\":\\\"1474511987\\\",\\\"value\\\":{\\\"enabled\\\":true},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Test\\\",\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"1778302359\\\":{\\\"name\\\":\\\"1778302359\\\",\\\"value\\\":{\\\"signupWallType\\\":\\\"soft\\\"},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":true,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Test - Soft Prompt\\\",\\\"id_type\\\":\\\"stableID\\\",\\\"is_user_in_experiment\\\":true,\\\"is_experiment_active\\\":true},\\\"2002574928\\\":{\\\"name\\\":\\\"2002574928\\\",\\\"value\\\":{},\\\"group\\\":\\\"prestart\\\",\\\"rule_id\\\":\\\"prestart\\\",\\\"is_device_based\\\":true,\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"stableID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"2121026242\\\":{\\\"name\\\":\\\"2121026242\\\",\\\"value\\\":{\\\"similar_sounds_model\\\":\\\"baseline\\\",\\\"useBigtable\\\":false,\\\"activityFilterEnabled\\\":false,\\\"activityFilter\\\":\\\"enabled\\\",\\\"sdui_content_enabled\\\":true},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Test\\\",\\\"explicit_parameters\\\":[\\\"activityFilter\\\"],\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false,\\\"is_in_layer\\\":true},\\\"2126819031\\\":{\\\"name\\\":\\\"2126819031\\\",\\\"value\\\":{},\\\"group\\\":\\\"inlineTargetingRules\\\",\\\"rule_id\\\":\\\"inlineTargetingRules\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":true},\\\"2182036919\\\":{\\\"name\\\":\\\"2182036919\\\",\\\"value\\\":{\\\"showUpdatedActionsForOwnTrack\\\":true},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Test\\\",\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"2311548162\\\":{\\\"name\\\":\\\"2311548162\\\",\\\"value\\\":{\\\"is_artist_studio\\\":false},\\\"group\\\":\\\"Temsqf6TD5hsBHqXJ73zQ\\\",\\\"rule_id\\\":\\\"Temsqf6TD5hsBHqXJ73zQ\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Control\\\",\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":true,\\\"is_experiment_active\\\":true},\\\"2533632282\\\":{\\\"name\\\":\\\"2533632282\\\",\\\"value\\\":{\\\"similar_sounds_model\\\":\\\"baseline\\\",\\\"useBigtable\\\":false,\\\"activityFilterEnabled\\\":false,\\\"activityFilter\\\":\\\"enabled\\\",\\\"sdui_content_enabled\\\":true},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Test\\\",\\\"explicit_parameters\\\":[\\\"sdui_content_enabled\\\"],\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false,\\\"is_in_layer\\\":true},\\\"2845366590\\\":{\\\"name\\\":\\\"2845366590\\\",\\\"value\\\":{\\\"showReplaceTrack\\\":true},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Test\\\",\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"3218374118\\\":{\\\"name\\\":\\\"3218374118\\\",\\\"value\\\":{},\\\"group\\\":\\\"prestart\\\",\\\"rule_id\\\":\\\"prestart\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"3597745802\\\":{\\\"name\\\":\\\"3597745802\\\",\\\"value\\\":{\\\"ids\\\":[]},\\\"group\\\":\\\"default\\\",\\\"rule_id\\\":\\\"default\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\",\\\"passed\\\":false},\\\"3687986481\\\":{\\\"name\\\":\\\"3687986481\\\",\\\"value\\\":{\\\"variant\\\":\\\"variant_3\\\"},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Compact banner\\\",\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"3712981815\\\":{\\\"name\\\":\\\"3712981815\\\",\\\"value\\\":{\\\"enabled\\\":true},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Test\\\",\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":true,\\\"is_experiment_active\\\":true},\\\"3810418923\\\":{\\\"name\\\":\\\"3810418923\\\",\\\"value\\\":{},\\\"group\\\":\\\"prestart\\\",\\\"rule_id\\\":\\\"prestart\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"3863468526\\\":{\\\"name\\\":\\\"3863468526\\\",\\\"value\\\":{\\\"show_banner\\\":true},\\\"group\\\":\\\"o2E6gDL6M6gU9FMSiV4Pw\\\",\\\"rule_id\\\":\\\"o2E6gDL6M6gU9FMSiV4Pw\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Test\\\",\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":true,\\\"is_experiment_active\\\":true},\\\"3868951477\\\":{\\\"name\\\":\\\"3868951477\\\",\\\"value\\\":{\\\"similar_sounds_model\\\":\\\"baseline\\\",\\\"useBigtable\\\":false,\\\"activityFilterEnabled\\\":false,\\\"activityFilter\\\":\\\"enabled\\\",\\\"sdui_content_enabled\\\":true},\\\"group\\\":\\\"abandoned\\\",\\\"rule_id\\\":\\\"abandoned\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"explicit_parameters\\\":[\\\"similar_sounds_model\\\"],\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false,\\\"is_in_layer\\\":true},\\\"3921342276\\\":{\\\"name\\\":\\\"3921342276\\\",\\\"value\\\":{\\\"dismissible_before_1st_upload\\\":true,\\\"show_before_1st_upload\\\":true,\\\"show_after_2nd_upload\\\":true,\\\"show_dismissable_after_2nd_upload\\\":false},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"1st and 3rd\\\",\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"4075954800\\\":{\\\"name\\\":\\\"4075954800\\\",\\\"value\\\":{},\\\"group\\\":\\\"prestart\\\",\\\"rule_id\\\":\\\"prestart\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"id_type\\\":\\\"userID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false},\\\"4111317710\\\":{\\\"name\\\":\\\"4111317710\\\",\\\"value\\\":{\\\"showExtendedTrackList\\\":true},\\\"group\\\":\\\"launchedGroup\\\",\\\"rule_id\\\":\\\"launchedGroup\\\",\\\"is_device_based\\\":true,\\\"secondary_exposures\\\":[],\\\"group_name\\\":\\\"Test\\\",\\\"id_type\\\":\\\"stableID\\\",\\\"is_user_in_experiment\\\":false,\\\"is_experiment_active\\\":false}},\\\"layer_configs\\\":{\\\"172878743\\\":{\\\"name\\\":\\\"172878743\\\",\\\"value\\\":{\\\"similar_sounds_model\\\":\\\"baseline\\\",\\\"useBigtable\\\":false,\\\"activityFilterEnabled\\\":false,\\\"activityFilter\\\":\\\"enabled\\\",\\\"sdui_content_enabled\\\":true},\\\"group\\\":\\\"default\\\",\\\"rule_id\\\":\\\"default\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"explicit_parameters\\\":[],\\\"undelegated_secondary_exposures\\\":[]},\\\"727316503\\\":{\\\"name\\\":\\\"727316503\\\",\\\"value\\\":{\\\"cta_url\\\":\\\"https://checkout.soundcloud.com/artist#planPicker\\\",\\\"target\\\":\\\"_blank\\\",\\\"enabled\\\":false,\\\"webflow_url\\\":\\\"https://community.soundcloud.com/self-serve-iframe/test01\\\",\\\"accessibility_text\\\":\\\"Free 30 days trial\\\",\\\"applies_to_targeting_type\\\":\\\"creator_upsell\\\",\\\"applies_to_followers\\\":\\\"\\\"},\\\"group\\\":\\\"default\\\",\\\"rule_id\\\":\\\"default\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"explicit_parameters\\\":[],\\\"undelegated_secondary_exposures\\\":[]},\\\"2465703532\\\":{\\\"name\\\":\\\"2465703532\\\",\\\"value\\\":{\\\"creator_upsell_copy\\\":{\\\"en\\\":\\\"Upgrade now\\\",\\\"en_GB\\\":\\\"Upgrade now\\\",\\\"es\\\":\\\"Mejora ahora\\\",\\\"de\\\":\\\"Upgrade jetzt\\\",\\\"fr\\\":\\\"Améliorez maintenant\\\",\\\"nl\\\":\\\"Nu upgraden\\\",\\\"it\\\":\\\"Aggiorna ora\\\",\\\"pt_BR\\\":\\\"Atualize agora\\\",\\\"sv\\\":\\\"Uppgradera nu\\\",\\\"pl\\\":\\\"Ulepsz teraz\\\"},\\\"fan_upsell_copy\\\":{},\\\"creator_button_ui\\\":true,\\\"fan_button_ui\\\":false,\\\"creator_upsell_show\\\":true,\\\"fan_upsell_show\\\":false,\\\"creator_upsell_text_color\\\":\\\"#ffffff\\\",\\\"fan_upsell_text_color\\\":\\\"\\u003c%default%\\u003e\\\",\\\"creator_upsell_background_color\\\":\\\"#000000\\\",\\\"fan_upsell_background_color\\\":\\\"\\u003c%default%\\u003e\\\",\\\"creator_upsell_border_color\\\":\\\"#FF5500\\\",\\\"fan_upsell_border_color\\\":\\\"\\u003c%default%\\u003e\\\",\\\"creator_cta_target\\\":\\\"inline_checkout\\\",\\\"applies_to_user_type\\\":\\\"creator\\\",\\\"applies_to_creator_plans\\\":[\\\"free\\\"],\\\"applies_to_fan_plans\\\":[\\\"free\\\"]},\\\"group\\\":\\\"default\\\",\\\"rule_id\\\":\\\"default\\\",\\\"is_device_based\\\":false,\\\"secondary_exposures\\\":[],\\\"explicit_parameters\\\":[],\\\"undelegated_secondary_exposures\\\":[]}},\\\"sdkParams\\\":{},\\\"has_updates\\\":true,\\\"generator\\\":\\\"statsig-node-sdk\\\",\\\"sdkInfo\\\":{\\\"sdkType\\\":\\\"statsig-node\\\",\\\"sdkVersion\\\":\\\"6.4.2\\\"},\\\"time\\\":1760151695072,\\\"evaluated_keys\\\":{\\\"customIDs\\\":{\\\"stableID\\\":\\\"96228e89-5696-4229-aa57-2b8bc5501df3\\\"}},\\\"hash_used\\\":\\\"djb2\\\",\\\"user\\\":{\\\"customIDs\\\":{\\\"stableID\\\":\\\"96228e89-5696-4229-aa57-2b8bc5501df3\\\"},\\\"country\\\":\\\"DE\\\",\\\"appVersion\\\":\\\"1759936298\\\",\\\"custom\\\":{\\\"region\\\":\\\"NI\\\"},\\\"statsigEnvironment\\\":{\\\"tier\\\":\\\"production\\\"}},\\\"recording_blocked\\\":true,\\\"can_record_session\\\":false,\\\"session_recording_rate\\\":1}\",\"user\":{\"customIDs\":{\"stableID\":\"96228e89-5696-4229-aa57-2b8bc5501df3\"},\"country\":\"DE\",\"appVersion\":\"1759936298\",\"custom\":{\"region\":\"NI\"},\"statsigEnvironment\":{\"tier\":\"production\"}}}},{\"hydratable\":\"trackingBrowserTabId\",\"data\":\"cc3ffb\"}];\u003c/script\u003e\n\n\n\n\u003cscript src\u003d\"https://a-v2.sndcdn.com/assets/17-8ed13e2e.js\" crossorigin\u003e\u003c/script\u003e\n\n\n\u003cscript crossorigin src\u003d\"https://a-v2.sndcdn.com/assets/54-fd445495.js\"\u003e\u003c/script\u003e\n\u003cscript crossorigin src\u003d\"https://a-v2.sndcdn.com/assets/2-276a5902.js\"\u003e\u003c/script\u003e\n\u003cscript crossorigin src\u003d\"https://a-v2.sndcdn.com/assets/0-00c0fd1d.js\"\u003e\u003c/script\u003e\n\u003cscript crossorigin src\u003d\"https://a-v2.sndcdn.com/assets/1-0f748384.js\"\u003e\u003c/script\u003e\n\u003cscript crossorigin src\u003d\"https://a-v2.sndcdn.com/assets/52-2fc989da.js\"\u003e\u003c/script\u003e\n\u003cscript crossorigin src\u003d\"https://a-v2.sndcdn.com/assets/51-9e9aaefc.js\"\u003e\u003c/script\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n", + "latestUrl": "https://soundcloud.com/" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_10.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_10.json new file mode 100644 index 0000000000..8ff0354f3e --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_10.json @@ -0,0 +1,65 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-06-06T13%3A44%3A21.000Z%2Ctracks%2C00000000002108853114\u0026limit\u003d20\u0026client_id\u003dMoLbAg35TuqjYwWVtNIKyRPFScQGMOBY", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "cache-control": [ + "private, max-age\u003d0" + ], + "content-type": [ + "application/json; charset\u003dutf-8" + ], + "date": [ + "Sat, 11 Oct 2025 07:19:41 GMT" + ], + "referrer-policy": [ + "no-referrer" + ], + "server": [ + "am/2" + ], + "strict-transport-security": [ + "max-age\u003d63072000" + ], + "vary": [ + "Origin" + ], + "via": [ + "1.1 83dede49b3c78b7f99a0399a34264ed6.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "pyfR0l0XQeLpb9zKY_oTxzNyHqBqQwW3DUlsakMBZ_OJXpXCtMuQ2g\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL52-P2" + ], + "x-cache": [ + "Miss from cloudfront" + ], + "x-content-type-options": [ + "nosniff" + ], + "x-frame-options": [ + "DENY" + ], + "x-robots-tag": [ + "noindex" + ] + }, + "responseBody": "{\"collection\":[{\"artwork_url\":\"https://i1.sndcdn.com/artworks-6coMhjFIhwNmQn3U-0Ls5Ig-large.jpg\",\"caption\":null,\"commentable\":true,\"comment_count\":137,\"created_at\":\"2025-05-16T04:00:56Z\",\"description\":\"HURTBOX - FUCK LOVE (ft. WATSON)\\n\\nBUY / STREAM: https://createmusic.fm/fklove\\n\\nCONNECT WITH HURTBOX\\nLINKTR.EE/HURTBOX\\nWWW.INSTAGRAM.COM/HURTBOXOFFICIAL\\nWWW.TWITTER.COM/HURTBOXOFFICIAL\\n\\nCONNECT WITH @THEONLYWATSON\\nwww.instagram.com/theonlywatson\\nwww.x.com/theonlywatson\",\"downloadable\":false,\"download_count\":0,\"duration\":184966,\"full_duration\":184947,\"embeddable_by\":\"all\",\"genre\":\"Dubstep\",\"has_downloads_left\":false,\"id\":2096736162,\"kind\":\"track\",\"label_name\":\"\",\"last_modified\":\"2025-05-16T10:08:07Z\",\"license\":\"all-rights-reserved\",\"likes_count\":2795,\"permalink\":\"fucklove\",\"permalink_url\":\"https://soundcloud.com/hurtbox/fucklove\",\"playback_count\":46975,\"public\":true,\"publisher_metadata\":{\"id\":2096736162,\"urn\":\"soundcloud:tracks:2096736162\",\"artist\":\"hurtbox\",\"contains_music\":true,\"isrc\":\"QZTGW2404395\",\"explicit\":false},\"purchase_title\":\"Buy / Stream\",\"purchase_url\":\"https://createmusic.fm/fklove\",\"release_date\":\"2025-05-15T00:00:00Z\",\"reposts_count\":189,\"secret_token\":null,\"sharing\":\"public\",\"state\":\"finished\",\"streamable\":true,\"tag_list\":\"\",\"title\":\"HURTBOX - FUCK LOVE (ft. WATSON)\",\"uri\":\"https://api.soundcloud.com/tracks/soundcloud%3Atracks%3A2096736162\",\"urn\":\"soundcloud:tracks:2096736162\",\"user_id\":73637815,\"visuals\":null,\"waveform_url\":\"https://wave.sndcdn.com/pcfjNOZBWkai_m.json\",\"display_date\":\"2025-05-16T04:00:56Z\",\"media\":{\"transcodings\":[{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2096736162/55a12483-c5f8-471b-b2ac-7e044bc71ce8/stream/hls\",\"preset\":\"aac_160k\",\"duration\":184966,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mp4; codecs\u003d\\\"mp4a.40.2\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2096736162/08ba6930-e6f1-4b36-a6aa-19c32439b311/stream/hls\",\"preset\":\"abr_sq\",\"duration\":184966,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpegurl\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2096736162/9f023231-5e1d-49ae-bda7-1779d7db7628/stream/hls\",\"preset\":\"mp3_1_0\",\"duration\":184947,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2096736162/9f023231-5e1d-49ae-bda7-1779d7db7628/stream/progressive\",\"preset\":\"mp3_1_0\",\"duration\":184947,\"snipped\":false,\"format\":{\"protocol\":\"progressive\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2096736162/6e004bd1-2895-4975-a95f-bcaba530bb16/stream/hls\",\"preset\":\"opus_0_0\",\"duration\":184926,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/ogg; codecs\u003d\\\"opus\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true}]},\"station_urn\":\"soundcloud:system-playlists:track-stations:2096736162\",\"station_permalink\":\"track-stations:2096736162\",\"track_authorization\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJnZW8iOiJERSIsInN1YiI6IiIsInJpZCI6IjkwNDI3NzRmLTRhYjEtNGUzYS1iZTQ1LWQ4NzViOWEwZGNmMyIsImlhdCI6MTc2MDE2NzE4MX0.HJl6wdL5pKQUGa4vISvx8Lxanh8NLPrNUFaGB-qa0Ko\",\"monetization_model\":\"AD_SUPPORTED\",\"policy\":\"MONETIZE\",\"user\":{\"avatar_url\":\"https://i1.sndcdn.com/avatars-ETlfaab3lfH7NuVu-7ckpPg-large.jpg\",\"first_name\":\"Stranger\",\"followers_count\":17408,\"full_name\":\"Stranger Twins\",\"id\":73637815,\"kind\":\"user\",\"last_modified\":\"2025-09-26T12:22:45Z\",\"last_name\":\"Twins\",\"permalink\":\"hurtbox\",\"permalink_url\":\"https://soundcloud.com/hurtbox\",\"uri\":\"https://api.soundcloud.com/users/soundcloud%3Ausers%3A73637815\",\"urn\":\"soundcloud:users:73637815\",\"username\":\"HURTBOX\",\"verified\":true,\"city\":\"\",\"country_code\":\"FR\",\"badges\":{\"pro\":false,\"creator_mid_tier\":false,\"pro_unlimited\":true,\"verified\":true},\"station_urn\":\"soundcloud:system-playlists:artist-stations:73637815\",\"station_permalink\":\"artist-stations:73637815\"}}],\"next_href\":\"https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-05-04T21%3A58%3A34.000Z%2Ctracks%2C00000000002090038011\u0026limit\u003d20\",\"query_urn\":null}", + "latestUrl": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-06-06T13%3A44%3A21.000Z%2Ctracks%2C00000000002108853114\u0026limit\u003d20\u0026client_id\u003dLAd42S06rwW6N9SO85p7573ak7rH6lMf" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_11.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_11.json new file mode 100644 index 0000000000..bdeeebcaa7 --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_11.json @@ -0,0 +1,65 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-05-04T21%3A58%3A34.000Z%2Ctracks%2C00000000002090038011\u0026limit\u003d20\u0026client_id\u003dMoLbAg35TuqjYwWVtNIKyRPFScQGMOBY", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "cache-control": [ + "private, max-age\u003d0" + ], + "content-type": [ + "application/json; charset\u003dutf-8" + ], + "date": [ + "Sat, 11 Oct 2025 07:19:41 GMT" + ], + "referrer-policy": [ + "no-referrer" + ], + "server": [ + "am/2" + ], + "strict-transport-security": [ + "max-age\u003d63072000" + ], + "vary": [ + "Origin" + ], + "via": [ + "1.1 83dede49b3c78b7f99a0399a34264ed6.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "ilwmP8dzCpSqPRgHuGiCOXWc16mWj4DK7JzSKMprJRUMY01HTWYh2w\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL52-P2" + ], + "x-cache": [ + "Miss from cloudfront" + ], + "x-content-type-options": [ + "nosniff" + ], + "x-frame-options": [ + "DENY" + ], + "x-robots-tag": [ + "noindex" + ] + }, + "responseBody": "{\"collection\":[{\"artwork_url\":\"https://i1.sndcdn.com/artworks-yyyX0Ycsq8yj5Lr4-ihTrXg-large.jpg\",\"caption\":null,\"commentable\":true,\"comment_count\":415,\"created_at\":\"2025-04-25T04:16:30Z\",\"description\":\"UNCHAINED III (OUT NOW)\\n\\nBUY / STREAM: https://createmusic.fm/unchained3\\n\\nCONNECT WITH HURTBOX\\nLINKTR.EE/HURTBOX\\nWWW.INSTAGRAM.COM/HURTBOXOFFICIAL\\nWWW.TWITTER.COM/HURTBOXOFFICIAL\",\"downloadable\":false,\"download_count\":0,\"duration\":821836,\"full_duration\":821838,\"embeddable_by\":\"all\",\"genre\":\"Dubstep\",\"has_downloads_left\":false,\"id\":2084819301,\"kind\":\"track\",\"label_name\":\"\",\"last_modified\":\"2025-04-25T13:39:21Z\",\"license\":\"all-rights-reserved\",\"likes_count\":2610,\"permalink\":\"hurtbox-unchained-iii\",\"permalink_url\":\"https://soundcloud.com/hurtbox/hurtbox-unchained-iii\",\"playback_count\":42654,\"public\":true,\"publisher_metadata\":{\"id\":2084819301,\"urn\":\"soundcloud:tracks:2084819301\",\"isrc\":\"QZTGW2404431\"},\"purchase_title\":\"Buy / Stream\",\"purchase_url\":\"https://createmusic.fm/unchained3\",\"release_date\":null,\"reposts_count\":219,\"secret_token\":null,\"sharing\":\"public\",\"state\":\"finished\",\"streamable\":true,\"tag_list\":\"\",\"title\":\"HURTBOX - UNCHAINED III\",\"uri\":\"https://api.soundcloud.com/tracks/soundcloud%3Atracks%3A2084819301\",\"urn\":\"soundcloud:tracks:2084819301\",\"user_id\":73637815,\"visuals\":null,\"waveform_url\":\"https://wave.sndcdn.com/YvtcSglQ9DRb_m.json\",\"display_date\":\"2025-04-25T04:16:30Z\",\"media\":{\"transcodings\":[{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2084819301/940d9038-1ffd-4c93-920a-4a86dc0a9af5/stream/hls\",\"preset\":\"aac_160k\",\"duration\":821836,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mp4; codecs\u003d\\\"mp4a.40.2\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2084819301/e8311144-02f7-4f4a-899a-ce63d743f7ea/stream/hls\",\"preset\":\"abr_sq\",\"duration\":821836,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpegurl\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2084819301/8238a03a-2343-4a30-9fdc-bc48329e030f/stream/hls\",\"preset\":\"mp3_1_0\",\"duration\":821838,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2084819301/8238a03a-2343-4a30-9fdc-bc48329e030f/stream/progressive\",\"preset\":\"mp3_1_0\",\"duration\":821838,\"snipped\":false,\"format\":{\"protocol\":\"progressive\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2084819301/a117a514-dc2b-4c03-85d0-21d5dfb7a156/stream/hls\",\"preset\":\"opus_0_0\",\"duration\":821797,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/ogg; codecs\u003d\\\"opus\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true}]},\"station_urn\":\"soundcloud:system-playlists:track-stations:2084819301\",\"station_permalink\":\"track-stations:2084819301\",\"track_authorization\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJnZW8iOiJERSIsInN1YiI6IiIsInJpZCI6IjZlZDE4OGFkLTNkYzItNDlmZC1iZDJhLTQ4NGY2N2Y5Y2ZmNCIsImlhdCI6MTc2MDE2NzE4MX0.GD7fD8U0HBKFO9mrrcqWgc3L2rZYRoo_-m9fhAgIBkg\",\"monetization_model\":\"NOT_APPLICABLE\",\"policy\":\"ALLOW\",\"user\":{\"avatar_url\":\"https://i1.sndcdn.com/avatars-ETlfaab3lfH7NuVu-7ckpPg-large.jpg\",\"first_name\":\"Stranger\",\"followers_count\":17408,\"full_name\":\"Stranger Twins\",\"id\":73637815,\"kind\":\"user\",\"last_modified\":\"2025-09-26T12:22:45Z\",\"last_name\":\"Twins\",\"permalink\":\"hurtbox\",\"permalink_url\":\"https://soundcloud.com/hurtbox\",\"uri\":\"https://api.soundcloud.com/users/soundcloud%3Ausers%3A73637815\",\"urn\":\"soundcloud:users:73637815\",\"username\":\"HURTBOX\",\"verified\":true,\"city\":\"\",\"country_code\":\"FR\",\"badges\":{\"pro\":false,\"creator_mid_tier\":false,\"pro_unlimited\":true,\"verified\":true},\"station_urn\":\"soundcloud:system-playlists:artist-stations:73637815\",\"station_permalink\":\"artist-stations:73637815\"}}],\"next_href\":\"https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-03-22T21%3A29%3A24.000Z%2Ctracks%2C00000000002060803120\u0026limit\u003d20\",\"query_urn\":null}", + "latestUrl": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-05-04T21%3A58%3A34.000Z%2Ctracks%2C00000000002090038011\u0026limit\u003d20\u0026client_id\u003dLAd42S06rwW6N9SO85p7573ak7rH6lMf" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_12.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_12.json new file mode 100644 index 0000000000..1c419ad5df --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_12.json @@ -0,0 +1,65 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-03-22T21%3A29%3A24.000Z%2Ctracks%2C00000000002060803120\u0026limit\u003d20\u0026client_id\u003dMoLbAg35TuqjYwWVtNIKyRPFScQGMOBY", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "cache-control": [ + "private, max-age\u003d0" + ], + "content-type": [ + "application/json; charset\u003dutf-8" + ], + "date": [ + "Sat, 11 Oct 2025 07:19:40 GMT" + ], + "referrer-policy": [ + "no-referrer" + ], + "server": [ + "am/2" + ], + "strict-transport-security": [ + "max-age\u003d63072000" + ], + "vary": [ + "Origin" + ], + "via": [ + "1.1 83dede49b3c78b7f99a0399a34264ed6.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "J9uDrMoHEOy_B_olHFXHrPIlSqI-23eD-7cVxItaggT7VsK_9HDYuA\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL52-P2" + ], + "x-cache": [ + "Miss from cloudfront" + ], + "x-content-type-options": [ + "nosniff" + ], + "x-frame-options": [ + "DENY" + ], + "x-robots-tag": [ + "noindex" + ] + }, + "responseBody": "{\"collection\":[{\"artwork_url\":\"https://i1.sndcdn.com/artworks-y7sTLxC1uvlkrHOT-EsnORQ-large.jpg\",\"caption\":null,\"commentable\":true,\"comment_count\":82,\"created_at\":\"2025-03-14T14:11:08Z\",\"description\":\"HURTBOX - GOING UP (OUT NOW)\\n\\nBUY / STREAM: https://createmusic.fm/goingup\\n\\nCONNECT WITH HURTBOX\\nLINKTR.EE/HURTBOX\\nWWW.INSTAGRAM.COM/HURTBOXOFFICIAL\\nWWW.TWITTER.COM/HURTBOXOFFICIAL\",\"downloadable\":false,\"download_count\":0,\"duration\":171648,\"full_duration\":171677,\"embeddable_by\":\"all\",\"genre\":\"SAVAGE\",\"has_downloads_left\":false,\"id\":2054346448,\"kind\":\"track\",\"label_name\":\"\",\"last_modified\":\"2025-03-14T15:23:35Z\",\"license\":\"all-rights-reserved\",\"likes_count\":1994,\"permalink\":\"hurtbox-going-up\",\"permalink_url\":\"https://soundcloud.com/hurtbox/hurtbox-going-up\",\"playback_count\":30775,\"public\":true,\"publisher_metadata\":{\"id\":2054346448,\"urn\":\"soundcloud:tracks:2054346448\",\"artist\":\"HURTBOX\",\"contains_music\":true,\"isrc\":\"QZTGW2403601\",\"explicit\":false},\"purchase_title\":null,\"purchase_url\":null,\"release_date\":\"2025-03-14T00:00:00Z\",\"reposts_count\":124,\"secret_token\":null,\"sharing\":\"public\",\"state\":\"finished\",\"streamable\":true,\"tag_list\":\"\",\"title\":\"HURTBOX - GOING UP\",\"uri\":\"https://api.soundcloud.com/tracks/soundcloud%3Atracks%3A2054346448\",\"urn\":\"soundcloud:tracks:2054346448\",\"user_id\":73637815,\"visuals\":null,\"waveform_url\":\"https://wave.sndcdn.com/H8gmDINPxJgC_m.json\",\"display_date\":\"2025-03-14T14:11:08Z\",\"media\":{\"transcodings\":[{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2054346448/800ad8fb-13fa-4353-b5d3-83308748893e/stream/hls\",\"preset\":\"aac_160k\",\"duration\":171648,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mp4; codecs\u003d\\\"mp4a.40.2\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2054346448/0cb804dc-0caf-4c8c-8c1f-b05217907376/stream/hls\",\"preset\":\"abr_sq\",\"duration\":171648,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpegurl\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2054346448/4c801109-de20-468f-a069-4bd3bbadec4c/stream/hls\",\"preset\":\"mp3_1_0\",\"duration\":171677,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2054346448/4c801109-de20-468f-a069-4bd3bbadec4c/stream/progressive\",\"preset\":\"mp3_1_0\",\"duration\":171677,\"snipped\":false,\"format\":{\"protocol\":\"progressive\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2054346448/d043765d-dcc6-496c-be27-78851e3b5bc5/stream/hls\",\"preset\":\"opus_0_0\",\"duration\":171632,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/ogg; codecs\u003d\\\"opus\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true}]},\"station_urn\":\"soundcloud:system-playlists:track-stations:2054346448\",\"station_permalink\":\"track-stations:2054346448\",\"track_authorization\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJnZW8iOiJERSIsInN1YiI6IiIsInJpZCI6IjgwYzY0YTM3LWIxODMtNDMzYy1hZDBhLWY4ZmM4OWY2ZTEwMSIsImlhdCI6MTc2MDE2NzE4MX0.j6qUGCktoPUGC-fCgpoqB4EsUdDw7GF39Pp3xFZETGY\",\"monetization_model\":\"AD_SUPPORTED\",\"policy\":\"MONETIZE\",\"user\":{\"avatar_url\":\"https://i1.sndcdn.com/avatars-ETlfaab3lfH7NuVu-7ckpPg-large.jpg\",\"first_name\":\"Stranger\",\"followers_count\":17408,\"full_name\":\"Stranger Twins\",\"id\":73637815,\"kind\":\"user\",\"last_modified\":\"2025-09-26T12:22:45Z\",\"last_name\":\"Twins\",\"permalink\":\"hurtbox\",\"permalink_url\":\"https://soundcloud.com/hurtbox\",\"uri\":\"https://api.soundcloud.com/users/soundcloud%3Ausers%3A73637815\",\"urn\":\"soundcloud:users:73637815\",\"username\":\"HURTBOX\",\"verified\":true,\"city\":\"\",\"country_code\":\"FR\",\"badges\":{\"pro\":false,\"creator_mid_tier\":false,\"pro_unlimited\":true,\"verified\":true},\"station_urn\":\"soundcloud:system-playlists:artist-stations:73637815\",\"station_permalink\":\"artist-stations:73637815\"}}],\"next_href\":\"https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-03-08T11%3A05%3A31.000Z%2Ctracks%2C00000000002049548292\u0026limit\u003d20\",\"query_urn\":null}", + "latestUrl": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-03-22T21%3A29%3A24.000Z%2Ctracks%2C00000000002060803120\u0026limit\u003d20\u0026client_id\u003dLAd42S06rwW6N9SO85p7573ak7rH6lMf" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_13.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_13.json new file mode 100644 index 0000000000..c009d14993 --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_13.json @@ -0,0 +1,65 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-03-08T11%3A05%3A31.000Z%2Ctracks%2C00000000002049548292\u0026limit\u003d20\u0026client_id\u003dMoLbAg35TuqjYwWVtNIKyRPFScQGMOBY", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "cache-control": [ + "private, max-age\u003d0" + ], + "content-type": [ + "application/json; charset\u003dutf-8" + ], + "date": [ + "Sat, 11 Oct 2025 07:19:41 GMT" + ], + "referrer-policy": [ + "no-referrer" + ], + "server": [ + "am/2" + ], + "strict-transport-security": [ + "max-age\u003d63072000" + ], + "vary": [ + "Origin" + ], + "via": [ + "1.1 83dede49b3c78b7f99a0399a34264ed6.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "eXjPIAK6PMOD8udb5Co4LFGGdpXmm9ymz39FTMddW9CY_jijefs-kw\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL52-P2" + ], + "x-cache": [ + "Miss from cloudfront" + ], + "x-content-type-options": [ + "nosniff" + ], + "x-frame-options": [ + "DENY" + ], + "x-robots-tag": [ + "noindex" + ] + }, + "responseBody": "{\"collection\":[],\"next_href\":\"https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-01-29T14%3A35%3A40.000Z%2Ctracks%2C00000000002021044981\u0026limit\u003d20\",\"query_urn\":null}", + "latestUrl": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-03-08T11%3A05%3A31.000Z%2Ctracks%2C00000000002049548292\u0026limit\u003d20\u0026client_id\u003dLAd42S06rwW6N9SO85p7573ak7rH6lMf" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_14.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_14.json new file mode 100644 index 0000000000..3f298a71f5 --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_14.json @@ -0,0 +1,65 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-01-29T14%3A35%3A40.000Z%2Ctracks%2C00000000002021044981\u0026limit\u003d20\u0026client_id\u003dMoLbAg35TuqjYwWVtNIKyRPFScQGMOBY", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "cache-control": [ + "private, max-age\u003d0" + ], + "content-type": [ + "application/json; charset\u003dutf-8" + ], + "date": [ + "Sat, 11 Oct 2025 07:19:41 GMT" + ], + "referrer-policy": [ + "no-referrer" + ], + "server": [ + "am/2" + ], + "strict-transport-security": [ + "max-age\u003d63072000" + ], + "vary": [ + "Origin" + ], + "via": [ + "1.1 83dede49b3c78b7f99a0399a34264ed6.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "932iFPWernwYj6RoeXeWEoCUcHYEdGg00C7O7cmDUU837E0nzmjx7w\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL52-P2" + ], + "x-cache": [ + "Miss from cloudfront" + ], + "x-content-type-options": [ + "nosniff" + ], + "x-frame-options": [ + "DENY" + ], + "x-robots-tag": [ + "noindex" + ] + }, + "responseBody": "{\"collection\":[],\"next_href\":\"https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-01-15T21%3A28%3A12.000Z%2Ctracks%2C00000000002010093775\u0026limit\u003d20\",\"query_urn\":null}", + "latestUrl": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-01-29T14%3A35%3A40.000Z%2Ctracks%2C00000000002021044981\u0026limit\u003d20\u0026client_id\u003dLAd42S06rwW6N9SO85p7573ak7rH6lMf" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_15.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_15.json new file mode 100644 index 0000000000..09287746b6 --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_15.json @@ -0,0 +1,65 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-01-15T21%3A28%3A12.000Z%2Ctracks%2C00000000002010093775\u0026limit\u003d20\u0026client_id\u003dMoLbAg35TuqjYwWVtNIKyRPFScQGMOBY", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "cache-control": [ + "private, max-age\u003d0" + ], + "content-type": [ + "application/json; charset\u003dutf-8" + ], + "date": [ + "Sat, 11 Oct 2025 07:19:41 GMT" + ], + "referrer-policy": [ + "no-referrer" + ], + "server": [ + "am/2" + ], + "strict-transport-security": [ + "max-age\u003d63072000" + ], + "vary": [ + "Origin" + ], + "via": [ + "1.1 83dede49b3c78b7f99a0399a34264ed6.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "u8MBc6qN3xZ0fvf5iLQk5puslV_TE02pZZhSyiv5iQX0jwm2UxB_FQ\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL52-P2" + ], + "x-cache": [ + "Miss from cloudfront" + ], + "x-content-type-options": [ + "nosniff" + ], + "x-frame-options": [ + "DENY" + ], + "x-robots-tag": [ + "noindex" + ] + }, + "responseBody": "{\"collection\":[{\"artwork_url\":\"https://i1.sndcdn.com/artworks-ssrgmk6qJEjvAA12-IzKgoA-large.jpg\",\"caption\":null,\"commentable\":true,\"comment_count\":127,\"created_at\":\"2024-12-12T23:42:04Z\",\"description\":\"HURTBOX - 2 CLOSE (OUT NOW)\\n\\nBUY / STREAM: https://createmusic.fm/2close\\n\\nCONNECT WITH HURTBOX\\nLINKTR.EE/HURTBOX\\nWWW.INSTAGRAM.COM/HURTBOXOFFICIAL\\nWWW.TWITTER.COM/HURTBOXOFFICIAL\",\"downloadable\":false,\"download_count\":0,\"duration\":173398,\"full_duration\":173427,\"embeddable_by\":\"all\",\"genre\":\"Dubstep\",\"has_downloads_left\":false,\"id\":1982636567,\"kind\":\"track\",\"label_name\":\"\",\"last_modified\":\"2024-12-13T11:42:47Z\",\"license\":\"all-rights-reserved\",\"likes_count\":3204,\"permalink\":\"2close\",\"permalink_url\":\"https://soundcloud.com/hurtbox/2close\",\"playback_count\":58859,\"public\":true,\"publisher_metadata\":{\"id\":1982636567,\"urn\":\"soundcloud:tracks:1982636567\",\"artist\":\"HURTBOX\",\"contains_music\":true,\"isrc\":\"QZTGW2401828\",\"explicit\":false},\"purchase_title\":null,\"purchase_url\":null,\"release_date\":\"2024-12-10T00:00:00Z\",\"reposts_count\":235,\"secret_token\":null,\"sharing\":\"public\",\"state\":\"finished\",\"streamable\":true,\"tag_list\":\"\",\"title\":\"HURTBOX - 2 CLOSE\",\"uri\":\"https://api.soundcloud.com/tracks/soundcloud%3Atracks%3A1982636567\",\"urn\":\"soundcloud:tracks:1982636567\",\"user_id\":73637815,\"visuals\":null,\"waveform_url\":\"https://wave.sndcdn.com/i6GuKkgMPsoz_m.json\",\"display_date\":\"2024-12-13T05:03:59Z\",\"media\":{\"transcodings\":[{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:1982636567/31d9d0ff-fe68-4e31-bf84-fcb9547da42c/stream/hls\",\"preset\":\"aac_160k\",\"duration\":173398,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mp4; codecs\u003d\\\"mp4a.40.2\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:1982636567/1720dab2-4833-4083-90ff-aa1cd4a82855/stream/hls\",\"preset\":\"abr_sq\",\"duration\":173398,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpegurl\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:1982636567/5b3d49d2-32eb-4110-b421-97ae9fe68923/stream/hls\",\"preset\":\"mp3_1_0\",\"duration\":173427,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:1982636567/5b3d49d2-32eb-4110-b421-97ae9fe68923/stream/progressive\",\"preset\":\"mp3_1_0\",\"duration\":173427,\"snipped\":false,\"format\":{\"protocol\":\"progressive\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:1982636567/6bef988d-6ba7-4cf7-a691-66c3e0ae370a/stream/hls\",\"preset\":\"opus_0_0\",\"duration\":173382,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/ogg; codecs\u003d\\\"opus\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true}]},\"station_urn\":\"soundcloud:system-playlists:track-stations:1982636567\",\"station_permalink\":\"track-stations:1982636567\",\"track_authorization\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJnZW8iOiJERSIsInN1YiI6IiIsInJpZCI6IjM5NzA4M2Y4LTFlY2EtNDRiYy05MWI2LWQ4ZjRlYTg2OWI4NiIsImlhdCI6MTc2MDE2NzE4Mn0.-FH-s5zEXgN2iR3v5gjHt1kh0aJm92Aa4_I_e-KCYBI\",\"monetization_model\":\"AD_SUPPORTED\",\"policy\":\"MONETIZE\",\"user\":{\"avatar_url\":\"https://i1.sndcdn.com/avatars-ETlfaab3lfH7NuVu-7ckpPg-large.jpg\",\"first_name\":\"Stranger\",\"followers_count\":17408,\"full_name\":\"Stranger Twins\",\"id\":73637815,\"kind\":\"user\",\"last_modified\":\"2025-09-26T12:22:45Z\",\"last_name\":\"Twins\",\"permalink\":\"hurtbox\",\"permalink_url\":\"https://soundcloud.com/hurtbox\",\"uri\":\"https://api.soundcloud.com/users/soundcloud%3Ausers%3A73637815\",\"urn\":\"soundcloud:users:73637815\",\"username\":\"HURTBOX\",\"verified\":true,\"city\":\"\",\"country_code\":\"FR\",\"badges\":{\"pro\":false,\"creator_mid_tier\":false,\"pro_unlimited\":true,\"verified\":true},\"station_urn\":\"soundcloud:system-playlists:artist-stations:73637815\",\"station_permalink\":\"artist-stations:73637815\"}}],\"next_href\":\"https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2024-11-29T12%3A56%3A01.000Z%2Ctracks%2C00000000001969845739\u0026limit\u003d20\",\"query_urn\":null}", + "latestUrl": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-01-15T21%3A28%3A12.000Z%2Ctracks%2C00000000002010093775\u0026limit\u003d20\u0026client_id\u003dLAd42S06rwW6N9SO85p7573ak7rH6lMf" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_2.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_2.json new file mode 100644 index 0000000000..b3eb6c0662 --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_2.json @@ -0,0 +1,83 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://a-v2.sndcdn.com/assets/51-9e9aaefc.js", + "headers": { + "Range": [ + "bytes\u003d0-50000" + ], + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 206, + "responseMessage": "", + "responseHeaders": { + "accept-ranges": [ + "bytes" + ], + "access-control-allow-methods": [ + "GET" + ], + "access-control-allow-origin": [ + "*" + ], + "access-control-max-age": [ + "3000" + ], + "age": [ + "234665" + ], + "cache-control": [ + "public, max-age\u003d31536000, immutable" + ], + "content-length": [ + "50001" + ], + "content-range": [ + "bytes 0-50000/2832781" + ], + "content-type": [ + "application/javascript" + ], + "date": [ + "Wed, 08 Oct 2025 14:08:34 GMT" + ], + "etag": [ + "\"90192478a759ec8c22eb173a81f243c4\"" + ], + "last-modified": [ + "Wed, 08 Oct 2025 13:48:34 GMT" + ], + "server": [ + "AmazonS3" + ], + "via": [ + "1.1 f78b8961c072a74b343a9ceb2c2ef020.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "W34Tsq27JJvCzuj-V1EOAJNeR0zn-lMJXkaAFzwQb1L0EPKuEGdmkg\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL50-P6" + ], + "x-amz-meta-syncfilehash": [ + "da4eb84391fe13db05a69f0e273f15db" + ], + "x-amz-server-side-encryption": [ + "AES256" + ], + "x-cache": [ + "Hit from cloudfront" + ] + }, + "responseBody": "(window.webpackJsonp\u003dwindow.webpackJsonp||[]).push([[51],[function(e,t,r){\"use strict\";e.exports\u003dr(1332)},,,,function(e,t,r){\"use strict\";function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(\"undefined\"\u003d\u003dtypeof Symbol||!(Symbol.iterator in Object(e)))return;var r\u003d[],n\u003d!0,i\u003d!1,o\u003dvoid 0;try{for(var a,s\u003de[Symbol.iterator]();!(n\u003d(a\u003ds.next()).done)\u0026\u0026(r.push(a.value),!t||r.length!\u003d\u003dt);n\u003d!0);}catch(e){i\u003d!0,o\u003de}finally{try{n||null\u003d\u003ds.return||s.return()}finally{if(i)throw o}}return r}(e,t)||function(e,t){if(!e)return;if(\"string\"\u003d\u003dtypeof e)return i(e,t);var r\u003dObject.prototype.toString.call(e).slice(8,-1);\"Object\"\u003d\u003d\u003dr\u0026\u0026e.constructor\u0026\u0026(r\u003de.constructor.name);if(\"Map\"\u003d\u003d\u003dr||\"Set\"\u003d\u003d\u003dr)return Array.from(e);if(\"Arguments\"\u003d\u003d\u003dr||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(e,t)}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(e,t){(null\u003d\u003dt||t\u003ee.length)\u0026\u0026(t\u003de.length);for(var r\u003d0,n\u003dnew Array(t);r\u003ct;r++)n[r]\u003de[r];return n}e.exports\u003dfunction(e){var t\u003dn(e,4),r\u003dt[1],i\u003dt[3];if(\"function\"\u003d\u003dtypeof btoa){var o\u003dbtoa(unescape(encodeURIComponent(JSON.stringify(i)))),a\u003d\"sourceMappingURL\u003ddata:application/json;charset\u003dutf-8;base64,\".concat(o),s\u003d\"/*# \".concat(a,\" */\"),l\u003di.sources.map((function(e){return\"/*# sourceURL\u003d\".concat(i.sourceRoot||\"\").concat(e,\" */\")}));return[r].concat(l).concat([s]).join(\"\\n\")}return[r].join(\"\\n\")}},function(e,t,r){\"use strict\";e.exports\u003dfunction(e){var t\u003d[];return t.toString\u003dfunction(){return this.map((function(t){var r\u003de(t);return t[2]?\"@media \".concat(t[2],\" {\").concat(r,\"}\"):r})).join(\"\")},t.i\u003dfunction(e,r,n){\"string\"\u003d\u003dtypeof e\u0026\u0026(e\u003d[[null,e,\"\"]]);var i\u003d{};if(n)for(var o\u003d0;o\u003cthis.length;o++){var a\u003dthis[o][0];null!\u003da\u0026\u0026(i[a]\u003d!0)}for(var s\u003d0;s\u003ce.length;s++){var l\u003d[].concat(e[s]);n\u0026\u0026i[l[0]]||(r\u0026\u0026(l[2]?l[2]\u003d\"\".concat(r,\" and \").concat(l[2]):l[2]\u003dr),t.push(l))}},t}},function(e,t,r){var n\u003de.exports\u003dnew(r(241)),i\u003d{api_v2_host:!0,api_auth_host:!0,secure_host:!0,auth_ui_host:!0,webi_host:!0,two_factor_config_host:!0,env:!0,checkout_host:!0,mastering_host:!0,insights_host:!0,forceCredentials:!0,allowConfigOverride:!0,staging_env_key:!0,no_pub:!0,gql_host:!0,velvetCake_host:!0,drm_license_host:!0};r(1).each({app_id:1e3*String(Date.now()).substr(-8)+Math.floor(1e3*Math.random()),app_version:null,public_api_host:\"https://api.soundcloud.com/\",v2_host:\"https://soundcloud.com\",api_v2_host:\"https://api-v2.soundcloud.com/\",api_auth_host:\"https://api-auth.soundcloud.com/\",auth_ui_host:\"https://secure.soundcloud.com/\",secure_host:\"https://secure.soundcloud.com/\",artists_host:\"https://artists.soundcloud.com\",repost_host:\"https://repost.soundcloud.com\",web_errors_host:\"https://web-errors.soundcloud.com\",client_application_id:46941,client_id:\"LAd42S06rwW6N9SO85p7573ak7rH6lMf\",env:\"production\",eventlogger_tracking_url:\"https://no9pldds1lmn3.soundcloud.com\",checkout_host:\"https://checkout.soundcloud.com\",mastering_host:\"https://mastering.soundcloud.com\",webi_host:\"https://soundcloud.com\",insights_host:\"https://insights-ui.soundcloud.com/\",mobi_host:\"https://m.soundcloud.com\",two_factor_config_host:\"https://mobi.soundcloud.com\",\"rc-users_host\":\"https://d2g5n8b622dsn7.cloudfront.net/\",aditude_url:\"https://htlbid.com/v3/soundcloud.com/htlbid.js\",staging_env_key:\"\",gql_host:\"https://graph.soundcloud.com/graphql\",velvetCake_host:\"https://velvetcake.soundcloud.com\",drm_license_host:\"https://license.media-streaming.soundcloud.cloud\",geoip:null,privacy_settings:null,airbrake_project_key:\"04b3f291e3db982608ca3611c0e3f6fe\",airbrake_project_id:\"129825\",fb_app_id:\"19507961798\",google_client_id:\"984739005367.apps.googleusercontent.com\",apple_id_client_id:\"com.soundcloud.services.siwa\",playHistoryLength:50,maxComments:200,me:null,mixi_api_key:\"1403ed11563185e9cff6cfeedf4f2ecf77fa459e\",notifications:null,notificationsUri:\"wss://pushers.soundcloud.com/\",oauth_token:null,preferFlashAudio:!0,promotedContentServer:\"https://promoted.soundcloud.com/promo\",promotedContentAccessToken:\"web\",rubiconPartnerCode:16386,oauthRedirectUri:\"https://soundcloud.com/signin/callback\",restoreToSound:null,features:null,router:null,songkick_api_key:\"ZWsLr2h7FF5sHG54\",facebook_api_key:\"a7309b9a9a85963579f7e8bcffd36d2a\",versionOutOfDate:!1,versionUpdateInterval:r(38).MS_IN_HOUR,visualsQueueHost:\"https://visuals-queue.soundcloud.com/visuals\",wisHost:\"https://wis.sndcdn.com\",systemUserId:193,externalRedirectsWithScDomain:[\"/stories\",\"/getstarted\"]},(function(e,t){n.set(t,e,{silent:!0})})),\"object\"\u003d\u003dtypeof window.__sc_env\u0026\u0026r(1).each(window.__sc_env,(function(e,t){i[t]\u0026\u0026n.set(t,e,{silent:!0})})),n.finalize()},function(e,t,r){\"use strict\";var n\u003dthis\u0026\u0026this.__importDefault||function(e){return e\u0026\u0026e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.LinguaLib\u003dt.Lingua\u003dt.LinguaClass\u003dvoid 0;var i,o\u003dn(r(561));!function(e){e.D3\u003d\"d3\",e.JQueryDatePicker\u003d\"jquery.datepicker\",e.Native\u003d\"native\"}(i||(i\u003d{}));var a\u003dfunction(){function e(){}return e.prototype.initialize\u003dfunction(e,t){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d\"en\"),void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),this.i18n\u003dnew o.default(e),this.i18n.setPhrases(t)},e.prototype.getLocale\u003dfunction(){return this.i18n.locale},e.prototype.getIntlLocale\u003dfunction(){return this.i18n.locale.replace(/_/g,\"-\")},e.prototype.t\u003dfunction(e,t,r){return this.i18n.t(e,t,null\u003d\u003dr?void 0:r.context)},e.prototype.tp\u003dfunction(e,t,r,n,i){return this.i18n.tp(e,t,r,n,null\u003d\u003di?void 0:i.context)},Object.defineProperty(e.prototype,\"tPending\",{get:function(){return this.t.bind(this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"tpPending\",{get:function(){return this.tp.bind(this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"numberHelper\",{get:function(){return this.i18n.number},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dateTimeHelper\",{get:function(){return this.i18n.dateTime},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"priceHelper\",{get:function(){return this.i18n.price},enumerable:!1,configurable:!0}),e.prototype.getNativeLocaleData\u003dfunction(){return this.i18n.getLocaleDataFor(i.Native)},e.prototype.getD3LocaleData\u003dfunction(){return this.i18n.getLocaleDataFor(i.D3)},e.prototype.getDatePickerLocaleData\u003dfunction(){return this.i18n.getLocaleDataFor(i.JQueryDatePicker)},e}();t.LinguaClass\u003da;var s\u003dnew a;t.Lingua\u003ds,t.LinguaLib\u003ds},,,function(e,t,r){var n\u003dnew(r(42))(\"broadcast\"),i\u003dr(6).get(\"app_id\");n.on(\"broadcast\",(function(e){var t\u003de.current;t\u0026\u0026t.appId!\u003d\u003di\u0026\u0026s.call(o,t)}));var o\u003de.exports\u003dr(1).assign({},r(44).Events,{broadcast:function(e,t){var r;\"string\"\u003d\u003dtypeof e?(r\u003d[].slice.call(arguments,1),t\u003de,e\u003d{}):r\u003d[].slice.call(arguments,2);var i\u003da(t,r);return n.set(\"broadcast\",i),e.excludeThis||s.call(this,i),this}});function a(e,t){return{type:e,timestamp:Date.now(),appId:i,args:t}}function s(e){this.trigger.apply(this,[\"broadcast:\"+e.type].concat(e.args||[]))}},,function(e,t,r){\"use strict\";var n\u003dthis\u0026\u0026this.__assign||function(){return(n\u003dObject.assign||function(e){for(var t,r\u003d1,n\u003darguments.length;r\u003cn;r++)for(var i in t\u003darguments[r])Object.prototype.hasOwnProperty.call(t,i)\u0026\u0026(e[i]\u003dt[i]);return e}).apply(this,arguments)},i\u003dthis\u0026\u0026this.__rest||function(e,t){var r\u003d{};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)\u0026\u0026t.indexOf(n)\u003c0\u0026\u0026(r[n]\u003de[n]);if(null!\u003de\u0026\u0026\"function\"\u003d\u003dtypeof Object.getOwnPropertySymbols){var i\u003d0;for(n\u003dObject.getOwnPropertySymbols(e);i\u003cn.length;i++)t.indexOf(n[i])\u003c0\u0026\u0026Object.prototype.propertyIsEnumerable.call(e,n[i])\u0026\u0026(r[n[i]]\u003de[n[i]])}return r},o\u003dthis\u0026\u0026this.__importDefault||function(e){return e\u0026\u0026e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0});var a\u003do(r(0));t.default\u003dfunction(e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});var t\u003de.title,r\u003de.children,o\u003di(e,[\"title\",\"children\"]);return a.default.createElement(\"svg\",n({},o,{xmlns:\"http://www.w3.org/2000/svg\",\"aria-hidden\":!t}),t\u0026\u0026a.default.createElement(\"title\",null,t),r)}},function(e,t,r){\"use strict\";var n,i\u003dfunction(){return void 0\u003d\u003d\u003dn\u0026\u0026(n\u003dBoolean(window\u0026\u0026document\u0026\u0026document.all\u0026\u0026!window.atob)),n},o\u003dfunction(){var e\u003d{};return function(t){if(void 0\u003d\u003d\u003de[t]){var r\u003ddocument.querySelector(t);if(window.HTMLIFrameElement\u0026\u0026r instanceof window.HTMLIFrameElement)try{r\u003dr.contentDocument.head}catch(e){r\u003dnull}e[t]\u003dr}return e[t]}}(),a\u003d[];function s(e){for(var t\u003d-1,r\u003d0;r\u003ca.length;r++)if(a[r].identifier\u003d\u003d\u003de){t\u003dr;break}return t}function l(e,t){for(var r\u003d{},n\u003d[],i\u003d0;i\u003ce.length;i++){var o\u003de[i],l\u003dt.base?o[0]+t.base:o[0],u\u003dr[l]||0,c\u003d\"\".concat(l,\" \").concat(u);r[l]\u003du+1;var d\u003ds(c),f\u003d{css:o[1],media:o[2],sourceMap:o[3]};-1!\u003d\u003dd?(a[d].references++,a[d].updater(f)):a.push({identifier:c,updater:v(f,t),references:1}),n.push(c)}return n}function u(e){var t\u003ddocument.createElement(\"style\"),n\u003de.attributes||{};if(void 0\u003d\u003d\u003dn.nonce){var i\u003dr.nc;i\u0026\u0026(n.nonce\u003di)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),\"function\"\u003d\u003dtypeof e.insert)e.insert(t);else{var a\u003do(e.insert||\"head\");if(!a)throw new Error(\"Couldn\u0027t find a style target. This probably means that the value for the \u0027insert\u0027 parameter is invalid.\");a.appendChild(t)}return t}var c,d\u003d(c\u003d[],function(e,t){return c[e]\u003dt,c.filter(Boolean).join(\"\\n\")});function f(e,t,r,n){var i\u003dr?\"\":n.media?\"@media \".concat(n.media,\" {\").concat(n.css,\"}\"):n.css;if(e.styleSheet)e.styleSheet.cssText\u003dd(t,i);else{var o\u003ddocument.createTextNode(i),a\u003de.childNodes;a[t]\u0026\u0026e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function h(e,t,r){var n\u003dr.css,i\u003dr.media,o\u003dr.sourceMap;if(i?e.setAttribute(\"media\",i):e.removeAttribute(\"media\"),o\u0026\u0026btoa\u0026\u0026(n+\u003d\"\\n/*# sourceMappingURL\u003ddata:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),e.styleSheet)e.styleSheet.cssText\u003dn;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var p\u003dnull,g\u003d0;function v(e,t){var r,n,i;if(t.singleton){var o\u003dg++;r\u003dp||(p\u003du(t)),n\u003df.bind(null,r,o,!1),i\u003df.bind(null,r,o,!0)}else r\u003du(t),n\u003dh.bind(null,r,t),i\u003dfunction(){!function(e){if(null\u003d\u003d\u003de.parentNode)return!1;e.parentNode.removeChild(e)}(r)};return n(e),function(t){if(t){if(t.css\u003d\u003d\u003de.css\u0026\u0026t.media\u003d\u003d\u003de.media\u0026\u0026t.sourceMap\u003d\u003d\u003de.sourceMap)return;n(e\u003dt)}else i()}}e.exports\u003dfunction(e,t){(t\u003dt||{}).singleton||\"boolean\"\u003d\u003dtypeof t.singleton||(t.singleton\u003di());var r\u003dl(e\u003de||[],t);return function(e){if(e\u003de||[],\"[object Array]\"\u003d\u003d\u003dObject.prototype.toString.call(e)){for(var n\u003d0;n\u003cr.length;n++){var i\u003ds(r[n]);a[i].references--}for(var o\u003dl(e,t),u\u003d0;u\u003cr.length;u++){var c\u003ds(r[u]);0\u003d\u003d\u003da[c].references\u0026\u0026(a[c].updater(),a.splice(c,1))}r\u003do}}}},function(e,t,r){\"use strict\";var n\u003dthis\u0026\u0026this.__createBinding||(Object.create?function(e,t,r,n){void 0\u003d\u003d\u003dn\u0026\u0026(n\u003dr);var i\u003dObject.getOwnPropertyDescriptor(t,r);i\u0026\u0026!(\"get\"in i?!t.__esModule:i.writable||i.configurable)||(i\u003d{enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0\u003d\u003d\u003dn\u0026\u0026(n\u003dr),e[n]\u003dt[r]}),i\u003dthis\u0026\u0026this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default\u003dt}),o\u003dthis\u0026\u0026this.__importStar||function(e){if(e\u0026\u0026e.__esModule)return e;var t\u003d{};if(null!\u003de)for(var r in e)\"default\"!\u003d\u003dr\u0026\u0026Object.prototype.hasOwnProperty.call(e,r)\u0026\u0026n(t,e,r);return i(t,e),t},a\u003dthis\u0026\u0026this.__importDefault||function(e){return e\u0026\u0026e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.ChevronDown\u003dt.Following\u003dt.Follow\u003dt.Repost\u003dt.LikeLight\u003dt.Like\u003dt.Track\u003dt.Comment\u003dt.GoPlus\u003dt.GeoLock\u003dt.User\u003dt.Station\u003dt.Minus\u003dt.Plus\u003dt.Edit\u003dt.Search\u003dt.Copy\u003dt.Upload\u003dt.Download\u003dt.CheckIndeterminate\u003dt.CheckmarkSquare\u003dt.Checkmark\u003dt.Close\u003dt.Mastering\u003dt.Location\u003dt.NonMonetize\u003dt.Monetize\u003dt.MoveHorizontally\u003dt.LoadingSpinner\u003dt.Ellipsis\u003dt.Report\u003dt.PlaybackNext\u003dt.PlaybackPrevious\u003dt.PlaybackPlay\u003dt.Play\u003dt.Pause\u003dt.SoundCloudLogo\u003dt.SoundCloudLogoWordmark\u003dt.ArtistShortcutsBadge\u003dt.VerifiedBadge\u003dt.Promoted\u003dt.NextProBadge\u003dt.NextPlusBadge\u003dt.ProBadgeSmall\u003dt.ProBadgeUnlimited\u003dt.ProBadge\u003dt.Bin\u003dt.PlayQueue\u003dt.AddToPlaylist\u003dt.AddToNextUp\u003dvoid 0,t.CreativeCommons\u003dt.Social\u003dt.MoneyLove\u003dt.Send\u003dt.LockClosed\u003dt.LockOpen\u003dt.Pin\u003dt.ReplaceFile\u003dt.Purchase\u003dt.Hiding\u003dt.Showing\u003dt.Schedule\u003dt.Distribute\u003dt.Offers\u003dt.InfoPlain\u003dt.ChromecastActive\u003dt.Chromecast\u003dt.VolumeOff\u003dt.VolumePartial\u003dt.Volume\u003dt.SkipAd\u003dt.Shuffle\u003dt.RepeatOnce\u003dt.Repeat\u003dt.MoveHandle\u003dt.Block\u003dt.Calendar\u003dt.ToggleList\u003dt.ToggleCards\u003dt.Playlist\u003dt.Private\u003dt.Warning\u003dt.NotAvailable\u003dt.Notification\u003dt.NewTab\u003dt.Library\u003dt.Insights\u003dt.Success\u003dt.Info\u003dt.Error\u003dt.Share\u003dt.ChevronUp\u003dt.ChevronRight\u003dt.ChevronLeft\u003dvoid 0;var s\u003da(r(1440));t.AddToPlaylist\u003ds.default;var l\u003da(r(1441));t.AddToNextUp\u003dl.default;var u\u003da(r(1442));t.PlayQueue\u003du.default;var c\u003da(r(1443));t.Bin\u003dc.default;var d\u003da(r(1444));t.ProBadge\u003dd.default;var f\u003da(r(1445));t.ProBadgeUnlimited\u003df.default;var h\u003da(r(1446));t.ProBadgeSmall\u003dh.default;var p\u003da(r(1447));t.NextPlusBadge\u003dp.default;var g\u003da(r(1448));t.NextProBadge\u003dg.default;var v\u003da(r(1449));t.Promoted\u003dv.default;var m\u003da(r(1450));t.VerifiedBadge\u003dm.default;var y\u003da(r(1451));t.ArtistShortcutsBadge\u003dy.default;var _\u003da(r(1452));t.SoundCloudLogoWordmark\u003d_.default;var C\u003da(r(1453));t.SoundCloudLogo\u003dC.default;var A\u003da(r(1454));t.Pause\u003dA.default;var b\u003da(r(1455));t.Play\u003db.default;var E\u003da(r(1456));t.PlaybackPlay\u003dE.default;var S\u003da(r(1457));t.PlaybackPrevious\u003dS.default;var w\u003da(r(1458));t.PlaybackNext\u003dw.default;var O\u003da(r(1459));t.LoadingSpinner\u003dO.default;var k\u003da(r(1460));t.Close\u003dk.default;var L\u003da(r(1461));t.Checkmark\u003dL.default;var M\u003da(r(1462));t.CheckmarkSquare\u003dM.default;var T\u003da(r(1463));t.CheckIndeterminate\u003dT.default;var x\u003da(r(1464));t.Download\u003dx.default;var P\u003da(r(1465));t.Copy\u003dP.default;var D\u003da(r(1466));t.Report\u003dD.default;var R\u003da(r(1467));t.Ellipsis\u003dR.default;var I\u003da(r(1468));t.Search\u003dI.default;var B\u003da(r(1469));t.Edit\u003dB.default;var j\u003da(r(1470));t.Plus\u003dj.default;var N\u003da(r(1471));t.Minus\u003dN.default;var F\u003da(r(1472));t.User\u003dF.default;var U\u003da(r(1473));t.GeoLock\u003dU.default;var H\u003da(r(1474));t.GoPlus\u003dH.default;var V\u003da(r(1475));t.Station\u003dV.default;var Z\u003da(r(1476));t.Comment\u003dZ.default;var z\u003da(r(1477));t.Track\u003dz.default;var G\u003da(r(1478));t.Like\u003dG.default;var Q\u003da(r(1479));t.LikeLight\u003dQ.default;var K\u003da(r(1480));t.Repost\u003dK.default;var q\u003da(r(1481));t.Follow\u003dq.default;var W\u003da(r(1482));t.Following\u003dW.default;var Y\u003da(r(1483));t.ChevronDown\u003dY.default;var X\u003da(r(1484));t.ChevronUp\u003dX.default;var J\u003da(r(1485));t.ChevronLeft\u003dJ.default;var $\u003da(r(1486));t.ChevronRight\u003d$.default;var ee\u003da(r(1487));t.MoveHorizontally\u003dee.default;var te\u003da(r(1488));t.Monetize\u003dte.default;var re\u003da(r(1489));t.NotAvailable\u003dre.default;var ne\u003da(r(1490));t.NonMonetize\u003dne.default;var ie\u003da(r(1491));t.Mastering\u003die.default;var oe\u003da(r(1492));t.Location\u003doe.default;var ae\u003da(r(1493));t.Share\u003dae.default;var se\u003da(r(1494));t.Error\u003dse.default;var le\u003da(r(1495));t.Info\u003dle.default;var ue\u003da(r(1496));t.Success\u003due.default;var ce\u003da(r(1497));t.Insights\u003dce.default;var de\u003da(r(1498));t.Library\u003dde.default;var fe\u003da(r(1499));t.NewTab\u003dfe.default;var he\u003da(r(1500));t.Notification\u003dhe.default;var pe\u003da(r(1501));t.Warning\u003dpe.default;var ge\u003da(r(1502));t.Private\u003dge.default;var ve\u003da(r(1503));t.Playlist\u003dve.default;var me\u003da(r(1504));t.ToggleCards\u003dme.default;var ye\u003da(r(1505));t.ToggleList\u003dye.default;var _e\u003da(r(1506));t.Calendar\u003d_e.default;var Ce\u003da(r(1507));t.Block\u003dCe.default;var Ae\u003da(r(1508));t.MoveHandle\u003dAe.default;var be\u003da(r(1509));t.Repeat\u003dbe.default;var Ee\u003da(r(1510));t.RepeatOnce\u003dEe.default;var Se\u003da(r(1511));t.Shuffle\u003dSe.default;var we\u003da(r(1512));t.SkipAd\u003dwe.default;var Oe\u003da(r(1513));t.Volume\u003dOe.default;var ke\u003da(r(1514));t.VolumePartial\u003dke.default;var Le\u003da(r(1515));t.VolumeOff\u003dLe.default;var Me\u003da(r(1516));t.Chromecast\u003dMe.default;var Te\u003da(r(1517));t.ChromecastActive\u003dTe.default;var xe\u003da(r(1518));t.InfoPlain\u003dxe.default;var Pe\u003da(r(1519));t.Offers\u003dPe.default;var De\u003da(r(1520));t.Distribute\u003dDe.default;var Re\u003da(r(1521));t.Upload\u003dRe.default;var Ie\u003da(r(1522));t.Schedule\u003dIe.default;var Be\u003da(r(1523));t.Showing\u003dBe.default;var je\u003da(r(1524));t.Hiding\u003dje.default;var Ne\u003da(r(1525));t.Purchase\u003dNe.default;var Fe\u003da(r(1526));t.ReplaceFile\u003dFe.default;var Ue\u003da(r(1527));t.Pin\u003dUe.default;var He\u003da(r(1528));t.LockClosed\u003dHe.default;var Ve\u003da(r(1529));t.LockOpen\u003dVe.default;var Ze\u003da(r(1530));t.Send\u003dZe.default;var ze\u003da(r(1531));t.MoneyLove\u003dze.default,t.Social\u003do(r(1532)),t.CreativeCommons\u003do(r(1566))},,,function(e,t,r){\"use strict\";var n\u003dthis\u0026\u0026this.__rest||function(e,t){var r\u003d{};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)\u0026\u0026t.indexOf(n)\u003c0\u0026\u0026(r[n]\u003de[n]);if(null!\u003de\u0026\u0026\"function\"\u003d\u003dtypeof Object.getOwnPropertySymbols){var i\u003d0;for(n\u003dObject.getOwnPropertySymbols(e);i\u003cn.length;i++)t.indexOf(n[i])\u003c0\u0026\u0026Object.prototype.propertyIsEnumerable.call(e,n[i])\u0026\u0026(r[n[i]]\u003de[n[i]])}return r},i\u003dthis\u0026\u0026this.__spreadArray||function(e,t,r){if(r||2\u003d\u003d\u003darguments.length)for(var n,i\u003d0,o\u003dt.length;i\u003co;i++)!n\u0026\u0026i in t||(n||(n\u003dArray.prototype.slice.call(t,0,i)),n[i]\u003dt[i]);return e.concat(n||Array.prototype.slice.call(t))},o\u003dthis\u0026\u0026this.__importDefault||function(e){return e\u0026\u0026e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.FallbackLinguaProvider\u003dt.Timecode\u003dt.useTimecode\u003dt.FormattedNumber\u003dt.UTCFormattedDate\u003dt.localDateToUtc\u003dt.FormattedDate\u003dt.useFormattedNumber\u003dt.useFormattedDate\u003dt.DateTimeFormat\u003dt.LinguaPending\u003dt.Lingua\u003dt.processStringToJSXElement\u003dt.useLingua\u003dt.LinguaProvider\u003dt.LinguaContext\u003dvoid 0;var a\u003do(r(0)),s\u003dr(7),l\u003dr(326),u\u003dr(1383);t.LinguaContext\u003da.default.createContext(s.Lingua);function c(){return a.default.useContext(t.LinguaContext)}t.LinguaProvider\u003dfunction(e){var r\u003de.locale,n\u003de.phrases,i\u003de.children,o\u003dnew s.LinguaClass;return o.initialize(r,n),a.default.createElement(t.LinguaContext.Provider,{value:o},i)},t.useLingua\u003dc;var d\u003d/\u003c([A-Z][a-zA-Z0-9]*?)\u003e(.+?)\u003c\\/\\1\u003e|\u003c([A-Z][a-zA-Z0-9]*?)\\s?\\/\u003e/;function f(e,t){void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{});for(var r\u003de.split(d),n\u003d[],o\u003d0;r.length;){if(o%2\u003d\u003d0)n\u003dn.concat(r.shift());else{var s\u003dr.splice(0,3),l\u003ds[0],u\u003ds[1],c\u003ds[2],h\u003dl||c,p\u003dt[h],g\u003dvoid 0;g\u003dp?a.default.createElement(p,{key:o},u?f(u,t):u):u?\"\u003c\".concat(h,\"\u003e\").concat(u,\"\u003c/\").concat(h,\"\u003e\"):\"\u003c\".concat(h,\" /\u003e\"),n\u003dn.concat(g)}o++}return a.default.createElement.apply(a.default,i([a.default.Fragment,{}],n,!1))}t.processStringToJSXElement\u003df;var h;function p(e,t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003dh.Default),c().dateTimeHelper.format(new Date(e),t)}function g(e,t){void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{});var r\u003dc();return(0,u.formatCompact)(r.numberHelper,e,t)}t.Lingua\u003dfunction(e){var r\u003da.default.useContext(t.LinguaContext),n\u003de.t,i\u003de.values,o\u003de.context,s\u003de.comment,l\u003d\"\";if(e.tp){var u\u003de.tp,c\u003de.count;l\u003dr.tp(n,u,c,i,{context:o,comment:s})}else l\u003dr.t(n,i,{context:o,comment:s});return f(l,i)},t.LinguaPending\u003dt.Lingua,function(e){e.Relative\u003d\"relative\",e.ISO\u003d\"iso\",e.Readable\u003d\"readable\",e.ReadableTime\u003d\"readable_time\",e.ReadableAbbreviated\u003d\"readable_abbreviated\",e.ReadableAbbreviatedWithoutYear\u003d\"readable_abbreviated_without_year\",e.ReadableWithoutDay\u003d\"readable_without_day\",e.ReadableAbbreviatedWithoutDay\u003d\"readable_abbreviated_without_day\",e.ReadableWithWeekday\u003d\"readable_with_weekday\",e.ReadableAbbreviatedWithWeekday\u003d\"readable_abbreviated_with_weekday\",e.ReadableAbbreviatedTime\u003d\"readable_abbreviated_time\",e.MonthAbbreviated\u003d\"month_abbreviated\",e.DateWithoutYear\u003d\"date_without_year\",e.Month\u003d\"month\",e.Default\u003d\"default\",e.Year\u003d\"year\"}(h\u003dt.DateTimeFormat||(t.DateTimeFormat\u003d{})),t.useFormattedDate\u003dp,t.useFormattedNumber\u003dg;t.FormattedDate\u003dfunction(e){var t\u003de.date,r\u003de.format,n\u003dvoid 0\u003d\u003d\u003dr?h.Default:r;return a.default.createElement(a.default.Fragment,null,p(t,n))};t.localDateToUtc\u003dfunction(e){var t\u003dnew Date(e);return new Date(t.getTime()+6e4*t.getTimezoneOffset())};t.UTCFormattedDate\u003dfunction(e){var r\u003de.date,n\u003de.format,i\u003d(0,t.localDateToUtc)(r);return a.default.createElement(t.FormattedDate,{date:i,format:n})};function v(e,t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),c().dateTimeHelper.timecode(e,t)}t.FormattedNumber\u003dfunction(e){var t\u003de.value,r\u003dn(e,[\"value\"]);return a.default.createElement(a.default.Fragment,null,g(t,r))},t.useTimecode\u003dv;t.Timecode\u003dfunction(e){var t\u003de.ms,r\u003de.inWords,n\u003de.minimal;return a.default.createElement(a.default.Fragment,null,v(t,{inWords:r,minimal:n}))};t.FallbackLinguaProvider\u003dfunction(e){var r\u003de.supportedLocales,n\u003de.fallback,i\u003de.children,o\u003dc();if(r.includes(o.getLocale()))return a.default.createElement(a.default.Fragment,null,i);var s\u003dnull!\u003dn?n:{locale:l.DEFAULT_LOCALE,phrases:{}},u\u003ds.locale,d\u003ds.phrases;return a.default.createElement(t.LinguaProvider,{locale:u,phrases:d},i)}},,,,,function(e,t,r){\"use strict\";var n\u003dthis\u0026\u0026this.__assign||function(){return(n\u003dObject.assign||function(e){for(var t,r\u003d1,n\u003darguments.length;r\u003cn;r++)for(var i in t\u003darguments[r])Object.prototype.hasOwnProperty.call(t,i)\u0026\u0026(e[i]\u003dt[i]);return e}).apply(this,arguments)},i\u003dthis\u0026\u0026this.__rest||function(e,t){var r\u003d{};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)\u0026\u0026t.indexOf(n)\u003c0\u0026\u0026(r[n]\u003de[n]);if(null!\u003de\u0026\u0026\"function\"\u003d\u003dtypeof Object.getOwnPropertySymbols){var i\u003d0;for(n\u003dObject.getOwnPropertySymbols(e);i\u003cn.length;i++)t.indexOf(n[i])\u003c0\u0026\u0026Object.prototype.propertyIsEnumerable.call(e,n[i])\u0026\u0026(r[n[i]]\u003de[n[i]])}return r},o\u003dthis\u0026\u0026this.__importDefault||function(e){return e\u0026\u0026e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0});var a\u003do(r(0));t.default\u003dfunction(e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});var t\u003de.title,r\u003de.children,o\u003di(e,[\"title\",\"children\"]);return a.default.createElement(\"svg\",n({},o,{xmlns:\"http://www.w3.org/2000/svg\",\"aria-hidden\":!t}),t\u0026\u0026a.default.createElement(\"title\",null,t),r)}},function(e,t,r){\"use strict\";var n\u003dthis\u0026\u0026this.__assign||function(){return(n\u003dObject.assign||function(e){for(var t,r\u003d1,n\u003darguments.length;r\u003cn;r++)for(var i in t\u003darguments[r])Object.prototype.hasOwnProperty.call(t,i)\u0026\u0026(e[i]\u003dt[i]);return e}).apply(this,arguments)},i\u003dthis\u0026\u0026this.__rest||function(e,t){var r\u003d{};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)\u0026\u0026t.indexOf(n)\u003c0\u0026\u0026(r[n]\u003de[n]);if(null!\u003de\u0026\u0026\"function\"\u003d\u003dtypeof Object.getOwnPropertySymbols){var i\u003d0;for(n\u003dObject.getOwnPropertySymbols(e);i\u003cn.length;i++)t.indexOf(n[i])\u003c0\u0026\u0026Object.prototype.propertyIsEnumerable.call(e,n[i])\u0026\u0026(r[n[i]]\u003de[n[i]])}return r},o\u003dthis\u0026\u0026this.__importDefault||function(e){return e\u0026\u0026e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0});var a\u003do(r(0));t.default\u003dfunction(e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});var t\u003de.title,r\u003de.children,o\u003di(e,[\"title\",\"children\"]);return a.default.createElement(\"svg\",n({},o,{xmlns:\"http://www.w3.org/2000/svg\",\"aria-hidden\":!t}),t\u0026\u0026a.default.createElement(\"title\",null,t),r)}},,,function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.CreatorSubscriptionNamingScheme\u003dt.ConsumerSubscriptionNamingScheme\u003dt.mapStringToProductId\u003dt.ProductName\u003dt.ProductCategory\u003dt.ProductId\u003dvoid 0;var n\u003dr(431);Object.defineProperty(t,\"ProductId\",{enumerable:!0,get:function(){return n.ProductId}});var i\u003dr(778);Object.defineProperty(t,\"ProductCategory\",{enumerable:!0,get:function(){return i.ProductCategory}});var o\u003dr(777);Object.defineProperty(t,\"ProductName\",{enumerable:!0,get:function(){return o.ProductName}});var a\u003dr(1336);Object.defineProperty(t,\"mapStringToProductId\",{enumerable:!0,get:function(){return a.mapStringToProductId}});var s\u003dr(571);Object.defineProperty(t,\"ConsumerSubscriptionNamingScheme\",{enumerable:!0,get:function(){return s.ConsumerSubscriptionNamingScheme}}),Object.defineProperty(t,\"CreatorSubscriptionNamingScheme\",{enumerable:!0,get:function(){return s.CreatorSubscriptionNamingScheme}})},,function(e,t,r){var n\u003dr(101).errors.PlayerError,i\u003dr(101).errors.NotSupportedError,o\u003dr(1).constant(1),a\u003d60*r(38).MS_IN_SECOND,s\u003dfunction(e,t){var r\u003dt.target,n\u003dt.targetType;return e.id\u003d\u003d\u003dr\u0026\u0026\"sound\"\u003d\u003d\u003dn},l\u003d[{emitter:r(50),event:\"like\",getInstance:s,handler:function(e){this.onLike(e)}},{emitter:r(50),event:\"repost\",getInstance:s,handler:function(e){this.onRepost(e)}},{emitter:r(50),event:\"comment\",getInstance:s,handler:function(e){this.onComment(e)}}],u\u003dr(679).withOptions({batchEndpoint:\"trackBatch\",getBatchParams:function(e){var t\u003de.playlist;return t\u0026\u0026\"public\"!\u003d\u003dt.get(\"sharing\")\u0026\u0026!r(6).get(\"me\").owns(t)?{playlistId:t.id,playlistSecretToken:t.get(\"secret_token\")}:null}}),c\u003dnew(r(24))({requirePrototype:r(27).prototype,around:{save:function(e){for(var t\u003darguments.length,n\u003dnew Array(t\u003e1?t-1:0),i\u003d1;i\u003ct;i++)n[i-1]\u003darguments[i];return e.apply(this,n).then((function(){r(10).trigger(\"featureCredits:revalidate\")}))}}}),d\u003de.exports\u003dr(27).extend(u,r(556),r(1244),r(1245),r(555),r(1246),r(242).withOptions({attr:\"title\"}),r(307).withOptions({read:\"artwork_url\",write:\"image_data\",useFormData:!1}),r(423),r(748),r(195).withOptions({events:l}),c,{resource_type:\"sound\",urnPrefix:\"soundcloud:tracks\",getEndpointForMethod:function(e){switch(e){case\"read\":return{name:\"track\",pathParams:{urn:this.get(\"urn\")},queryParams:{secret_token:this.get(\"secret_token\")}};default:return null}},player:null,_visuals:null,_lastActionMetadata:{},submodelMap:{user:r(46)},timeOffset:0,playlist:null,originalSound:null,ownerAttributes:[\"scheduled_public_date\",\"scheduled_timezone\",\"geo_blockings\",\"isrc_state\",\"managed_by_feeds\",\"reveal_comments\",\"reveal_stats\",\"monetization_enabled\",\"disabled_reason\",\"mastering_eligibility\"],_temporarilyUnavailable:!1,_unavailableResetTimer:null,_checkpointInterval:void 0,_playable:!0,_preloadingCounter:0,computed__displayArtist:\"\",setup:function(e,t){this.listenTo(this,\"change:publisher_metadata\",p),this.computed__displayArtist\u003dthis.getDisplayArtist(),this._checkpointInterval\u003dt.checkpointInterval,this._ad_attributes\u003dt.ad_attributes,this._soundContext\u003dt.soundContext,this.getSounds\u003dr(1).memoize(this.getSounds),this.listenTo(this,\"change:visuals\",f).listenTo(this,\"change:policy\",h),this.attrExists(\"visuals\")\u0026\u0026f.call(this),g.call(this)},getSubmodelOptions:function(e){return\"user\"\u003d\u003d\u003de?{parse:!0}:null},ownerUrl:function(){return this.getEndpointUrl(\"trackAsOwner\",{urn:this.getUrn()})},parse:function(e){var t\u003de.schedule,n\u003dd.instances.get(d.hashFn(e)),i\u003dfunction(e){return r(1).has(e,\"scheduled_timezone\")\u0026\u0026r(1).has(e,\"scheduled_public_date\")};return i(e)||n\u0026\u0026i(n.attributes)\u0026\u0026!t||(e.scheduled_timezone\u003dt\u0026\u0026t.timezone,e.scheduled_public_date\u003dt\u0026\u0026Date.parse(t.sunrise)),e},baseUrl:function(){return this.getEndpointUrl(\"track\",{urn:this.getUrn()})},getImageSaveUrl:function(){return this.getEndpointUrl(\"trackArtworkUpdate\",{urn:this.getUrn()})},extractSecretToken:function(e){return r(31).parse(e.uri).query.secret_token},play:function(e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{}),this._lastActionMetadata\u003de,this.createPlayer()\u0026\u0026(e\u0026\u0026\"number\"\u003d\u003dtypeof e.seek\u0026\u0026this.player.seek(e.seek),this.player.play())},pause:function(e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{}),this._lastActionMetadata\u003de,this.player\u0026\u0026(e\u0026\u0026\"concurrent_streaming\"\u003d\u003d\u003de.pause_reason?this.player.pauseAfterFade(3e3):(this._lastActionMetadata\u003dr(1).extend({userInitiated:!0},this._lastActionMetadata),this.player.pause()))},seek:function(e){this.createPlayer()\u0026\u0026this.player.seek(e)},seekRelative:function(e){if(this.createPlayer()){var t\u003dr(104).clamp(this.player.getPosition()+e,0,this.getMediaDuration());this.player.seek(t)}},getSounds:function(){return[this]},getCurrentSound:function(){return this},getNumSounds:o,getSoundIndex:function(e){return e\u003d\u003d\u003dthis?0:-1},containsSound:function(e){return e\u003d\u003d\u003dthis},isBuffering:function(){return!!this.player\u0026\u0026this.player.isLoading()},isPlaying:function(){return!!this.player\u0026\u0026this.player.isPlaying()},loadProgress:function(){if(!this.player)return 0;var e\u003dthis.player.getCurrentBufferedTimeRange();return e?Math.min(1,e.end/this.getMediaDuration()):0},currentTime:function(){return!this.player||this.player.isEnded()?0:this.player.getPosition()},getListenTime:function(){return this.player?this.player.getListenTime():0},isNowPlaying:function(){return r(21).getCurrentSound()\u003d\u003d\u003dthis},progress:function(){return r(104).clamp(this.currentTime()/this.getFixedDuration(),0,1)},duration:function(){return this.get(\"full_duration\")||this.get(\"duration\")},getFixedDuration:function(){return Math.max(this.duration(),this.getMediaDuration())},getMediaDuration:function(){var e\u003dnull;return this.player\u0026\u0026(e\u003dthis.player.getDuration()),null!\u003d\u003de?e:this.get(\"duration\")||0},getQuality:function(){return this.player?this.player.getQuality():null},isPlayable:function(){return this._playable},makeTemporarilyUnavailable:function(){var e\u003dthis;this._temporarilyUnavailable\u003d!0,window.clearTimeout(this._unavailableResetTimer),this._unavailableResetTimer\u003dwindow.setTimeout((function(){e._temporarilyUnavailable\u003d!1,g.call(e)}),3e4),g.call(this)},isProcessing:function(){var e\u003dthis.get(\"state\");return\"finished\"!\u003d\u003de\u0026\u0026null!\u003de},isEditing:function(){return!1},isCommentable:function(){return!1!\u003d\u003dthis.get(\"commentable\")},isBlocked:function(){return\"BLOCK\"\u003d\u003d\u003dthis.get(\"policy\")},isSnippetized:function(){return\"SNIP\"\u003d\u003d\u003dthis.get(\"policy\")},isMonetized:function(){return\"MONETIZE\"\u003d\u003d\u003dthis.get(\"policy\")},isAllowed:function(){return\"ALLOW\"\u003d\u003d\u003dthis.get(\"policy\")},isInteractive:function(){return!(this.isBlocked()||this.isDisabled()||this.isProcessing()||this._temporarilyUnavailable)},isDownloadable:function(){return Boolean(this.get(\"downloadable\")\u0026\u0026this.get(\"has_downloads_left\"))},isAd:function(){return!!this.get(\"is_ad\")},isEligibleForMastering:function(){var e;return!0\u003d\u003d\u003d(null\u003d\u003d(e\u003dthis.get(\"mastering_eligibility\"))?void 0:e.eligible)},isMastered:function(){var e;return!this.isEligibleForMastering()\u0026\u0026\"TRACK_IS_ALREADY_MASTERED\"\u003d\u003d\u003d(null\u003d\u003d(e\u003dthis.get(\"mastering_eligibility\"))?void 0:e.reason)},getOriginalSound:function(){return this.originalSound||this},getDisplayArtist:function(){var e,t;return(null\u003d\u003d(e\u003dthis.get(\"publisher_metadata\"))?void 0:e.artist)||(null\u003d\u003d(t\u003dthis.get(\"user\"))?void 0:t.username)},hasMinPlayTime:function(){return this.getListenTime()\u003e\u003d.25*this.getMediaDuration()},createPlayer:function(){var e\u003dthis;if(!this.player){if(!this.isPlayable())return!1;try{var t\u003dr(1).assign({soundContext:this._soundContext,checkpointInterval:this._checkpointInterval,audioReporter:this.trackAudioEvent.bind(this)},this.isAd()?{type:r(255).PlayerType.AD,url:this.get(\"url\")}:{type:r(255).PlayerType.GENERAL,dataPromise:this.getOrFetch([\"secret_token\",\"duration\",\"policy\",\"media\"]).then((function(t){var n\u003dt.secret_token,i\u003dt.duration,o\u003de.get(\"track_authorization\"),a\u003dnew(r(324).Signal),s\u003dr(1).debounce((function(){o\u003de.get(\"track_authorization\"),a.trigger.apply(a,arguments)}),0);return e.on(\"change:policy change:media\",s),{trackUrn:e.getUrn(),trackId:e.id,secretToken:n,duration:i,getPolicy:function(){return e.get(\"policy\")},onPolicyOrMediaChange:a,getMediaPayload:function(){return e.get(\"media\")},getTrackAuthorization:function(){return o}}}))});this.player\u003dr(325).createPlayer(this.id,t)}catch(e){if(e instanceof n)return this.makeTemporarilyUnavailable(),!1;throw e}var o\u003dthis.player,s\u003dfunction(t){for(var n\u003darguments.length,i\u003dnew Array(n\u003e1?n-1:0),o\u003d1;o\u003cn;o++)i[o-1]\u003darguments[o];e.isNowPlaying()\u0026\u0026r(10).trigger.apply(r(10),[t].concat(i))},l\u003d!1;this.playerListeners\u003d[[\"dead\",function(){e.disposePlayer()}],[\"playStart\",function(){l||(l\u003d!0,window.setTimeout((function(){l\u003d!1}),a),e.onPlayRegistered())}],[\"playerError\",function(t){e.makeTemporarilyUnavailable(),s(t instanceof i?\"error:audio_no_streams\":\"error:audio_error\")}],\"play\",\"pause\",\"playStart\",\"buffering:start\",\"buffering:end\",\"seeked\",\"time\",\"finish\",\"qualityChanged\",\"playerError\"].map((function(t){if(r(1).isArray(t)){var n\u003dt[0],i\u003dt[1];return o.addEventListener(n,i)}return o.addEventListener(t,(a\u003dt,function(t){void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{});var n\u003dr(1).extend({type:a,sound:e,model:e},t);e.trigger(a,n),r(10).trigger(\"audio:\"+a,n)}));var a})),this._preloadingCounter\u003e0\u0026\u0026o.enablePreloading()}return!0},requestPreloading:function(){this._preloadingCounter++||this.createPlayer()\u0026\u0026this.player.enablePreloading()},unrequestPreloading:function(){--this._preloadingCounter||this.player\u0026\u0026this.player.disablePreloading()},disposePlayer:function(){this.player\u0026\u0026(r(1).forEach(this.playerListeners||[],(function(e){e.remove()})),this.playerListeners\u003dnull,this.player.kill(),this.player.release(),this.player\u003dnull,window.clearTimeout(this._unavailableResetTimer))},toJSON:function(){var e\u003dr(27).prototype.toJSON.apply(this,arguments);return this.playlist\u0026\u0026(e._playlist\u003d{},r(1).each([\"id\",\"permalink\",\"permalink_url\",\"secret_token\",\"user_id\"],(function(t){e._playlist[t]\u003dthis.playlist.get(t)}),this)),this.systemPlaylist\u0026\u0026(e._systemPlaylist\u003d{},r(1).each([\"urn\",\"permalink\"],(function(t){e._systemPlaylist[t]\u003dthis.systemPlaylist.get(t)}),this)),e},saveUrl:function(){return this.isNew()?this.getEndpointUrl(\"trackCreate\"):this.getEndpointUrl(\"trackUpdate\",{urn:this.getUrn()})},saveFormat:\"json\",getAttributesToBeSaved:function(){var e\u003d[\"api_streamable\",\"commentable\",\"description\",\"downloadable\",\"embeddable\",\"feedable\",\"genre\",\"isrc\",\"isrc_generate\",\"label_name\",\"license\",\"monetization\",\"original_filename\",\"permalink\",\"purchase_title\",\"purchase_url\",\"release_date\",\"replacing_uid\",\"replacing_original_filename\",\"reveal_comments\",\"reveal_stats\",\"sharing\",\"shared_to\",\"snippet_presets\",\"tag_list\",\"title\",\"uid\",\"geo_blockings\",\"publisher_metadata\",\"restrictions\",\"rightsholders\",\"caption\"].reduce(function(e,t){return null!\u003dthis[t]\u0026\u0026(e[t]\u003dthis[t]),e}.bind(this.attributes),{});return r(1).assign(e,r(1).pick(this.attributes,[\"scheduled_public_date\",\"scheduled_timezone\",\"scheduled_public_timezone\"])),e},trackAudioEvent:function(e){var t\u003dthis._lastActionMetadata,n\u003dt.userInitiated,i\u003dt.pause_reason;e.userInitiated\u003dn,e.pauseReason\u003d\"pause\"\u003d\u003d\u003de.type?i:void 0,e.isRepeating\u003d\"one\"\u003d\u003d\u003dr(21).getQueueState().repeatMode,e.currentMetadata\u003dr(21).getCurrentMetadata(),e.sound\u003dthis,this._ad_attributes\u0026\u0026(e.ad_attributes\u003dthis._ad_attributes),e.currentMetadata?r(20).trackAudioEvent(e):r(111).notify(new Error(\"No metadata for sound audio event: \"+e.type+\", \"+JSON.stringify(r(21).getCurrentMetadataEmptyReasons())))}},{states:{READY:\"ready\",PROCESSING:\"processing\",FAILED:\"failed\",FINISHED:\"finished\"},hashFn:function(e){var t\u003de.resource_id;if(t){if(\"object\"\u003d\u003dtypeof t){if(\"playlist_id\"in t)return[t.playlist_id,t.sound_id].join(\"_\");if(\"system_playlist_id\"in t)return[t.system_playlist_id,t.sound_id].join(\"_\");if(\"ad_target_id\"in t)return[\"ad\",t.ad_target_id].join(\"_\")}return t}return e.id||null},resolve:function(e,t,n){return r(27)._resolve(this,[e,t,n],(function(r){var n\u003dr.get(\"user\");return n\u0026\u0026r.get(\"permalink\")\u003d\u003d\u003dt\u0026\u0026n.permalink\u003d\u003d\u003de}))},normalize:function(e){var t\u003de.waveform_url;return t\u0026\u0026t.indexOf(\"/w1.\")\u003e-1\u0026\u0026(e.waveform_url\u003dt.replace(/\\/w1\\./,\"/wis.\")),e},onCleanup:function(e){return e._visuals\u0026\u0026(e._visuals.release(),e._visuals\u003dnull),e.disposePlayer(),r(27).onCleanup.apply(this,arguments)}});function f(){this._visuals||(this._visuals\u003dnew(r(758))(null,{resource_id:this.id})),this._visuals.reset(this.get(\"visuals\"),{parse:!0}),this._visuals.lastFetchTime\u003dDate.now()}function h(){g.call(this),v.call(this)}function p(){this.computed__displayArtist\u003dthis.getDisplayArtist(),this.trigger(\"change:computed__displayArtist\",this)}function g(){var e\u003dthis.isInteractive()\u0026\u0026!this.isSnippetized();e!\u003d\u003dthis._playable\u0026\u0026(this._playable\u003de,this.trigger(\"change:playable\",e))}function v(){r(10).trigger(\"soundPolicyChange\",this)}},,,,,function(e,t,r){(function(t){function n(){return(n\u003dObject.assign||function(e){for(var t\u003d1;t\u003carguments.length;t++){var r\u003darguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)\u0026\u0026(e[n]\u003dr[n])}return e}).apply(this,arguments)}var i,o,a,s\u003de.exports\u003dr(44).Router.extend({currentLayout:null,_currentLayoutInfo:null,_navigationBlocks:null,_navCount:0,initialize:function(){this._navigationBlocks\u003d[],r(1).bindAll(this,\"onBeforeUnload\",\"detachCurrentLayout\"),r(44).history.checkUrl\u003dd.bind(r(44).history,this),this.listenTo(this,\"route\",(function(){var e;\"webi-iframe\"\u003d\u003d\u003d(null\u003d\u003d(e\u003dthis._currentLayoutInfo)?void 0:e.layoutName)\u0026\u0026r(177).Crossfade.markNavigatedAwayFromWebi()}))},setRoutes:function(e,t){var n\u003dthis;o\u003dt,a\u003d(i\u003de).slice(0).reverse(),e.forEach((function(e){var t\u003de.route,i\u003de.name,o\u003de.handler,a\u003de.meta.webiOnly\u0026\u0026n.isLoggedIn()?function(e){return function(){return r(124).isCrossfadeEnabled()?e.apply(this,arguments):this.apply(\"error\",{type:\"404\"})}}(o):o;n.route(t,i,a)}))},setLayoutInfo:function(e){this._currentLayoutInfo\u003de},setLoader:function(e){this.loader\u003de},reload:function(){this.match(window.location.href.replace(/^https?:\\/\\/[^\\/]+\\//,\"\"))},addNavigationBlock:function(e,n,i){var o\u003dr(1).uniqueId();return 1\u003d\u003d\u003dthis._navigationBlocks.unshift({id:o,exitSiteMessage:e,callback:n,condition:i})\u0026\u0026t(window).on(\"beforeunload\",this.onBeforeUnload),o},removeNavigationBlock:function(e){var r,n\u003dthis._navigationBlocks;for(r\u003dn.length;r--;)if(n[r].id\u003d\u003d\u003de){n.splice(r,1);break}n.length||t(window).off(\"beforeunload\",this.onBeforeUnload)},isNavigationBlocked:function(){return this._navigationBlocks.some(c)},onBeforeUnload:function(e){var t\u003dr(1).find(this._navigationBlocks,c),n\u003dnull\u003d\u003dt?void 0:t.exitSiteMessage;if(n)return e.returnValue\u003dn,n},navigateToRoute:function(e,t,r){var n\u003d[e];null!\u003dt\u0026\u0026t.length\u0026\u0026(n\u003dn.concat(t));var i\u003ds.getRoute.apply(s,n);this.navigate(i,r)},navigate:function(e,t){u(this)\u0026\u0026(null!\u003dt\u0026\u0026t.hard?window.location.href\u003de:r(44).Router.prototype.navigate.call(this,e,t))},isCountryGermany:function(){return r(84).isCountryGermany()},match:function(e){return r(44).history.loadUrl(e)},getUrlInfo:function(e){var t,n\u003dr(31).parse(e);if(n.path){var i\u003dn.path.substring(1),o\u003dr(1).find(a,(function(e){return e.route.test(i)}));return o\u0026\u0026(t\u003d{name:o.name,params:this._extractParameters(o.route,i)}),t}},getLocation:function(){return r(107).pushState?window.location.href:\"https://\"+window.location.hostname+\"/\"+window.location.hash.replace(/^[#\\/]/,\"\")},apply:function(e,t){var i\u003dthis;void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{});var o\u003d\"layouts/\"+e;++this._navCount,this.setupDeferred\u0026\u0026this.setupDeferred.reject();var a,s\u003dthis.setupDeferred\u003dr(11).defer(),u\u003dwindow.setTimeout(this.detachCurrentLayout,300);return r(11).all([this.loader.loadLayout(o).always(window.clearTimeout.bind(window,u)),r(11).deferFrom((a\u003dt,function(e){return\"string\"\u003d\u003dtypeof(null\u003d\u003da?void 0:a.cutoverFeatureGateName)?r(124).isCrossfadeEnabledForCutoverFeatureName(a.cutoverFeatureGateName):r(124).isCrossfadeEnabled()?\"string\"\u003d\u003dtypeof(null\u003d\u003de?void 0:e.featureGateName)?r(190).isFeatureGateEnabled(e.featureGateName):Promise.resolve(!0\u003d\u003d\u003de):Promise.resolve(!1)},function(e){if(\"string\"\u003d\u003dtypeof(null\u003d\u003da?void 0:a.cutoverFeatureGateName))return r(124).isCrossfadeEnabledForCutoverFeatureName(a.cutoverFeatureGateName);if(!r(124).isCrossfadeEnabled())return Promise.resolve(!1);if(\"string\"\u003d\u003dtypeof(null\u003d\u003de?void 0:e.featureGateName))return r(190).isFeatureGateEnabled(e.featureGateName);return Promise.resolve(!0\u003d\u003d\u003de)}(a.renderInWebi).then((function(e){return n({},a,{renderInWebi:e})}))))]).then((function(t,r){if(\"rejected\"!\u003d\u003ds.state()){var n\u003di.currentLayout instanceof t?i.currentLayout:new t;n.setArgs(r),i.setupDeferred\u003dn.setup(r).done(l.bind(i,n,e,r))}})).fail((function(){var t;null\u003d\u003d(t\u003dwindow.navigator.onLine)||t||\"offline\"\u003d\u003d\u003de||i.apply(\"offline\")}))},isLoggedIn:function(){return r(18).isLoggedIn()},getFeatureValue:function(e){return r(6).get(\"features\").has(e)},getFeatureGateValue:function(e){return r(190).isFeatureGateEnabled(e)},getCurrentUserPermalink:function(){return r(6).get(\"me\").get(\"permalink\")},isPremium:function(){return r(6).get(\"me\").isPremium()},getQueryParams:function(e){return r(31).getQueryParams(e)},getQueryString:function(e){return r(31).getQueryString(e)},getLayoutInfo:function(){return this._currentLayoutInfo},getRouteInfo:function(e){return r(1).find(i,(function(t){return t.name\u003d\u003d\u003de}))},getRouteInfoFromUrl:function(e){var t\u003dthis.getUrlInfo(e);return t?this.getRouteInfo(t.name):null},getNavCount:function(){return this._navCount},getNavigationType:function(){var e;return this._navCount\u003e1?\"virtual\":null!\u003d(e\u003dwindow.performance)\u0026\u0026e.navigation\u0026\u00261\u003d\u003d\u003dwindow.performance.navigation.type?\"reload\":\"initial\"},unauthenticated:function(){r(20).trackAuthEvent(r(299).initiate,{target:\"implicit:navigate\"});var e\u003dr(31).parse(window.location.href).relative;this.navigateToRoute(\"signin\",e,{replace:!0,trigger:!0})},detachCurrentLayout:function(){this.currentLayout\u0026\u0026this.currentLayout.$el.detach()}},{getRoute:function(e){var t\u003do[e];if(t){for(var r\u003darguments.length,n\u003dnew Array(r\u003e1?r-1:0),i\u003d1;i\u003cr;i++)n[i-1]\u003darguments[i];return t.apply(this,n)}},includeSecretTokenForSound:function(e){var t\u003dr(6).get(\"me\");return!(!e.secret_token||t.owns(\"sound\",e))},includeSecretTokenForPlaylist:function(e){var t\u003dr(6).get(\"me\");return!(!e.secret_token||t.owns(\"playlist\",e))},removeFragmentParams:function(){if(r(107).pushState){for(var e\u003dwindow.location.href,t\u003de,n\u003darguments.length,i\u003dnew Array(n),o\u003d0;o\u003cn;o++)i[o]\u003darguments[o];(t\u003di.length?i.reduce((function(e,t){return r(31).removeFragmentParam(t,e)}),e):r(31).modify(e,{fragment:null}))!\u003d\u003de\u0026\u0026window.history.replaceState(null,null,t)}}});function l(e,n){this.currentLayout\u0026\u0026(e!\u003d\u003dthis.currentLayout\u0026\u0026this.currentLayout._dispose(),r(10).trigger(\"layout:beforeChange\",this._currentLayoutInfo)),this.currentLayout\u003de;var i\u003de.getChangeEventData(n);this.setLayoutInfo(i);var o\u003dt(\"#content\");e.render(),o.children()[0]!\u003d\u003de.el\u0026\u0026o.empty()[0].appendChild(e.el),r(10).trigger(\"layout:change\",i)}function u(e){return e._navigationBlocks.filter(c).map((function(e){return e.callback})).filter(r(1).identity).reduce((function(e,t){return!1!\u003d\u003dt(e)\u0026\u0026e}),!0)}function c(e){return!e.condition||e.condition()}function d(e,t){(\"popstate\"!\u003d\u003dt.type||u(e))\u0026\u0026r(44).History.prototype.checkUrl.call(this,t)}}).call(this,r(25))},,,,,,,,function(e,t,r){\"use strict\";r.r(t),r.d(t,\"ActivityType\",(function(){return n})),r.d(t,\"ActivityFilter\",(function(){return i}));var n,i;r(83),r(99),r(336),r(314);!function(e){e.playlistLike\u003d\"playlist-like\",e.playlistRepost\u003d\"playlist-repost\",e.trackRepost\u003d\"track-repost\",e.trackLike\u003d\"track-like\",e.comment\u003d\"comment\",e.mention\u003d\"mention\",e.affiliation\u003d\"affiliation\"}(n||(n\u003d{})),function(e){e.all\u003d\"all\",e.likes\u003d\"likes\",e.reposts\u003d\"reposts\",e.follows\u003d\"follows\",e.comments\u003d\"comments\"}(i||(i\u003d{}))},,,,,function(e,t,r){var n\u003d[{emitter:r(50),event:\"follow\",getInstance:function(e,t){var r\u003dt.target;return e.id\u003d\u003d\u003dr},handler:function(e){var t\u003de.state?1:-1;this.has(\"followers_count\")\u0026\u0026this.set(\"followers_count\",Math.max(0,this.get(\"followers_count\")+t))}}];e.exports\u003dr(27).extend(r(555),r(745).withOptions({types:r(1239).user}),r(242).withOptions({attr:\"username\"}),r(307).withOptions({read:\"avatar_url\"}),r(423),r(195).withOptions({events:n}),{resource_type:\"user\",urnPrefix:\"soundcloud:users\",baseUrl:function(){if(this.id)return this.getEndpointUrl(\"user\",{id:this.id})},owns:function(e,t){if(void 0\u003d\u003d\u003dt\u0026\u0026(e\u003d(t\u003de).resource_type),!this.id)return!1;switch(e){case\"comment\":case\"playlist\":case\"sound\":var r\u003d\"get\"in t?t.get(\"user_id\"):t.user_id;return this.id\u003d\u003d\u003dr;case\"system-playlist\":var n\u003d\"get\"in t?t.get(\"made_for\"):t.made_for;return this.id\u003d\u003d\u003d(null\u003d\u003dn?void 0:n.id);default:return!1}},getCountry:function(){var e\u003dthis.get(\"country_code\");return e?r(77).codeToCountry(e):this.get(\"country\")},getCountryCode:function(){var e\u003dthis.get(\"country\");return e?r(77).countryToCode(e):this.get(\"country_code\")},getCreatorPlan:function(){var e\u003dthis.get(\"creator_subscription\");return e?e.product.id:r(35).CREATOR_SUBSCRIPTION_FREE},getConsumerPlan:function(){var e\u003dthis.get(\"consumer_subscription\");return e?e.product.id:r(35).CONSUMER_SUBSCRIPTION_FREE},hasSpotlightFeature:function(){return this.isPremium()},isPremium:function(){return this.getCreatorPlan()!\u003d\u003dr(35).CREATOR_SUBSCRIPTION_FREE},getPermalink:function(){return(this.get(\"permalink_url\")||\"\").replace(/^https?:.+?\\w\\//,\"/\")},isMe:function(){return this.id\u003d\u003d\u003dr(6).get(\"me\").get(\"id\")},isSystemUser:function(){return this.id\u003d\u003d\u003dr(6).get(\"systemUserId\")},getNumTracks:function(){return this.get(\"track_count\")||0},getNumPlaylists:function(e){return this.get(\"playlist_count\")||0},getRSSFeedUrl:function(){return\"https://feeds.soundcloud.com/users/\"+this.getUrn()+\"/sounds.rss\"}},{normalize:function(e){return e.avatar_url\u0026\u0026(e.avatar_url\u003de.avatar_url.replace(\"http:\",\"https:\").replace(/\\?.*/,\"\")),e},resolve:function(e){return\"you\"\u003d\u003d\u003de?r(11).resolve(r(6).get(\"me\")):r(27)._resolve(this,e,(function(t){return t.hasPermalink(e)}))}})},,function(e,t,r){var n;\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/!function(){\"use strict\";var r\u003d{}.hasOwnProperty;function i(){for(var e\u003d[],t\u003d0;t\u003carguments.length;t++){var n\u003darguments[t];if(n){var o\u003dtypeof n;if(\"string\"\u003d\u003d\u003do||\"number\"\u003d\u003d\u003do)e.push(n);else if(Array.isArray(n)){if(n.length){var a\u003di.apply(null,n);a\u0026\u0026e.push(a)}}else if(\"object\"\u003d\u003d\u003do){if(n.toString!\u003d\u003dObject.prototype.toString\u0026\u0026!n.toString.toString().includes(\"[native code]\")){e.push(n.toString());continue}for(var s in n)r.call(n,s)\u0026\u0026n[s]\u0026\u0026e.push(s)}}}return e.join(\" \")}e.exports?(i.default\u003di,e.exports\u003di):void 0\u003d\u003d\u003d(n\u003dfunction(){return i}.apply(t,[]))||(e.exports\u003dn)}()},,,,function(e,t,r){\"use strict\";var n\u003dthis\u0026\u0026this.__createBinding||(Object.create?function(e,t,r,n){void 0\u003d\u003d\u003dn\u0026\u0026(n\u003dr);var i\u003dObject.getOwnPropertyDescriptor(t,r);i\u0026\u0026!(\"get\"in i?!t.__esModule:i.writable||i.configurable)||(i\u003d{enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0\u003d\u003d\u003dn\u0026\u0026(n\u003dr),e[n]\u003dt[r]}),i\u003dthis\u0026\u0026this.__exportStar||function(e,t){for(var r in e)\"default\"\u003d\u003d\u003dr||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:!0}),i(r(1572),t)},,function(e,t,r){\"use strict\";var n\u003dthis\u0026\u0026this.__assign||function(){return(n\u003dObject.assign||function(e){for(var t,r\u003d1,n\u003darguments.length;r\u003cn;r++)for(var i in t\u003darguments[r])Object.prototype.hasOwnProperty.call(t,i)\u0026\u0026(e[i]\u003dt[i]);return e}).apply(this,arguments)},i\u003dthis\u0026\u0026this.__rest||function(e,t){var r\u003d{};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)\u0026\u0026t.indexOf(n)\u003c0\u0026\u0026(r[n]\u003de[n]);if(null!\u003de\u0026\u0026\"function\"\u003d\u003dtypeof Object.getOwnPropertySymbols){var i\u003d0;for(n\u003dObject.getOwnPropertySymbols(e);i\u003cn.length;i++)t.indexOf(n[i])\u003c0\u0026\u0026Object.prototype.propertyIsEnumerable.call(e,n[i])\u0026\u0026(r[n[i]]\u003de[n[i]])}return r},o\u003dthis\u0026\u0026this.__importDefault||function(e){return e\u0026\u0026e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0});var a\u003do(r(0));t.default\u003dfunction(e){var t\u003de.className,r\u003de.children,o\u003de.title,s\u003di(e,[\"className\",\"children\",\"title\"]);return a.default.createElement(\"svg\",n({},s,{xmlns:\"http://www.w3.org/2000/svg\",className:t,\"aria-hidden\":!o}),o\u0026\u0026a.default.createElement(\"title\",null,o),r)}},function(e,t,r){\"use strict\";r.d(t,\"f\",(function(){return s})),r.d(t,\"c\",(function(){return l})),r.d(t,\"b\",(function(){return u})),r.d(t,\"e\",(function(){return c})),r.d(t,\"a\",(function(){return f})),r.d(t,\"d\",(function(){return h}));var n\u003dr(0),i\u003dr.n(n),o\u003dr(476),a\u003dObject(n.createContext)({ui_component_name:null,ui_component_urn:null});function s(){return Object(n.useContext)(a)}var l\u003dfunction(e){var t\u003de.ui_component_name,r\u003de.ui_component_urn,i\u003de.children,o\u003dObject(n.useMemo)((function(){return{ui_component_name:t,ui_component_urn:r}}),[t,r]);return Object(n.createElement)(a.Provider,{value:o},i)},u\u003dObject(n.createContext)(null),c\u003dfunction(){return Object(n.useContext)(u)},d\u003di.a.createContext(null),f\u003dfunction(e){var t\u003de.rootMargin,r\u003de.children;return i.a.createElement(d.Provider,{value:t},r)};function h(e){var t,r\u003dnull!\u003d\u003d(t\u003di.a.useContext(d))\u0026\u0026void 0!\u003d\u003dt?t:void 0,a\u003di.a.useRef(null),s\u003di.a.useRef(null),l\u003di.a.useRef(!1),u\u003di.a.useCallback((function(){s.current\u0026\u0026(s.current.result.abort(),s.current\u003dnull);var t\u003da.current;if(t\u0026\u0026!l.current){var n\u003dObject(o.a)(t,{viewportRootMargin:r});n.promise.then((function(){e(),l.current\u003d!0,s.current\u003dnull})),s.current\u003d{result:n,rootMargin:r}}}),[e,r]);Object(n.useEffect)((function(){u()}),[u]),Object(n.useEffect)((function(){return function(){s.current\u0026\u0026s.current.result.abort()}}),[]);return function(e){a.current\u003de,u()}}},function(e,t,r){\"use strict\";e.exports\u003dfunction(e,t){return t||(t\u003d{}),\"string\"!\u003dtypeof(e\u003de\u0026\u0026e.__esModule?e.default:e)?e:(/^[\u0027\"].*[\u0027\"]$/.test(e)\u0026\u0026(e\u003de.slice(1,-1)),t.hash\u0026\u0026(e+\u003dt.hash),/[\"\u0027() \\t\\n]/.test(e)||t.needQuotes?\u0027\"\u0027.concat(e.replace(/\"/g,\u0027\\\\\"\u0027).replace(/\\n/g,\"\\\\n\"),\u0027\"\u0027):e)}},,,,,,function(e,t,r){var n\u003dfunction e(t,n){return new(e.getClass(t))(t\u003dr(1).omit(t,\"resource_type\"),n)};n.getClass\u003dfunction(e){var t\u003de.resource_type||e.kind;return r(\"playlist\"\u003d\u003d\u003dt?65:\"system-playlist\"\u003d\u003d\u003dt?113:28)},e.exports\u003dn},,,function(e,t,r){var n\u003dr(44).Collection.extend({model:r(28),fetch:function(){return this.playlist.fetch.apply(this.playlist,arguments)},initialize:function(e,t){this.playlist\u003dt.playlist},hasDataForView:function(){return!!this.playlist.attributes.tracks},isFullyPopulated:r(1).constant(!0),_usageCount:r(1).constant(1),hold:r(1).noop,release:r(1).noop}),i\u003dfunction(e,t){var r\u003dt.target,n\u003dt.targetType;return e.id\u003d\u003d\u003dr\u0026\u0026\"playlist\"\u003d\u003d\u003dn},o\u003d[{emitter:r(10),event:\"broadcast:tracklistChange\",getInstance:function(e,t){return e.id\u003d\u003d\u003dt.id},handler:function(e){var t\u003de.trackIds;c.call(this,t)}},{emitter:r(50),event:\"like\",getInstance:i,handler:function(e){this.onLike(e)}},{emitter:r(50),event:\"repost\",getInstance:i,handler:function(e){this.onRepost(e)}}];e.exports\u003dr(27).extend(r(507),r(556),r(508),r(549),r(242).withOptions({attr:\"title\"}),r(307).withOptions({read:\"artwork_url\",write:\"image_data\",useFormData:!1}),r(423),r(748),r(195).withOptions({events:o}),{resource_type:\"playlist\",urnPrefix:\"soundcloud:playlists\",saveFormat:\"json\",submodelMap:{tracks:r(28),user:r(46)},soundsCollection:null,_currentSound:null,getSubmodelOptions:function(e){return\"user\"\u003d\u003d\u003de?{parse:!0}:null},setup:function(){this.soundsCollection\u003dnew n(null,{playlist:this}),this.listenTo(r(21),\"change:currentSound\",this._onCurrentSoundChanged),this.listenTo(this.soundsCollection,\"error\",(function(e,t,n){t instanceof r(284)\u0026\u0026this.removeSound(e)}))},baseUrl:function(){return this.getEndpointUrl(\"playlist\",{id:this.id},{representation:\"full\"})},destroyUrl:function(){return this.getEndpointUrl(\"playlistDelete\",{id:this.id})},saveUrl:function(){return this.isNew()?this.getEndpointUrl(\"playlistCreate\"):this.getEndpointUrl(\"playlistUpdate\",{id:this.id})},getImageSaveUrl:function(){return this.getEndpointUrl(\"playlistArtworkUpdate\",{urn:this.getUrn()})},createSubmodel:function(e,t){\"tracks\"\u003d\u003d\u003dt?this.prepareSounds():r(27).prototype.createSubmodel.apply(this,arguments)},prepareSounds:", + "latestUrl": "https://a-v2.sndcdn.com/assets/51-9e9aaefc.js" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_3.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_3.json new file mode 100644 index 0000000000..d4fd1b4e14 --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_3.json @@ -0,0 +1,65 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://api-v2.soundcloud.com/users/73637815/tracks?client_id\u003dMoLbAg35TuqjYwWVtNIKyRPFScQGMOBY\u0026limit\u003d20\u0026linked_partitioning\u003d1", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "cache-control": [ + "private, max-age\u003d0" + ], + "content-type": [ + "application/json; charset\u003dutf-8" + ], + "date": [ + "Sat, 11 Oct 2025 07:19:38 GMT" + ], + "referrer-policy": [ + "no-referrer" + ], + "server": [ + "am/2" + ], + "strict-transport-security": [ + "max-age\u003d63072000" + ], + "vary": [ + "Origin" + ], + "via": [ + "1.1 83dede49b3c78b7f99a0399a34264ed6.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "ytLcFhjUCdOedo-3myQvmJ6HMksUHHYo0O-YA-4MXMncUouLA_sGsQ\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL52-P2" + ], + "x-cache": [ + "Miss from cloudfront" + ], + "x-content-type-options": [ + "nosniff" + ], + "x-frame-options": [ + "DENY" + ], + "x-robots-tag": [ + "noindex" + ] + }, + "responseBody": "{\"collection\":[{\"artwork_url\":\"https://i1.sndcdn.com/artworks-ioab9sa43ergvMuF-Ro80fw-large.jpg\",\"caption\":null,\"commentable\":true,\"comment_count\":62,\"created_at\":\"2025-09-25T22:31:12Z\",\"description\":\"HURTBOX - JUMP (FT. E THE PROFIT)\\n\\nBUY / STREAM: https://bassrush.ffm.to/jump\\n\\nCONNECT WITH HURTBOX\\nLINKTR.EE/HURTBOX\\nWWW.INSTAGRAM.COM/HURTBOXOFFICIAL\\nWWW.TWITTER.COM/HURTBOXOFFICIAL\",\"downloadable\":false,\"download_count\":0,\"duration\":221738,\"full_duration\":221727,\"embeddable_by\":\"all\",\"genre\":\"Dubstep\",\"has_downloads_left\":false,\"id\":2176778148,\"kind\":\"track\",\"label_name\":\"BASSRUSH RECORDS\",\"last_modified\":\"2025-09-26T12:21:27Z\",\"license\":\"all-rights-reserved\",\"likes_count\":1101,\"permalink\":\"40bc3daa-c634-4f1f-8fb0-dcc2e6b80118\",\"permalink_url\":\"https://soundcloud.com/hurtbox/40bc3daa-c634-4f1f-8fb0-dcc2e6b80118\",\"playback_count\":10791,\"public\":true,\"publisher_metadata\":{\"id\":2176778148,\"urn\":\"soundcloud:tracks:2176778148\",\"artist\":\"HURTBOX\",\"contains_music\":true,\"isrc\":\"NL8RL2554898\",\"explicit\":false},\"purchase_title\":null,\"purchase_url\":\"https://bassrush.ffm.to/jump\",\"release_date\":\"2025-09-25T00:00:00Z\",\"reposts_count\":102,\"secret_token\":null,\"sharing\":\"public\",\"state\":\"finished\",\"streamable\":true,\"tag_list\":\"\",\"title\":\"HURTBOX - JUMP (Ft. E THE PROFIT)\",\"uri\":\"https://api.soundcloud.com/tracks/soundcloud%3Atracks%3A2176778148\",\"urn\":\"soundcloud:tracks:2176778148\",\"user_id\":73637815,\"visuals\":null,\"waveform_url\":\"https://wave.sndcdn.com/21PaoDm336cc_m.json\",\"display_date\":\"2025-09-26T04:05:46Z\",\"media\":{\"transcodings\":[{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/e8e0ad25-6d90-49f1-8cf3-496b991727bf/stream/hls\",\"preset\":\"aac_160k\",\"duration\":221738,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mp4; codecs\u003d\\\"mp4a.40.2\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/746e3659-dd49-4d40-83da-de66291c7aad/stream/hls\",\"preset\":\"abr_sq\",\"duration\":221738,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpegurl\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/be4fe0b0-78d5-46c3-889f-c393e75168cf/stream/hls\",\"preset\":\"mp3_1_0\",\"duration\":221727,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/be4fe0b0-78d5-46c3-889f-c393e75168cf/stream/progressive\",\"preset\":\"mp3_1_0\",\"duration\":221727,\"snipped\":false,\"format\":{\"protocol\":\"progressive\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/206c77eb-ef0d-4f2c-9cb5-5759732cc3d9/stream/hls\",\"preset\":\"opus_0_0\",\"duration\":221698,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/ogg; codecs\u003d\\\"opus\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true}]},\"station_urn\":\"soundcloud:system-playlists:track-stations:2176778148\",\"station_permalink\":\"track-stations:2176778148\",\"track_authorization\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJnZW8iOiJERSIsInN1YiI6IiIsInJpZCI6IjM0MDA0ODU5LTVmNjQtNDU4Ni1hMmZmLTVjZGUzMzdiMzJlZCIsImlhdCI6MTc2MDE2NzE3OH0.69L66KRAW20aVsTcDjjTyCgtmRvWZjPwSqD2af_3uvo\",\"monetization_model\":\"AD_SUPPORTED\",\"policy\":\"MONETIZE\",\"user\":{\"avatar_url\":\"https://i1.sndcdn.com/avatars-ETlfaab3lfH7NuVu-7ckpPg-large.jpg\",\"first_name\":\"Stranger\",\"followers_count\":17408,\"full_name\":\"Stranger Twins\",\"id\":73637815,\"kind\":\"user\",\"last_modified\":\"2025-09-26T12:22:45Z\",\"last_name\":\"Twins\",\"permalink\":\"hurtbox\",\"permalink_url\":\"https://soundcloud.com/hurtbox\",\"uri\":\"https://api.soundcloud.com/users/soundcloud%3Ausers%3A73637815\",\"urn\":\"soundcloud:users:73637815\",\"username\":\"HURTBOX\",\"verified\":true,\"city\":\"\",\"country_code\":\"FR\",\"badges\":{\"pro\":false,\"creator_mid_tier\":false,\"pro_unlimited\":true,\"verified\":true},\"station_urn\":\"soundcloud:system-playlists:artist-stations:73637815\",\"station_permalink\":\"artist-stations:73637815\"}},{\"artwork_url\":\"https://i1.sndcdn.com/artworks-z3eRpOSRvzxcVjzz-qLnhTw-large.jpg\",\"caption\":null,\"commentable\":true,\"comment_count\":90,\"created_at\":\"2025-09-05T16:24:55Z\",\"description\":\"HURTBOX - ALONE\\n\\nBUY / STREAM: https://createmusic.fm/hurtbox-alone\\n\\nCONNECT WITH HURTBOX\\nLINKTR.EE/HURTBOX\\nWWW.INSTAGRAM.COM/HURTBOXOFFICIAL\\nWWW.TWITTER.COM/HURTBOXOFFICIAL\",\"downloadable\":false,\"download_count\":0,\"duration\":187501,\"full_duration\":187507,\"embeddable_by\":\"all\",\"genre\":\"\",\"has_downloads_left\":false,\"id\":2165502222,\"kind\":\"track\",\"label_name\":\"\",\"last_modified\":\"2025-09-05T16:42:39Z\",\"license\":\"all-rights-reserved\",\"likes_count\":1202,\"permalink\":\"73e32a6c-7f44-49dd-a523-e06575e78bbd\",\"permalink_url\":\"https://soundcloud.com/hurtbox/73e32a6c-7f44-49dd-a523-e06575e78bbd\",\"playback_count\":15040,\"public\":true,\"publisher_metadata\":{\"id\":2165502222,\"urn\":\"soundcloud:tracks:2165502222\",\"artist\":\"HURTBOX\",\"contains_music\":true,\"isrc\":\"QZTGW2406483\",\"explicit\":false},\"purchase_title\":null,\"purchase_url\":null,\"release_date\":null,\"reposts_count\":110,\"secret_token\":null,\"sharing\":\"public\",\"state\":\"finished\",\"streamable\":true,\"tag_list\":\"\",\"title\":\"HURTBOX - ALONE\",\"uri\":\"https://api.soundcloud.com/tracks/soundcloud%3Atracks%3A2165502222\",\"urn\":\"soundcloud:tracks:2165502222\",\"user_id\":73637815,\"visuals\":null,\"waveform_url\":\"https://wave.sndcdn.com/mIxqMwLPm2mR_m.json\",\"display_date\":\"2025-09-05T16:24:55Z\",\"media\":{\"transcodings\":[{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/af712d6e-f7e1-4712-b1ce-620217a0137b/stream/hls\",\"preset\":\"aac_160k\",\"duration\":187501,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mp4; codecs\u003d\\\"mp4a.40.2\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/30f8d5cc-b5e0-462d-9bd5-1685b037eb63/stream/hls\",\"preset\":\"abr_sq\",\"duration\":187501,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpegurl\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/ef5f0627-2f45-487e-af5c-dfd37d46e4b0/stream/hls\",\"preset\":\"mp3_1_0\",\"duration\":187507,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/ef5f0627-2f45-487e-af5c-dfd37d46e4b0/stream/progressive\",\"preset\":\"mp3_1_0\",\"duration\":187507,\"snipped\":false,\"format\":{\"protocol\":\"progressive\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/55871e01-0310-425c-8c09-fe2eb38bcb1e/stream/hls\",\"preset\":\"opus_0_0\",\"duration\":187462,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/ogg; codecs\u003d\\\"opus\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true}]},\"station_urn\":\"soundcloud:system-playlists:track-stations:2165502222\",\"station_permalink\":\"track-stations:2165502222\",\"track_authorization\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJnZW8iOiJERSIsInN1YiI6IiIsInJpZCI6IjdjZjExNWZiLTQ1ZjYtNDdhYi04OTY3LWE0ZDZjMWFiMGFjZSIsImlhdCI6MTc2MDE2NzE3OH0.YV2Oj3LVRrLekxu_cu1MuIanEAPV8woATXeiTxBM-Sc\",\"monetization_model\":\"AD_SUPPORTED\",\"policy\":\"MONETIZE\",\"user\":{\"avatar_url\":\"https://i1.sndcdn.com/avatars-ETlfaab3lfH7NuVu-7ckpPg-large.jpg\",\"first_name\":\"Stranger\",\"followers_count\":17408,\"full_name\":\"Stranger Twins\",\"id\":73637815,\"kind\":\"user\",\"last_modified\":\"2025-09-26T12:22:45Z\",\"last_name\":\"Twins\",\"permalink\":\"hurtbox\",\"permalink_url\":\"https://soundcloud.com/hurtbox\",\"uri\":\"https://api.soundcloud.com/users/soundcloud%3Ausers%3A73637815\",\"urn\":\"soundcloud:users:73637815\",\"username\":\"HURTBOX\",\"verified\":true,\"city\":\"\",\"country_code\":\"FR\",\"badges\":{\"pro\":false,\"creator_mid_tier\":false,\"pro_unlimited\":true,\"verified\":true},\"station_urn\":\"soundcloud:system-playlists:artist-stations:73637815\",\"station_permalink\":\"artist-stations:73637815\"}}],\"next_href\":\"https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-08-21T00%3A29%3A25.000Z%2Ctracks%2C00000000002156644959\u0026limit\u003d20\",\"query_urn\":null}", + "latestUrl": "https://api-v2.soundcloud.com/users/73637815/tracks?client_id\u003dLAd42S06rwW6N9SO85p7573ak7rH6lMf\u0026limit\u003d20\u0026linked_partitioning\u003d1" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_4.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_4.json new file mode 100644 index 0000000000..6f410d585e --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_4.json @@ -0,0 +1,65 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-08-21T00%3A29%3A25.000Z%2Ctracks%2C00000000002156644959\u0026limit\u003d20\u0026client_id\u003dMoLbAg35TuqjYwWVtNIKyRPFScQGMOBY", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "cache-control": [ + "private, max-age\u003d0" + ], + "content-type": [ + "application/json; charset\u003dutf-8" + ], + "date": [ + "Sat, 11 Oct 2025 07:19:38 GMT" + ], + "referrer-policy": [ + "no-referrer" + ], + "server": [ + "am/2" + ], + "strict-transport-security": [ + "max-age\u003d63072000" + ], + "vary": [ + "Origin" + ], + "via": [ + "1.1 83dede49b3c78b7f99a0399a34264ed6.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "0UpUh06BgQhdPZQ0hE4rGq4Rjwga-6M3lUT0p7j5-lcA1hRZNt_JnA\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL52-P2" + ], + "x-cache": [ + "Miss from cloudfront" + ], + "x-content-type-options": [ + "nosniff" + ], + "x-frame-options": [ + "DENY" + ], + "x-robots-tag": [ + "noindex" + ] + }, + "responseBody": "{\"collection\":[],\"next_href\":\"https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-07-05T12%3A27%3A20.000Z%2Ctracks%2C00000000002125020450\u0026limit\u003d20\",\"query_urn\":null}", + "latestUrl": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-08-21T00%3A29%3A25.000Z%2Ctracks%2C00000000002156644959\u0026limit\u003d20\u0026client_id\u003dLAd42S06rwW6N9SO85p7573ak7rH6lMf" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_5.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_5.json new file mode 100644 index 0000000000..e3d87ffaf9 --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_5.json @@ -0,0 +1,65 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-07-05T12%3A27%3A20.000Z%2Ctracks%2C00000000002125020450\u0026limit\u003d20\u0026client_id\u003dMoLbAg35TuqjYwWVtNIKyRPFScQGMOBY", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "cache-control": [ + "private, max-age\u003d0" + ], + "content-type": [ + "application/json; charset\u003dutf-8" + ], + "date": [ + "Sat, 11 Oct 2025 07:19:39 GMT" + ], + "referrer-policy": [ + "no-referrer" + ], + "server": [ + "am/2" + ], + "strict-transport-security": [ + "max-age\u003d63072000" + ], + "vary": [ + "Origin" + ], + "via": [ + "1.1 83dede49b3c78b7f99a0399a34264ed6.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "CzTxlo72z2ctKYhnzfuek54F8tF6WaDxR5A6o9LVigAthhYC2uSkNA\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL52-P2" + ], + "x-cache": [ + "Miss from cloudfront" + ], + "x-content-type-options": [ + "nosniff" + ], + "x-frame-options": [ + "DENY" + ], + "x-robots-tag": [ + "noindex" + ] + }, + "responseBody": "{\"collection\":[{\"artwork_url\":\"https://i1.sndcdn.com/artworks-D0rZyiG0DCLQRz2H-qJJLCg-large.jpg\",\"caption\":null,\"commentable\":true,\"comment_count\":52,\"created_at\":\"2025-07-02T08:55:39Z\",\"description\":\"COMPREHENSION BARRIER (HURTBOX REMIX)\\n\\nBUY / STREAM: https://svddendeath.ffm.to/vol25pt2\\n\\nCONNECT WITH HURTBOX\\nLINKTR.EE/HURTBOX\\nWWW.INSTAGRAM.COM/HURTBOXOFFICIAL\\nWWW.TWITTER.COM/HURTBOXOFFICIAL\",\"downloadable\":false,\"download_count\":0,\"duration\":182836,\"full_duration\":182831,\"embeddable_by\":\"all\",\"genre\":\"\",\"has_downloads_left\":false,\"id\":2123104704,\"kind\":\"track\",\"label_name\":\"\",\"last_modified\":\"2025-07-02T09:39:00Z\",\"license\":\"all-rights-reserved\",\"likes_count\":1374,\"permalink\":\"svdden-death-comprehension-1\",\"permalink_url\":\"https://soundcloud.com/hurtbox/svdden-death-comprehension-1\",\"playback_count\":19424,\"public\":true,\"publisher_metadata\":{\"id\":2123104704,\"urn\":\"soundcloud:tracks:2123104704\",\"artist\":\"SVDDEN DEATH, HURTBOX\",\"isrc\":\"QZTGW2405879\"},\"purchase_title\":\"https://svddendeath.ff\",\"purchase_url\":null,\"release_date\":\"2025-07-02T00:00:00Z\",\"reposts_count\":75,\"secret_token\":null,\"sharing\":\"public\",\"state\":\"finished\",\"streamable\":true,\"tag_list\":\"\",\"title\":\"SVDDEN DEATH - COMPREHENSION BARRIER (HURTBOX REMIX)\",\"uri\":\"https://api.soundcloud.com/tracks/soundcloud%3Atracks%3A2123104704\",\"urn\":\"soundcloud:tracks:2123104704\",\"user_id\":73637815,\"visuals\":null,\"waveform_url\":\"https://wave.sndcdn.com/zfrJMUFAYiMq_m.json\",\"display_date\":\"2025-07-02T08:55:39Z\",\"media\":{\"transcodings\":[{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2123104704/29192601-edcc-466c-a94f-932773224153/stream/hls\",\"preset\":\"aac_160k\",\"duration\":182836,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mp4; codecs\u003d\\\"mp4a.40.2\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2123104704/427357b1-db5a-470e-ad66-f07f68389086/stream/hls\",\"preset\":\"abr_sq\",\"duration\":182836,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpegurl\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2123104704/8c090ce4-ba91-4843-9d26-462f3e2278a0/stream/hls\",\"preset\":\"mp3_1_0\",\"duration\":182831,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2123104704/8c090ce4-ba91-4843-9d26-462f3e2278a0/stream/progressive\",\"preset\":\"mp3_1_0\",\"duration\":182831,\"snipped\":false,\"format\":{\"protocol\":\"progressive\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2123104704/68df598d-367c-45e1-8172-f27fdd2c9933/stream/hls\",\"preset\":\"opus_0_0\",\"duration\":182797,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/ogg; codecs\u003d\\\"opus\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true}]},\"station_urn\":\"soundcloud:system-playlists:track-stations:2123104704\",\"station_permalink\":\"track-stations:2123104704\",\"track_authorization\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJnZW8iOiJERSIsInN1YiI6IiIsInJpZCI6IjEwODE3YzlhLTk2ZjQtNDllOS04OGY1LTMyYWUwZWFlMmNiNyIsImlhdCI6MTc2MDE2NzE3OX0.imLDbiNMM5kEou38Wrm7DRN3KRpp3CBB7QrTF8NiIW0\",\"monetization_model\":\"NOT_APPLICABLE\",\"policy\":\"ALLOW\",\"user\":{\"avatar_url\":\"https://i1.sndcdn.com/avatars-ETlfaab3lfH7NuVu-7ckpPg-large.jpg\",\"first_name\":\"Stranger\",\"followers_count\":17408,\"full_name\":\"Stranger Twins\",\"id\":73637815,\"kind\":\"user\",\"last_modified\":\"2025-09-26T12:22:45Z\",\"last_name\":\"Twins\",\"permalink\":\"hurtbox\",\"permalink_url\":\"https://soundcloud.com/hurtbox\",\"uri\":\"https://api.soundcloud.com/users/soundcloud%3Ausers%3A73637815\",\"urn\":\"soundcloud:users:73637815\",\"username\":\"HURTBOX\",\"verified\":true,\"city\":\"\",\"country_code\":\"FR\",\"badges\":{\"pro\":false,\"creator_mid_tier\":false,\"pro_unlimited\":true,\"verified\":true},\"station_urn\":\"soundcloud:system-playlists:artist-stations:73637815\",\"station_permalink\":\"artist-stations:73637815\"}}],\"next_href\":\"https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-06-06T13%3A44%3A21.000Z%2Ctracks%2C00000000002108853114\u0026limit\u003d20\",\"query_urn\":null}", + "latestUrl": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-07-05T12%3A27%3A20.000Z%2Ctracks%2C00000000002125020450\u0026limit\u003d20\u0026client_id\u003dLAd42S06rwW6N9SO85p7573ak7rH6lMf" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_6.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_6.json new file mode 100644 index 0000000000..749b1e3651 --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_6.json @@ -0,0 +1,65 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://api-v2.soundcloud.com/users/73637815/tracks?client_id\u003dMoLbAg35TuqjYwWVtNIKyRPFScQGMOBY\u0026limit\u003d20\u0026linked_partitioning\u003d1", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "cache-control": [ + "private, max-age\u003d0" + ], + "content-type": [ + "application/json; charset\u003dutf-8" + ], + "date": [ + "Sat, 11 Oct 2025 07:19:39 GMT" + ], + "referrer-policy": [ + "no-referrer" + ], + "server": [ + "am/2" + ], + "strict-transport-security": [ + "max-age\u003d63072000" + ], + "vary": [ + "Origin" + ], + "via": [ + "1.1 83dede49b3c78b7f99a0399a34264ed6.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "SofZcEzMa3BUxEtXSfpK-YEtJOmozNXpwZGT3kFaeWarFOI5k9DYXA\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL52-P2" + ], + "x-cache": [ + "Miss from cloudfront" + ], + "x-content-type-options": [ + "nosniff" + ], + "x-frame-options": [ + "DENY" + ], + "x-robots-tag": [ + "noindex" + ] + }, + "responseBody": "{\"collection\":[{\"artwork_url\":\"https://i1.sndcdn.com/artworks-ioab9sa43ergvMuF-Ro80fw-large.jpg\",\"caption\":null,\"commentable\":true,\"comment_count\":62,\"created_at\":\"2025-09-25T22:31:12Z\",\"description\":\"HURTBOX - JUMP (FT. E THE PROFIT)\\n\\nBUY / STREAM: https://bassrush.ffm.to/jump\\n\\nCONNECT WITH HURTBOX\\nLINKTR.EE/HURTBOX\\nWWW.INSTAGRAM.COM/HURTBOXOFFICIAL\\nWWW.TWITTER.COM/HURTBOXOFFICIAL\",\"downloadable\":false,\"download_count\":0,\"duration\":221738,\"full_duration\":221727,\"embeddable_by\":\"all\",\"genre\":\"Dubstep\",\"has_downloads_left\":false,\"id\":2176778148,\"kind\":\"track\",\"label_name\":\"BASSRUSH RECORDS\",\"last_modified\":\"2025-09-26T12:21:27Z\",\"license\":\"all-rights-reserved\",\"likes_count\":1101,\"permalink\":\"40bc3daa-c634-4f1f-8fb0-dcc2e6b80118\",\"permalink_url\":\"https://soundcloud.com/hurtbox/40bc3daa-c634-4f1f-8fb0-dcc2e6b80118\",\"playback_count\":10791,\"public\":true,\"publisher_metadata\":{\"id\":2176778148,\"urn\":\"soundcloud:tracks:2176778148\",\"artist\":\"HURTBOX\",\"contains_music\":true,\"isrc\":\"NL8RL2554898\",\"explicit\":false},\"purchase_title\":null,\"purchase_url\":\"https://bassrush.ffm.to/jump\",\"release_date\":\"2025-09-25T00:00:00Z\",\"reposts_count\":102,\"secret_token\":null,\"sharing\":\"public\",\"state\":\"finished\",\"streamable\":true,\"tag_list\":\"\",\"title\":\"HURTBOX - JUMP (Ft. E THE PROFIT)\",\"uri\":\"https://api.soundcloud.com/tracks/soundcloud%3Atracks%3A2176778148\",\"urn\":\"soundcloud:tracks:2176778148\",\"user_id\":73637815,\"visuals\":null,\"waveform_url\":\"https://wave.sndcdn.com/21PaoDm336cc_m.json\",\"display_date\":\"2025-09-26T04:05:46Z\",\"media\":{\"transcodings\":[{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/e8e0ad25-6d90-49f1-8cf3-496b991727bf/stream/hls\",\"preset\":\"aac_160k\",\"duration\":221738,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mp4; codecs\u003d\\\"mp4a.40.2\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/746e3659-dd49-4d40-83da-de66291c7aad/stream/hls\",\"preset\":\"abr_sq\",\"duration\":221738,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpegurl\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/be4fe0b0-78d5-46c3-889f-c393e75168cf/stream/hls\",\"preset\":\"mp3_1_0\",\"duration\":221727,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/be4fe0b0-78d5-46c3-889f-c393e75168cf/stream/progressive\",\"preset\":\"mp3_1_0\",\"duration\":221727,\"snipped\":false,\"format\":{\"protocol\":\"progressive\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/206c77eb-ef0d-4f2c-9cb5-5759732cc3d9/stream/hls\",\"preset\":\"opus_0_0\",\"duration\":221698,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/ogg; codecs\u003d\\\"opus\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true}]},\"station_urn\":\"soundcloud:system-playlists:track-stations:2176778148\",\"station_permalink\":\"track-stations:2176778148\",\"track_authorization\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJnZW8iOiJERSIsInN1YiI6IiIsInJpZCI6IjM0MDA0ODU5LTVmNjQtNDU4Ni1hMmZmLTVjZGUzMzdiMzJlZCIsImlhdCI6MTc2MDE2NzE4MH0.BbTTe2TBzQcx9fqf1B53ZhOdpaB67Fl7MmGwOih0qIs\",\"monetization_model\":\"AD_SUPPORTED\",\"policy\":\"MONETIZE\",\"user\":{\"avatar_url\":\"https://i1.sndcdn.com/avatars-ETlfaab3lfH7NuVu-7ckpPg-large.jpg\",\"first_name\":\"Stranger\",\"followers_count\":17408,\"full_name\":\"Stranger Twins\",\"id\":73637815,\"kind\":\"user\",\"last_modified\":\"2025-09-26T12:22:45Z\",\"last_name\":\"Twins\",\"permalink\":\"hurtbox\",\"permalink_url\":\"https://soundcloud.com/hurtbox\",\"uri\":\"https://api.soundcloud.com/users/soundcloud%3Ausers%3A73637815\",\"urn\":\"soundcloud:users:73637815\",\"username\":\"HURTBOX\",\"verified\":true,\"city\":\"\",\"country_code\":\"FR\",\"badges\":{\"pro\":false,\"creator_mid_tier\":false,\"pro_unlimited\":true,\"verified\":true},\"station_urn\":\"soundcloud:system-playlists:artist-stations:73637815\",\"station_permalink\":\"artist-stations:73637815\"}},{\"artwork_url\":\"https://i1.sndcdn.com/artworks-z3eRpOSRvzxcVjzz-qLnhTw-large.jpg\",\"caption\":null,\"commentable\":true,\"comment_count\":90,\"created_at\":\"2025-09-05T16:24:55Z\",\"description\":\"HURTBOX - ALONE\\n\\nBUY / STREAM: https://createmusic.fm/hurtbox-alone\\n\\nCONNECT WITH HURTBOX\\nLINKTR.EE/HURTBOX\\nWWW.INSTAGRAM.COM/HURTBOXOFFICIAL\\nWWW.TWITTER.COM/HURTBOXOFFICIAL\",\"downloadable\":false,\"download_count\":0,\"duration\":187501,\"full_duration\":187507,\"embeddable_by\":\"all\",\"genre\":\"\",\"has_downloads_left\":false,\"id\":2165502222,\"kind\":\"track\",\"label_name\":\"\",\"last_modified\":\"2025-09-05T16:42:39Z\",\"license\":\"all-rights-reserved\",\"likes_count\":1202,\"permalink\":\"73e32a6c-7f44-49dd-a523-e06575e78bbd\",\"permalink_url\":\"https://soundcloud.com/hurtbox/73e32a6c-7f44-49dd-a523-e06575e78bbd\",\"playback_count\":15040,\"public\":true,\"publisher_metadata\":{\"id\":2165502222,\"urn\":\"soundcloud:tracks:2165502222\",\"artist\":\"HURTBOX\",\"contains_music\":true,\"isrc\":\"QZTGW2406483\",\"explicit\":false},\"purchase_title\":null,\"purchase_url\":null,\"release_date\":null,\"reposts_count\":110,\"secret_token\":null,\"sharing\":\"public\",\"state\":\"finished\",\"streamable\":true,\"tag_list\":\"\",\"title\":\"HURTBOX - ALONE\",\"uri\":\"https://api.soundcloud.com/tracks/soundcloud%3Atracks%3A2165502222\",\"urn\":\"soundcloud:tracks:2165502222\",\"user_id\":73637815,\"visuals\":null,\"waveform_url\":\"https://wave.sndcdn.com/mIxqMwLPm2mR_m.json\",\"display_date\":\"2025-09-05T16:24:55Z\",\"media\":{\"transcodings\":[{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/af712d6e-f7e1-4712-b1ce-620217a0137b/stream/hls\",\"preset\":\"aac_160k\",\"duration\":187501,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mp4; codecs\u003d\\\"mp4a.40.2\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/30f8d5cc-b5e0-462d-9bd5-1685b037eb63/stream/hls\",\"preset\":\"abr_sq\",\"duration\":187501,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpegurl\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/ef5f0627-2f45-487e-af5c-dfd37d46e4b0/stream/hls\",\"preset\":\"mp3_1_0\",\"duration\":187507,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/ef5f0627-2f45-487e-af5c-dfd37d46e4b0/stream/progressive\",\"preset\":\"mp3_1_0\",\"duration\":187507,\"snipped\":false,\"format\":{\"protocol\":\"progressive\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/55871e01-0310-425c-8c09-fe2eb38bcb1e/stream/hls\",\"preset\":\"opus_0_0\",\"duration\":187462,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/ogg; codecs\u003d\\\"opus\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true}]},\"station_urn\":\"soundcloud:system-playlists:track-stations:2165502222\",\"station_permalink\":\"track-stations:2165502222\",\"track_authorization\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJnZW8iOiJERSIsInN1YiI6IiIsInJpZCI6IjdjZjExNWZiLTQ1ZjYtNDdhYi04OTY3LWE0ZDZjMWFiMGFjZSIsImlhdCI6MTc2MDE2NzE4MH0.zyyVQbM47iaJlbb-vddnWJ0uixA87zmqP8jZz12cMo0\",\"monetization_model\":\"AD_SUPPORTED\",\"policy\":\"MONETIZE\",\"user\":{\"avatar_url\":\"https://i1.sndcdn.com/avatars-ETlfaab3lfH7NuVu-7ckpPg-large.jpg\",\"first_name\":\"Stranger\",\"followers_count\":17408,\"full_name\":\"Stranger Twins\",\"id\":73637815,\"kind\":\"user\",\"last_modified\":\"2025-09-26T12:22:45Z\",\"last_name\":\"Twins\",\"permalink\":\"hurtbox\",\"permalink_url\":\"https://soundcloud.com/hurtbox\",\"uri\":\"https://api.soundcloud.com/users/soundcloud%3Ausers%3A73637815\",\"urn\":\"soundcloud:users:73637815\",\"username\":\"HURTBOX\",\"verified\":true,\"city\":\"\",\"country_code\":\"FR\",\"badges\":{\"pro\":false,\"creator_mid_tier\":false,\"pro_unlimited\":true,\"verified\":true},\"station_urn\":\"soundcloud:system-playlists:artist-stations:73637815\",\"station_permalink\":\"artist-stations:73637815\"}}],\"next_href\":\"https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-08-21T00%3A29%3A25.000Z%2Ctracks%2C00000000002156644959\u0026limit\u003d20\",\"query_urn\":null}", + "latestUrl": "https://api-v2.soundcloud.com/users/73637815/tracks?client_id\u003dLAd42S06rwW6N9SO85p7573ak7rH6lMf\u0026limit\u003d20\u0026linked_partitioning\u003d1" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_7.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_7.json new file mode 100644 index 0000000000..f9e02ba16f --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_7.json @@ -0,0 +1,65 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://api-v2.soundcloud.com/users/73637815/tracks?client_id\u003dMoLbAg35TuqjYwWVtNIKyRPFScQGMOBY\u0026limit\u003d20\u0026linked_partitioning\u003d1", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "cache-control": [ + "private, max-age\u003d0" + ], + "content-type": [ + "application/json; charset\u003dutf-8" + ], + "date": [ + "Sat, 11 Oct 2025 07:19:40 GMT" + ], + "referrer-policy": [ + "no-referrer" + ], + "server": [ + "am/2" + ], + "strict-transport-security": [ + "max-age\u003d63072000" + ], + "vary": [ + "Origin" + ], + "via": [ + "1.1 83dede49b3c78b7f99a0399a34264ed6.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "bzIQxtk2bbLw5hCAxEriNBN9O1Qiyd11jC3Yn-XrqQBxXI_AebT62w\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL52-P2" + ], + "x-cache": [ + "Miss from cloudfront" + ], + "x-content-type-options": [ + "nosniff" + ], + "x-frame-options": [ + "DENY" + ], + "x-robots-tag": [ + "noindex" + ] + }, + "responseBody": "{\"collection\":[{\"artwork_url\":\"https://i1.sndcdn.com/artworks-ioab9sa43ergvMuF-Ro80fw-large.jpg\",\"caption\":null,\"commentable\":true,\"comment_count\":62,\"created_at\":\"2025-09-25T22:31:12Z\",\"description\":\"HURTBOX - JUMP (FT. E THE PROFIT)\\n\\nBUY / STREAM: https://bassrush.ffm.to/jump\\n\\nCONNECT WITH HURTBOX\\nLINKTR.EE/HURTBOX\\nWWW.INSTAGRAM.COM/HURTBOXOFFICIAL\\nWWW.TWITTER.COM/HURTBOXOFFICIAL\",\"downloadable\":false,\"download_count\":0,\"duration\":221738,\"full_duration\":221727,\"embeddable_by\":\"all\",\"genre\":\"Dubstep\",\"has_downloads_left\":false,\"id\":2176778148,\"kind\":\"track\",\"label_name\":\"BASSRUSH RECORDS\",\"last_modified\":\"2025-09-26T12:21:27Z\",\"license\":\"all-rights-reserved\",\"likes_count\":1101,\"permalink\":\"40bc3daa-c634-4f1f-8fb0-dcc2e6b80118\",\"permalink_url\":\"https://soundcloud.com/hurtbox/40bc3daa-c634-4f1f-8fb0-dcc2e6b80118\",\"playback_count\":10791,\"public\":true,\"publisher_metadata\":{\"id\":2176778148,\"urn\":\"soundcloud:tracks:2176778148\",\"artist\":\"HURTBOX\",\"contains_music\":true,\"isrc\":\"NL8RL2554898\",\"explicit\":false},\"purchase_title\":null,\"purchase_url\":\"https://bassrush.ffm.to/jump\",\"release_date\":\"2025-09-25T00:00:00Z\",\"reposts_count\":102,\"secret_token\":null,\"sharing\":\"public\",\"state\":\"finished\",\"streamable\":true,\"tag_list\":\"\",\"title\":\"HURTBOX - JUMP (Ft. E THE PROFIT)\",\"uri\":\"https://api.soundcloud.com/tracks/soundcloud%3Atracks%3A2176778148\",\"urn\":\"soundcloud:tracks:2176778148\",\"user_id\":73637815,\"visuals\":null,\"waveform_url\":\"https://wave.sndcdn.com/21PaoDm336cc_m.json\",\"display_date\":\"2025-09-26T04:05:46Z\",\"media\":{\"transcodings\":[{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/e8e0ad25-6d90-49f1-8cf3-496b991727bf/stream/hls\",\"preset\":\"aac_160k\",\"duration\":221738,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mp4; codecs\u003d\\\"mp4a.40.2\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/746e3659-dd49-4d40-83da-de66291c7aad/stream/hls\",\"preset\":\"abr_sq\",\"duration\":221738,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpegurl\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/be4fe0b0-78d5-46c3-889f-c393e75168cf/stream/hls\",\"preset\":\"mp3_1_0\",\"duration\":221727,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/be4fe0b0-78d5-46c3-889f-c393e75168cf/stream/progressive\",\"preset\":\"mp3_1_0\",\"duration\":221727,\"snipped\":false,\"format\":{\"protocol\":\"progressive\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2176778148/206c77eb-ef0d-4f2c-9cb5-5759732cc3d9/stream/hls\",\"preset\":\"opus_0_0\",\"duration\":221698,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/ogg; codecs\u003d\\\"opus\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true}]},\"station_urn\":\"soundcloud:system-playlists:track-stations:2176778148\",\"station_permalink\":\"track-stations:2176778148\",\"track_authorization\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJnZW8iOiJERSIsInN1YiI6IiIsInJpZCI6IjM0MDA0ODU5LTVmNjQtNDU4Ni1hMmZmLTVjZGUzMzdiMzJlZCIsImlhdCI6MTc2MDE2NzE4MH0.BbTTe2TBzQcx9fqf1B53ZhOdpaB67Fl7MmGwOih0qIs\",\"monetization_model\":\"AD_SUPPORTED\",\"policy\":\"MONETIZE\",\"user\":{\"avatar_url\":\"https://i1.sndcdn.com/avatars-ETlfaab3lfH7NuVu-7ckpPg-large.jpg\",\"first_name\":\"Stranger\",\"followers_count\":17408,\"full_name\":\"Stranger Twins\",\"id\":73637815,\"kind\":\"user\",\"last_modified\":\"2025-09-26T12:22:45Z\",\"last_name\":\"Twins\",\"permalink\":\"hurtbox\",\"permalink_url\":\"https://soundcloud.com/hurtbox\",\"uri\":\"https://api.soundcloud.com/users/soundcloud%3Ausers%3A73637815\",\"urn\":\"soundcloud:users:73637815\",\"username\":\"HURTBOX\",\"verified\":true,\"city\":\"\",\"country_code\":\"FR\",\"badges\":{\"pro\":false,\"creator_mid_tier\":false,\"pro_unlimited\":true,\"verified\":true},\"station_urn\":\"soundcloud:system-playlists:artist-stations:73637815\",\"station_permalink\":\"artist-stations:73637815\"}},{\"artwork_url\":\"https://i1.sndcdn.com/artworks-z3eRpOSRvzxcVjzz-qLnhTw-large.jpg\",\"caption\":null,\"commentable\":true,\"comment_count\":90,\"created_at\":\"2025-09-05T16:24:55Z\",\"description\":\"HURTBOX - ALONE\\n\\nBUY / STREAM: https://createmusic.fm/hurtbox-alone\\n\\nCONNECT WITH HURTBOX\\nLINKTR.EE/HURTBOX\\nWWW.INSTAGRAM.COM/HURTBOXOFFICIAL\\nWWW.TWITTER.COM/HURTBOXOFFICIAL\",\"downloadable\":false,\"download_count\":0,\"duration\":187501,\"full_duration\":187507,\"embeddable_by\":\"all\",\"genre\":\"\",\"has_downloads_left\":false,\"id\":2165502222,\"kind\":\"track\",\"label_name\":\"\",\"last_modified\":\"2025-09-05T16:42:39Z\",\"license\":\"all-rights-reserved\",\"likes_count\":1202,\"permalink\":\"73e32a6c-7f44-49dd-a523-e06575e78bbd\",\"permalink_url\":\"https://soundcloud.com/hurtbox/73e32a6c-7f44-49dd-a523-e06575e78bbd\",\"playback_count\":15040,\"public\":true,\"publisher_metadata\":{\"id\":2165502222,\"urn\":\"soundcloud:tracks:2165502222\",\"artist\":\"HURTBOX\",\"contains_music\":true,\"isrc\":\"QZTGW2406483\",\"explicit\":false},\"purchase_title\":null,\"purchase_url\":null,\"release_date\":null,\"reposts_count\":110,\"secret_token\":null,\"sharing\":\"public\",\"state\":\"finished\",\"streamable\":true,\"tag_list\":\"\",\"title\":\"HURTBOX - ALONE\",\"uri\":\"https://api.soundcloud.com/tracks/soundcloud%3Atracks%3A2165502222\",\"urn\":\"soundcloud:tracks:2165502222\",\"user_id\":73637815,\"visuals\":null,\"waveform_url\":\"https://wave.sndcdn.com/mIxqMwLPm2mR_m.json\",\"display_date\":\"2025-09-05T16:24:55Z\",\"media\":{\"transcodings\":[{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/af712d6e-f7e1-4712-b1ce-620217a0137b/stream/hls\",\"preset\":\"aac_160k\",\"duration\":187501,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mp4; codecs\u003d\\\"mp4a.40.2\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/30f8d5cc-b5e0-462d-9bd5-1685b037eb63/stream/hls\",\"preset\":\"abr_sq\",\"duration\":187501,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpegurl\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/ef5f0627-2f45-487e-af5c-dfd37d46e4b0/stream/hls\",\"preset\":\"mp3_1_0\",\"duration\":187507,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/ef5f0627-2f45-487e-af5c-dfd37d46e4b0/stream/progressive\",\"preset\":\"mp3_1_0\",\"duration\":187507,\"snipped\":false,\"format\":{\"protocol\":\"progressive\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2165502222/55871e01-0310-425c-8c09-fe2eb38bcb1e/stream/hls\",\"preset\":\"opus_0_0\",\"duration\":187462,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/ogg; codecs\u003d\\\"opus\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true}]},\"station_urn\":\"soundcloud:system-playlists:track-stations:2165502222\",\"station_permalink\":\"track-stations:2165502222\",\"track_authorization\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJnZW8iOiJERSIsInN1YiI6IiIsInJpZCI6IjdjZjExNWZiLTQ1ZjYtNDdhYi04OTY3LWE0ZDZjMWFiMGFjZSIsImlhdCI6MTc2MDE2NzE4MH0.zyyVQbM47iaJlbb-vddnWJ0uixA87zmqP8jZz12cMo0\",\"monetization_model\":\"AD_SUPPORTED\",\"policy\":\"MONETIZE\",\"user\":{\"avatar_url\":\"https://i1.sndcdn.com/avatars-ETlfaab3lfH7NuVu-7ckpPg-large.jpg\",\"first_name\":\"Stranger\",\"followers_count\":17408,\"full_name\":\"Stranger Twins\",\"id\":73637815,\"kind\":\"user\",\"last_modified\":\"2025-09-26T12:22:45Z\",\"last_name\":\"Twins\",\"permalink\":\"hurtbox\",\"permalink_url\":\"https://soundcloud.com/hurtbox\",\"uri\":\"https://api.soundcloud.com/users/soundcloud%3Ausers%3A73637815\",\"urn\":\"soundcloud:users:73637815\",\"username\":\"HURTBOX\",\"verified\":true,\"city\":\"\",\"country_code\":\"FR\",\"badges\":{\"pro\":false,\"creator_mid_tier\":false,\"pro_unlimited\":true,\"verified\":true},\"station_urn\":\"soundcloud:system-playlists:artist-stations:73637815\",\"station_permalink\":\"artist-stations:73637815\"}}],\"next_href\":\"https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-08-21T00%3A29%3A25.000Z%2Ctracks%2C00000000002156644959\u0026limit\u003d20\",\"query_urn\":null}", + "latestUrl": "https://api-v2.soundcloud.com/users/73637815/tracks?client_id\u003dLAd42S06rwW6N9SO85p7573ak7rH6lMf\u0026limit\u003d20\u0026linked_partitioning\u003d1" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_8.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_8.json new file mode 100644 index 0000000000..393dc07ee7 --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_8.json @@ -0,0 +1,65 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-08-21T00%3A29%3A25.000Z%2Ctracks%2C00000000002156644959\u0026limit\u003d20\u0026client_id\u003dMoLbAg35TuqjYwWVtNIKyRPFScQGMOBY", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "cache-control": [ + "private, max-age\u003d0" + ], + "content-type": [ + "application/json; charset\u003dutf-8" + ], + "date": [ + "Sat, 11 Oct 2025 07:19:39 GMT" + ], + "referrer-policy": [ + "no-referrer" + ], + "server": [ + "am/2" + ], + "strict-transport-security": [ + "max-age\u003d63072000" + ], + "vary": [ + "Origin" + ], + "via": [ + "1.1 83dede49b3c78b7f99a0399a34264ed6.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "6XUIKLabtmTQRHSc2aIKiOQ9pf0qijivbv3ovVZe6Jp6m_lAqFZlSQ\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL52-P2" + ], + "x-cache": [ + "Miss from cloudfront" + ], + "x-content-type-options": [ + "nosniff" + ], + "x-frame-options": [ + "DENY" + ], + "x-robots-tag": [ + "noindex" + ] + }, + "responseBody": "{\"collection\":[],\"next_href\":\"https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-07-05T12%3A27%3A20.000Z%2Ctracks%2C00000000002125020450\u0026limit\u003d20\",\"query_urn\":null}", + "latestUrl": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-08-21T00%3A29%3A25.000Z%2Ctracks%2C00000000002156644959\u0026limit\u003d20\u0026client_id\u003dLAd42S06rwW6N9SO85p7573ak7rH6lMf" + } +} \ No newline at end of file diff --git a/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_9.json b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_9.json new file mode 100644 index 0000000000..8f93ae44cf --- /dev/null +++ b/extractor/src/test/resources/mocks/v1/org/schabi/newpipe/extractor/services/soundcloud/soundcloudchanneltabextractor/noemptynextpages/generated_mock_9.json @@ -0,0 +1,65 @@ +{ + "request": { + "httpMethod": "GET", + "url": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-07-05T12%3A27%3A20.000Z%2Ctracks%2C00000000002125020450\u0026limit\u003d20\u0026client_id\u003dMoLbAg35TuqjYwWVtNIKyRPFScQGMOBY", + "headers": { + "Accept-Language": [ + "en-GB, en;q\u003d0.9" + ] + }, + "localization": { + "languageCode": "en", + "countryCode": "GB" + } + }, + "response": { + "responseCode": 200, + "responseMessage": "", + "responseHeaders": { + "cache-control": [ + "private, max-age\u003d0" + ], + "content-type": [ + "application/json; charset\u003dutf-8" + ], + "date": [ + "Sat, 11 Oct 2025 07:19:40 GMT" + ], + "referrer-policy": [ + "no-referrer" + ], + "server": [ + "am/2" + ], + "strict-transport-security": [ + "max-age\u003d63072000" + ], + "vary": [ + "Origin" + ], + "via": [ + "1.1 83dede49b3c78b7f99a0399a34264ed6.cloudfront.net (CloudFront)" + ], + "x-amz-cf-id": [ + "t5m68s8m9-Ed5lHx8LtOfLdLv7w-YMcmegYnJy-olkE_PlWRJpsbhQ\u003d\u003d" + ], + "x-amz-cf-pop": [ + "TXL52-P2" + ], + "x-cache": [ + "Miss from cloudfront" + ], + "x-content-type-options": [ + "nosniff" + ], + "x-frame-options": [ + "DENY" + ], + "x-robots-tag": [ + "noindex" + ] + }, + "responseBody": "{\"collection\":[{\"artwork_url\":\"https://i1.sndcdn.com/artworks-D0rZyiG0DCLQRz2H-qJJLCg-large.jpg\",\"caption\":null,\"commentable\":true,\"comment_count\":52,\"created_at\":\"2025-07-02T08:55:39Z\",\"description\":\"COMPREHENSION BARRIER (HURTBOX REMIX)\\n\\nBUY / STREAM: https://svddendeath.ffm.to/vol25pt2\\n\\nCONNECT WITH HURTBOX\\nLINKTR.EE/HURTBOX\\nWWW.INSTAGRAM.COM/HURTBOXOFFICIAL\\nWWW.TWITTER.COM/HURTBOXOFFICIAL\",\"downloadable\":false,\"download_count\":0,\"duration\":182836,\"full_duration\":182831,\"embeddable_by\":\"all\",\"genre\":\"\",\"has_downloads_left\":false,\"id\":2123104704,\"kind\":\"track\",\"label_name\":\"\",\"last_modified\":\"2025-07-02T09:39:00Z\",\"license\":\"all-rights-reserved\",\"likes_count\":1374,\"permalink\":\"svdden-death-comprehension-1\",\"permalink_url\":\"https://soundcloud.com/hurtbox/svdden-death-comprehension-1\",\"playback_count\":19424,\"public\":true,\"publisher_metadata\":{\"id\":2123104704,\"urn\":\"soundcloud:tracks:2123104704\",\"artist\":\"SVDDEN DEATH, HURTBOX\",\"isrc\":\"QZTGW2405879\"},\"purchase_title\":\"https://svddendeath.ff\",\"purchase_url\":null,\"release_date\":\"2025-07-02T00:00:00Z\",\"reposts_count\":75,\"secret_token\":null,\"sharing\":\"public\",\"state\":\"finished\",\"streamable\":true,\"tag_list\":\"\",\"title\":\"SVDDEN DEATH - COMPREHENSION BARRIER (HURTBOX REMIX)\",\"uri\":\"https://api.soundcloud.com/tracks/soundcloud%3Atracks%3A2123104704\",\"urn\":\"soundcloud:tracks:2123104704\",\"user_id\":73637815,\"visuals\":null,\"waveform_url\":\"https://wave.sndcdn.com/zfrJMUFAYiMq_m.json\",\"display_date\":\"2025-07-02T08:55:39Z\",\"media\":{\"transcodings\":[{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2123104704/29192601-edcc-466c-a94f-932773224153/stream/hls\",\"preset\":\"aac_160k\",\"duration\":182836,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mp4; codecs\u003d\\\"mp4a.40.2\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2123104704/427357b1-db5a-470e-ad66-f07f68389086/stream/hls\",\"preset\":\"abr_sq\",\"duration\":182836,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpegurl\"},\"quality\":\"sq\",\"is_legacy_transcoding\":false},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2123104704/8c090ce4-ba91-4843-9d26-462f3e2278a0/stream/hls\",\"preset\":\"mp3_1_0\",\"duration\":182831,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2123104704/8c090ce4-ba91-4843-9d26-462f3e2278a0/stream/progressive\",\"preset\":\"mp3_1_0\",\"duration\":182831,\"snipped\":false,\"format\":{\"protocol\":\"progressive\",\"mime_type\":\"audio/mpeg\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true},{\"url\":\"https://api-v2.soundcloud.com/media/soundcloud:tracks:2123104704/68df598d-367c-45e1-8172-f27fdd2c9933/stream/hls\",\"preset\":\"opus_0_0\",\"duration\":182797,\"snipped\":false,\"format\":{\"protocol\":\"hls\",\"mime_type\":\"audio/ogg; codecs\u003d\\\"opus\\\"\"},\"quality\":\"sq\",\"is_legacy_transcoding\":true}]},\"station_urn\":\"soundcloud:system-playlists:track-stations:2123104704\",\"station_permalink\":\"track-stations:2123104704\",\"track_authorization\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJnZW8iOiJERSIsInN1YiI6IiIsInJpZCI6IjEwODE3YzlhLTk2ZjQtNDllOS04OGY1LTMyYWUwZWFlMmNiNyIsImlhdCI6MTc2MDE2NzE4MX0.iJIZCu9wFsiS3muv0b_cI8tnL1x5vmZXw7fxjUzc1d8\",\"monetization_model\":\"NOT_APPLICABLE\",\"policy\":\"ALLOW\",\"user\":{\"avatar_url\":\"https://i1.sndcdn.com/avatars-ETlfaab3lfH7NuVu-7ckpPg-large.jpg\",\"first_name\":\"Stranger\",\"followers_count\":17408,\"full_name\":\"Stranger Twins\",\"id\":73637815,\"kind\":\"user\",\"last_modified\":\"2025-09-26T12:22:45Z\",\"last_name\":\"Twins\",\"permalink\":\"hurtbox\",\"permalink_url\":\"https://soundcloud.com/hurtbox\",\"uri\":\"https://api.soundcloud.com/users/soundcloud%3Ausers%3A73637815\",\"urn\":\"soundcloud:users:73637815\",\"username\":\"HURTBOX\",\"verified\":true,\"city\":\"\",\"country_code\":\"FR\",\"badges\":{\"pro\":false,\"creator_mid_tier\":false,\"pro_unlimited\":true,\"verified\":true},\"station_urn\":\"soundcloud:system-playlists:artist-stations:73637815\",\"station_permalink\":\"artist-stations:73637815\"}}],\"next_href\":\"https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-06-06T13%3A44%3A21.000Z%2Ctracks%2C00000000002108853114\u0026limit\u003d20\",\"query_urn\":null}", + "latestUrl": "https://api-v2.soundcloud.com/users/73637815/tracks?offset\u003d2025-07-05T12%3A27%3A20.000Z%2Ctracks%2C00000000002125020450\u0026limit\u003d20\u0026client_id\u003dLAd42S06rwW6N9SO85p7573ak7rH6lMf" + } +} \ No newline at end of file