Compare commits

..

62 commits

Author SHA1 Message Date
618a24c120
chore(release): release rustypipe-cli v0.1.1
All checks were successful
CI / Test (push) Successful in 3m5s
Release / Release (push) Successful in 3m43s
2024-06-27 14:07:08 +02:00
4f06b51138
chore(release): release rustypipe-downloader v0.1.1
All checks were successful
CI / Test (push) Successful in 2m59s
Release / Release (push) Successful in 3m10s
2024-06-27 14:00:55 +02:00
3aff55c76c
ci: fix release changelog extraction 2024-06-27 14:00:20 +02:00
ea5df007bc
chore(release): release rustypipe v0.2.0
All checks were successful
CI / Test (push) Successful in 3m6s
Release / Release (push) Successful in 3m3s
2024-06-27 13:36:39 +02:00
d9d2c22aea
ci: fix release workflow 2024-06-27 13:35:46 +02:00
c3af918ba5 chore(deps): update rust crate rstest to 0.21.0 (#7)
All checks were successful
CI / Test (push) Successful in 2m26s
Reviewed-on: #7
Co-authored-by: Forgejo Actions <forgejo.actions@example.com>
Co-committed-by: Forgejo Actions <forgejo.actions@example.com>
2024-06-27 05:53:08 +02:00
1e8a1af08c chore(deps): update rust crate quick-xml to 0.34.0 (#5)
Some checks are pending
CI / Test (push) Waiting to run
Reviewed-on: #5
Co-authored-by: Forgejo Actions <forgejo.actions@example.com>
Co-committed-by: Forgejo Actions <forgejo.actions@example.com>
2024-06-27 05:52:54 +02:00
ce3ec34337 chore(deps): update rust crate tokio to 1.20.4 [security] (#4)
Some checks failed
CI / Test (push) Has been cancelled
Reviewed-on: #4
Co-authored-by: Forgejo Actions <forgejo.actions@example.com>
Co-committed-by: Forgejo Actions <forgejo.actions@example.com>
2024-06-27 05:52:36 +02:00
e3de94c2a7
ci: renovate: disable lockfile maintenance
All checks were successful
renovate / renovate (push) Successful in 40s
CI / Test (push) Successful in 2m28s
2024-06-27 05:47:47 +02:00
263b873306
ci: update renovate config, add GH token
All checks were successful
renovate / renovate (push) Successful in 1m10s
CI / Test (push) Successful in 2m35s
2024-06-27 05:43:56 +02:00
abfe217807
ci: update renovate action
All checks were successful
renovate / renovate (push) Successful in 1m20s
CI / Test (push) Successful in 2m41s
2024-06-27 05:30:46 +02:00
1914e51aff
ci: improve Artifactview PR comment
Some checks failed
CI / Test (push) Has been cancelled
2024-06-27 05:29:00 +02:00
44c2debea6 chore: Configure Renovate (#3)
All checks were successful
CI / Test (push) Successful in 2m21s
Welcome to [Renovate](https://github.com/renovatebot/renovate)! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.

---
### Detected Package Files

 * `Cargo.toml` (cargo)
 * `cli/Cargo.toml` (cargo)
 * `codegen/Cargo.toml` (cargo)
 * `downloader/Cargo.toml` (cargo)
 * `.forgejo/workflows/ci.yaml` (github-actions)
 * `.forgejo/workflows/release.yaml` (github-actions)
 * `.forgejo/workflows/renovate.yaml` (github-actions)
 * `testfiles/dict/cldr_data/package.json` (npm)
 * `.woodpecker.yml` (woodpecker)

### What to Expect

With your current configuration, Renovate will create 4 Pull Requests:

<details>
<summary>chore(deps): update rust crate quick-xml to 0.34.0</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/quick-xml-0.x`
  - Merge into: `main`
  - Upgrade [quick-xml](https://github.com/tafia/quick-xml) to `0.34.0`

</details>

<details>
<summary>chore(deps): update rust crate rstest to 0.21.0</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/rstest-0.x`
  - Merge into: `main`
  - Upgrade [rstest](https://github.com/la10736/rstest) to `0.21.0`

</details>

<details>
<summary>chore(deps): update dependency cldr-dates-modern to v45</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/cldr-dates-modern-45.x`
  - Merge into: `main`
  - Upgrade [cldr-dates-modern](https://github.com/unicode-cldr/cldr-json) to `^45.0.0`

</details>

<details>
<summary>chore(deps): update dependency cldr-numbers-modern to v45</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/cldr-numbers-modern-45.x`
  - Merge into: `main`
  - Upgrade [cldr-numbers-modern](https://github.com/unicode-cldr/cldr-json) to `^45.0.0`

</details>

🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't swamp any CI resources or overwhelm the project. See docs for `prhourlylimit` for details.

---

 Got questions? Check out Renovate's [Docs](https://docs.renovatebot.com/), particularly the Getting Started section.
If you need any further assistance then you can also [request help here](https://github.com/renovatebot/renovate/discussions).

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).

<!--renovate-config-hash:94693a990c975907e7f13da3309b9d56ba02b3983519b41786edf5cf031e457c-->

Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-authored-by: ThetaDev <thetadev@magenta.de>
Reviewed-on: #3
Co-authored-by: Forgejo Actions <forgejo.actions@example.com>
Co-committed-by: Forgejo Actions <forgejo.actions@example.com>
2024-06-27 05:26:32 +02:00
938e577337
test: fix tests
All checks were successful
CI / Test (push) Successful in 2m23s
2024-06-27 05:16:57 +02:00
e0759ebce3
fix: renovate ci token
Some checks failed
renovate / renovate (push) Successful in 1m4s
CI / Test (push) Has been cancelled
2024-06-27 04:58:18 +02:00
913cadea0c
ci: change renovate docker image
Some checks failed
CI / Test (push) Failing after 2m31s
renovate / renovate (push) Failing after 2m29s
2024-06-27 04:52:49 +02:00
2bf8ea00c5
ci: fix revovate image version
Some checks failed
renovate / renovate (push) Failing after 1s
CI / Test (push) Has been cancelled
2024-06-27 04:50:46 +02:00
260575f94b
ci: add renovate action
Some checks failed
renovate / renovate (push) Failing after 1s
CI / Test (push) Has been cancelled
2024-06-27 04:49:25 +02:00
15f0c5b205
test: fix tests
Some checks failed
CI / Test (push) Failing after 2m16s
2024-06-27 04:26:51 +02:00
041ce2d08f
fix: parsing audiobook type in European Portuguese
Some checks failed
CI / Test (push) Failing after 2m20s
2024-06-27 03:20:00 +02:00
85751b35ed
ci: create Artifactview PR comments 2024-06-27 03:14:27 +02:00
9f7b8405a7
test: fix tests 2024-06-27 03:13:59 +02:00
6646078944
docs: add logo
Some checks failed
CI / Test (push) Failing after 2m11s
2024-06-27 02:18:04 +02:00
12fe93084a
test: fix tests 2024-06-18 16:10:27 +02:00
792e3b31e0
feat: add YtEntity trait
All checks were successful
CI / Test (push) Successful in 2m17s
2024-06-16 22:57:55 +02:00
94e8d24c68
refactor!: rename VideoItem/VideoPlayerDetails.length to duration for consistency 2024-06-16 22:42:11 +02:00
401d4e8255
feat: add UnavailabilityReason: IpBan 2024-06-16 22:24:59 +02:00
53829c543f
ci: fix CI
All checks were successful
CI / Test (push) Successful in 2m19s
2024-06-16 02:38:00 +02:00
8420c2f8db
fix: clippy warning
Some checks failed
CI / Test (push) Failing after 3m7s
2024-06-16 02:27:09 +02:00
bb4c92c70b
ci: upload test reports
Some checks failed
CI / Test (push) Failing after 1m56s
2024-06-16 02:23:22 +02:00
da1d1bd2a0
feat: make get_visitor_data() public 2024-06-16 02:18:04 +02:00
27b1cd1aa7
test: fix tests 2024-06-16 00:21:25 +02:00
74946f9ea0
test: fix tests 2024-06-14 17:58:07 +02:00
e75ffbb5da
chore: vscode: enable rss feature by default 2024-06-14 16:16:05 +02:00
29a7db231a
test: fix asserts: client version parts, iOS client bitrate
Some checks failed
CI / Test (push) Failing after 1m49s
2024-05-17 18:27:24 +02:00
45b9f2a627
chore: fix clippy lints
All checks were successful
CI / Test (push) Successful in 2m36s
2024-05-02 19:39:48 +02:00
5dbb288a49
chore: introduce MSRV 2024-05-02 18:46:21 +02:00
b4a6658e33
test: update track durations
All checks were successful
CI / Test (push) Successful in 4m25s
2024-05-02 14:14:22 +02:00
16e0e28c48
feat: CLI: setting player type 2024-04-26 16:09:13 +02:00
8fbd6b95b6
fix: parsing error when no music_related content available 2024-04-18 19:50:06 +02:00
77ee923778
test: update channel ID for L. R. Eswari 2024-04-18 17:37:50 +02:00
a8fb337fae
fix: remove Innertube API keys, update android player params 2024-04-16 15:18:29 +02:00
6c41ef2fb2
feat: prefix chip-style web links (social media) with the service name
All checks were successful
CI / Test (push) Successful in 2m26s
2024-04-12 12:33:36 +02:00
89cda7db59
ci: change changelog generation command 2024-04-12 03:40:53 +02:00
4b3e895d4f
ci: fix changelog tag pattern
All checks were successful
CI / Test (push) Successful in 2m21s
2024-04-12 03:26:19 +02:00
8dc710a32e
ci: checkout whole repository
All checks were successful
CI / Test (push) Successful in 2m31s
2024-04-12 00:34:42 +02:00
328177a9f5
ci: update to actions/checkout@v4
Some checks failed
CI / Test (push) Failing after 45s
2024-04-12 00:16:17 +02:00
50fd1f08ca
chore: update rstest to v0.19.0
Some checks failed
CI / Test (push) Failing after 44s
2024-04-11 23:11:20 +02:00
97b6f07399
chore: changelog: fix incorrect version URLs
All checks were successful
CI / Test (push) Successful in 2m26s
2024-04-11 13:51:30 +02:00
b8825f9199
feat: add text formatting (bold/italic/strikethrough)
All checks were successful
CI / Test (push) Successful in 2m29s
2024-04-03 03:28:13 +02:00
449fc0128e
chore(release): release rustypipe v0.1.3
All checks were successful
Release / Release (push) Successful in 3m3s
CI / Test (push) Successful in 4m36s
2024-04-02 01:52:43 +02:00
490350fcfe
ci: dont run CI on pushed tags 2024-04-02 01:52:07 +02:00
b0331f7250
fix: parse new comment model (A/B#14 frameworkUpdates) 2024-04-02 01:49:43 +02:00
348c8523fe
revert: "fix: improve VecLogErr messages" (leads to infinite loop)
This reverts commit 9a652d851f.
2024-04-02 01:49:40 +02:00
79c504954e
chore(release): release rustypipe v0.1.2
All checks were successful
CI / Test (push) Successful in 6m31s
Release / Release (push) Successful in 2m12s
2024-03-26 21:23:37 +01:00
180dd9891a
fix: correctly parse subscriber count with new channel header
It looks like A/B test 12 has changed the text field order for the subscriber count slightly. Support was added to correctly parse both variants
2024-03-26 21:19:51 +01:00
d765fa82f8
chore(release): release rustypipe v0.1.1
Some checks failed
CI / Test (push) Failing after 5m37s
Release / Release (push) Successful in 2m0s
2024-03-26 20:23:59 +01:00
0258c009e2
ci: add --allow-dirty to cargo publish 2024-03-26 20:23:39 +01:00
78ba9cb34c
chore: fix release script (unquoted include paths) 2024-03-26 20:11:14 +01:00
47e077e03b
chore(release): bump rustypipe to v0.1.1 2024-03-26 20:03:11 +01:00
be314d57ea
chore: update user agent (FF 115.0) 2024-03-26 20:03:09 +01:00
a81c3e8336
fix: parsing music details with video description tab 2024-03-24 02:34:53 +01:00
106 changed files with 38868 additions and 2570 deletions

View file

@ -0,0 +1,37 @@
name: CI
on:
push:
branches: ["main"]
pull_request:
jobs:
Test:
runs-on: cimaster-latest
steps:
- name: 📦 Checkout repository
uses: actions/checkout@v4
- name: 🦀 Setup Rust cache
uses: https://github.com/Swatinem/rust-cache@v2
with:
cache-on-failure: "true"
- name: 📎 Clippy
run: cargo clippy --all --features=rss -- -D warnings
- name: 🧪 Test
run: cargo nextest run --config-file ~/.config/nextest.toml --profile ci --retries 2 --features rss --workspace
- name: 💌 Upload test report
if: always()
uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with:
name: test
path: target/nextest/ci/junit.xml
- name: 🔗 Artifactview PR comment
if: ${{ always() && github.event_name == 'pull_request' }}
run: |
if [[ "$GITEA_ACTIONS" == "true" ]]; then RUN_NUMBER="$GITHUB_RUN_NUMBER"; else RUN_NUMBER="$GITHUB_RUN_ID"; fi
curl -SsL --fail-with-body -w "\n" -X POST https://av.thetadev.de/.well-known/api/prComment -H "Content-Type: application/json" \
--data '{"url": "'"$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$RUN_NUMBER"'", "pr": ${{ github.event.number }}, "artifact_titles": {"test":"🧪 Test report"}, "artifact_paths": {"test":"/junit.xml?viewer=1"}}'

View file

@ -9,26 +9,27 @@ jobs:
runs-on: cimaster-latest runs-on: cimaster-latest
steps: steps:
- name: 📦 Checkout repository - name: 📦 Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v4
- name: Get variables - name: Get variables
run: | run: |
git fetch --tags --force #the checkout action does not load the tag message CRATE=$(echo '${{ github.ref_name }}' | awk 'BEGIN{RS="/"} NR==1{print}')
echo "CRATE=$CRATE" >> "$GITHUB_ENV"
echo "CRATE=$(echo '${{ github.ref_name }}' | awk 'BEGIN{RS="/"} NR==1{print}')" >> "$GITHUB_ENV"
echo "CRATE_VERSION=$(echo '${{ github.ref_name }}' | awk 'BEGIN{RS="/"} NR==2{print}')" >> "$GITHUB_ENV" echo "CRATE_VERSION=$(echo '${{ github.ref_name }}' | awk 'BEGIN{RS="/"} NR==2{print}')" >> "$GITHUB_ENV"
CL_PATH="CHANGELOG.md"
if [[ "$CRATE" != "rustypipe" ]]; then pfx="rustypipe-"; CL_PATH="${CRATE#"$pfx"}/$CL_PATH"; fi
{ {
echo 'CHANGELOG<<END_OF_FILE' echo 'CHANGELOG<<END_OF_FILE'
git show -s --format=%N "${{ github.ref_name }}" | tail -n +4 | awk 'BEGIN{RS="-----BEGIN PGP SIGNATURE-----"} NR==1{printf $0}' awk 'BEGIN{RS="(^|\n)## [^\n]+\n*"} NR==2 { print }' "$CL_PATH"
echo END_OF_FILE echo END_OF_FILE
} >> "$GITHUB_ENV" } >> "$GITHUB_ENV"
- name: 📤 Publish crate on code.thetadev.de - name: 📤 Publish crate on code.thetadev.de
run: | run: |
mkdir -p ~/.cargo mkdir -p ~/.cargo
printf '[registries.thetadev]\nindex = "https://code.thetadev.de/ThetaDev/_cargo-index.git"\ntoken = "Bearer ${{ secrets.TOKEN_GITEA }}"\n' >> ~/.cargo/config.toml printf '\n\n[registries.thetadev]\nindex = "https://code.thetadev.de/ThetaDev/_cargo-index.git"\ntoken = "Bearer ${{ secrets.FORGEJO_CI_TOKEN }}"\n' >> ~/.cargo/config.toml
sed -i "s/^rustypipe.*=\s*{/\0 registry = \"thetadev\",/g" Cargo.toml sed -i "s/^rustypipe.*=\s*{/\0 registry = \"thetadev\",/g" Cargo.toml
cargo publish --registry thetadev --package "${{ env.CRATE }}" cargo publish --registry thetadev --allow-dirty --package "${{ env.CRATE }}"
git restore Cargo.toml git restore Cargo.toml
- name: 🎉 Publish release - name: 🎉 Publish release

View file

@ -0,0 +1,62 @@
name: renovate
on:
push:
branches: ["main"]
paths:
- ".forgejo/workflows/renovate.yaml"
- "renovate.json"
schedule:
- cron: "0 0 * * *"
env:
RENOVATE_REPOSITORIES: ${{ github.repository }}
jobs:
renovate:
runs-on: docker
container:
image: renovate/renovate:latest
steps:
- name: Load renovate repo cache
uses: actions/cache/restore@v4
with:
path: |
.tmp/cache/renovate/repository
.tmp/cache/renovate/renovate-cache-sqlite
.tmp/osv
key: repo-cache-${{ github.run_id }}
restore-keys: |
repo-cache-
- name: Run renovate
run: renovate
env:
LOG_LEVEL: debug
RENOVATE_BASE_DIR: ${{ github.workspace }}/.tmp
RENOVATE_ENDPOINT: ${{ github.server_url }}
RENOVATE_PLATFORM: gitea
RENOVATE_REPOSITORY_CACHE: 'enabled'
RENOVATE_TOKEN: ${{ secrets.FORGEJO_CI_BOT_TOKEN }}
GITHUB_COM_TOKEN: ${{ secrets.GH_PUBLIC_TOKEN }}
RENOVATE_GIT_AUTHOR: 'Renovate Bot <forgejo-renovate-action@forgejo.org>'
RENOVATE_X_SQLITE_PACKAGE_CACHE: true
GIT_AUTHOR_NAME: 'Renovate Bot'
GIT_AUTHOR_EMAIL: 'forgejo-renovate-action@forgejo.org'
GIT_COMMITTER_NAME: 'Renovate Bot'
GIT_COMMITTER_EMAIL: 'forgejo-renovate-action@forgejo.org'
OSV_OFFLINE_ROOT_DIR: ${{ github.workspace }}/.tmp/osv
- name: Save renovate repo cache
if: always() && env.RENOVATE_DRY_RUN != 'full'
uses: actions/cache/save@v4
with:
path: |
.tmp/cache/renovate/repository
.tmp/cache/renovate/renovate-cache-sqlite
.tmp/osv
key: repo-cache-${{ github.run_id }}

View file

@ -1,19 +0,0 @@
name: CI
on: [push, pull_request]
jobs:
Test:
runs-on: cimaster-latest
steps:
- name: 📦 Checkout repository
uses: actions/checkout@v3
- name: 🦀 Setup Rust cache
uses: https://github.com/Swatinem/rust-cache@v2
with:
cache-on-failure: "true"
- name: 📎 Clippy
run: cargo clippy --all --features=rss -- -D warnings
- name: 🧪 Test
run: cargo test --features=rss --workspace

3
.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,3 @@
{
"rust-analyzer.cargo.features": ["rss"]
}

View file

@ -2,7 +2,78 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## v0.1.0 - 2024-03-22
## [v0.2.0](https://code.thetadev.de/ThetaDev/rustypipe/compare/rustypipe/v0.1.3..rustypipe/v0.2.0) - 2024-06-27
### 🚀 Features
- Add text formatting (bold/italic/strikethrough) - ([b8825f9](https://code.thetadev.de/ThetaDev/rustypipe/commit/b8825f9199365c873a4f0edd98a435e986b8daa2))
- Prefix chip-style web links (social media) with the service name - ([6c41ef2](https://code.thetadev.de/ThetaDev/rustypipe/commit/6c41ef2fb2531e10a12c271e2d48504510a3b0bf))
- Make get_visitor_data() public - ([da1d1bd](https://code.thetadev.de/ThetaDev/rustypipe/commit/da1d1bd2a0b214da10436ae221c90a0f88697b9a))
- Add UnavailabilityReason: IpBan - ([401d4e8](https://code.thetadev.de/ThetaDev/rustypipe/commit/401d4e8255b1e86444319fed6d114dfbd0f80bbd))
- Add YtEntity trait - ([792e3b3](https://code.thetadev.de/ThetaDev/rustypipe/commit/792e3b31e0101087a167935baad39a2e3b4296d0))
### 🐛 Bug Fixes
- Remove Innertube API keys, update android player params - ([a8fb337](https://code.thetadev.de/ThetaDev/rustypipe/commit/a8fb337fae9cb0112e0152f9a0a19ebae49c2a4d))
- Parsing error when no `music_related` content available - ([8fbd6b9](https://code.thetadev.de/ThetaDev/rustypipe/commit/8fbd6b95b6f01108b46f53fe60a56b0c561e40c1))
- Parsing audiobook type in European Portuguese - ([041ce2d](https://code.thetadev.de/ThetaDev/rustypipe/commit/041ce2d08f6021c88e8890034f551f7e01b2f012))
- Renovate ci token - ([e0759eb](https://code.thetadev.de/ThetaDev/rustypipe/commit/e0759ebce32a5520245bb2c0cb920734b04ee7dc))
### 🚜 Refactor
- [**breaking**] Rename VideoItem/VideoPlayerDetails.length to duration for consistency - ([94e8d24](https://code.thetadev.de/ThetaDev/rustypipe/commit/94e8d24c6848b8bfca70dd03a7d89547ba9d6051))
### 📚 Documentation
- Add logo - ([6646078](https://code.thetadev.de/ThetaDev/rustypipe/commit/66460789449be0d5984cbdb6ec372e69323b7a88))
### ⚙️ Miscellaneous Tasks
- Changelog: fix incorrect version URLs - ([97b6f07](https://code.thetadev.de/ThetaDev/rustypipe/commit/97b6f07399e80e00a6c015d013e744568be125dd))
- Update rstest to v0.19.0 - ([50fd1f0](https://code.thetadev.de/ThetaDev/rustypipe/commit/50fd1f08caf39c1298654e06059cc393543e925b))
- Introduce MSRV - ([5dbb288](https://code.thetadev.de/ThetaDev/rustypipe/commit/5dbb288a496d53a299effa2026f5258af7b1f176))
- Fix clippy lints - ([45b9f2a](https://code.thetadev.de/ThetaDev/rustypipe/commit/45b9f2a627b4e7075ba0b1c5f16efcc19aef7922))
- Vscode: enable rss feature by default - ([e75ffbb](https://code.thetadev.de/ThetaDev/rustypipe/commit/e75ffbb5da6198086385ea96383ab9d0791592a5))
- Configure Renovate (#3) - ([44c2deb](https://code.thetadev.de/ThetaDev/rustypipe/commit/44c2debea61f70c24ad6d827987e85e2132ed3d1))
- *(deps)* Update rust crate tokio to 1.20.4 [security] (#4) - ([ce3ec34](https://code.thetadev.de/ThetaDev/rustypipe/commit/ce3ec34337b8acac41410ea39264aab7423d5801))
- *(deps)* Update rust crate quick-xml to 0.34.0 (#5) - ([1e8a1af](https://code.thetadev.de/ThetaDev/rustypipe/commit/1e8a1af08c873cee7feadf63c2eff62753a78f64))
- *(deps)* Update rust crate rstest to 0.21.0 (#7) - ([c3af918](https://code.thetadev.de/ThetaDev/rustypipe/commit/c3af918ba53c6230c0e4aef822a0cb2cf120bf3f))
## [v0.1.3](https://code.thetadev.de/ThetaDev/rustypipe/compare/rustypipe/v0.1.2..rustypipe/v0.1.3) - 2024-04-01
### 🐛 Bug Fixes
- Parse new comment model (A/B#14 frameworkUpdates) - ([b0331f7](https://code.thetadev.de/ThetaDev/rustypipe/commit/b0331f7250f5d7d61a45209150739d2cb08b4280))
### ◀️ Revert
- "fix: improve VecLogErr messages" (leads to infinite loop) - ([348c852](https://code.thetadev.de/ThetaDev/rustypipe/commit/348c8523fe847f2f6ce98317375a7ab65e778ed2))
## [v0.1.2](https://code.thetadev.de/ThetaDev/rustypipe/compare/rustypipe/v0.1.1..rustypipe/v0.1.2) - 2024-03-26
### 🐛 Bug Fixes
- Correctly parse subscriber count with new channel header - ([180dd98](https://code.thetadev.de/ThetaDev/rustypipe/commit/180dd9891a14b4da9f130a73d73aecc3822fce2f))
## [v0.1.1](https://code.thetadev.de/ThetaDev/rustypipe/compare/rustypipe/v0.1.0..rustypipe/v0.1.1) - 2024-03-26
### 🐛 Bug Fixes
- Specify internal dependency versions - ([6598a23](https://code.thetadev.de/ThetaDev/rustypipe/commit/6598a23d0699e6fe298275a67e0146a19c422c88))
- Move package attributes to workspace - ([e4b204e](https://code.thetadev.de/ThetaDev/rustypipe/commit/e4b204eae65f450471be0890b0198d2f30714b3b))
- Parsing music details with video description tab - ([a81c3e8](https://code.thetadev.de/ThetaDev/rustypipe/commit/a81c3e83366fdf72d01dd3ee00fb2e831f7aaa26))
### ⚙️ Miscellaneous Tasks
- Changes to release command - ([0bcced1](https://code.thetadev.de/ThetaDev/rustypipe/commit/0bcced1db377198a54c9c7d03b8d038125a2bfe4))
- Update user agent (FF 115.0) - ([be314d5](https://code.thetadev.de/ThetaDev/rustypipe/commit/be314d57ea1d99bfdc80649351ee3e7845541238))
- Fix release script (unquoted include paths) - ([78ba9cb](https://code.thetadev.de/ThetaDev/rustypipe/commit/78ba9cb34c6bba3aba177583b242d3f76ea9847d))
## [v0.1.0](https://code.thetadev.de/ThetaDev/rustypipe/commits/tag/rustypipe/v0.1.0) - 2024-03-22
Initial release Initial release

View file

@ -1,6 +1,7 @@
[package] [package]
name = "rustypipe" name = "rustypipe"
version = "0.1.0" version = "0.2.0"
rust-version = "1.67.1"
edition.workspace = true edition.workspace = true
authors.workspace = true authors.workspace = true
license.workspace = true license.workspace = true
@ -32,7 +33,7 @@ fancy-regex = "0.13.0"
thiserror = "1.0.36" thiserror = "1.0.36"
url = "2.2.2" url = "2.2.2"
reqwest = { version = "0.12.0", default-features = false } reqwest = { version = "0.12.0", default-features = false }
tokio = "1.20.0" tokio = "1.20.4"
serde = { version = "1.0", features = ["derive"] } serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.82" serde_json = "1.0.82"
serde_with = { version = "3.0.0", default-features = false, features = [ serde_with = { version = "3.0.0", default-features = false, features = [
@ -52,7 +53,7 @@ phf = "0.11.1"
phf_codegen = "0.11.1" phf_codegen = "0.11.1"
base64 = "0.22.0" base64 = "0.22.0"
urlencoding = "2.1.2" urlencoding = "2.1.2"
quick-xml = { version = "0.31.0", features = ["serialize"] } quick-xml = { version = "0.34.0", features = ["serialize"] }
tracing = { version = "0.1.37", features = ["log"] } tracing = { version = "0.1.37", features = ["log"] }
# CLI # CLI
@ -65,13 +66,13 @@ dirs = "5.0.0"
filenamify = "0.1.0" filenamify = "0.1.0"
# Testing # Testing
rstest = "0.18.1" rstest = "0.21.0"
tokio-test = "0.4.2" tokio-test = "0.4.2"
insta = { version = "1.17.1", features = ["ron", "redactions"] } insta = { version = "1.17.1", features = ["ron", "redactions"] }
path_macro = "1.0.0" path_macro = "1.0.0"
# Included crates # Included crates
rustypipe = { path = ".", version = "0.1.0", default-features = false } rustypipe = { path = ".", version = "0.2.0", default-features = false }
rustypipe-downloader = { path = "./downloader", version = "0.1.0", default-features = false } rustypipe-downloader = { path = "./downloader", version = "0.1.0", default-features = false }
[features] [features]

View file

@ -1,14 +1,15 @@
test: test:
cargo test --features=rss # cargo test --features=rss
cargo nextest run --features=rss --no-fail-fast --failure-output final --retries 1
unittest: unittest:
cargo test --features=rss --lib cargo nextest run --features=rss --no-fail-fast --failure-output final --lib
testyt: testyt:
cargo test --features=rss --test youtube cargo nextest run --features=rss --no-fail-fast --failure-output final --retries 1 --test youtube
testyt-localized: testyt-localized:
YT_LANG=th cargo test --features=rss --test youtube YT_LANG=th cargo nextest run --features=rss --no-fail-fast --failure-output final --retries 1 --test youtube
testintl: testintl:
#!/usr/bin/env bash #!/usr/bin/env bash
@ -27,7 +28,7 @@ testintl:
for YT_LANG in "${LANGUAGES[@]}"; do for YT_LANG in "${LANGUAGES[@]}"; do
echo "---TESTS FOR $YT_LANG ---" echo "---TESTS FOR $YT_LANG ---"
if YT_LANG="$YT_LANG" cargo test --test youtube -- --test-threads 4 --skip resolve; then if YT_LANG="$YT_LANG" cargo nextest run --no-fail-fast --failure-output final --retries 1 --test-threads 4 --test youtube -E 'not test(/^resolve/)'; then
echo "--- $YT_LANG COMPLETED ---" echo "--- $YT_LANG COMPLETED ---"
else else
echo "--- $YT_LANG FAILED ---" echo "--- $YT_LANG FAILED ---"
@ -49,16 +50,15 @@ release crate="rustypipe":
set -e set -e
CRATE="{{crate}}" CRATE="{{crate}}"
INCLUDES='--include-path README.md --include-path LICENSE --include-path Cargo.toml'
CHANGELOG="CHANGELOG.md" CHANGELOG="CHANGELOG.md"
if [ "$CRATE" = "rustypipe" ]; then if [ "$CRATE" = "rustypipe" ]; then
INCLUDES="$INCLUDES --include-path src/** --include-path tests/** --include-path testfiles/**" INCLUDES="--exclude-path 'notes/**' --exclude-path 'cli/**' --exclude-path 'downloader/**'"
else else
if [ ! -d "$CRATE" ]; then if [ ! -d "$CRATE" ]; then
echo "$CRATE does not exist."; exit 1 echo "$CRATE does not exist."; exit 1
fi fi
INCLUDES="$INCLUDES --include-path $CRATE/**" INCLUDES="--include-path README.md --include-path LICENSE --include-path Cargo.toml --include-path '$CRATE/**'"
CHANGELOG="$CRATE/$CHANGELOG" CHANGELOG="$CRATE/$CHANGELOG"
CRATE="rustypipe-$CRATE" # Add crate name prefix CRATE="rustypipe-$CRATE" # Add crate name prefix
fi fi
@ -69,17 +69,17 @@ release crate="rustypipe":
if git rev-parse "$TAG" >/dev/null 2>&1; then echo "version tag $TAG already exists"; exit 1; fi if git rev-parse "$TAG" >/dev/null 2>&1; then echo "version tag $TAG already exists"; exit 1; fi
CLIFF_ARGS="--tag v${VERSION} --tag-pattern ${CRATE}/* --unreleased $INCLUDES" CLIFF_ARGS="--tag '${TAG}' --tag-pattern '${CRATE}/v*' --unreleased $INCLUDES"
echo "git-cliff $CLIFF_ARGS" echo "git-cliff $CLIFF_ARGS"
if [ -f "$CHANGELOG" ]; then if [ -f "$CHANGELOG" ]; then
git-cliff $CLIFF_ARGS --prepend "$CHANGELOG" eval "git-cliff $CLIFF_ARGS --prepend '$CHANGELOG'"
else else
git-cliff $CLIFF_ARGS --output "$CHANGELOG" eval "git-cliff $CLIFF_ARGS --output '$CHANGELOG'"
fi fi
editor "$CHANGELOG" editor "$CHANGELOG"
git add "$CHANGELOG" git add .
git commit -m "chore(release): release $CRATE v$VERSION" git commit -m "chore(release): release $CRATE v$VERSION"
awk 'BEGIN{RS="(^|\n)## [^\n]+\n*"} NR==2 { print }' "$CHANGELOG" | git tag -as -F - --cleanup whitespace "$TAG" awk 'BEGIN{RS="(^|\n)## [^\n]+\n*"} NR==2 { print }' "$CHANGELOG" | git tag -as -F - --cleanup whitespace "$TAG"

View file

@ -1,6 +1,6 @@
# RustyPipe # ![RustyPipe](https://code.thetadev.de/ThetaDev/rustypipe/raw/branch/main/notes/logo.svg)
Client for the public YouTube / YouTube Music API (Innertube), inspired by Rust client for the public YouTube / YouTube Music API (Innertube), inspired by
[NewPipe](https://github.com/TeamNewPipe/NewPipeExtractor). [NewPipe](https://github.com/TeamNewPipe/NewPipeExtractor).
## Features ## Features
@ -36,7 +36,7 @@ Client for the public YouTube / YouTube Music API (Innertube), inspired by
```toml ```toml
[dependencies] [dependencies]
rustypipe = "0.1.0" rustypipe = "0.1.3"
tokio = { version = "1.20.0", features = ["macros", "rt-multi-thread"] } tokio = { version = "1.20.0", features = ["macros", "rt-multi-thread"] }
``` ```
@ -159,6 +159,7 @@ Subscribers: 1780000
- Current version of stable Rust - Current version of stable Rust
- [`just`](https://github.com/casey/just) task runner - [`just`](https://github.com/casey/just) task runner
- [`nextest`](https://nexte.st) test runner
- [`pre-commit`](https://pre-commit.com/) - [`pre-commit`](https://pre-commit.com/)
- yq (YAML processor) - yq (YAML processor)

View file

@ -2,7 +2,33 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## v0.1.0 - 2024-03-22
## [v0.1.1](https://code.thetadev.de/ThetaDev/rustypipe/compare/rustypipe-cli/v0.1.0..rustypipe-cli/v0.1.1) - 2024-06-27
### 🚀 Features
- CLI: setting player type - ([16e0e28](https://code.thetadev.de/ThetaDev/rustypipe/commit/16e0e28c4866bb69d8e4c06eef94176f329a1c27))
### 🐛 Bug Fixes
- Clippy warning - ([8420c2f](https://code.thetadev.de/ThetaDev/rustypipe/commit/8420c2f8dbd2791b524ceca2e19fb68e5b918bfa))
### 📚 Documentation
- Add logo - ([6646078](https://code.thetadev.de/ThetaDev/rustypipe/commit/66460789449be0d5984cbdb6ec372e69323b7a88))
### ⚙️ Miscellaneous Tasks
- Changelog: fix incorrect version URLs - ([97b6f07](https://code.thetadev.de/ThetaDev/rustypipe/commit/97b6f07399e80e00a6c015d013e744568be125dd))
- Update rstest to v0.19.0 - ([50fd1f0](https://code.thetadev.de/ThetaDev/rustypipe/commit/50fd1f08caf39c1298654e06059cc393543e925b))
- Introduce MSRV - ([5dbb288](https://code.thetadev.de/ThetaDev/rustypipe/commit/5dbb288a496d53a299effa2026f5258af7b1f176))
- Fix clippy lints - ([45b9f2a](https://code.thetadev.de/ThetaDev/rustypipe/commit/45b9f2a627b4e7075ba0b1c5f16efcc19aef7922))
- *(deps)* Update rust crate tokio to 1.20.4 [security] (#4) - ([ce3ec34](https://code.thetadev.de/ThetaDev/rustypipe/commit/ce3ec34337b8acac41410ea39264aab7423d5801))
- *(deps)* Update rust crate quick-xml to 0.34.0 (#5) - ([1e8a1af](https://code.thetadev.de/ThetaDev/rustypipe/commit/1e8a1af08c873cee7feadf63c2eff62753a78f64))
- *(deps)* Update rust crate rstest to 0.21.0 (#7) - ([c3af918](https://code.thetadev.de/ThetaDev/rustypipe/commit/c3af918ba53c6230c0e4aef822a0cb2cf120bf3f))
- Update rustypipe to 0.2.0
## [v0.1.0](https://code.thetadev.de/ThetaDev/rustypipe/commits/tag/rustypipe-cli/v0.1.0) - 2024-03-22
Initial release Initial release

View file

@ -1,6 +1,7 @@
[package] [package]
name = "rustypipe-cli" name = "rustypipe-cli"
version = "0.1.0" version = "0.1.1"
rust-version = "1.70.0"
edition.workspace = true edition.workspace = true
authors.workspace = true authors.workspace = true
license.workspace = true license.workspace = true

View file

@ -8,7 +8,7 @@ use futures::stream::{self, StreamExt};
use indicatif::{MultiProgress, ProgressBar, ProgressStyle}; use indicatif::{MultiProgress, ProgressBar, ProgressStyle};
use reqwest::{Client, ClientBuilder}; use reqwest::{Client, ClientBuilder};
use rustypipe::{ use rustypipe::{
client::RustyPipe, client::{ClientType, RustyPipe},
model::{UrlTarget, VideoId, YouTubeItem}, model::{UrlTarget, VideoId, YouTubeItem},
param::{search_filter, ChannelVideoTab, Country, Language, StreamFilter}, param::{search_filter, ChannelVideoTab, Country, Language, StreamFilter},
}; };
@ -81,6 +81,8 @@ enum Commands {
/// Get the player /// Get the player
#[clap(long)] #[clap(long)]
player: bool, player: bool,
#[clap(long)]
player_type: Option<PlayerType>,
}, },
/// Search YouTube /// Search YouTube
Search { Search {
@ -189,6 +191,14 @@ enum MusicSearchCategory {
PlaylistsCommunity, PlaylistsCommunity,
} }
#[derive(Copy, Clone, PartialEq, Eq, ValueEnum)]
enum PlayerType {
Desktop,
Tv,
Android,
Ios,
}
impl From<SearchItemType> for search_filter::ItemType { impl From<SearchItemType> for search_filter::ItemType {
fn from(value: SearchItemType) -> Self { fn from(value: SearchItemType) -> Self {
match value { match value {
@ -231,6 +241,17 @@ impl From<SearchOrder> for search_filter::Order {
} }
} }
impl From<PlayerType> for ClientType {
fn from(value: PlayerType) -> Self {
match value {
PlayerType::Desktop => Self::Desktop,
PlayerType::Tv => Self::TvHtml5Embed,
PlayerType::Android => Self::Android,
PlayerType::Ios => Self::Ios,
}
}
}
#[allow(clippy::too_many_arguments)] #[allow(clippy::too_many_arguments)]
async fn download_single_video( async fn download_single_video(
video_id: &str, video_id: &str,
@ -540,6 +561,7 @@ async fn main() {
comments, comments,
lyrics, lyrics,
player, player,
player_type,
} => { } => {
let target = rp.query().resolve_string(&id, false).await.unwrap(); let target = rp.query().resolve_string(&id, false).await.unwrap();
@ -558,7 +580,12 @@ async fn main() {
let details = rp.query().music_details(&id).await.unwrap(); let details = rp.query().music_details(&id).await.unwrap();
print_data(&details, format, pretty); print_data(&details, format, pretty);
} else if player { } else if player {
let player = rp.query().player(&id).await.unwrap(); let player = if let Some(player_type) = player_type {
rp.query().player_from_client(&id, player_type.into()).await
} else {
rp.query().player(&id).await
}
.unwrap();
print_data(&player, format, pretty); print_data(&player, format, pretty);
} else { } else {
let mut details = rp.query().video_details(&id).await.unwrap(); let mut details = rp.query().video_details(&id).await.unwrap();

View file

@ -16,10 +16,11 @@ All notable changes to this project will be documented in this file.\n
body = """ body = """
{% set repo_url = "https://code.thetadev.de/ThetaDev/rustypipe" %}\ {% set repo_url = "https://code.thetadev.de/ThetaDev/rustypipe" %}\
{% if version %}\ {% if version %}\
{%set vname = version | split(pat="/") | last %}
{%if previous.version %}\ {%if previous.version %}\
## [{{ version }}]({{ repo_url }}/compare/{{ previous.version }}..{{ version }})\ ## [{{ vname }}]({{ repo_url }}/compare/{{ previous.version }}..{{ version }})\
{% else %}\ {% else %}\
## {{ version }}\ ## [{{ vname }}]({{ repo_url }}/commits/tag/{{ version }})\
{% endif %} - {{ timestamp | date(format="%Y-%m-%d") }} {% endif %} - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\ {% else %}\
## [unreleased] ## [unreleased]
@ -72,8 +73,8 @@ commit_parsers = [
{ message = "^perf", group = "<!-- 4 -->⚡ Performance" }, { message = "^perf", group = "<!-- 4 -->⚡ Performance" },
{ message = "^refactor", group = "<!-- 2 -->🚜 Refactor" }, { message = "^refactor", group = "<!-- 2 -->🚜 Refactor" },
{ message = "^style", group = "<!-- 5 -->🎨 Styling" }, { message = "^style", group = "<!-- 5 -->🎨 Styling" },
{ message = "^test", group = "<!-- 6 -->🧪 Testing" }, { message = "^test", skip = true },
{ message = "^chore\\(release\\): prepare for", skip = true }, { message = "^chore\\(release\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true }, { message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true }, { message = "^chore\\(pull\\)", skip = true },
{ message = "^chore", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" }, { message = "^chore", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" },

View file

@ -1,5 +1,7 @@
[package] [package]
name = "rustypipe-codegen" name = "rustypipe-codegen"
version = "0.1.0"
rust-version = "1.74.0"
edition.workspace = true edition.workspace = true
authors.workspace = true authors.workspace = true
license.workspace = true license.workspace = true

View file

@ -13,6 +13,8 @@ use rustypipe::param::ChannelVideoTab;
use serde::de::IgnoredAny; use serde::de::IgnoredAny;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::model::QCont;
#[derive( #[derive(
Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, TryFromPrimitive, Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, TryFromPrimitive, Serialize, Deserialize,
)] )]
@ -31,10 +33,15 @@ pub enum ABTest {
LikeButtonViewmodel = 11, LikeButtonViewmodel = 11,
ChannelPageHeader = 12, ChannelPageHeader = 12,
MusicPlaylistTwoColumn = 13, MusicPlaylistTwoColumn = 13,
CommentsFrameworkUpdate = 14,
} }
/// List of active A/B tests that are run when none is manually specified /// List of active A/B tests that are run when none is manually specified
const TESTS_TO_RUN: [ABTest; 2] = [ABTest::ChannelPageHeader, ABTest::MusicPlaylistTwoColumn]; const TESTS_TO_RUN: [ABTest; 3] = [
ABTest::ChannelPageHeader,
ABTest::MusicPlaylistTwoColumn,
ABTest::CommentsFrameworkUpdate,
];
#[derive(Debug, Serialize, Deserialize)] #[derive(Debug, Serialize, Deserialize)]
pub struct ABTestRes { pub struct ABTestRes {
@ -72,7 +79,6 @@ pub async fn run_test(
let rp = RustyPipe::new(); let rp = RustyPipe::new();
let pb = ProgressBar::new(n as u64); let pb = ProgressBar::new(n as u64);
let http = reqwest::Client::default();
pb.set_style( pb.set_style(
ProgressStyle::with_template( ProgressStyle::with_template(
"{msg} [{elapsed_precise}] [{wide_bar:.cyan/blue}] {pos}/{len}", "{msg} [{elapsed_precise}] [{wide_bar:.cyan/blue}] {pos}/{len}",
@ -84,9 +90,8 @@ pub async fn run_test(
.map(|_| { .map(|_| {
let rp = rp.clone(); let rp = rp.clone();
let pb = pb.clone(); let pb = pb.clone();
let http = http.clone();
async move { async move {
let visitor_data = get_visitor_data(&http).await; let visitor_data = rp.query().get_visitor_data().await.unwrap();
let query = rp.query().visitor_data(&visitor_data); let query = rp.query().visitor_data(&visitor_data);
let is_present = match ab { let is_present = match ab {
ABTest::AttributedTextDescription => attributed_text_description(&query).await, ABTest::AttributedTextDescription => attributed_text_description(&query).await,
@ -104,6 +109,7 @@ pub async fn run_test(
ABTest::LikeButtonViewmodel => like_button_viewmodel(&query).await, ABTest::LikeButtonViewmodel => like_button_viewmodel(&query).await,
ABTest::ChannelPageHeader => channel_page_header(&query).await, ABTest::ChannelPageHeader => channel_page_header(&query).await,
ABTest::MusicPlaylistTwoColumn => music_playlist_two_column(&query).await, ABTest::MusicPlaylistTwoColumn => music_playlist_two_column(&query).await,
ABTest::CommentsFrameworkUpdate => comments_framework_update(&query).await,
} }
.unwrap(); .unwrap();
pb.inc(1); pb.inc(1);
@ -125,22 +131,6 @@ pub async fn run_test(
(count, vd_present, vd_absent) (count, vd_present, vd_absent)
} }
async fn get_visitor_data(http: &reqwest::Client) -> String {
let resp = http.get("https://www.youtube.com").send().await.unwrap();
resp.headers()
.get_all(reqwest::header::SET_COOKIE)
.iter()
.find_map(|c| {
if let Ok(cookie) = c.to_str() {
if let Some(after) = cookie.strip_prefix("__Secure-YEC=") {
return after.split_once(';').map(|s| s.0.to_owned());
}
}
None
})
.unwrap()
}
pub async fn run_all_tests(n: usize, concurrency: usize) -> Vec<ABTestRes> { pub async fn run_all_tests(n: usize, concurrency: usize) -> Vec<ABTestRes> {
let mut results = Vec::new(); let mut results = Vec::new();
@ -356,3 +346,20 @@ pub async fn music_playlist_two_column(rp: &RustyPipeQuery) -> Result<bool> {
.unwrap(); .unwrap();
Ok(res.contains("\"musicResponsiveHeaderRenderer\"")) Ok(res.contains("\"musicResponsiveHeaderRenderer\""))
} }
pub async fn comments_framework_update(rp: &RustyPipeQuery) -> Result<bool> {
let continuation =
"Eg0SC3dMZHBSN2d1S3k4GAYyJSIRIgt3TGRwUjdndUt5ODAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D";
let res = rp
.raw(
ClientType::Desktop,
"next",
&QCont {
context: rp.get_context(ClientType::Desktop, true, None).await,
continuation,
},
)
.await
.unwrap();
Ok(res.contains("\"frameworkUpdates\""))
}

View file

@ -67,12 +67,12 @@ pub struct TimeAgo {
pub unit: TimeUnit, pub unit: TimeUnit,
} }
impl ToString for TimeAgo { impl std::fmt::Display for TimeAgo {
fn to_string(&self) -> String { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
if self.n > 1 { if self.n > 1 {
format!("{}{}", self.n, self.unit.as_str()) write!(f, "{}{}", self.n, self.unit.as_str())
} else { } else {
self.unit.as_str().to_owned() f.write_str(self.unit.as_str())
} }
} }
} }

View file

@ -2,7 +2,25 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## v0.1.0 - 2024-03-22
## [v0.1.1](https://code.thetadev.de/ThetaDev/rustypipe/compare/rustypipe-downloader/v0.1.0..rustypipe-downloader/v0.1.1) - 2024-06-27
### 📚 Documentation
- Add logo - ([6646078](https://code.thetadev.de/ThetaDev/rustypipe/commit/66460789449be0d5984cbdb6ec372e69323b7a88))
### ⚙️ Miscellaneous Tasks
- Changelog: fix incorrect version URLs - ([97b6f07](https://code.thetadev.de/ThetaDev/rustypipe/commit/97b6f07399e80e00a6c015d013e744568be125dd))
- Update rstest to v0.19.0 - ([50fd1f0](https://code.thetadev.de/ThetaDev/rustypipe/commit/50fd1f08caf39c1298654e06059cc393543e925b))
- Introduce MSRV - ([5dbb288](https://code.thetadev.de/ThetaDev/rustypipe/commit/5dbb288a496d53a299effa2026f5258af7b1f176))
- Fix clippy lints - ([45b9f2a](https://code.thetadev.de/ThetaDev/rustypipe/commit/45b9f2a627b4e7075ba0b1c5f16efcc19aef7922))
- *(deps)* Update rust crate tokio to 1.20.4 [security] (#4) - ([ce3ec34](https://code.thetadev.de/ThetaDev/rustypipe/commit/ce3ec34337b8acac41410ea39264aab7423d5801))
- *(deps)* Update rust crate quick-xml to 0.34.0 (#5) - ([1e8a1af](https://code.thetadev.de/ThetaDev/rustypipe/commit/1e8a1af08c873cee7feadf63c2eff62753a78f64))
- *(deps)* Update rust crate rstest to 0.21.0 (#7) - ([c3af918](https://code.thetadev.de/ThetaDev/rustypipe/commit/c3af918ba53c6230c0e4aef822a0cb2cf120bf3f))
- Update rustypipe to 0.2.0
## [v0.1.0](https://code.thetadev.de/ThetaDev/rustypipe/commits/tag/rustypipe-downloader/v0.1.0) - 2024-03-22
Initial release Initial release

View file

@ -1,6 +1,7 @@
[package] [package]
name = "rustypipe-downloader" name = "rustypipe-downloader"
version = "0.1.0" version = "0.1.1"
rust-version = "1.67.1"
edition.workspace = true edition.workspace = true
authors.workspace = true authors.workspace = true
license.workspace = true license.workspace = true

View file

@ -26,6 +26,7 @@ to the new feature.
**Status:** **Status:**
- Discontinued (0%)
- Experimental (<3%) - Experimental (<3%)
- Common (>3%) - Common (>3%)
- Frequent (>40%) - Frequent (>40%)
@ -488,7 +489,7 @@ looks needlessly complex but contains the same parsing-relevant data as the old
- **Encountered on:** 29.01.2024 - **Encountered on:** 29.01.2024
- **Impact:** 🟢 Low - **Impact:** 🟢 Low
- **Endpoint:** browse - **Endpoint:** browse
- **Status:** Experimental (<1%) - **Status:** Frequent (55%)
YouTube introduced a new data model for channel headers, based on a YouTube introduced a new data model for channel headers, based on a
`"pageHeaderRenderer"`. The new model comes with more needless complexity that needs to `"pageHeaderRenderer"`. The new model comes with more needless complexity that needs to
@ -592,15 +593,158 @@ be accomodated. There are also no mobile/TV header images available any more.
} }
``` ```
## [13] Music album/playlist 2-column layout ## [13] Music album/playlist 2-column layout
- **Encountered on:** 29.02.2024 - **Encountered on:** 29.02.2024
- **Impact:** 🟢 Low - **Impact:** 🟢 Low
- **Endpoint:** browse - **Endpoint:** browse
- **Status:** Common (6%) - **Status:** Discontinued (0%)
![A/B test 13 screenshot](./_img/ab_13.png) ![A/B test 13 screenshot](./_img/ab_13.png)
YouTube Music updated the layout of album and playlist pages. The new layout shows YouTube Music updated the layout of album and playlist pages. The new layout shows the
the cover on the left side of the playlist content. cover on the left side of the playlist content.
## [14] Comments Framework update
- **Encountered on:** 31.01.2024
- **Impact:** 🟢 Low
- **Endpoint:** next
- **Status:** Frequent (98%)
YouTube changed the data model for YouTube comments, now putting the content into a
seperate framework update object
```json
{
"frameworkUpdates": {
"onResponseReceivedEndpoints": [
{
"clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=",
"reloadContinuationItemsCommand": {
"targetId": "comments-section",
"continuationItems": [
{
"commentThreadRenderer": {
"replies": {
"commentRepliesRenderer": {
"contents": [
{
"continuationItemRenderer": {
"trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN",
"continuationEndpoint": {
"clickTrackingParams": "CHgQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=",
"commandMetadata": {
"webCommandMetadata": {
"sendPost": true,
"apiUrl": "/youtubei/v1/next"
}
},
"continuationCommand": {
"token": "Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5TlRUOHV4REVqZ1lxeWJJRjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZw%3D%3D",
"request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT"
}
}
}
}
],
"trackingParams": "CHgQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=",
"viewReplies": {
"buttonRenderer": {
"text": { "runs": [{ "text": "220 replies" }] },
"icon": { "iconType": "ARROW_DROP_DOWN" },
"trackingParams": "CHoQosAEIhMIuuKt3ZihhQMVr8tCBR3NeASj",
"iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT"
}
},
"hideReplies": {
"buttonRenderer": {
"text": { "runs": [{ "text": "220 replies" }] },
"icon": { "iconType": "ARROW_DROP_UP" },
"trackingParams": "CHkQ280EIhMIuuKt3ZihhQMVr8tCBR3NeASj",
"iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT"
}
},
"targetId": "comment-replies-item-UgyNTT8uxDEjgYqybIF4AaABAg"
}
},
"trackingParams": "CHYQwnUYywEiEwi64q3dmKGFAxWvy0IFHc14BKM=",
"renderingPriority": "RENDERING_PRIORITY_PINNED_COMMENT",
"isModeratedElqComment": false,
"commentViewModel": {
"commentViewModel": {
"commentId": "UgyNTT8uxDEjgYqybIF4AaABAg"
}
}
}
}
]
}
}
],
"entityBatchUpdate": {
"mutations": [
{
"entityKey": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyAoKAE%3D",
"type": "ENTITY_MUTATION_TYPE_REPLACE",
"payload": {
"commentEntityPayload": {
"key": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyAoKAE%3D",
"properties": {
"commentId": "UgyNTT8uxDEjgYqybIF4AaABAg",
"content": {
"content": "⚠️ Important notice: if you put any symbol immediately after markup, it will not work: *here is the comma*, without space.\n\nYou should leave space before and after , to make it work.\n\nSame for _underscore_, and -hyphen-.\n\nLeave space before opening and after closing underscore and hyphen. Put all dots and commas inside markup.",
"styleRuns": [
{
"startIndex": 135,
"length": 28,
"weightLabel": "FONT_WEIGHT_MEDIUM"
},
{
"startIndex": 267,
"length": 10,
"weightLabel": "FONT_WEIGHT_NORMAL",
"italic": true
},
{
"startIndex": 282,
"length": 7,
"weightLabel": "FONT_WEIGHT_NORMAL",
"strikethrough": "LINE_STYLE_SINGLE"
}
]
},
"publishedTime": "2 years ago (edited)",
"replyLevel": 0,
"authorButtonA11y": "@kibizoid",
"toolbarStateKey": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyAsKAE%3D",
"translateButtonEntityKey": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyD_ASgB"
},
"author": {
"channelId": "UCUJfyiofeHQTmxKwZ6cCwIg",
"displayName": "@kibizoid",
"avatarThumbnailUrl": "https://yt3.ggpht.com/ytc/AIdro_nY2PkIyojDqs9Bk5RY6J90-U7wePswTYl799DNJQ=s88-c-k-c0x00ffffff-no-rj",
"isVerified": false,
"isCurrentUser": false,
"isCreator": false,
"isArtist": false
},
"avatar": {
"image": {
"sources": [
{
"url": "https://yt3.ggpht.com/ytc/AIdro_nY2PkIyojDqs9Bk5RY6J90-U7wePswTYl799DNJQ=s88-c-k-c0x00ffffff-no-rj",
"width": 88,
"height": 88
}
]
}
}
}
}
}
]
}
}
}
```

110
notes/logo.svg Normal file
View file

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="530"
height="80"
viewBox="0 0 140.22916 21.166667"
version="1.1"
id="svg5"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="logo.svg"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="false"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
showgrid="false"
inkscape:zoom="1.329974"
inkscape:cx="206.77097"
inkscape:cy="117.29553"
inkscape:window-width="2516"
inkscape:window-height="1051"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg5" /><defs
id="defs2" /><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"><g
aria-label="RUSTYPIPE"
id="text236"
style="font-size:21.1667px;line-height:1.25;display:inline;stroke-width:0.264583"
transform="translate(-22.622596,-15.875)"><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#ff2000;fill-opacity:1"
d="m 51.720162,28.78667 h -0.846668 v -3.238506 h 0.719667 q 0.656168,0 0.994835,-0.04233 0.338668,-0.0635 0.529168,-0.211667 0.169333,-0.148167 0.232834,-0.444501 0.0635,-0.296334 0.0635,-0.867834 0,-0.571501 -0.0635,-0.867835 -0.0635,-0.317501 -0.232834,-0.465668 -0.169334,-0.148166 -0.508001,-0.1905 -0.3175,-0.04233 -1.016002,-0.04233 h -0.719667 v -3.238505 h 2.18017 q 1.502835,0 2.43417,0.296333 0.931335,0.296334 1.439336,0.910169 0.465667,0.5715 0.613834,1.418168 0.169334,0.846668 0.169334,2.180171 0,1.714502 -0.317501,2.645837 -0.4445,1.185335 -1.566335,1.672169 l 2.201336,5.439842 h -4.445007 z"
id="path2732" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#8c441a;fill-opacity:1"
d="m 45.751152,19.176988 h 4.23334 v 14.562689 h -4.23334 z"
id="path2711" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#ff2000;fill-opacity:1"
d="m 67.701016,19.176988 h 4.23334 v 7.916346 q 0,2.074336 -0.08467,3.132671 -0.08467,1.058335 -0.465667,1.778003 -0.423334,0.825501 -1.291169,1.270002 -0.867834,0.444501 -2.391837,0.571501 z"
id="path2736" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#8c441a;fill-opacity:1"
d="m 65.94418,33.909011 q -2.222504,0 -3.429006,-0.359834 -1.206501,-0.359834 -1.778002,-1.164168 -0.529168,-0.740835 -0.656168,-1.883837 -0.127,-1.143002 -0.127,-3.407838 v -7.916346 h 4.23334 v 8.763014 q 0,0.783167 0.04233,1.502835 0.04233,0.571501 0.190501,0.825502 0.148166,0.254 0.508,0.3175 0.317501,0.08467 1.016002,0.08467 h 0.486834 q 0.169334,0 0.381001,-0.04233 v 3.259672 q -0.148167,0.02117 -0.423334,0.02117 z"
id="path2713" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#ff2000;fill-opacity:1"
d="m 80.041215,33.909011 q -2.11667,0 -3.937006,-0.1905 -1.079502,-0.105834 -1.629836,-0.211667 v -3.090339 q 1.248835,0.105834 2.857504,0.211667 1.016002,0.04233 1.439336,0.04233 1.143002,0 1.502836,-0.0635 v 3.302005 z"
id="path2742" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#8c441a;fill-opacity:1"
d="m 81.16305,29.442837 q 0,-0.4445 -0.0635,-0.635001 -0.0635,-0.211667 -0.211667,-0.275167 -0.148167,-0.08467 -0.508001,-0.127 l -2.603504,-0.317501 q -2.30717,-0.254 -3.111505,-1.502835 -0.359834,-0.529168 -0.486834,-1.291169 -0.127,-0.762001 -0.127,-1.86267 0,-2.349503 1.206502,-3.386672 0.973668,-0.846668 3.048004,-0.994835 v 4.254507 q 0,0.275167 0.02117,0.465668 0.02117,0.1905 0.08467,0.296333 0.0635,0.127001 0.211667,0.190501 0.148167,0.04233 0.444501,0.0635 l 2.921004,0.359834 q 0.910168,0.127 1.481669,0.3175 0.571501,0.1905 0.973669,0.592668 0.952501,0.994835 0.952501,3.534839 0,2.688171 -1.185335,3.767672 -0.529168,0.486835 -1.291169,0.719668 -0.740834,0.211667 -1.756836,0.275167 z"
id="path2740" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#ff2000;fill-opacity:1"
d="m 84.655556,22.521326 q -0.698502,-0.08467 -2.455338,-0.232833 -0.973668,-0.04233 -1.566335,-0.04233 -0.762002,0 -1.439336,0.04233 v -3.280839 h 0.529167 q 1.73567,0 3.598339,0.232834 0.592668,0.08467 1.333503,0.232833 z"
id="path2715" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#8c441a;fill-opacity:1"
d="m 90.222387,23.410328 h 4.23334 v 10.329349 h -4.23334 z"
id="path2746" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#ff2000;fill-opacity:1"
d="M 86.391214,19.176988 H 98.308067 V 22.56366 H 86.391214 Z"
id="path2717" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#ff2000;fill-opacity:1"
d="m 106.33024,23.685495 1.9685,-4.508507 h 4.23334 l -1.651,3.429005 -0.6985,1.439336 -1.33351,2.772837 -0.52916,1.100669 z"
id="path2750" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#8c441a;fill-opacity:1"
d="m 103.59973,28.934836 -0.1905,-0.423334 -0.55033,-1.079501 -0.52917,-1.121835 q -0.0847,-0.148167 -0.21167,-0.444501 l -0.86783,-1.79917 -2.328342,-4.889507 h 4.318012 l 4.59317,9.779015 v 4.783674 h -4.23334 z"
id="path2719" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#ff2000;fill-opacity:1"
d="m 118.92441,25.971498 h 0.508 q 0.67733,0 0.99483,-0.04233 0.33867,-0.0635 0.52917,-0.254 0.1905,-0.169334 0.23283,-0.486835 0.0635,-0.338667 0.0635,-0.994834 0,-0.656168 -0.0635,-0.973669 -0.0423,-0.338667 -0.23283,-0.529167 -0.1905,-0.169334 -0.52917,-0.211667 -0.33866,-0.0635 -0.99483,-0.0635 h -0.508 v -3.238505 h 1.75683 q 1.56634,0 2.54001,0.3175 0.99483,0.296334 1.50283,0.931335 0.48684,0.592668 0.65617,1.502836 0.16933,0.889001 0.16933,2.264837 0,1.312335 -0.16933,2.18017 -0.14817,0.867834 -0.61383,1.460502 -0.52917,0.677334 -1.52401,1.037168 -0.97366,0.338668 -2.56117,0.338668 h -1.75683 z"
id="path2754" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#8c441a;fill-opacity:1"
d="m 113.80207,19.176988 h 4.23334 v 14.562689 h -4.23334 z"
id="path2721" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#8c441a;fill-opacity:1"
d="m 127.4546,19.176988 h 4.23334 v 14.562689 h -4.23334 z"
id="path2723" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#ff2000;fill-opacity:1"
d="m 139.56195,25.971498 h 0.508 q 0.67734,0 0.99484,-0.04233 0.33866,-0.0635 0.52916,-0.254 0.1905,-0.169334 0.23284,-0.486835 0.0635,-0.338667 0.0635,-0.994834 0,-0.656168 -0.0635,-0.973669 -0.0423,-0.338667 -0.23284,-0.529167 -0.1905,-0.169334 -0.52916,-0.211667 -0.33867,-0.0635 -0.99484,-0.0635 h -0.508 v -3.238505 h 1.75684 q 1.56633,0 2.54,0.3175 0.99484,0.296334 1.50284,0.931335 0.48683,0.592668 0.65616,1.502836 0.16934,0.889001 0.16934,2.264837 0,1.312335 -0.16934,2.18017 -0.14816,0.867834 -0.61383,1.460502 -0.52917,0.677334 -1.524,1.037168 -0.97367,0.338668 -2.56117,0.338668 h -1.75684 z"
id="path2760" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#8c441a;fill-opacity:1"
d="m 134.43961,19.176988 h 4.23334 v 14.562689 h -4.23334 z"
id="path2725" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#ff2000;fill-opacity:1"
d="m 153.21448,30.501172 h 5.37635 v 3.238505 h -5.37635 z"
id="path2768" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#8c441a;fill-opacity:1"
d="m 153.21448,24.764996 h 4.38151 v 3.238506 h -4.38151 z"
id="path2766" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#ff2000;fill-opacity:1"
d="m 153.21448,19.176988 h 5.37635 v 3.238505 h -5.37635 z"
id="path2764" /><path
style="font-family:'Saira Stencil One';-inkscape-font-specification:'Saira Stencil One';fill:#8c441a;fill-opacity:1"
d="m 148.09214,19.176988 h 4.23334 v 14.562689 h -4.23334 z"
id="path2727" /></g><path
d="m 17.157261,11.267722 c 0.02821,-0.225786 0.04939,-0.451553 0.04939,-0.684389 0,-0.232826 -0.02107,-0.465666 -0.04939,-0.7055542 l 1.488721,-1.150055 c 0.134053,-0.105841 0.169334,-0.296333 0.08466,-0.451555 l -1.411108,-2.441223 c -0.08466,-0.155226 -0.275166,-0.218719 -0.43039,-0.155226 l -1.75683,0.705555 c -0.366888,-0.275166 -0.747887,-0.515056 -1.192389,-0.691443 l -0.261066,-1.869722 c -0.02822,-0.169333 -0.1764,-0.296332 -0.352775,-0.296332 h -2.822222 c -0.176401,0 -0.324554,0.127013 -0.352776,0.296332 l -0.2610673,1.869722 c -0.444501,0.176373 -0.825501,0.416277 -1.192388,0.691443 l -1.756835,-0.705555 c -0.155226,-0.06349 -0.345719,0 -0.430385,0.155226 l -1.411112,2.441223 c -0.09173,0.155226 -0.04939,0.34572 0.08467,0.451555 l 1.488722,1.150055 c -0.02822,0.2398932 -0.04938,0.4727232 -0.04938,0.7055542 0,0.232826 0.02107,0.458611 0.04938,0.684389 l -1.488722,1.171221 c -0.134053,0.10584 -0.1764,0.296333 -0.08467,0.451556 l 1.411112,2.44122 c 0.08466,0.155227 0.275165,0.211654 0.430385,0.155227 l 1.756835,-0.712611 c 0.366887,0.282222 0.747887,0.522112 1.192388,0.698501 l 0.2610673,1.86972 c 0.02821,0.169333 0.1764,0.296333 0.352776,0.296333 h 2.822222 c 0.176399,0 0.324554,-0.126987 0.352775,-0.296333 l 0.261066,-1.86972 c 0.444502,-0.183439 0.825501,-0.416279 1.192389,-0.698501 l 1.75683,0.712611 c 0.155227,0.05646 0.345723,0 0.43039,-0.155227 l 1.41111,-2.44122 c 0.08466,-0.155227 0.04939,-0.345721 -0.08466,-0.451556 z"
id="path458"
style="fill:none;fill-opacity:1;stroke:#8c441a;stroke-width:1.5875;stroke-dasharray:none;stroke-opacity:1"
sodipodi:nodetypes="csccccccccssccccccccsccccccccsscccccccc" /><path
style="fill:#ff2000;fill-opacity:1;stroke-width:0.829285"
d="M 10.29091,13.0712 14.594918,10.583335 10.29091,8.0954668 V 13.0712"
id="path1225" /></g></svg>

After

Width:  |  Height:  |  Size: 11 KiB

14
renovate.json Normal file
View file

@ -0,0 +1,14 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:best-practices",
":approveMajorUpdates",
"schedule:daily"
],
"semanticCommits": "enabled",
"automergeStrategy": "squash",
"osvVulnerabilityAlerts": true,
"labels": ["dependency-upgrade"],
"enabledManagers": ["cargo"],
"prHourlyLimit": 5
}

View file

@ -480,16 +480,16 @@ fn map_channel(
response::channel::Header::PageHeaderRenderer(header) => { response::channel::Header::PageHeaderRenderer(header) => {
let hdata = header.content.page_header_view_model; let hdata = header.content.page_header_view_model;
// channel handle - subscriber count - video count // channel handle - subscriber count - video count
let subscriber_count = hdata let md_rows = hdata.metadata.content_metadata_view_model.metadata_rows;
.metadata let sub_part = if md_rows.len() > 1 {
.content_metadata_view_model md_rows.get(1).and_then(|md| md.metadata_parts.first())
.metadata_rows } else {
.first() md_rows.first().and_then(|md| md.metadata_parts.get(1))
.and_then(|md| { };
md.metadata_parts.get(1).and_then(|t| { let subscriber_count = sub_part.and_then(|t| {
util::parse_large_numstr_or_warn::<u64>(&t.text, lang, &mut warnings) util::parse_large_numstr_or_warn::<u64>(&t.text, lang, &mut warnings)
}) });
});
Channel { Channel {
id: metadata.external_id, id: metadata.external_id,
name: metadata.title, name: metadata.title,
@ -720,6 +720,7 @@ mod tests {
#[case::shorts("shorts", "UCh8gHdtzO2tXd593_bjErWg")] #[case::shorts("shorts", "UCh8gHdtzO2tXd593_bjErWg")]
#[case::livestreams("livestreams", "UC2DjFE7Xf11URZqWBigcVOQ")] #[case::livestreams("livestreams", "UC2DjFE7Xf11URZqWBigcVOQ")]
#[case::pageheader("shorts_20240129_pageheader", "UCh8gHdtzO2tXd593_bjErWg")] #[case::pageheader("shorts_20240129_pageheader", "UCh8gHdtzO2tXd593_bjErWg")]
#[case::pageheader2("videos_20240324_pageheader2", "UC2DjFE7Xf11URZqWBigcVOQ")]
fn map_channel_videos(#[case] name: &str, #[case] id: &str) { fn map_channel_videos(#[case] name: &str, #[case] id: &str) {
let json_path = path!(*TESTFILES / "channel" / format!("channel_{name}.json")); let json_path = path!(*TESTFILES / "channel" / format!("channel_{name}.json"));
let json_file = File::open(json_path).unwrap(); let json_file = File::open(json_path).unwrap();

View file

@ -182,7 +182,7 @@ struct QContinuation<'a> {
continuation: &'a str, continuation: &'a str,
} }
const DEFAULT_UA: &str = "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"; const DEFAULT_UA: &str = "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0";
const CONSENT_COOKIE: &str = "SOCS=CAISAiAD"; const CONSENT_COOKIE: &str = "SOCS=CAISAiAD";
@ -192,19 +192,15 @@ const YOUTUBE_MUSIC_V1_URL: &str = "https://music.youtube.com/youtubei/v1/";
const YOUTUBE_HOME_URL: &str = "https://www.youtube.com/"; const YOUTUBE_HOME_URL: &str = "https://www.youtube.com/";
const YOUTUBE_MUSIC_HOME_URL: &str = "https://music.youtube.com/"; const YOUTUBE_MUSIC_HOME_URL: &str = "https://music.youtube.com/";
const DISABLE_PRETTY_PRINT_PARAMETER: &str = "&prettyPrint=false"; const DISABLE_PRETTY_PRINT_PARAMETER: &str = "prettyPrint=false";
// Desktop client // Desktop client
const DESKTOP_CLIENT_VERSION: &str = "2.20230126.00.00"; const DESKTOP_CLIENT_VERSION: &str = "2.20230126.00.00";
const DESKTOP_API_KEY: &str = "AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8";
const TVHTML5_CLIENT_VERSION: &str = "2.0"; const TVHTML5_CLIENT_VERSION: &str = "2.0";
const DESKTOP_MUSIC_API_KEY: &str = "AIzaSyC9XL3ZjWddXya6X74dJoCTL-WEYFDNX30";
const DESKTOP_MUSIC_CLIENT_VERSION: &str = "1.20230123.01.01"; const DESKTOP_MUSIC_CLIENT_VERSION: &str = "1.20230123.01.01";
// Mobile client // Mobile client
const MOBILE_CLIENT_VERSION: &str = "18.03.33"; const MOBILE_CLIENT_VERSION: &str = "18.03.33";
const ANDROID_API_KEY: &str = "AIzaSyA8eiZmM1FaDVjRy-df2KTyQ_vz_yYM39w";
const IOS_API_KEY: &str = "AIzaSyB-63vPrdThhKuerbB2N_l7Kwwcxj6yUAc";
const IOS_DEVICE_MODEL: &str = "iPhone14,5"; const IOS_DEVICE_MODEL: &str = "iPhone14,5";
static CLIENT_VERSION_REGEX: Lazy<Regex> = static CLIENT_VERSION_REGEX: Lazy<Regex> =
@ -308,7 +304,6 @@ impl<T> DefaultOpt<T> {
/// - [`music_search_albums`](RustyPipeQuery::music_search_albums) /// - [`music_search_albums`](RustyPipeQuery::music_search_albums)
/// - [`music_search_artists`](RustyPipeQuery::music_search_artists) /// - [`music_search_artists`](RustyPipeQuery::music_search_artists)
/// - [`music_search_playlists`](RustyPipeQuery::music_search_playlists) /// - [`music_search_playlists`](RustyPipeQuery::music_search_playlists)
/// - [`music_search_playlists_filter`](RustyPipeQuery::music_search_playlists_filter)
/// - [`music_search_suggestion`](RustyPipeQuery::music_search_suggestion) /// - [`music_search_suggestion`](RustyPipeQuery::music_search_suggestion)
/// - **Radio** /// - **Radio**
/// - [`music_radio`](RustyPipeQuery::music_radio) /// - [`music_radio`](RustyPipeQuery::music_radio)
@ -1189,7 +1184,7 @@ impl RustyPipeQuery {
.inner .inner
.http .http
.post(format!( .post(format!(
"{YOUTUBEI_V1_URL}{endpoint}?key={DESKTOP_API_KEY}{DISABLE_PRETTY_PRINT_PARAMETER}" "{YOUTUBEI_V1_URL}{endpoint}?{DISABLE_PRETTY_PRINT_PARAMETER}"
)) ))
.header(header::ORIGIN, YOUTUBE_HOME_URL) .header(header::ORIGIN, YOUTUBE_HOME_URL)
.header(header::REFERER, YOUTUBE_HOME_URL) .header(header::REFERER, YOUTUBE_HOME_URL)
@ -1204,7 +1199,7 @@ impl RustyPipeQuery {
.inner .inner
.http .http
.post(format!( .post(format!(
"{YOUTUBE_MUSIC_V1_URL}{endpoint}?key={DESKTOP_MUSIC_API_KEY}{DISABLE_PRETTY_PRINT_PARAMETER}" "{YOUTUBE_MUSIC_V1_URL}{endpoint}?{DISABLE_PRETTY_PRINT_PARAMETER}"
)) ))
.header(header::ORIGIN, YOUTUBE_MUSIC_HOME_URL) .header(header::ORIGIN, YOUTUBE_MUSIC_HOME_URL)
.header(header::REFERER, YOUTUBE_MUSIC_HOME_URL) .header(header::REFERER, YOUTUBE_MUSIC_HOME_URL)
@ -1212,14 +1207,14 @@ impl RustyPipeQuery {
.header("X-YouTube-Client-Name", "67") .header("X-YouTube-Client-Name", "67")
.header( .header(
"X-YouTube-Client-Version", "X-YouTube-Client-Version",
self.client.get_music_client_version().await self.client.get_music_client_version().await,
), ),
ClientType::TvHtml5Embed => self ClientType::TvHtml5Embed => self
.client .client
.inner .inner
.http .http
.post(format!( .post(format!(
"{YOUTUBEI_V1_URL}{endpoint}?key={DESKTOP_API_KEY}{DISABLE_PRETTY_PRINT_PARAMETER}" "{YOUTUBEI_V1_URL}{endpoint}?{DISABLE_PRETTY_PRINT_PARAMETER}"
)) ))
.header(header::ORIGIN, YOUTUBE_HOME_URL) .header(header::ORIGIN, YOUTUBE_HOME_URL)
.header(header::REFERER, YOUTUBE_HOME_URL) .header(header::REFERER, YOUTUBE_HOME_URL)
@ -1230,7 +1225,7 @@ impl RustyPipeQuery {
.inner .inner
.http .http
.post(format!( .post(format!(
"{YOUTUBEI_V1_GAPIS_URL}{endpoint}?key={ANDROID_API_KEY}{DISABLE_PRETTY_PRINT_PARAMETER}" "{YOUTUBEI_V1_GAPIS_URL}{endpoint}?{DISABLE_PRETTY_PRINT_PARAMETER}"
)) ))
.header( .header(
header::USER_AGENT, header::USER_AGENT,
@ -1245,7 +1240,7 @@ impl RustyPipeQuery {
.inner .inner
.http .http
.post(format!( .post(format!(
"{YOUTUBEI_V1_GAPIS_URL}{endpoint}?key={IOS_API_KEY}{DISABLE_PRETTY_PRINT_PARAMETER}" "{YOUTUBEI_V1_GAPIS_URL}{endpoint}?{DISABLE_PRETTY_PRINT_PARAMETER}"
)) ))
.header( .header(
header::USER_AGENT, header::USER_AGENT,
@ -1263,7 +1258,7 @@ impl RustyPipeQuery {
} }
/// Get a YouTube visitor data cookie, which is necessary for certain requests /// Get a YouTube visitor data cookie, which is necessary for certain requests
async fn get_visitor_data(&self) -> Result<String, Error> { pub async fn get_visitor_data(&self) -> Result<String, Error> {
match &self.opts.visitor_data { match &self.opts.visitor_data {
Some(vd) => Ok(vd.clone()), Some(vd) => Ok(vd.clone()),
None => self.client.get_visitor_data().await, None => self.client.get_visitor_data().await,
@ -1596,9 +1591,11 @@ fn validate_country(country: Country) -> Country {
mod tests { mod tests {
use super::*; use super::*;
// 1.20240506.01.00-canary_control_1.20240508.01.01
// 1.20240508.01.01-canary_experiment_1.20240506.01.00
fn get_major_version(version: &str) -> u32 { fn get_major_version(version: &str) -> u32 {
let parts = version.split('.').collect::<Vec<_>>(); let parts = version.split('.').collect::<Vec<_>>();
assert_eq!(parts.len(), 4); assert!(parts.len() >= 4, "version: {version}");
parts[0].parse().unwrap() parts[0].parse().unwrap()
} }

View file

@ -306,19 +306,14 @@ impl MapResponse<Lyrics> for response::MusicLyrics {
) -> Result<MapResult<Lyrics>, ExtractionError> { ) -> Result<MapResult<Lyrics>, ExtractionError> {
let lyrics = self let lyrics = self
.contents .contents
.section_list_renderer .into_res()
.and_then(|sl| { .map_err(|msg| ExtractionError::NotFound {
sl.contents id: id.to_owned(),
.into_iter() msg: msg.into(),
.find_map(|item| item.music_description_shelf_renderer) })?
}) .into_iter()
.ok_or(match self.contents.message_renderer { .find_map(|item| item.music_description_shelf_renderer)
Some(msg) => ExtractionError::NotFound { .ok_or(ExtractionError::InvalidData(Cow::Borrowed("no content")))?;
id: id.to_owned(),
msg: msg.text.into(),
},
None => ExtractionError::InvalidData(Cow::Borrowed("no content")),
})?;
Ok(MapResult { Ok(MapResult {
c: Lyrics { c: Lyrics {
@ -333,36 +328,39 @@ impl MapResponse<Lyrics> for response::MusicLyrics {
impl MapResponse<MusicRelated> for response::MusicRelated { impl MapResponse<MusicRelated> for response::MusicRelated {
fn map_response( fn map_response(
self, self,
_id: &str, id: &str,
lang: Language, lang: Language,
_deobf: Option<&crate::deobfuscate::DeobfData>, _deobf: Option<&crate::deobfuscate::DeobfData>,
_vdata: Option<&str>, _vdata: Option<&str>,
) -> Result<MapResult<MusicRelated>, ExtractionError> { ) -> Result<MapResult<MusicRelated>, ExtractionError> {
let contents = self
.contents
.into_res()
.map_err(|msg| ExtractionError::NotFound {
id: id.to_owned(),
msg: msg.into(),
})?;
// Find artist // Find artist
let artist_id = self let artist_id = contents.iter().find_map(|section| match section {
.contents response::music_item::ItemSection::MusicCarouselShelfRenderer(shelf) => {
.section_list_renderer shelf.header.as_ref().and_then(|h| {
.contents h.music_carousel_shelf_basic_header_renderer
.iter() .title
.find_map(|section| match section { .0
response::music_item::ItemSection::MusicCarouselShelfRenderer(shelf) => { .iter()
shelf.header.as_ref().and_then(|h| { .find_map(|c| {
h.music_carousel_shelf_basic_header_renderer let artist = ArtistId::from(c.clone());
.title if artist.id.is_some() {
.0 Some(artist)
.iter() } else {
.find_map(|c| { None
let artist = ArtistId::from(c.clone()); }
if artist.id.is_some() { })
Some(artist) })
} else { }
None _ => None,
} });
})
})
}
_ => None,
});
let mut mapper_tracks = MusicListMapper::new(lang); let mut mapper_tracks = MusicListMapper::new(lang);
let mut mapper = match artist_id { let mut mapper = match artist_id {
@ -370,7 +368,7 @@ impl MapResponse<MusicRelated> for response::MusicRelated {
None => MusicListMapper::new(lang), None => MusicListMapper::new(lang),
}; };
let mut sections = self.contents.section_list_renderer.contents.into_iter(); let mut sections = contents.into_iter();
if let Some(response::music_item::ItemSection::MusicCarouselShelfRenderer(shelf)) = if let Some(response::music_item::ItemSection::MusicCarouselShelfRenderer(shelf)) =
sections.next() sections.next()
{ {

View file

@ -128,8 +128,8 @@ impl RustyPipeQuery {
video_id, video_id,
content_check_ok: true, content_check_ok: true,
racy_check_ok: true, racy_check_ok: true,
// Source: https://github.com/TeamNewPipe/NewPipeExtractor/pull/1084 // Source: https://github.com/TeamNewPipe/NewPipeExtractor/pull/1168
params: Some("CgIQBg").filter(|_| client_type == ClientType::Android), params: Some("CgIIAQ%3D%3D").filter(|_| client_type == ClientType::Android),
} }
}; };
@ -180,6 +180,7 @@ impl MapResponse<VideoPlayer> for response::Player {
"members-only" => Some(UnavailabilityReason::MembersOnly), "members-only" => Some(UnavailabilityReason::MembersOnly),
"country" => Some(UnavailabilityReason::Geoblocked), "country" => Some(UnavailabilityReason::Geoblocked),
"Android" | "websites" => Some(UnavailabilityReason::UnsupportedClient), "Android" | "websites" => Some(UnavailabilityReason::UnsupportedClient),
"bot" => Some(UnavailabilityReason::IpBan),
_ => None, _ => None,
}) })
.unwrap_or_default(); .unwrap_or_default();
@ -245,7 +246,7 @@ impl MapResponse<VideoPlayer> for response::Player {
id: video_details.video_id, id: video_details.video_id,
name: video_details.title, name: video_details.title,
description: video_details.short_description, description: video_details.short_description,
length: video_details.length_seconds, duration: video_details.length_seconds,
thumbnail: video_details.thumbnail.into(), thumbnail: video_details.thumbnail.into(),
channel: ChannelId { channel: ChannelId {
id: video_details.channel_id, id: video_details.channel_id,
@ -429,7 +430,7 @@ fn deobf_nsig(
} else { } else {
let nsig = deobf.deobfuscate_nsig(n)?; let nsig = deobf.deobfuscate_nsig(n)?;
last_nsig[0] = n.to_string(); last_nsig[0] = n.to_string();
last_nsig[1] = nsig.clone(); last_nsig[1].clone_from(&nsig);
nsig nsig
}; };

View file

@ -156,7 +156,7 @@ impl MapResponse<Playlist> for response::Playlist {
header header
.playlist_header_renderer .playlist_header_renderer
.description_text .description_text
.map(|text| TextComponents(vec![TextComponent::Text { text }])) .map(|text| TextComponents(vec![TextComponent::new(text)]))
}) })
.map(RichText::from); .map(RichText::from);
let channel = header let channel = header

View file

@ -3,7 +3,7 @@ use serde_with::{rust::deserialize_ignore_any, serde_as, DefaultOnError, VecSkip
use super::{ use super::{
video_item::YouTubeListRenderer, Alert, ChannelBadge, ContentRenderer, ContentsRenderer, video_item::YouTubeListRenderer, Alert, ChannelBadge, ContentRenderer, ContentsRenderer,
ContinuationActionWrap, ResponseContext, Thumbnails, TwoColumnBrowseResults, ContinuationActionWrap, ImageView, ResponseContext, Thumbnails, TwoColumnBrowseResults,
}; };
use crate::serializer::text::{AttributedText, Text, TextComponent}; use crate::serializer::text::{AttributedText, Text, TextComponent};
@ -224,12 +224,6 @@ pub(crate) struct PhAvatarView3 {
pub avatar_view_model: ImageView, pub avatar_view_model: ImageView,
} }
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct ImageView {
pub image: Thumbnails,
}
#[derive(Debug, Deserialize)] #[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub(crate) struct PhMetadataView { pub(crate) struct PhMetadataView {

View file

@ -48,6 +48,7 @@ pub(crate) mod channel_rss;
pub(crate) use channel_rss::ChannelRss; pub(crate) use channel_rss::ChannelRss;
use std::borrow::Cow; use std::borrow::Cow;
use std::collections::HashMap;
use std::marker::PhantomData; use std::marker::PhantomData;
use serde::{ use serde::{
@ -106,6 +107,12 @@ pub(crate) struct ThumbnailsWrap {
pub thumbnail: Thumbnails, pub thumbnail: Thumbnails,
} }
#[derive(Default, Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct ImageView {
pub image: Thumbnails,
}
/// List of images in different resolutions. /// List of images in different resolutions.
/// Not only used for thumbnails, but also for avatars and banners. /// Not only used for thumbnails, but also for avatars and banners.
#[derive(Default, Debug, Deserialize)] #[derive(Default, Debug, Deserialize)]
@ -374,3 +381,87 @@ pub(crate) fn alerts_to_err(id: &str, alerts: Option<Vec<Alert>>) -> ExtractionE
.unwrap_or_default(), .unwrap_or_default(),
} }
} }
// FRAMEWORK UPDATES
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct FrameworkUpdates<T> {
pub entity_batch_update: EntityBatchUpdate<T>,
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct EntityBatchUpdate<T> {
pub mutations: FrameworkUpdateMutations<T>,
}
/// List of update mutations that deserializes into a HashMap (entity_key => payload)
#[derive(Debug)]
pub(crate) struct FrameworkUpdateMutations<T> {
pub items: HashMap<String, T>,
pub warnings: Vec<String>,
}
impl<'de, T> Deserialize<'de> for FrameworkUpdateMutations<T>
where
T: Deserialize<'de>,
{
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct SeqVisitor<T>(PhantomData<T>);
#[derive(serde::Deserialize)]
#[serde(untagged)]
enum MutationOrError<T> {
#[serde(rename_all = "camelCase")]
Good {
entity_key: String,
payload: T,
},
Error(serde_json::Value),
}
impl<'de, T> Visitor<'de> for SeqVisitor<T>
where
T: Deserialize<'de>,
{
type Value = FrameworkUpdateMutations<T>;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("sequence of entity mutations")
}
fn visit_seq<A>(self, mut seq: A) -> Result<Self::Value, A::Error>
where
A: serde::de::SeqAccess<'de>,
{
let mut items = HashMap::with_capacity(seq.size_hint().unwrap_or_default());
let mut warnings = Vec::new();
while let Some(value) = seq.next_element::<MutationOrError<T>>()? {
match value {
MutationOrError::Good {
entity_key,
payload,
} => {
items.insert(entity_key, payload);
}
MutationOrError::Error(value) => {
warnings.push(format!(
"error deserializing item: {}",
serde_json::to_string(&value).unwrap_or_default()
));
}
}
}
Ok(FrameworkUpdateMutations { items, warnings })
}
}
deserializer.deserialize_seq(SeqVisitor(PhantomData::<T>))
}
}

View file

@ -1,6 +1,5 @@
use serde::Deserialize; use serde::Deserialize;
use serde_with::serde_as; use serde_with::{serde_as, DefaultOnError, VecSkipError};
use serde_with::DefaultOnError;
use crate::serializer::text::Text; use crate::serializer::text::Text;
@ -8,7 +7,7 @@ use super::AlertRenderer;
use super::ContentsRenderer; use super::ContentsRenderer;
use super::{ use super::{
music_item::{ItemSection, PlaylistPanelRenderer}, music_item::{ItemSection, PlaylistPanelRenderer},
ContentRenderer, SectionList, ContentRenderer,
}; };
/// Response model for YouTube Music track details /// Response model for YouTube Music track details
@ -36,9 +35,11 @@ pub(crate) struct TabbedRenderer {
pub watch_next_tabbed_results_renderer: TabbedRendererInner, pub watch_next_tabbed_results_renderer: TabbedRendererInner,
} }
#[serde_as]
#[derive(Debug, Deserialize)] #[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub(crate) struct TabbedRendererInner { pub(crate) struct TabbedRendererInner {
#[serde_as(as = "VecSkipError<_>")]
pub tabs: Vec<Tab>, pub tabs: Vec<Tab>,
} }
@ -107,14 +108,14 @@ pub(crate) struct PlaylistPanel {
#[derive(Debug, Deserialize)] #[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub(crate) struct MusicLyrics { pub(crate) struct MusicLyrics {
pub contents: LyricsContents, pub contents: ListOrMessage<LyricsSection>,
} }
#[derive(Debug, Deserialize)] #[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub(crate) struct LyricsContents { pub(crate) enum ListOrMessage<T> {
pub message_renderer: Option<AlertRenderer>, SectionListRenderer(ContentsRenderer<T>),
pub section_list_renderer: Option<ContentsRenderer<LyricsSection>>, MessageRenderer(AlertRenderer),
} }
#[derive(Debug, Deserialize)] #[derive(Debug, Deserialize)]
@ -136,5 +137,14 @@ pub(crate) struct LyricsRenderer {
#[derive(Debug, Deserialize)] #[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub(crate) struct MusicRelated { pub(crate) struct MusicRelated {
pub contents: SectionList<ItemSection>, pub contents: ListOrMessage<ItemSection>,
}
impl<T> ListOrMessage<T> {
pub fn into_res(self) -> Result<Vec<T>, String> {
match self {
ListOrMessage::SectionListRenderer(c) => Ok(c.contents),
ListOrMessage::MessageRenderer(msg) => Err(msg.text),
}
}
} }

View file

@ -721,7 +721,7 @@ impl MusicListMapper {
.unwrap_or_default() .unwrap_or_default()
})) }))
{ {
artists = fb_artists.clone(); artists.clone_from(fb_artists);
} }
} }
@ -787,7 +787,7 @@ impl MusicListMapper {
// fall back to menu data // fall back to menu data
if let Some(a1) = artists.first_mut() { if let Some(a1) = artists.first_mut() {
if a1.id.is_none() { if a1.id.is_none() {
a1.id = artist_id.clone(); a1.id.clone_from(&artist_id);
} }
} }

View file

@ -3,9 +3,8 @@
use serde::Deserialize; use serde::Deserialize;
use serde_with::{rust::deserialize_ignore_any, serde_as, DefaultOnError, VecSkipError}; use serde_with::{rust::deserialize_ignore_any, serde_as, DefaultOnError, VecSkipError};
use crate::serializer::text::TextComponent;
use crate::serializer::{ use crate::serializer::{
text::{AccessibilityText, AttributedText, Text, TextComponents}, text::{AccessibilityText, AttributedText, Text, TextComponent, TextComponents},
MapResult, MapResult,
}; };
@ -13,7 +12,10 @@ use super::{
url_endpoint::BrowseEndpointWrap, ContinuationEndpoint, ContinuationItemRenderer, Icon, url_endpoint::BrowseEndpointWrap, ContinuationEndpoint, ContinuationItemRenderer, Icon,
MusicContinuationData, Thumbnails, MusicContinuationData, Thumbnails,
}; };
use super::{ChannelBadge, ContentsRendererLogged, ResponseContext, YouTubeListItem}; use super::{
ChannelBadge, ContentsRendererLogged, FrameworkUpdates, ImageView, ResponseContext,
YouTubeListItem,
};
/* /*
#VIDEO DETAILS #VIDEO DETAILS
@ -476,6 +478,7 @@ pub(crate) struct VideoComments {
/// - n*commentRenderer, continuationItemRenderer: /// - n*commentRenderer, continuationItemRenderer:
/// replies + continuation /// replies + continuation
pub on_response_received_endpoints: MapResult<Vec<CommentsContItem>>, pub on_response_received_endpoints: MapResult<Vec<CommentsContItem>>,
pub framework_updates: Option<FrameworkUpdates<Payload>>,
} }
/// Video comments continuation /// Video comments continuation
@ -498,23 +501,13 @@ pub(crate) struct AppendComments {
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub(crate) enum CommentListItem { pub(crate) enum CommentListItem {
/// Top-level comment /// Top-level comment
#[serde(rename_all = "camelCase")] CommentThreadRenderer(CommentThreadRenderer),
CommentThreadRenderer {
comment: Comment,
/// Continuation token to fetch replies
#[serde(default)]
replies: Replies,
#[serde(default)]
#[serde_as(deserialize_as = "DefaultOnError")]
rendering_priority: CommentPriority,
},
/// Reply comment /// Reply comment
CommentRenderer(CommentRenderer), CommentRenderer(CommentRenderer),
/// Reply comment (A/B #14)
CommentViewModel(CommentViewModel),
/// Continuation token to fetch more comments /// Continuation token to fetch more comments
#[serde(rename_all = "camelCase")] ContinuationItemRenderer(ContinuationItemVariants),
ContinuationItemRenderer {
continuation_endpoint: ContinuationEndpoint,
},
/// Header of the comment section (contains number of comments) /// Header of the comment section (contains number of comments)
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
CommentsHeaderRenderer { CommentsHeaderRenderer {
@ -524,6 +517,46 @@ pub(crate) enum CommentListItem {
}, },
} }
#[derive(Debug, Deserialize)]
#[serde(untagged)]
pub(crate) enum ContinuationItemVariants {
#[serde(rename_all = "camelCase")]
Ep {
continuation_endpoint: ContinuationEndpoint,
},
Btn {
button: ContinuationButton,
},
}
impl ContinuationItemVariants {
pub fn token(self) -> String {
match self {
ContinuationItemVariants::Ep {
continuation_endpoint,
} => continuation_endpoint,
ContinuationItemVariants::Btn { button } => button.button_renderer.command,
}
.continuation_command
.token
}
}
#[serde_as]
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct CommentThreadRenderer {
/// Missing on the FrameworkUpdate data model (A/B #14)
pub comment: Option<Comment>,
pub comment_view_model: Option<CommentViewModelWrap>,
/// Continuation token to fetch replies
#[serde(default)]
pub replies: Replies,
#[serde(default)]
#[serde_as(deserialize_as = "DefaultOnError")]
pub rendering_priority: CommentPriority,
}
#[derive(Debug, Deserialize)] #[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub(crate) struct Comment { pub(crate) struct Comment {
@ -564,7 +597,7 @@ pub(crate) struct CommentRenderer {
pub action_buttons: CommentActionButtons, pub action_buttons: CommentActionButtons,
} }
#[derive(Default, Clone, Copy, Debug, Deserialize, PartialEq, Eq)] #[derive(Default, Clone, Copy, Debug, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")] #[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub(crate) enum CommentPriority { pub(crate) enum CommentPriority {
/// Default rendering priority /// Default rendering priority
@ -574,6 +607,26 @@ pub(crate) enum CommentPriority {
RenderingPriorityPinnedComment, RenderingPriorityPinnedComment,
} }
impl From<CommentPriority> for bool {
fn from(value: CommentPriority) -> Self {
matches!(value, CommentPriority::RenderingPriorityPinnedComment)
}
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct CommentViewModelWrap {
pub comment_view_model: CommentViewModel,
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct CommentViewModel {
pub comment_id: String,
pub comment_key: String,
pub toolbar_state_key: String,
}
/// Does not contain replies directly but a continuation token /// Does not contain replies directly but a continuation token
/// for fetching them. /// for fetching them.
#[derive(Default, Debug, Deserialize)] #[derive(Default, Debug, Deserialize)]
@ -637,3 +690,85 @@ pub(crate) struct AuthorCommentBadgeRenderer {
/// Artist: `OFFICIAL_ARTIST_BADGE` /// Artist: `OFFICIAL_ARTIST_BADGE`
pub icon: Icon, pub icon: Icon,
} }
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) enum Payload {
CommentEntityPayload(CommentEntityPayload),
#[serde(rename_all = "camelCase")]
EngagementToolbarStateEntityPayload {
heart_state: HeartState,
},
#[serde(other, deserialize_with = "deserialize_ignore_any")]
None,
}
#[serde_as]
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct CommentEntityPayload {
pub properties: CommentProperties,
#[serde(default)]
#[serde_as(as = "DefaultOnError")]
pub author: Option<CommentAuthor>,
pub toolbar: CommentToolbar,
#[serde(default)]
pub avatar: ImageView,
}
#[serde_as]
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct CommentProperties {
#[serde_as(as = "AttributedText")]
pub content: TextComponents,
pub published_time: String,
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct CommentAuthor {
pub channel_id: String,
pub display_name: String,
#[serde(default)]
pub is_verified: bool,
#[serde(default)]
pub is_artist: bool,
#[serde(default)]
pub is_creator: bool,
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct CommentToolbar {
pub like_count_notliked: String,
pub reply_count: String,
}
#[derive(Debug, Copy, Clone, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub(crate) enum HeartState {
ToolbarHeartStateUnhearted,
ToolbarHeartStateHearted,
}
impl From<HeartState> for bool {
fn from(value: HeartState) -> Self {
match value {
HeartState::ToolbarHeartStateUnhearted => false,
HeartState::ToolbarHeartStateHearted => true,
}
}
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct ContinuationButton {
pub button_renderer: ContinuationButtonRenderer,
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct ContinuationButtonRenderer {
pub command: ContinuationEndpoint,
}

View file

@ -445,7 +445,7 @@ impl<T> YouTubeListMapper<T> {
VideoItem { VideoItem {
id: video.video_id, id: video.video_id,
name: video.title, name: video.title,
length: length_text.and_then(|txt| util::parse_video_length(&txt)), duration: length_text.and_then(|txt| util::parse_video_length(&txt)),
thumbnail: video.thumbnail.into(), thumbnail: video.thumbnail.into(),
channel: video channel: video
.channel .channel
@ -500,7 +500,7 @@ impl<T> YouTubeListMapper<T> {
VideoItem { VideoItem {
id: video.video_id, id: video.video_id,
name: video.headline, name: video.headline,
length: None, duration: None,
thumbnail: video.thumbnail.into(), thumbnail: video.thumbnail.into(),
channel: self.channel.clone(), channel: self.channel.clone(),
publish_date: pub_date_txt.as_ref().and_then(|txt| { publish_date: pub_date_txt.as_ref().and_then(|txt| {
@ -564,7 +564,7 @@ impl<T> YouTubeListMapper<T> {
VideoItem { VideoItem {
id: video.video_id, id: video.video_id,
name: video.title, name: video.title,
length: video.length_seconds, duration: video.length_seconds,
thumbnail: video.thumbnail.into(), thumbnail: video.thumbnail.into(),
channel, channel,
publish_date, publish_date,

View file

@ -151,7 +151,7 @@ Channel(
VideoItem( VideoItem(
id: "hhs95CI6Dsg", id: "hhs95CI6Dsg",
name: "MARS 2020 Landing LIVE", name: "MARS 2020 Landing LIVE",
length: Some(6321), duration: Some(6321),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/hhs95CI6Dsg/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AHUBoAC4AOKAgwIABABGGUgZShlMA8=&rs=AOn4CLAlPp2e1tF8gyf1cJisZGTMleissg", url: "https://i.ytimg.com/vi/hhs95CI6Dsg/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AHUBoAC4AOKAgwIABABGGUgZShlMA8=&rs=AOn4CLAlPp2e1tF8gyf1cJisZGTMleissg",
@ -192,7 +192,7 @@ Channel(
VideoItem( VideoItem(
id: "cpQk2n-wmQ4", id: "cpQk2n-wmQ4",
name: "LIVE Soldering", name: "LIVE Soldering",
length: Some(7046), duration: Some(7046),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cpQk2n-wmQ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCoS3qwdY2rDbhkWJOWHisORlMKnA", url: "https://i.ytimg.com/vi/cpQk2n-wmQ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCoS3qwdY2rDbhkWJOWHisORlMKnA",
@ -233,7 +233,7 @@ Channel(
VideoItem( VideoItem(
id: "kIDV_XN9oA8", id: "kIDV_XN9oA8",
name: "LIVE Soldering", name: "LIVE Soldering",
length: Some(4353), duration: Some(4353),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/kIDV_XN9oA8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBG3KVoFpBFIYCG2mrox_kEq6Arug", url: "https://i.ytimg.com/vi/kIDV_XN9oA8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBG3KVoFpBFIYCG2mrox_kEq6Arug",
@ -274,7 +274,7 @@ Channel(
VideoItem( VideoItem(
id: "DWS4Qp3Yn0A", id: "DWS4Qp3Yn0A",
name: "Apollo 11 Launch LIVE - 50 Years Later", name: "Apollo 11 Launch LIVE - 50 Years Later",
length: Some(4560), duration: Some(4560),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DWS4Qp3Yn0A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAFkIQ4er8qDNMlD9H8lPzfSnE99g", url: "https://i.ytimg.com/vi/DWS4Qp3Yn0A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAFkIQ4er8qDNMlD9H8lPzfSnE99g",
@ -315,7 +315,7 @@ Channel(
VideoItem( VideoItem(
id: "LwjTe3SiVXg", id: "LwjTe3SiVXg",
name: "EEVblog LIVE Q&A", name: "EEVblog LIVE Q&A",
length: Some(3943), duration: Some(3943),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/LwjTe3SiVXg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzTlnjBJLT3KJVN4teMlX_svuaNA", url: "https://i.ytimg.com/vi/LwjTe3SiVXg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzTlnjBJLT3KJVN4teMlX_svuaNA",
@ -356,7 +356,7 @@ Channel(
VideoItem( VideoItem(
id: "skPiz3GrVNs", id: "skPiz3GrVNs",
name: "LIVE Keysight Scope Draw #2", name: "LIVE Keysight Scope Draw #2",
length: Some(2445), duration: Some(2445),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/skPiz3GrVNs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFiIfUBfoL0Q9CLR9Pc8bXy-zclg", url: "https://i.ytimg.com/vi/skPiz3GrVNs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFiIfUBfoL0Q9CLR9Pc8bXy-zclg",
@ -397,7 +397,7 @@ Channel(
VideoItem( VideoItem(
id: "HZc-Ctvgv5Y", id: "HZc-Ctvgv5Y",
name: "LIVE Keysight Scope Draw", name: "LIVE Keysight Scope Draw",
length: Some(6455), duration: Some(6455),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/HZc-Ctvgv5Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQM1_QPh6u5_BFonLCdFPz-AcpkQ", url: "https://i.ytimg.com/vi/HZc-Ctvgv5Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQM1_QPh6u5_BFonLCdFPz-AcpkQ",
@ -438,7 +438,7 @@ Channel(
VideoItem( VideoItem(
id: "5ilODYy2zGE", id: "5ilODYy2zGE",
name: "Ask Dave LIVE - March 8th 2019", name: "Ask Dave LIVE - March 8th 2019",
length: Some(10645), duration: Some(10645),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5ilODYy2zGE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCft4f7Lw3l3_u55bzUibWXr-UHTQ", url: "https://i.ytimg.com/vi/5ilODYy2zGE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCft4f7Lw3l3_u55bzUibWXr-UHTQ",
@ -479,7 +479,7 @@ Channel(
VideoItem( VideoItem(
id: "gQ7TTuiDH1M", id: "gQ7TTuiDH1M",
name: "Ask Dave LIVE - Jan 28th 2019", name: "Ask Dave LIVE - Jan 28th 2019",
length: Some(17228), duration: Some(17228),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gQ7TTuiDH1M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAUPZz1xzckl5xzdBRonA_1WNWIyg", url: "https://i.ytimg.com/vi/gQ7TTuiDH1M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAUPZz1xzckl5xzdBRonA_1WNWIyg",
@ -520,7 +520,7 @@ Channel(
VideoItem( VideoItem(
id: "qpw9dKxL2Ho", id: "qpw9dKxL2Ho",
name: "LIVE KiCAD 5 PCB Design", name: "LIVE KiCAD 5 PCB Design",
length: Some(8003), duration: Some(8003),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qpw9dKxL2Ho/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAC-kI2770I7JgVCTYExG0vXoYoxA", url: "https://i.ytimg.com/vi/qpw9dKxL2Ho/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAC-kI2770I7JgVCTYExG0vXoYoxA",
@ -561,7 +561,7 @@ Channel(
VideoItem( VideoItem(
id: "wECZoUNd2GY", id: "wECZoUNd2GY",
name: "EEVblog LIVE DIY TTL Computer Build", name: "EEVblog LIVE DIY TTL Computer Build",
length: Some(14599), duration: Some(14599),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/wECZoUNd2GY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzZwAD6bQQEaYuZEzmQ0sgQKc1yA", url: "https://i.ytimg.com/vi/wECZoUNd2GY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzZwAD6bQQEaYuZEzmQ0sgQKc1yA",
@ -602,7 +602,7 @@ Channel(
VideoItem( VideoItem(
id: "bV99dn-tWDk", id: "bV99dn-tWDk",
name: "EEVblog LIVE Scope Draw", name: "EEVblog LIVE Scope Draw",
length: Some(2694), duration: Some(2694),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bV99dn-tWDk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAR4ckJxAituVMFCyWpYhHXozqQRA", url: "https://i.ytimg.com/vi/bV99dn-tWDk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAR4ckJxAituVMFCyWpYhHXozqQRA",
@ -643,7 +643,7 @@ Channel(
VideoItem( VideoItem(
id: "-NGRIFiu_p0", id: "-NGRIFiu_p0",
name: "EEVblog LIVE SHOW - End of 2017", name: "EEVblog LIVE SHOW - End of 2017",
length: Some(12238), duration: Some(12238),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/-NGRIFiu_p0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjMmIdgjiSMBQ2X73h6-NtVUIqSg", url: "https://i.ytimg.com/vi/-NGRIFiu_p0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjMmIdgjiSMBQ2X73h6-NtVUIqSg",
@ -684,7 +684,7 @@ Channel(
VideoItem( VideoItem(
id: "zgE6_x4rM5k", id: "zgE6_x4rM5k",
name: "LIVE Show Giveaway", name: "LIVE Show Giveaway",
length: Some(5533), duration: Some(5533),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zgE6_x4rM5k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjb92wUNqOvTKs9TCLCThvdkdz3A", url: "https://i.ytimg.com/vi/zgE6_x4rM5k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjb92wUNqOvTKs9TCLCThvdkdz3A",
@ -725,7 +725,7 @@ Channel(
VideoItem( VideoItem(
id: "9DjABCJN2M8", id: "9DjABCJN2M8",
name: "LIVE Testing of the Batteriser", name: "LIVE Testing of the Batteriser",
length: Some(10747), duration: Some(10747),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9DjABCJN2M8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXhnnHCuNfSzHZC64KFsfHPPJDNg", url: "https://i.ytimg.com/vi/9DjABCJN2M8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXhnnHCuNfSzHZC64KFsfHPPJDNg",
@ -766,7 +766,7 @@ Channel(
VideoItem( VideoItem(
id: "cAsUI2YhqN4", id: "cAsUI2YhqN4",
name: "LIVE Unboxing of the Batteriser! (Batteroo)", name: "LIVE Unboxing of the Batteriser! (Batteroo)",
length: Some(3102), duration: Some(3102),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cAsUI2YhqN4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCOE1MyG1nFXs9D2qdK78bpN1mc_g", url: "https://i.ytimg.com/vi/cAsUI2YhqN4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCOE1MyG1nFXs9D2qdK78bpN1mc_g",
@ -807,7 +807,7 @@ Channel(
VideoItem( VideoItem(
id: "CLYKwFMW9J0", id: "CLYKwFMW9J0",
name: "Juno Live Again", name: "Juno Live Again",
length: Some(811), duration: Some(811),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CLYKwFMW9J0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC7WO4HX0e7M58ddoJD5dkVjdKHYQ", url: "https://i.ytimg.com/vi/CLYKwFMW9J0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC7WO4HX0e7M58ddoJD5dkVjdKHYQ",
@ -848,7 +848,7 @@ Channel(
VideoItem( VideoItem(
id: "nV43vM9VcUA", id: "nV43vM9VcUA",
name: "Juno Live", name: "Juno Live",
length: Some(190), duration: Some(190),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/nV43vM9VcUA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCy-zEVPDvomCCi8YoP8Ig_Hrhzfw", url: "https://i.ytimg.com/vi/nV43vM9VcUA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCy-zEVPDvomCCi8YoP8Ig_Hrhzfw",
@ -889,7 +889,7 @@ Channel(
VideoItem( VideoItem(
id: "38uFiWzcDnc", id: "38uFiWzcDnc",
name: "Juno Orbital Insertion Live", name: "Juno Orbital Insertion Live",
length: Some(1731), duration: Some(1731),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/38uFiWzcDnc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALhrDygxFH4T2c-4efZqVaJnYY7g", url: "https://i.ytimg.com/vi/38uFiWzcDnc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALhrDygxFH4T2c-4efZqVaJnYY7g",
@ -930,7 +930,7 @@ Channel(
VideoItem( VideoItem(
id: "ib80yjc9VlM", id: "ib80yjc9VlM",
name: "Juno Jupiter Live", name: "Juno Jupiter Live",
length: Some(581), duration: Some(581),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ib80yjc9VlM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDbJJvzoEmwUc7nAm6GLJpoZJKmgQ", url: "https://i.ytimg.com/vi/ib80yjc9VlM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDbJJvzoEmwUc7nAm6GLJpoZJKmgQ",
@ -971,7 +971,7 @@ Channel(
VideoItem( VideoItem(
id: "rQRakYpb8-g", id: "rQRakYpb8-g",
name: "eevSTREAM: Lab Rearrangement Part 2", name: "eevSTREAM: Lab Rearrangement Part 2",
length: Some(8616), duration: Some(8616),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rQRakYpb8-g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAdGJH0yhCQ7kmI3d3JXVv_7xzJAQ", url: "https://i.ytimg.com/vi/rQRakYpb8-g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAdGJH0yhCQ7kmI3d3JXVv_7xzJAQ",
@ -1012,7 +1012,7 @@ Channel(
VideoItem( VideoItem(
id: "DwLEFKu2XWg", id: "DwLEFKu2XWg",
name: "eevSTREAM: Lab Rearrangement Part 1", name: "eevSTREAM: Lab Rearrangement Part 1",
length: Some(768), duration: Some(768),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DwLEFKu2XWg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCXvSePgZ8NIKQTviqWvROVZFRPpA", url: "https://i.ytimg.com/vi/DwLEFKu2XWg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCXvSePgZ8NIKQTviqWvROVZFRPpA",
@ -1053,7 +1053,7 @@ Channel(
VideoItem( VideoItem(
id: "VeUDXQR3F2o", id: "VeUDXQR3F2o",
name: "Live Show", name: "Live Show",
length: Some(10360), duration: Some(10360),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/VeUDXQR3F2o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmgrfQXMTaGMahuP8F_UHJAomFbg", url: "https://i.ytimg.com/vi/VeUDXQR3F2o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmgrfQXMTaGMahuP8F_UHJAomFbg",
@ -1094,7 +1094,7 @@ Channel(
VideoItem( VideoItem(
id: "PgZx25vVwoI", id: "PgZx25vVwoI",
name: "Live Giveaway", name: "Live Giveaway",
length: Some(1808), duration: Some(1808),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PgZx25vVwoI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDTrMmoCfISxG0YSqC4oEyKGHdK_A", url: "https://i.ytimg.com/vi/PgZx25vVwoI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDTrMmoCfISxG0YSqC4oEyKGHdK_A",
@ -1135,7 +1135,7 @@ Channel(
VideoItem( VideoItem(
id: "jUtzoO-ur34", id: "jUtzoO-ur34",
name: "Inventables X-Carve LIVE Build Part 4", name: "Inventables X-Carve LIVE Build Part 4",
length: Some(10665), duration: Some(10665),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/jUtzoO-ur34/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCO35sFP8D_Q08HxMZkNHFO8MmpDg", url: "https://i.ytimg.com/vi/jUtzoO-ur34/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCO35sFP8D_Q08HxMZkNHFO8MmpDg",
@ -1176,7 +1176,7 @@ Channel(
VideoItem( VideoItem(
id: "199gtbX1y4M", id: "199gtbX1y4M",
name: "Inventables X-Carve LIVE Build Part 3 + Batteriser Rant", name: "Inventables X-Carve LIVE Build Part 3 + Batteriser Rant",
length: Some(6267), duration: Some(6267),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/199gtbX1y4M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg3bMS00xpSXmNn1f5hXu_jWWC1w", url: "https://i.ytimg.com/vi/199gtbX1y4M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg3bMS00xpSXmNn1f5hXu_jWWC1w",
@ -1217,7 +1217,7 @@ Channel(
VideoItem( VideoItem(
id: "nQH4I_p7-MI", id: "nQH4I_p7-MI",
name: "Inventables X-Carve LIVE Build Part 2", name: "Inventables X-Carve LIVE Build Part 2",
length: Some(17643), duration: Some(17643),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/nQH4I_p7-MI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBMIA1YzQefFwGj5UFikXuYS2Nkng", url: "https://i.ytimg.com/vi/nQH4I_p7-MI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBMIA1YzQefFwGj5UFikXuYS2Nkng",
@ -1258,7 +1258,7 @@ Channel(
VideoItem( VideoItem(
id: "XBMNFXGKpaw", id: "XBMNFXGKpaw",
name: "Inventables X-Carve LIVE Build", name: "Inventables X-Carve LIVE Build",
length: Some(5479), duration: Some(5479),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XBMNFXGKpaw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCV980wWO8tdx0aFDXwPn9aBQ2xlA", url: "https://i.ytimg.com/vi/XBMNFXGKpaw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCV980wWO8tdx0aFDXwPn9aBQ2xlA",
@ -1299,7 +1299,7 @@ Channel(
VideoItem( VideoItem(
id: "yl6DGgiE3J8", id: "yl6DGgiE3J8",
name: "Apollo Saturn LVDC Live testing", name: "Apollo Saturn LVDC Live testing",
length: Some(1076), duration: Some(1076),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yl6DGgiE3J8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCugABHuqqPZQjV9cEm0JFh7R5aiA", url: "https://i.ytimg.com/vi/yl6DGgiE3J8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCugABHuqqPZQjV9cEm0JFh7R5aiA",
@ -1340,7 +1340,7 @@ Channel(
VideoItem( VideoItem(
id: "EEMcIZAcKjc", id: "EEMcIZAcKjc",
name: "LIVE EEVblog Mailbag", name: "LIVE EEVblog Mailbag",
length: Some(7344), duration: Some(7344),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EEMcIZAcKjc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCg16HpJqC9mNwkYOf8b0cfAuNLOA", url: "https://i.ytimg.com/vi/EEMcIZAcKjc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCg16HpJqC9mNwkYOf8b0cfAuNLOA",

View file

@ -122,7 +122,7 @@ Channel(
VideoItem( VideoItem(
id: "bGXP83AU3Mc", id: "bGXP83AU3Mc",
name: "do u wanna get swole?", name: "do u wanna get swole?",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bGXP83AU3Mc/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLC9bzCBeHDbZFLE84Up3IiBIsxmmA", url: "https://i.ytimg.com/vi/bGXP83AU3Mc/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLC9bzCBeHDbZFLE84Up3IiBIsxmmA",
@ -148,7 +148,7 @@ Channel(
VideoItem( VideoItem(
id: "E52sSgZlgYs", id: "E52sSgZlgYs",
name: "the holy trinity of korean street food", name: "the holy trinity of korean street food",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/E52sSgZlgYs/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDBahtFRcfBInHuA8CjXFPWkF2jHg", url: "https://i.ytimg.com/vi/E52sSgZlgYs/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDBahtFRcfBInHuA8CjXFPWkF2jHg",
@ -174,7 +174,7 @@ Channel(
VideoItem( VideoItem(
id: "ovaHmfy3O6U", id: "ovaHmfy3O6U",
name: "hangover food", name: "hangover food",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ovaHmfy3O6U/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCHmvWlG06h-DT6oxfmh69JGQ69KA", url: "https://i.ytimg.com/vi/ovaHmfy3O6U/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCHmvWlG06h-DT6oxfmh69JGQ69KA",
@ -200,7 +200,7 @@ Channel(
VideoItem( VideoItem(
id: "FHTQmKTZnlI", id: "FHTQmKTZnlI",
name: "pig trotter raguuuuuuuuu 💅", name: "pig trotter raguuuuuuuuu 💅",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/FHTQmKTZnlI/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD0xhka1osA4nI3VCwhQusn3ND3Hg", url: "https://i.ytimg.com/vi/FHTQmKTZnlI/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD0xhka1osA4nI3VCwhQusn3ND3Hg",
@ -226,7 +226,7 @@ Channel(
VideoItem( VideoItem(
id: "1AXB0l_wKMs", id: "1AXB0l_wKMs",
name: "what i ate in google japan", name: "what i ate in google japan",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1AXB0l_wKMs/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBsfYJ0KffUNn-9jBzNRTqetyFr8g", url: "https://i.ytimg.com/vi/1AXB0l_wKMs/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBsfYJ0KffUNn-9jBzNRTqetyFr8g",
@ -252,7 +252,7 @@ Channel(
VideoItem( VideoItem(
id: "1ARLtk3HiB0", id: "1ARLtk3HiB0",
name: "succumb to your cravings", name: "succumb to your cravings",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1ARLtk3HiB0/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBY9E40Ehvq862CVItJy0Uj_pS5bg", url: "https://i.ytimg.com/vi/1ARLtk3HiB0/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBY9E40Ehvq862CVItJy0Uj_pS5bg",
@ -278,7 +278,7 @@ Channel(
VideoItem( VideoItem(
id: "0FfDoDHpaN8", id: "0FfDoDHpaN8",
name: "you can\'t let the what ifs rule your life", name: "you can\'t let the what ifs rule your life",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0FfDoDHpaN8/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBiV2TVPO-VbIjoNtwCKmFuxmj6LA", url: "https://i.ytimg.com/vi/0FfDoDHpaN8/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBiV2TVPO-VbIjoNtwCKmFuxmj6LA",
@ -304,7 +304,7 @@ Channel(
VideoItem( VideoItem(
id: "kuT90_RIdF0", id: "kuT90_RIdF0",
name: "duck confit lollipop 🦆🍭", name: "duck confit lollipop 🦆🍭",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/kuT90_RIdF0/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCUN-DW72m7sAXJMgVkWNxPYpJBcQ", url: "https://i.ytimg.com/vi/kuT90_RIdF0/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCUN-DW72m7sAXJMgVkWNxPYpJBcQ",
@ -330,7 +330,7 @@ Channel(
VideoItem( VideoItem(
id: "aPJLhrcM4Yg", id: "aPJLhrcM4Yg",
name: "HOUSE TOUR", name: "HOUSE TOUR",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/aPJLhrcM4Yg/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD1TbWAIbzyWq8AXLoW0xqaji3ukQ", url: "https://i.ytimg.com/vi/aPJLhrcM4Yg/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD1TbWAIbzyWq8AXLoW0xqaji3ukQ",
@ -356,7 +356,7 @@ Channel(
VideoItem( VideoItem(
id: "DKQrG_hJJX4", id: "DKQrG_hJJX4",
name: "how to meal prep like a korean", name: "how to meal prep like a korean",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DKQrG_hJJX4/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBE2DnpLFvtXsZOu1Ta4JQeOToVAw", url: "https://i.ytimg.com/vi/DKQrG_hJJX4/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBE2DnpLFvtXsZOu1Ta4JQeOToVAw",
@ -382,7 +382,7 @@ Channel(
VideoItem( VideoItem(
id: "lNizW_P_oVw", id: "lNizW_P_oVw",
name: "Rating Everything I ate at McDonald\'s Japan 🇯🇵", name: "Rating Everything I ate at McDonald\'s Japan 🇯🇵",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/lNizW_P_oVw/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBI5XrkQ9Hesbf4lWELy7Uk3yMGMg", url: "https://i.ytimg.com/vi/lNizW_P_oVw/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBI5XrkQ9Hesbf4lWELy7Uk3yMGMg",
@ -408,7 +408,7 @@ Channel(
VideoItem( VideoItem(
id: "kbWyJjrCjwA", id: "kbWyJjrCjwA",
name: "enemies as fertilizer √(veg)", name: "enemies as fertilizer √(veg)",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/kbWyJjrCjwA/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDlk30Km1M0jze1M3O90fB2LdvoAQ", url: "https://i.ytimg.com/vi/kbWyJjrCjwA/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDlk30Km1M0jze1M3O90fB2LdvoAQ",
@ -434,7 +434,7 @@ Channel(
VideoItem( VideoItem(
id: "xAp910JTDig", id: "xAp910JTDig",
name: "let\'s make some cabbage rolls for lunch", name: "let\'s make some cabbage rolls for lunch",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xAp910JTDig/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAJtpPGRgffBu9WDXACbtiGa_oRgA", url: "https://i.ytimg.com/vi/xAp910JTDig/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAJtpPGRgffBu9WDXACbtiGa_oRgA",
@ -460,7 +460,7 @@ Channel(
VideoItem( VideoItem(
id: "vSL7dhKatEk", id: "vSL7dhKatEk",
name: "Rating Everything I ate at IKEA Korea", name: "Rating Everything I ate at IKEA Korea",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vSL7dhKatEk/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBYpIDYbwwWiCqRNVi6PlfEfjrt4A", url: "https://i.ytimg.com/vi/vSL7dhKatEk/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBYpIDYbwwWiCqRNVi6PlfEfjrt4A",
@ -486,7 +486,7 @@ Channel(
VideoItem( VideoItem(
id: "LZzhUpACXSk", id: "LZzhUpACXSk",
name: "I\'m done being the bigger person", name: "I\'m done being the bigger person",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/LZzhUpACXSk/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAFTvhtVUP7QZ4P7U70-0XH7PzDDg", url: "https://i.ytimg.com/vi/LZzhUpACXSk/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAFTvhtVUP7QZ4P7U70-0XH7PzDDg",
@ -512,7 +512,7 @@ Channel(
VideoItem( VideoItem(
id: "5C7nqNDfhis", id: "5C7nqNDfhis",
name: "we\'re cooking a whole bird today", name: "we\'re cooking a whole bird today",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5C7nqNDfhis/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLA9I9irDsRjikwd0aqp1FWNFtjAqA", url: "https://i.ytimg.com/vi/5C7nqNDfhis/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLA9I9irDsRjikwd0aqp1FWNFtjAqA",
@ -538,7 +538,7 @@ Channel(
VideoItem( VideoItem(
id: "6mj4Af0kUOQ", id: "6mj4Af0kUOQ",
name: "men will disappoint but never potatoes", name: "men will disappoint but never potatoes",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6mj4Af0kUOQ/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAVxl-FPt878AQXPBhbV1VSGeR8sw", url: "https://i.ytimg.com/vi/6mj4Af0kUOQ/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAVxl-FPt878AQXPBhbV1VSGeR8sw",
@ -564,7 +564,7 @@ Channel(
VideoItem( VideoItem(
id: "1c3axhSJiaQ", id: "1c3axhSJiaQ",
name: "I used to hate korean food", name: "I used to hate korean food",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1c3axhSJiaQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBucOEbTsWTDjOOCjNa-fAvz1yxyA", url: "https://i.ytimg.com/vi/1c3axhSJiaQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBucOEbTsWTDjOOCjNa-fAvz1yxyA",
@ -590,7 +590,7 @@ Channel(
VideoItem( VideoItem(
id: "F9Vz0m7DPeU", id: "F9Vz0m7DPeU",
name: "Rating everything I got at 7/11 Hawaii ( ft. Mauna Kea )", name: "Rating everything I got at 7/11 Hawaii ( ft. Mauna Kea )",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/F9Vz0m7DPeU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDOoCVL6la3ztUeQ6vP4iL1cEBRjQ", url: "https://i.ytimg.com/vi/F9Vz0m7DPeU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDOoCVL6la3ztUeQ6vP4iL1cEBRjQ",
@ -616,7 +616,7 @@ Channel(
VideoItem( VideoItem(
id: "Uey7kl56wks", id: "Uey7kl56wks",
name: "Grabbing Snacks from 7/11 Hawaii", name: "Grabbing Snacks from 7/11 Hawaii",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Uey7kl56wks/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCWmgajinNtIEbiPbqEtDvkC7Ydrg", url: "https://i.ytimg.com/vi/Uey7kl56wks/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCWmgajinNtIEbiPbqEtDvkC7Ydrg",
@ -642,7 +642,7 @@ Channel(
VideoItem( VideoItem(
id: "3un2eUAr6Dg", id: "3un2eUAr6Dg",
name: "cheesy korean corn balls hit different", name: "cheesy korean corn balls hit different",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3un2eUAr6Dg/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD4LziL6GHd1jg8btMJDIM_RhgE_A", url: "https://i.ytimg.com/vi/3un2eUAr6Dg/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD4LziL6GHd1jg8btMJDIM_RhgE_A",
@ -668,7 +668,7 @@ Channel(
VideoItem( VideoItem(
id: "rI5tWrGpDJA", id: "rI5tWrGpDJA",
name: "hawaiian tajin?!?", name: "hawaiian tajin?!?",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rI5tWrGpDJA/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAjNiKHdFSKGavBrZRDxi9WdR-gJw", url: "https://i.ytimg.com/vi/rI5tWrGpDJA/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAjNiKHdFSKGavBrZRDxi9WdR-gJw",
@ -694,7 +694,7 @@ Channel(
VideoItem( VideoItem(
id: "WQiGksTxr5g", id: "WQiGksTxr5g",
name: "Rating everything I ate at Hawaiian Supermarket 🌺🏰 pt.2", name: "Rating everything I ate at Hawaiian Supermarket 🌺🏰 pt.2",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WQiGksTxr5g/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCvzC5xVdTEJX8xtiOqzmeKvmouIg", url: "https://i.ytimg.com/vi/WQiGksTxr5g/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCvzC5xVdTEJX8xtiOqzmeKvmouIg",
@ -720,7 +720,7 @@ Channel(
VideoItem( VideoItem(
id: "G7aw-QOsagk", id: "G7aw-QOsagk",
name: "Grocery Shopping at Hawaiian Supermarket 🌺🏰 pt.1", name: "Grocery Shopping at Hawaiian Supermarket 🌺🏰 pt.1",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/G7aw-QOsagk/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAoKEkj2lqYU07yW_DU35TNHEOq4w", url: "https://i.ytimg.com/vi/G7aw-QOsagk/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAoKEkj2lqYU07yW_DU35TNHEOq4w",
@ -746,7 +746,7 @@ Channel(
VideoItem( VideoItem(
id: "Y_F1_Yf-DKQ", id: "Y_F1_Yf-DKQ",
name: "Breakfast at Hawaiian McDonald\'s 🌺", name: "Breakfast at Hawaiian McDonald\'s 🌺",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Y_F1_Yf-DKQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDTLFBwRThZUk0eugFSNxc-CKI_HQ", url: "https://i.ytimg.com/vi/Y_F1_Yf-DKQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDTLFBwRThZUk0eugFSNxc-CKI_HQ",
@ -772,7 +772,7 @@ Channel(
VideoItem( VideoItem(
id: "Q_ZMcP8faw4", id: "Q_ZMcP8faw4",
name: "crab rangoon toast 🦀 🍞", name: "crab rangoon toast 🦀 🍞",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Q_ZMcP8faw4/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLATLiHTNqLoBKsEKbOckkGjXMvoHA", url: "https://i.ytimg.com/vi/Q_ZMcP8faw4/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLATLiHTNqLoBKsEKbOckkGjXMvoHA",
@ -798,7 +798,7 @@ Channel(
VideoItem( VideoItem(
id: "1aedyP3r3D0", id: "1aedyP3r3D0",
name: "my secret hot pot sauce 🧙\u{200d}♀\u{fe0f}🍃", name: "my secret hot pot sauce 🧙\u{200d}♀\u{fe0f}🍃",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1aedyP3r3D0/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCh2MpR5k3jCS_wfX-wjtVuIcu7YQ", url: "https://i.ytimg.com/vi/1aedyP3r3D0/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCh2MpR5k3jCS_wfX-wjtVuIcu7YQ",
@ -824,7 +824,7 @@ Channel(
VideoItem( VideoItem(
id: "fkPkHZ1yyBU", id: "fkPkHZ1yyBU",
name: "the good vs the bad", name: "the good vs the bad",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fkPkHZ1yyBU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCMngiRtLrBPppmfPnJwJ-cYMwttA", url: "https://i.ytimg.com/vi/fkPkHZ1yyBU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCMngiRtLrBPppmfPnJwJ-cYMwttA",
@ -850,7 +850,7 @@ Channel(
VideoItem( VideoItem(
id: "NbQcySLMLmA", id: "NbQcySLMLmA",
name: "cooking with waste?!🗑\u{fe0f}", name: "cooking with waste?!🗑\u{fe0f}",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NbQcySLMLmA/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCvxPQo9eqYwjk4cxyBnrHed-tcZg", url: "https://i.ytimg.com/vi/NbQcySLMLmA/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCvxPQo9eqYwjk4cxyBnrHed-tcZg",
@ -876,7 +876,7 @@ Channel(
VideoItem( VideoItem(
id: "3w_5vzM1Pc4", id: "3w_5vzM1Pc4",
name: "Shrek burger 🍔🍀👹", name: "Shrek burger 🍔🍀👹",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3w_5vzM1Pc4/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLB64zOKgmhOt7bvQseeIbjKBICDAg", url: "https://i.ytimg.com/vi/3w_5vzM1Pc4/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLB64zOKgmhOt7bvQseeIbjKBICDAg",
@ -902,7 +902,7 @@ Channel(
VideoItem( VideoItem(
id: "girJP2r_zLg", id: "girJP2r_zLg",
name: "$$$ on food", name: "$$$ on food",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/girJP2r_zLg/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBg2hmruZvx30aiP4Jb4dhz03qOZA", url: "https://i.ytimg.com/vi/girJP2r_zLg/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBg2hmruZvx30aiP4Jb4dhz03qOZA",
@ -928,7 +928,7 @@ Channel(
VideoItem( VideoItem(
id: "zHp7sZ5OONM", id: "zHp7sZ5OONM",
name: "pumpkin spice churro?! 🎃", name: "pumpkin spice churro?! 🎃",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zHp7sZ5OONM/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD8ZrcI6mq91ARKnRb_vg-0Qv2raw", url: "https://i.ytimg.com/vi/zHp7sZ5OONM/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD8ZrcI6mq91ARKnRb_vg-0Qv2raw",
@ -954,7 +954,7 @@ Channel(
VideoItem( VideoItem(
id: "iqMl3gQEZ0E", id: "iqMl3gQEZ0E",
name: "3,000,000", name: "3,000,000",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/iqMl3gQEZ0E/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBUC1sw84NlLiyTJTcfnDWFjVC75w", url: "https://i.ytimg.com/vi/iqMl3gQEZ0E/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBUC1sw84NlLiyTJTcfnDWFjVC75w",
@ -980,7 +980,7 @@ Channel(
VideoItem( VideoItem(
id: "glyJWxp7a5g", id: "glyJWxp7a5g",
name: "being smart was my personality trait", name: "being smart was my personality trait",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/glyJWxp7a5g/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBbrWwLndPt5ZV5x4dnqmTC_aAhig", url: "https://i.ytimg.com/vi/glyJWxp7a5g/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBbrWwLndPt5ZV5x4dnqmTC_aAhig",
@ -1006,7 +1006,7 @@ Channel(
VideoItem( VideoItem(
id: "dd1EZIkANYs", id: "dd1EZIkANYs",
name: "the horror maze", name: "the horror maze",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dd1EZIkANYs/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBlqz2BM3K2VeLlXMPBVwXNXih6vg", url: "https://i.ytimg.com/vi/dd1EZIkANYs/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBlqz2BM3K2VeLlXMPBVwXNXih6vg",
@ -1032,7 +1032,7 @@ Channel(
VideoItem( VideoItem(
id: "enioc_stRww", id: "enioc_stRww",
name: "furikake bagels with wasabi cream cheese", name: "furikake bagels with wasabi cream cheese",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/enioc_stRww/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBz9Qo96FWssNsMhQ54DMxdYYwLfQ", url: "https://i.ytimg.com/vi/enioc_stRww/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBz9Qo96FWssNsMhQ54DMxdYYwLfQ",
@ -1058,7 +1058,7 @@ Channel(
VideoItem( VideoItem(
id: "NUM8kCPas5w", id: "NUM8kCPas5w",
name: "simple is best", name: "simple is best",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NUM8kCPas5w/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLC8N3YRr9A6-u6L0AtMynct4C_GzQ", url: "https://i.ytimg.com/vi/NUM8kCPas5w/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLC8N3YRr9A6-u6L0AtMynct4C_GzQ",
@ -1084,7 +1084,7 @@ Channel(
VideoItem( VideoItem(
id: "1djkcsFnlYE", id: "1djkcsFnlYE",
name: "edible history lesson!", name: "edible history lesson!",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1djkcsFnlYE/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBHn_6yOrnRXH_zbxVaAuKzSulcew", url: "https://i.ytimg.com/vi/1djkcsFnlYE/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBHn_6yOrnRXH_zbxVaAuKzSulcew",
@ -1110,7 +1110,7 @@ Channel(
VideoItem( VideoItem(
id: "cIYrJtAoftI", id: "cIYrJtAoftI",
name: "and I\'m feeling good", name: "and I\'m feeling good",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cIYrJtAoftI/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLC4q0VcbBZroejhAztDkdlk7Ww5Og", url: "https://i.ytimg.com/vi/cIYrJtAoftI/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLC4q0VcbBZroejhAztDkdlk7Ww5Og",
@ -1136,7 +1136,7 @@ Channel(
VideoItem( VideoItem(
id: "cCrH8Er5tf4", id: "cCrH8Er5tf4",
name: "Rating Korean Convenience Store Milk Flavors 🥛🍼", name: "Rating Korean Convenience Store Milk Flavors 🥛🍼",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cCrH8Er5tf4/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBwc2ikrGH_gZfcyqTnZDfHjt5LuA", url: "https://i.ytimg.com/vi/cCrH8Er5tf4/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBwc2ikrGH_gZfcyqTnZDfHjt5LuA",
@ -1162,7 +1162,7 @@ Channel(
VideoItem( VideoItem(
id: "tav5wsH7pzU", id: "tav5wsH7pzU",
name: "online dating?", name: "online dating?",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/tav5wsH7pzU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCheup7XAM_O1UAMEO5Iqup4-lGRQ", url: "https://i.ytimg.com/vi/tav5wsH7pzU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCheup7XAM_O1UAMEO5Iqup4-lGRQ",
@ -1188,7 +1188,7 @@ Channel(
VideoItem( VideoItem(
id: "5Vd4_GXjF7o", id: "5Vd4_GXjF7o",
name: "Creating thumbnails has never been easier with Adobe Express", name: "Creating thumbnails has never been easier with Adobe Express",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5Vd4_GXjF7o/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCbYkH7INYGHW0IcO3DKip5iD2PCA", url: "https://i.ytimg.com/vi/5Vd4_GXjF7o/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCbYkH7INYGHW0IcO3DKip5iD2PCA",
@ -1214,7 +1214,7 @@ Channel(
VideoItem( VideoItem(
id: "-FN1sEI8HkU", id: "-FN1sEI8HkU",
name: "my favorite color is green", name: "my favorite color is green",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/-FN1sEI8HkU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCLWKPrR-VCdsXagJ1MIyah7dDdDQ", url: "https://i.ytimg.com/vi/-FN1sEI8HkU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCLWKPrR-VCdsXagJ1MIyah7dDdDQ",
@ -1240,7 +1240,7 @@ Channel(
VideoItem( VideoItem(
id: "viT-dcl2DGE", id: "viT-dcl2DGE",
name: "frodo baggins?", name: "frodo baggins?",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/viT-dcl2DGE/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDb0oYC_3V79CSR0j-4sR4CuNQekQ", url: "https://i.ytimg.com/vi/viT-dcl2DGE/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDb0oYC_3V79CSR0j-4sR4CuNQekQ",
@ -1266,7 +1266,7 @@ Channel(
VideoItem( VideoItem(
id: "N5AKQflK1TU", id: "N5AKQflK1TU",
name: "When you impulse buy...", name: "When you impulse buy...",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/N5AKQflK1TU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDwfPTcuQHyziYsmTrSkg9xi1jnag", url: "https://i.ytimg.com/vi/N5AKQflK1TU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDwfPTcuQHyziYsmTrSkg9xi1jnag",
@ -1292,7 +1292,7 @@ Channel(
VideoItem( VideoItem(
id: "OzIFALQ_YtA", id: "OzIFALQ_YtA",
name: "taste testing gam!", name: "taste testing gam!",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/OzIFALQ_YtA/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBMcyG6Fu4rrXk-JQL5tx0hzSAxlw", url: "https://i.ytimg.com/vi/OzIFALQ_YtA/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBMcyG6Fu4rrXk-JQL5tx0hzSAxlw",
@ -1318,7 +1318,7 @@ Channel(
VideoItem( VideoItem(
id: "dAcJILbc_0Q", id: "dAcJILbc_0Q",
name: "How to: Korean rice wine 🍶 (makgeolli)", name: "How to: Korean rice wine 🍶 (makgeolli)",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dAcJILbc_0Q/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAXbHym4PFTTO25GCI4n1tjSaQVCw", url: "https://i.ytimg.com/vi/dAcJILbc_0Q/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAXbHym4PFTTO25GCI4n1tjSaQVCw",
@ -1344,7 +1344,7 @@ Channel(
VideoItem( VideoItem(
id: "GvutfmW26JQ", id: "GvutfmW26JQ",
name: "👹stay sour 🍋", name: "👹stay sour 🍋",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/GvutfmW26JQ/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBgCJ06W3wOend0UgkuBKoHOg0eig", url: "https://i.ytimg.com/vi/GvutfmW26JQ/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBgCJ06W3wOend0UgkuBKoHOg0eig",

View file

@ -70,7 +70,7 @@ Channel(
VideoItem( VideoItem(
id: "LJAt2RHBhYA", id: "LJAt2RHBhYA",
name: "Rating Korean Traditional Desserts out of 10!!!", name: "Rating Korean Traditional Desserts out of 10!!!",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/LJAt2RHBhYA/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBs1ulw5vkRkR_SG6pp7Wuy90QK0Q", url: "https://i.ytimg.com/vi/LJAt2RHBhYA/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBs1ulw5vkRkR_SG6pp7Wuy90QK0Q",
@ -96,7 +96,7 @@ Channel(
VideoItem( VideoItem(
id: "apL97zDoAY0", id: "apL97zDoAY0",
name: "best bang for your buck", name: "best bang for your buck",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/apL97zDoAY0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDTJ5F-kzUTGBPolJgqloUZWve4GQ", url: "https://i.ytimg.com/vi/apL97zDoAY0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDTJ5F-kzUTGBPolJgqloUZWve4GQ",
@ -122,7 +122,7 @@ Channel(
VideoItem( VideoItem(
id: "6au8hFOnUXI", id: "6au8hFOnUXI",
name: "don\'t judge a book by its cover", name: "don\'t judge a book by its cover",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6au8hFOnUXI/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCACe2S2wBTr0KVSFWzGda61k8Epw", url: "https://i.ytimg.com/vi/6au8hFOnUXI/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCACe2S2wBTr0KVSFWzGda61k8Epw",
@ -148,7 +148,7 @@ Channel(
VideoItem( VideoItem(
id: "4wJAOnnPYsI", id: "4wJAOnnPYsI",
name: "I ❤\u{fe0f} feet", name: "I ❤\u{fe0f} feet",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4wJAOnnPYsI/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCwFBUxJXMhuiv1ZevlM6r2x7Wq-Q", url: "https://i.ytimg.com/vi/4wJAOnnPYsI/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCwFBUxJXMhuiv1ZevlM6r2x7Wq-Q",
@ -174,7 +174,7 @@ Channel(
VideoItem( VideoItem(
id: "DDsWN4HcoWQ", id: "DDsWN4HcoWQ",
name: "Trying North Korean Food 🇰🇵 and Rating it out of 10", name: "Trying North Korean Food 🇰🇵 and Rating it out of 10",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DDsWN4HcoWQ/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBIBARX0aoleQ1NFxd_DGhhHT4gDg", url: "https://i.ytimg.com/vi/DDsWN4HcoWQ/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBIBARX0aoleQ1NFxd_DGhhHT4gDg",
@ -200,7 +200,7 @@ Channel(
VideoItem( VideoItem(
id: "oMIIEp8JMT0", id: "oMIIEp8JMT0",
name: "get that bag 💰", name: "get that bag 💰",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/oMIIEp8JMT0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBKsO5-KQzqU-bJinHsPDWrEQBIzQ", url: "https://i.ytimg.com/vi/oMIIEp8JMT0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBKsO5-KQzqU-bJinHsPDWrEQBIzQ",
@ -226,7 +226,7 @@ Channel(
VideoItem( VideoItem(
id: "ElEgDnx3Dfk", id: "ElEgDnx3Dfk",
name: "My Mom\'s 10-step Korean Skincare Routine", name: "My Mom\'s 10-step Korean Skincare Routine",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ElEgDnx3Dfk/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD4uT5fSWvTnjAh_BC6hsW48zoH1w", url: "https://i.ytimg.com/vi/ElEgDnx3Dfk/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD4uT5fSWvTnjAh_BC6hsW48zoH1w",
@ -252,7 +252,7 @@ Channel(
VideoItem( VideoItem(
id: "kNpFjW0VAUQ", id: "kNpFjW0VAUQ",
name: "What Koreans eat on New Year\'s", name: "What Koreans eat on New Year\'s",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/kNpFjW0VAUQ/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBJTK-xhUMSzq8MBJ3s4kSXR7pFlw", url: "https://i.ytimg.com/vi/kNpFjW0VAUQ/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBJTK-xhUMSzq8MBJ3s4kSXR7pFlw",
@ -278,7 +278,7 @@ Channel(
VideoItem( VideoItem(
id: "0_5Y3ZBo5cw", id: "0_5Y3ZBo5cw",
name: "DOOBYMART", name: "DOOBYMART",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0_5Y3ZBo5cw/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBlcI8i0DqG2vKRFGDzIQXBEsifFQ", url: "https://i.ytimg.com/vi/0_5Y3ZBo5cw/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBlcI8i0DqG2vKRFGDzIQXBEsifFQ",
@ -304,7 +304,7 @@ Channel(
VideoItem( VideoItem(
id: "VyVs3GCQlG0", id: "VyVs3GCQlG0",
name: "I love ogres", name: "I love ogres",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/VyVs3GCQlG0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBsbPYKlWAAZNphAPobZQReZzk-lA", url: "https://i.ytimg.com/vi/VyVs3GCQlG0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBsbPYKlWAAZNphAPobZQReZzk-lA",
@ -330,7 +330,7 @@ Channel(
VideoItem( VideoItem(
id: "_yMEpzXq3yI", id: "_yMEpzXq3yI",
name: "Are you broke?😞📉📉📉", name: "Are you broke?😞📉📉📉",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_yMEpzXq3yI/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCRyJDCY-7MsSYbsl2ZZoC8DxPkKw", url: "https://i.ytimg.com/vi/_yMEpzXq3yI/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCRyJDCY-7MsSYbsl2ZZoC8DxPkKw",
@ -356,7 +356,7 @@ Channel(
VideoItem( VideoItem(
id: "sM1jIMnq0M0", id: "sM1jIMnq0M0",
name: "best tteokbokki & dark sketchy alleys", name: "best tteokbokki & dark sketchy alleys",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/sM1jIMnq0M0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCIQyuEFF2m676ZX7UpcK3hVHTzzw", url: "https://i.ytimg.com/vi/sM1jIMnq0M0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCIQyuEFF2m676ZX7UpcK3hVHTzzw",
@ -382,7 +382,7 @@ Channel(
VideoItem( VideoItem(
id: "nZg_Qoknu_M", id: "nZg_Qoknu_M",
name: "moist.", name: "moist.",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/nZg_Qoknu_M/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCcXipLuXAs9D8d1nRJbMh-BZkK1Q", url: "https://i.ytimg.com/vi/nZg_Qoknu_M/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCcXipLuXAs9D8d1nRJbMh-BZkK1Q",
@ -408,7 +408,7 @@ Channel(
VideoItem( VideoItem(
id: "CgS55gL33nY", id: "CgS55gL33nY",
name: "Do you have any Korean Friends?", name: "Do you have any Korean Friends?",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CgS55gL33nY/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCVh8B6HRomEnQX6dyDJVbYhE-RGA", url: "https://i.ytimg.com/vi/CgS55gL33nY/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCVh8B6HRomEnQX6dyDJVbYhE-RGA",
@ -434,7 +434,7 @@ Channel(
VideoItem( VideoItem(
id: "VOxXkxFNOpM", id: "VOxXkxFNOpM",
name: "take my money", name: "take my money",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/VOxXkxFNOpM/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAkP1n1_Oe8pBGluy_lyi4I3pO4SQ", url: "https://i.ytimg.com/vi/VOxXkxFNOpM/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAkP1n1_Oe8pBGluy_lyi4I3pO4SQ",
@ -460,7 +460,7 @@ Channel(
VideoItem( VideoItem(
id: "aZW65r9uUXA", id: "aZW65r9uUXA",
name: "i\'m a mother?", name: "i\'m a mother?",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/aZW65r9uUXA/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDIcJpRgW65hGv0GM8ak-L0PyErUw", url: "https://i.ytimg.com/vi/aZW65r9uUXA/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDIcJpRgW65hGv0GM8ak-L0PyErUw",
@ -486,7 +486,7 @@ Channel(
VideoItem( VideoItem(
id: "CnI9or-Ings", id: "CnI9or-Ings",
name: "moshi moshi (ASMR)", name: "moshi moshi (ASMR)",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CnI9or-Ings/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDIoImzeIOlO25vkY7j92YwUhAOdw", url: "https://i.ytimg.com/vi/CnI9or-Ings/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDIoImzeIOlO25vkY7j92YwUhAOdw",
@ -512,7 +512,7 @@ Channel(
VideoItem( VideoItem(
id: "oYAp2v4PxdQ", id: "oYAp2v4PxdQ",
name: "perfect procrastination", name: "perfect procrastination",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/oYAp2v4PxdQ/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLA3PsooCO5Cot_z-vLFCF1Kdtshtg", url: "https://i.ytimg.com/vi/oYAp2v4PxdQ/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLA3PsooCO5Cot_z-vLFCF1Kdtshtg",
@ -538,7 +538,7 @@ Channel(
VideoItem( VideoItem(
id: "1ivqsJSGghU", id: "1ivqsJSGghU",
name: "THREE CHILI MAPO TOFU (Vegan)", name: "THREE CHILI MAPO TOFU (Vegan)",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1ivqsJSGghU/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCk5IRHy8TmJPzE9yD3M_OGXdww_g", url: "https://i.ytimg.com/vi/1ivqsJSGghU/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCk5IRHy8TmJPzE9yD3M_OGXdww_g",
@ -564,7 +564,7 @@ Channel(
VideoItem( VideoItem(
id: "s56ctQoFi70", id: "s56ctQoFi70",
name: "day 1 leaving seoul", name: "day 1 leaving seoul",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/s56ctQoFi70/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCfn6oYumOdPd33WlDWaqBUZzaEiw", url: "https://i.ytimg.com/vi/s56ctQoFi70/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCfn6oYumOdPd33WlDWaqBUZzaEiw",
@ -590,7 +590,7 @@ Channel(
VideoItem( VideoItem(
id: "8XHcYgsJJjs", id: "8XHcYgsJJjs",
name: "I love Korea but", name: "I love Korea but",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8XHcYgsJJjs/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAtj-QeOzONDGPzDWC8IdFGigmKYA", url: "https://i.ytimg.com/vi/8XHcYgsJJjs/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAtj-QeOzONDGPzDWC8IdFGigmKYA",
@ -616,7 +616,7 @@ Channel(
VideoItem( VideoItem(
id: "DXYbvkJEYzw", id: "DXYbvkJEYzw",
name: "demogorgon rice", name: "demogorgon rice",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DXYbvkJEYzw/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDd33uW_fC4Dz5JqYlDtGWGdMQn8A", url: "https://i.ytimg.com/vi/DXYbvkJEYzw/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDd33uW_fC4Dz5JqYlDtGWGdMQn8A",
@ -642,7 +642,7 @@ Channel(
VideoItem( VideoItem(
id: "3YGVw8RrB3U", id: "3YGVw8RrB3U",
name: "Rating Everything I Ate at McDonald\'s Singapore 🇸🇬🤡", name: "Rating Everything I Ate at McDonald\'s Singapore 🇸🇬🤡",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3YGVw8RrB3U/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAV2y-_1JXq9RecS8ELjyUsoN52NA", url: "https://i.ytimg.com/vi/3YGVw8RrB3U/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAV2y-_1JXq9RecS8ELjyUsoN52NA",
@ -668,7 +668,7 @@ Channel(
VideoItem( VideoItem(
id: "VWh8hm-GlXw", id: "VWh8hm-GlXw",
name: "the magic number: 25", name: "the magic number: 25",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/VWh8hm-GlXw/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD1wp7tz9TU3Kx2Oho7mrVoFys8Jw", url: "https://i.ytimg.com/vi/VWh8hm-GlXw/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD1wp7tz9TU3Kx2Oho7mrVoFys8Jw",
@ -694,7 +694,7 @@ Channel(
VideoItem( VideoItem(
id: "ewpJQHj5jWY", id: "ewpJQHj5jWY",
name: "How we started✨ the garden ✨", name: "How we started✨ the garden ✨",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ewpJQHj5jWY/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAOw5ntEtOhIgNJy2y1QQCFLUtGBQ", url: "https://i.ytimg.com/vi/ewpJQHj5jWY/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAOw5ntEtOhIgNJy2y1QQCFLUtGBQ",
@ -720,7 +720,7 @@ Channel(
VideoItem( VideoItem(
id: "SRnHMGMJ6mM", id: "SRnHMGMJ6mM",
name: "How to Shop at Costco ✨economical milf✨", name: "How to Shop at Costco ✨economical milf✨",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/SRnHMGMJ6mM/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDrwe86eXSemFBKB3xLGnRIDcL_qA", url: "https://i.ytimg.com/vi/SRnHMGMJ6mM/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDrwe86eXSemFBKB3xLGnRIDcL_qA",
@ -746,7 +746,7 @@ Channel(
VideoItem( VideoItem(
id: "bGXP83AU3Mc", id: "bGXP83AU3Mc",
name: "do u wanna get swole?", name: "do u wanna get swole?",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bGXP83AU3Mc/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBLGuAqqpjhQ_Y81P2pxchz-z971g", url: "https://i.ytimg.com/vi/bGXP83AU3Mc/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBLGuAqqpjhQ_Y81P2pxchz-z971g",
@ -772,7 +772,7 @@ Channel(
VideoItem( VideoItem(
id: "E52sSgZlgYs", id: "E52sSgZlgYs",
name: "the holy trinity of korean street food", name: "the holy trinity of korean street food",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/E52sSgZlgYs/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAZr5j2o2IdpTLXUoSKT5QK-DFJgw", url: "https://i.ytimg.com/vi/E52sSgZlgYs/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAZr5j2o2IdpTLXUoSKT5QK-DFJgw",
@ -798,7 +798,7 @@ Channel(
VideoItem( VideoItem(
id: "ovaHmfy3O6U", id: "ovaHmfy3O6U",
name: "hangover food", name: "hangover food",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ovaHmfy3O6U/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBg-kG4rAi-BQ8Xkp2hOtOu-oXDLQ", url: "https://i.ytimg.com/vi/ovaHmfy3O6U/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBg-kG4rAi-BQ8Xkp2hOtOu-oXDLQ",
@ -824,7 +824,7 @@ Channel(
VideoItem( VideoItem(
id: "FHTQmKTZnlI", id: "FHTQmKTZnlI",
name: "pig trotter raguuuuuuuuu 💅", name: "pig trotter raguuuuuuuuu 💅",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/FHTQmKTZnlI/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBaPmdp59deKec5AiRRJ_c6oWOpuA", url: "https://i.ytimg.com/vi/FHTQmKTZnlI/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBaPmdp59deKec5AiRRJ_c6oWOpuA",
@ -850,7 +850,7 @@ Channel(
VideoItem( VideoItem(
id: "1AXB0l_wKMs", id: "1AXB0l_wKMs",
name: "what i ate in google japan", name: "what i ate in google japan",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1AXB0l_wKMs/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAwymbQoerZLtr77RuARo1iok4_WQ", url: "https://i.ytimg.com/vi/1AXB0l_wKMs/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAwymbQoerZLtr77RuARo1iok4_WQ",
@ -876,7 +876,7 @@ Channel(
VideoItem( VideoItem(
id: "1ARLtk3HiB0", id: "1ARLtk3HiB0",
name: "succumb to your cravings", name: "succumb to your cravings",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1ARLtk3HiB0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDSjiCiBhM1i7n68LVRv_G5GW5vRw", url: "https://i.ytimg.com/vi/1ARLtk3HiB0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDSjiCiBhM1i7n68LVRv_G5GW5vRw",
@ -902,7 +902,7 @@ Channel(
VideoItem( VideoItem(
id: "0FfDoDHpaN8", id: "0FfDoDHpaN8",
name: "you can\'t let the what ifs rule your life", name: "you can\'t let the what ifs rule your life",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0FfDoDHpaN8/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAJK1Av4zHRIWRBMSEfYRXxpwCSlQ", url: "https://i.ytimg.com/vi/0FfDoDHpaN8/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAJK1Av4zHRIWRBMSEfYRXxpwCSlQ",
@ -928,7 +928,7 @@ Channel(
VideoItem( VideoItem(
id: "kuT90_RIdF0", id: "kuT90_RIdF0",
name: "duck confit lollipop 🦆🍭", name: "duck confit lollipop 🦆🍭",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/kuT90_RIdF0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCt9L5XUhmlkwuxMuupIt4kCnxctA", url: "https://i.ytimg.com/vi/kuT90_RIdF0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCt9L5XUhmlkwuxMuupIt4kCnxctA",
@ -954,7 +954,7 @@ Channel(
VideoItem( VideoItem(
id: "aPJLhrcM4Yg", id: "aPJLhrcM4Yg",
name: "HOUSE TOUR", name: "HOUSE TOUR",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/aPJLhrcM4Yg/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBCLF6yI6Ke96PIrfo1s5BhYfeWvg", url: "https://i.ytimg.com/vi/aPJLhrcM4Yg/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBCLF6yI6Ke96PIrfo1s5BhYfeWvg",
@ -980,7 +980,7 @@ Channel(
VideoItem( VideoItem(
id: "DKQrG_hJJX4", id: "DKQrG_hJJX4",
name: "how to meal prep like a korean", name: "how to meal prep like a korean",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DKQrG_hJJX4/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDZTyFRl919wEGdUg95-XrNIH99mg", url: "https://i.ytimg.com/vi/DKQrG_hJJX4/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDZTyFRl919wEGdUg95-XrNIH99mg",
@ -1006,7 +1006,7 @@ Channel(
VideoItem( VideoItem(
id: "lNizW_P_oVw", id: "lNizW_P_oVw",
name: "Rating Everything I ate at McDonald\'s Japan 🇯🇵", name: "Rating Everything I ate at McDonald\'s Japan 🇯🇵",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/lNizW_P_oVw/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAAiwuuJufebYj3P4aTo7wyBjh9Kw", url: "https://i.ytimg.com/vi/lNizW_P_oVw/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAAiwuuJufebYj3P4aTo7wyBjh9Kw",
@ -1032,7 +1032,7 @@ Channel(
VideoItem( VideoItem(
id: "kbWyJjrCjwA", id: "kbWyJjrCjwA",
name: "enemies as fertilizer √(veg)", name: "enemies as fertilizer √(veg)",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/kbWyJjrCjwA/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCItmfFh3UD53WvNCWd9HAItdubgg", url: "https://i.ytimg.com/vi/kbWyJjrCjwA/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCItmfFh3UD53WvNCWd9HAItdubgg",
@ -1058,7 +1058,7 @@ Channel(
VideoItem( VideoItem(
id: "xAp910JTDig", id: "xAp910JTDig",
name: "let\'s make some cabbage rolls for lunch", name: "let\'s make some cabbage rolls for lunch",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xAp910JTDig/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD0jor2XgDSjgk4IdMhCOGNqv0Vag", url: "https://i.ytimg.com/vi/xAp910JTDig/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD0jor2XgDSjgk4IdMhCOGNqv0Vag",
@ -1084,7 +1084,7 @@ Channel(
VideoItem( VideoItem(
id: "vSL7dhKatEk", id: "vSL7dhKatEk",
name: "Rating Everything I ate at IKEA Korea", name: "Rating Everything I ate at IKEA Korea",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vSL7dhKatEk/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD1jtkvWyabnlTD7ktUQCWYvKctFQ", url: "https://i.ytimg.com/vi/vSL7dhKatEk/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD1jtkvWyabnlTD7ktUQCWYvKctFQ",
@ -1110,7 +1110,7 @@ Channel(
VideoItem( VideoItem(
id: "LZzhUpACXSk", id: "LZzhUpACXSk",
name: "I\'m done being the bigger person", name: "I\'m done being the bigger person",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/LZzhUpACXSk/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBKpbXJ3fj1mWw8YLEGgqqQJFPapw", url: "https://i.ytimg.com/vi/LZzhUpACXSk/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBKpbXJ3fj1mWw8YLEGgqqQJFPapw",
@ -1136,7 +1136,7 @@ Channel(
VideoItem( VideoItem(
id: "5C7nqNDfhis", id: "5C7nqNDfhis",
name: "we\'re cooking a whole bird today", name: "we\'re cooking a whole bird today",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5C7nqNDfhis/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAywBcN0oFzKJrq2jxAcYU8Gz5mQQ", url: "https://i.ytimg.com/vi/5C7nqNDfhis/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAywBcN0oFzKJrq2jxAcYU8Gz5mQQ",
@ -1162,7 +1162,7 @@ Channel(
VideoItem( VideoItem(
id: "6mj4Af0kUOQ", id: "6mj4Af0kUOQ",
name: "men will disappoint but never potatoes", name: "men will disappoint but never potatoes",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6mj4Af0kUOQ/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLB3pIz2cfevgV0ccu3bQM4IDaBSKg", url: "https://i.ytimg.com/vi/6mj4Af0kUOQ/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLB3pIz2cfevgV0ccu3bQM4IDaBSKg",
@ -1188,7 +1188,7 @@ Channel(
VideoItem( VideoItem(
id: "1c3axhSJiaQ", id: "1c3axhSJiaQ",
name: "I used to hate korean food", name: "I used to hate korean food",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1c3axhSJiaQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBucOEbTsWTDjOOCjNa-fAvz1yxyA", url: "https://i.ytimg.com/vi/1c3axhSJiaQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBucOEbTsWTDjOOCjNa-fAvz1yxyA",
@ -1214,7 +1214,7 @@ Channel(
VideoItem( VideoItem(
id: "F9Vz0m7DPeU", id: "F9Vz0m7DPeU",
name: "Rating everything I got at 7/11 Hawaii ( ft. Mauna Kea )", name: "Rating everything I got at 7/11 Hawaii ( ft. Mauna Kea )",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/F9Vz0m7DPeU/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD1w_8DhU37Mv_R3tQ9Kb6ouIU_VA", url: "https://i.ytimg.com/vi/F9Vz0m7DPeU/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD1w_8DhU37Mv_R3tQ9Kb6ouIU_VA",
@ -1240,7 +1240,7 @@ Channel(
VideoItem( VideoItem(
id: "Uey7kl56wks", id: "Uey7kl56wks",
name: "Grabbing Snacks from 7/11 Hawaii", name: "Grabbing Snacks from 7/11 Hawaii",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Uey7kl56wks/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCybGwQAf9s43HoSQJGvWlOmmLPgw", url: "https://i.ytimg.com/vi/Uey7kl56wks/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCybGwQAf9s43HoSQJGvWlOmmLPgw",
@ -1266,7 +1266,7 @@ Channel(
VideoItem( VideoItem(
id: "3un2eUAr6Dg", id: "3un2eUAr6Dg",
name: "cheesy korean corn balls hit different", name: "cheesy korean corn balls hit different",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3un2eUAr6Dg/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLC9I2IQJx0hUPF9mcw4lvs1I6Bj4A", url: "https://i.ytimg.com/vi/3un2eUAr6Dg/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLC9I2IQJx0hUPF9mcw4lvs1I6Bj4A",
@ -1292,7 +1292,7 @@ Channel(
VideoItem( VideoItem(
id: "rI5tWrGpDJA", id: "rI5tWrGpDJA",
name: "hawaiian tajin?!?", name: "hawaiian tajin?!?",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rI5tWrGpDJA/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCkg-RG2ToW-gXsSdYwO57sis0DkA", url: "https://i.ytimg.com/vi/rI5tWrGpDJA/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCkg-RG2ToW-gXsSdYwO57sis0DkA",

View file

@ -122,7 +122,7 @@ Channel(
VideoItem( VideoItem(
id: "EIcmfSzeaKk", id: "EIcmfSzeaKk",
name: "our new normal", name: "our new normal",
length: Some(1106), duration: Some(1106),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EIcmfSzeaKk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAsYqYyFrXWHOkwiw0oqls2tGrKQg", url: "https://i.ytimg.com/vi/EIcmfSzeaKk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAsYqYyFrXWHOkwiw0oqls2tGrKQg",
@ -163,7 +163,7 @@ Channel(
VideoItem( VideoItem(
id: "9NuhKCv3crg", id: "9NuhKCv3crg",
name: "the end.", name: "the end.",
length: Some(982), duration: Some(982),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9NuhKCv3crg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDB0KHjIok8E-gjwidP56UeDJy7Bg", url: "https://i.ytimg.com/vi/9NuhKCv3crg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDB0KHjIok8E-gjwidP56UeDJy7Bg",
@ -204,7 +204,7 @@ Channel(
VideoItem( VideoItem(
id: "38Gd6TdmNVs", id: "38Gd6TdmNVs",
name: "KOREAN BARBECUE l doob gourmand ep.3", name: "KOREAN BARBECUE l doob gourmand ep.3",
length: Some(525), duration: Some(525),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/38Gd6TdmNVs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBRo5niO28TGS9JNluTU9wCLCGBQA", url: "https://i.ytimg.com/vi/38Gd6TdmNVs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBRo5niO28TGS9JNluTU9wCLCGBQA",
@ -245,7 +245,7 @@ Channel(
VideoItem( VideoItem(
id: "l9TiwunjzgA", id: "l9TiwunjzgA",
name: "long distance", name: "long distance",
length: Some(1043), duration: Some(1043),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/l9TiwunjzgA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjM6SZ7ScyfFRr13QdVmIvWEWWrQ", url: "https://i.ytimg.com/vi/l9TiwunjzgA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjM6SZ7ScyfFRr13QdVmIvWEWWrQ",
@ -286,7 +286,7 @@ Channel(
VideoItem( VideoItem(
id: "pRVSdUxdsVw", id: "pRVSdUxdsVw",
name: "Repairing...", name: "Repairing...",
length: Some(965), duration: Some(965),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pRVSdUxdsVw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQWneuYcJcccgooBfa3WI4LdYF3w", url: "https://i.ytimg.com/vi/pRVSdUxdsVw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQWneuYcJcccgooBfa3WI4LdYF3w",
@ -327,7 +327,7 @@ Channel(
VideoItem( VideoItem(
id: "2FJVhdOO0F0", id: "2FJVhdOO0F0",
name: "a health scare", name: "a health scare",
length: Some(1238), duration: Some(1238),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2FJVhdOO0F0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5ambaz-euRsB9VG5ANaYFUUSEbg", url: "https://i.ytimg.com/vi/2FJVhdOO0F0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5ambaz-euRsB9VG5ANaYFUUSEbg",
@ -368,7 +368,7 @@ Channel(
VideoItem( VideoItem(
id: "CutR_1SDDzY", id: "CutR_1SDDzY",
name: "feels good to be back", name: "feels good to be back",
length: Some(1159), duration: Some(1159),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CutR_1SDDzY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAt413Uk4xhHjYwpLI5-DXuOsFouA", url: "https://i.ytimg.com/vi/CutR_1SDDzY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAt413Uk4xhHjYwpLI5-DXuOsFouA",
@ -409,7 +409,7 @@ Channel(
VideoItem( VideoItem(
id: "KUz7oArksR4", id: "KUz7oArksR4",
name: "running away", name: "running away",
length: Some(1023), duration: Some(1023),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KUz7oArksR4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD1NwuIgJuJy2oPAiHqMre6rbcuPA", url: "https://i.ytimg.com/vi/KUz7oArksR4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD1NwuIgJuJy2oPAiHqMre6rbcuPA",
@ -450,7 +450,7 @@ Channel(
VideoItem( VideoItem(
id: "sPb2gyN-hnE", id: "sPb2gyN-hnE",
name: "worth fighting for", name: "worth fighting for",
length: Some(1232), duration: Some(1232),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/sPb2gyN-hnE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBidXnS47SJMkvOlqt2DgzHxr6wKQ", url: "https://i.ytimg.com/vi/sPb2gyN-hnE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBidXnS47SJMkvOlqt2DgzHxr6wKQ",
@ -491,7 +491,7 @@ Channel(
VideoItem( VideoItem(
id: "PXsK9-CFoH4", id: "PXsK9-CFoH4",
name: "waiting...", name: "waiting...",
length: Some(1455), duration: Some(1455),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PXsK9-CFoH4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBJ-57qZ-dOIsdFy5H8WT9UsS2W9w", url: "https://i.ytimg.com/vi/PXsK9-CFoH4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBJ-57qZ-dOIsdFy5H8WT9UsS2W9w",
@ -532,7 +532,7 @@ Channel(
VideoItem( VideoItem(
id: "r2ye6zW0nbM", id: "r2ye6zW0nbM",
name: "a wedding", name: "a wedding",
length: Some(1207), duration: Some(1207),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/r2ye6zW0nbM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3L2DVtMtxaPaFjVPcNnjDHE5Wvw", url: "https://i.ytimg.com/vi/r2ye6zW0nbM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3L2DVtMtxaPaFjVPcNnjDHE5Wvw",
@ -573,7 +573,7 @@ Channel(
VideoItem( VideoItem(
id: "rriwHj8U664", id: "rriwHj8U664",
name: "my seoul apartment tour", name: "my seoul apartment tour",
length: Some(721), duration: Some(721),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rriwHj8U664/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCy6zauLaf2KLJ6R41q0CPM8298PA", url: "https://i.ytimg.com/vi/rriwHj8U664/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCy6zauLaf2KLJ6R41q0CPM8298PA",
@ -614,7 +614,7 @@ Channel(
VideoItem( VideoItem(
id: "FKJtrUeol3o", id: "FKJtrUeol3o",
name: "with quantity comes quality", name: "with quantity comes quality",
length: Some(1140), duration: Some(1140),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/FKJtrUeol3o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD7U0hZPrEiHZcTVcicymOllR05qw", url: "https://i.ytimg.com/vi/FKJtrUeol3o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD7U0hZPrEiHZcTVcicymOllR05qw",
@ -655,7 +655,7 @@ Channel(
VideoItem( VideoItem(
id: "zYHB38UlzE0", id: "zYHB38UlzE0",
name: "Q&A l relationships, burnout, privilege, college advice, living alone, and life after youtube?", name: "Q&A l relationships, burnout, privilege, college advice, living alone, and life after youtube?",
length: Some(775), duration: Some(775),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zYHB38UlzE0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAO5etokCiF7cvyR-7kobN9RhTLA", url: "https://i.ytimg.com/vi/zYHB38UlzE0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAO5etokCiF7cvyR-7kobN9RhTLA",
@ -696,7 +696,7 @@ Channel(
VideoItem( VideoItem(
id: "hGbQ2WM9nOo", id: "hGbQ2WM9nOo",
name: "Why does everything bad for you taste good ㅣ CHILI OIL RAMEN", name: "Why does everything bad for you taste good ㅣ CHILI OIL RAMEN",
length: Some(428), duration: Some(428),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/hGbQ2WM9nOo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_bMKoJhW-ifemEiqSBj-6dvEnUg", url: "https://i.ytimg.com/vi/hGbQ2WM9nOo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_bMKoJhW-ifemEiqSBj-6dvEnUg",
@ -737,7 +737,7 @@ Channel(
VideoItem( VideoItem(
id: "PxGmP4v_A38", id: "PxGmP4v_A38",
name: "Alone and Thriving l late night korean convenience store, muji kitchenware haul, spring cleaning!", name: "Alone and Thriving l late night korean convenience store, muji kitchenware haul, spring cleaning!",
length: Some(1437), duration: Some(1437),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PxGmP4v_A38/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArZRyFU5e71-vMdGZzuxCCroEkww", url: "https://i.ytimg.com/vi/PxGmP4v_A38/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArZRyFU5e71-vMdGZzuxCCroEkww",
@ -778,7 +778,7 @@ Channel(
VideoItem( VideoItem(
id: "8t-WyYcpEDE", id: "8t-WyYcpEDE",
name: "What I hate most", name: "What I hate most",
length: Some(61), duration: Some(61),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8t-WyYcpEDE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsJHHXMP4fUEFqn-LExXU5yPyZ-Q", url: "https://i.ytimg.com/vi/8t-WyYcpEDE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsJHHXMP4fUEFqn-LExXU5yPyZ-Q",
@ -819,7 +819,7 @@ Channel(
VideoItem( VideoItem(
id: "RroYpLxxNjY", id: "RroYpLxxNjY",
name: "I\'m Back. ㅣ cooking korean food, eating alone, working out, and 2M!", name: "I\'m Back. ㅣ cooking korean food, eating alone, working out, and 2M!",
length: Some(1313), duration: Some(1313),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RroYpLxxNjY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYJ_dcqUt2kR-4jOAUu8O0Ja9SLA", url: "https://i.ytimg.com/vi/RroYpLxxNjY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYJ_dcqUt2kR-4jOAUu8O0Ja9SLA",
@ -860,7 +860,7 @@ Channel(
VideoItem( VideoItem(
id: "l47QuudsZ34", id: "l47QuudsZ34",
name: "We ate our way through Florence (ft. mamadooby)", name: "We ate our way through Florence (ft. mamadooby)",
length: Some(1109), duration: Some(1109),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/l47QuudsZ34/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB0Vwc7DhN_hFXSRuDAiivLnGGc2A", url: "https://i.ytimg.com/vi/l47QuudsZ34/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB0Vwc7DhN_hFXSRuDAiivLnGGc2A",
@ -901,7 +901,7 @@ Channel(
VideoItem( VideoItem(
id: "1VW7iXRIrc8", id: "1VW7iXRIrc8",
name: "Alone, in the City of Love", name: "Alone, in the City of Love",
length: Some(1875), duration: Some(1875),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1VW7iXRIrc8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBbNxPLmGzJlvJ-3o5Dz9I5LOGu1A", url: "https://i.ytimg.com/vi/1VW7iXRIrc8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBbNxPLmGzJlvJ-3o5Dz9I5LOGu1A",
@ -942,7 +942,7 @@ Channel(
VideoItem( VideoItem(
id: "6c58-749p6Y", id: "6c58-749p6Y",
name: "Old Friends & New", name: "Old Friends & New",
length: Some(774), duration: Some(774),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6c58-749p6Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClRrTlOF_Q3feHLoM0T5_DFygbIw", url: "https://i.ytimg.com/vi/6c58-749p6Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClRrTlOF_Q3feHLoM0T5_DFygbIw",
@ -983,7 +983,7 @@ Channel(
VideoItem( VideoItem(
id: "Q2G53LuEUaU", id: "Q2G53LuEUaU",
name: "Where we stand", name: "Where we stand",
length: Some(858), duration: Some(858),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Q2G53LuEUaU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1ppNrqK-xlQ6Sxnn62dp8QXoJBQ", url: "https://i.ytimg.com/vi/Q2G53LuEUaU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1ppNrqK-xlQ6Sxnn62dp8QXoJBQ",
@ -1024,7 +1024,7 @@ Channel(
VideoItem( VideoItem(
id: "8rAOeowNQrI", id: "8rAOeowNQrI",
name: "That\'s so last year", name: "That\'s so last year",
length: Some(1286), duration: Some(1286),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8rAOeowNQrI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCSBW_fD0pttfFh4Yc_Kx1UIZHzfg", url: "https://i.ytimg.com/vi/8rAOeowNQrI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCSBW_fD0pttfFh4Yc_Kx1UIZHzfg",
@ -1065,7 +1065,7 @@ Channel(
VideoItem( VideoItem(
id: "0RGIdIKkbSI", id: "0RGIdIKkbSI",
name: "The Muffin Man", name: "The Muffin Man",
length: Some(1052), duration: Some(1052),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0RGIdIKkbSI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDo42DBFMfLKVHtXETG5yuU20FVMw", url: "https://i.ytimg.com/vi/0RGIdIKkbSI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDo42DBFMfLKVHtXETG5yuU20FVMw",
@ -1106,7 +1106,7 @@ Channel(
VideoItem( VideoItem(
id: "NudTbo2CJMY", id: "NudTbo2CJMY",
name: "Flying to London", name: "Flying to London",
length: Some(1078), duration: Some(1078),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NudTbo2CJMY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDEdvWWmhSaDTTx7b2kJUauMFnQJQ", url: "https://i.ytimg.com/vi/NudTbo2CJMY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDEdvWWmhSaDTTx7b2kJUauMFnQJQ",
@ -1147,7 +1147,7 @@ Channel(
VideoItem( VideoItem(
id: "8mJk1ncGZig", id: "8mJk1ncGZig",
name: "(not so) Teenage Angst", name: "(not so) Teenage Angst",
length: Some(1376), duration: Some(1376),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8mJk1ncGZig/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB1kTcJ6oRyNfaGJbvl6V5UxRhagg", url: "https://i.ytimg.com/vi/8mJk1ncGZig/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB1kTcJ6oRyNfaGJbvl6V5UxRhagg",
@ -1188,7 +1188,7 @@ Channel(
VideoItem( VideoItem(
id: "qvgCi2WpbfE", id: "qvgCi2WpbfE",
name: "can\'t smell :s", name: "can\'t smell :s",
length: Some(875), duration: Some(875),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qvgCi2WpbfE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBdSLKkLlOTxprZAH9BajRpHiujrw", url: "https://i.ytimg.com/vi/qvgCi2WpbfE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBdSLKkLlOTxprZAH9BajRpHiujrw",
@ -1229,7 +1229,7 @@ Channel(
VideoItem( VideoItem(
id: "Sm4Yqtqr9f8", id: "Sm4Yqtqr9f8",
name: "I have covid", name: "I have covid",
length: Some(814), duration: Some(814),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Sm4Yqtqr9f8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAAWaXioP-Xz_cwkE3APR_5fpkqw", url: "https://i.ytimg.com/vi/Sm4Yqtqr9f8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAAWaXioP-Xz_cwkE3APR_5fpkqw",
@ -1270,7 +1270,7 @@ Channel(
VideoItem( VideoItem(
id: "ZRtf4ksF3qs", id: "ZRtf4ksF3qs",
name: "Everything I ate in Busan & make up tutorial??", name: "Everything I ate in Busan & make up tutorial??",
length: Some(1026), duration: Some(1026),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ZRtf4ksF3qs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBnRStN9mU3cu7vDQIkUcO3WiyVZw", url: "https://i.ytimg.com/vi/ZRtf4ksF3qs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBnRStN9mU3cu7vDQIkUcO3WiyVZw",
@ -1311,7 +1311,7 @@ Channel(
VideoItem( VideoItem(
id: "oG4Wth1oVBQ", id: "oG4Wth1oVBQ",
name: "On the other side", name: "On the other side",
length: Some(1592), duration: Some(1592),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/oG4Wth1oVBQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDO45Wm2zkuD6ZukxaoxfgGkpuZHg", url: "https://i.ytimg.com/vi/oG4Wth1oVBQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDO45Wm2zkuD6ZukxaoxfgGkpuZHg",

View file

@ -151,7 +151,7 @@ Channel(
VideoItem( VideoItem(
id: "4EcQYK_no5M", id: "4EcQYK_no5M",
name: "EEVblog 1506 - History of Electricity with Kathy Loves Physics", name: "EEVblog 1506 - History of Electricity with Kathy Loves Physics",
length: Some(6143), duration: Some(6143),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4EcQYK_no5M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB9dr9RxHmrRUim7aDSz_mPNrfSKA", url: "https://i.ytimg.com/vi/4EcQYK_no5M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB9dr9RxHmrRUim7aDSz_mPNrfSKA",
@ -192,7 +192,7 @@ Channel(
VideoItem( VideoItem(
id: "zEzjVUzNAFA", id: "zEzjVUzNAFA",
name: "EEVblog 1505 - 120W Home Phantom Power? Audit Time!", name: "EEVblog 1505 - 120W Home Phantom Power? Audit Time!",
length: Some(1464), duration: Some(1464),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zEzjVUzNAFA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnSdLCdtqGA1HYCFv4_MeTHWdVpw", url: "https://i.ytimg.com/vi/zEzjVUzNAFA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnSdLCdtqGA1HYCFv4_MeTHWdVpw",
@ -233,7 +233,7 @@ Channel(
VideoItem( VideoItem(
id: "YIbQ3nudCA0", id: "YIbQ3nudCA0",
name: "EEVblog 1504 - The COOL thing you MISSED at Tesla AI Day 2022", name: "EEVblog 1504 - The COOL thing you MISSED at Tesla AI Day 2022",
length: Some(1021), duration: Some(1021),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YIbQ3nudCA0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDesF0deVLo0ouizZ8ZF_lXolOdrw", url: "https://i.ytimg.com/vi/YIbQ3nudCA0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDesF0deVLo0ouizZ8ZF_lXolOdrw",
@ -274,7 +274,7 @@ Channel(
VideoItem( VideoItem(
id: "W1Jl0rMRGSg", id: "W1Jl0rMRGSg",
name: "EEVblog 1503 - Rigol HDO4000 12bit Oscilloscope TEARDOWN", name: "EEVblog 1503 - Rigol HDO4000 12bit Oscilloscope TEARDOWN",
length: Some(1798), duration: Some(1798),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/W1Jl0rMRGSg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBKFi3YtWo1ii8h8FdQN6CkYgzX2A", url: "https://i.ytimg.com/vi/W1Jl0rMRGSg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBKFi3YtWo1ii8h8FdQN6CkYgzX2A",
@ -315,7 +315,7 @@ Channel(
VideoItem( VideoItem(
id: "YFKu_emNzpk", id: "YFKu_emNzpk",
name: "EEVblog 1502 - Is Home Battery Storage Financially Viable?", name: "EEVblog 1502 - Is Home Battery Storage Financially Viable?",
length: Some(1199), duration: Some(1199),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YFKu_emNzpk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLACI3L7nXsK3ZUFD8yK0VAWd32-Uw", url: "https://i.ytimg.com/vi/YFKu_emNzpk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLACI3L7nXsK3ZUFD8yK0VAWd32-Uw",
@ -356,7 +356,7 @@ Channel(
VideoItem( VideoItem(
id: "gremHHvqYTE", id: "gremHHvqYTE",
name: "EEVblog 1501 - Rigol HDO4000 Low Noise 12bit Oscilloscope Unboxing & First Impression", name: "EEVblog 1501 - Rigol HDO4000 Low Noise 12bit Oscilloscope Unboxing & First Impression",
length: Some(1794), duration: Some(1794),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gremHHvqYTE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBcwR0YIwLjfFam9HkKdkTkqx_gHw", url: "https://i.ytimg.com/vi/gremHHvqYTE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBcwR0YIwLjfFam9HkKdkTkqx_gHw",
@ -397,7 +397,7 @@ Channel(
VideoItem( VideoItem(
id: "WHO8NBfpaO0", id: "WHO8NBfpaO0",
name: "eevBLAB 102 - Last Mile Autonomous Robot Deliveries WILL FAIL", name: "eevBLAB 102 - Last Mile Autonomous Robot Deliveries WILL FAIL",
length: Some(742), duration: Some(742),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WHO8NBfpaO0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQPKMF3Aeo9CydEWz9pQWkn1Lu7Q", url: "https://i.ytimg.com/vi/WHO8NBfpaO0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQPKMF3Aeo9CydEWz9pQWkn1Lu7Q",
@ -438,7 +438,7 @@ Channel(
VideoItem( VideoItem(
id: "W1Q8CxL95_Y", id: "W1Q8CxL95_Y",
name: "EEVblog 1500 - Automatic Transfer Switch REVERSE ENGINEERED", name: "EEVblog 1500 - Automatic Transfer Switch REVERSE ENGINEERED",
length: Some(1770), duration: Some(1770),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/W1Q8CxL95_Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIxuct8vahJHOJTLfbOnsMOXnjvw", url: "https://i.ytimg.com/vi/W1Q8CxL95_Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIxuct8vahJHOJTLfbOnsMOXnjvw",
@ -479,7 +479,7 @@ Channel(
VideoItem( VideoItem(
id: "lagxSrPeoYg", id: "lagxSrPeoYg",
name: "EEVblog 1499 - EcoFlow Delta Pro 3.6kWh Portable Battery TEARDOWN!", name: "EEVblog 1499 - EcoFlow Delta Pro 3.6kWh Portable Battery TEARDOWN!",
length: Some(2334), duration: Some(2334),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/lagxSrPeoYg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbAX2gdAF66O7BUCaOVg2vQOsS2Q", url: "https://i.ytimg.com/vi/lagxSrPeoYg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbAX2gdAF66O7BUCaOVg2vQOsS2Q",
@ -520,7 +520,7 @@ Channel(
VideoItem( VideoItem(
id: "qTctWW9_FmE", id: "qTctWW9_FmE",
name: "EEVblog 1498 - TransPod Fluxjet Hyperloop $550M Boondoggle!", name: "EEVblog 1498 - TransPod Fluxjet Hyperloop $550M Boondoggle!",
length: Some(2399), duration: Some(2399),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qTctWW9_FmE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCbnEQaGGI5zD9lCJ8kMmciezX2kA", url: "https://i.ytimg.com/vi/qTctWW9_FmE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCbnEQaGGI5zD9lCJ8kMmciezX2kA",
@ -561,7 +561,7 @@ Channel(
VideoItem( VideoItem(
id: "3t9G80wk0pk", id: "3t9G80wk0pk",
name: "eevBLAB 101 - Why Are Tektronix Oscilloscopes So Expensive?", name: "eevBLAB 101 - Why Are Tektronix Oscilloscopes So Expensive?",
length: Some(1423), duration: Some(1423),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3t9G80wk0pk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnsVu-VQplpRpc1ZW-yk2byyZjZA", url: "https://i.ytimg.com/vi/3t9G80wk0pk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnsVu-VQplpRpc1ZW-yk2byyZjZA",
@ -602,7 +602,7 @@ Channel(
VideoItem( VideoItem(
id: "7dze5CnZnmk", id: "7dze5CnZnmk",
name: "EEVblog 1497 - RIP Fluke. Thanks Energizer. NOT.", name: "EEVblog 1497 - RIP Fluke. Thanks Energizer. NOT.",
length: Some(1168), duration: Some(1168),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7dze5CnZnmk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg430MYAmoycM4lbv_57S_d3kZRA", url: "https://i.ytimg.com/vi/7dze5CnZnmk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg430MYAmoycM4lbv_57S_d3kZRA",
@ -643,7 +643,7 @@ Channel(
VideoItem( VideoItem(
id: "6XnrZpPYgBg", id: "6XnrZpPYgBg",
name: "EEVblog 1496 - Winning Mailbag", name: "EEVblog 1496 - Winning Mailbag",
length: Some(3139), duration: Some(3139),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6XnrZpPYgBg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrBgky13jB1p9xzKbmoUpJ4g0SNQ", url: "https://i.ytimg.com/vi/6XnrZpPYgBg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrBgky13jB1p9xzKbmoUpJ4g0SNQ",
@ -684,7 +684,7 @@ Channel(
VideoItem( VideoItem(
id: "Psp3ltpFvws", id: "Psp3ltpFvws",
name: "eevBLAB 100 - Reuters Attacks Odysee - LOL", name: "eevBLAB 100 - Reuters Attacks Odysee - LOL",
length: Some(855), duration: Some(855),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Psp3ltpFvws/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCu8Nu_NmDw5vBHgb7e8JdJR1Dr1Q", url: "https://i.ytimg.com/vi/Psp3ltpFvws/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCu8Nu_NmDw5vBHgb7e8JdJR1Dr1Q",
@ -725,7 +725,7 @@ Channel(
VideoItem( VideoItem(
id: "taVYTYz5vLE", id: "taVYTYz5vLE",
name: "EEVblog 1495 - Quaze Wireless Power (AGAIN!) but for GAMING!", name: "EEVblog 1495 - Quaze Wireless Power (AGAIN!) but for GAMING!",
length: Some(2592), duration: Some(2592),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/taVYTYz5vLE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMHngmN8TjWZz327vUD7zjjblYBw", url: "https://i.ytimg.com/vi/taVYTYz5vLE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMHngmN8TjWZz327vUD7zjjblYBw",
@ -766,7 +766,7 @@ Channel(
VideoItem( VideoItem(
id: "Y6cZrieFw-k", id: "Y6cZrieFw-k",
name: "EEVblog 1494 - FIVE Ways to Open a CHEAP SAFE!", name: "EEVblog 1494 - FIVE Ways to Open a CHEAP SAFE!",
length: Some(1194), duration: Some(1194),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Y6cZrieFw-k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsdoJwcvSFZU4e9cwDFbZj3W21Pw", url: "https://i.ytimg.com/vi/Y6cZrieFw-k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsdoJwcvSFZU4e9cwDFbZj3W21Pw",
@ -807,7 +807,7 @@ Channel(
VideoItem( VideoItem(
id: "Kr2XyhpUdUI", id: "Kr2XyhpUdUI",
name: "EEVblog 1493 - MacGyver Project - Part 2", name: "EEVblog 1493 - MacGyver Project - Part 2",
length: Some(1785), duration: Some(1785),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Kr2XyhpUdUI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdL3brjOzbABRuyz-yolawtGRsbw", url: "https://i.ytimg.com/vi/Kr2XyhpUdUI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdL3brjOzbABRuyz-yolawtGRsbw",
@ -848,7 +848,7 @@ Channel(
VideoItem( VideoItem(
id: "rxGafdgkal8", id: "rxGafdgkal8",
name: "EEVblog 1492 - $5 Oscilloscope Repaired! + Oz GIVEAWAY", name: "EEVblog 1492 - $5 Oscilloscope Repaired! + Oz GIVEAWAY",
length: Some(1163), duration: Some(1163),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rxGafdgkal8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-p_t0q_Q2oTGyJuFCQJ5z6VPPMQ", url: "https://i.ytimg.com/vi/rxGafdgkal8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-p_t0q_Q2oTGyJuFCQJ5z6VPPMQ",
@ -889,7 +889,7 @@ Channel(
VideoItem( VideoItem(
id: "4yosozyeIP4", id: "4yosozyeIP4",
name: "EEVblog 1491 - The MacGyver Project - Part 1", name: "EEVblog 1491 - The MacGyver Project - Part 1",
length: Some(1706), duration: Some(1706),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4yosozyeIP4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRNAWkPQfuQirfiOdowD1iQlWrWg", url: "https://i.ytimg.com/vi/4yosozyeIP4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRNAWkPQfuQirfiOdowD1iQlWrWg",
@ -930,7 +930,7 @@ Channel(
VideoItem( VideoItem(
id: "06JtC2DC_dQ", id: "06JtC2DC_dQ",
name: "EEVblog 1490 - Insane Jaycar Dumpster Sale! 2022", name: "EEVblog 1490 - Insane Jaycar Dumpster Sale! 2022",
length: Some(1700), duration: Some(1700),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/06JtC2DC_dQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDVIvEssIKji_8dyBYGYbpIqen7vQ", url: "https://i.ytimg.com/vi/06JtC2DC_dQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDVIvEssIKji_8dyBYGYbpIqen7vQ",
@ -971,7 +971,7 @@ Channel(
VideoItem( VideoItem(
id: "piquT76w9TI", id: "piquT76w9TI",
name: "EEVblog 1489 - Mystery Teardown!", name: "EEVblog 1489 - Mystery Teardown!",
length: Some(1466), duration: Some(1466),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/piquT76w9TI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCTzIcGeRDwUyINtik50EQCOTxwiA", url: "https://i.ytimg.com/vi/piquT76w9TI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCTzIcGeRDwUyINtik50EQCOTxwiA",
@ -1012,7 +1012,7 @@ Channel(
VideoItem( VideoItem(
id: "pKuUKT-zU-g", id: "pKuUKT-zU-g",
name: "EEVblog 1488 - Tilt Five Augmented Reality AR Glasses - First Reaction!", name: "EEVblog 1488 - Tilt Five Augmented Reality AR Glasses - First Reaction!",
length: Some(2152), duration: Some(2152),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pKuUKT-zU-g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCB6Rh4miI20yPy2kJaxul_wA3Now", url: "https://i.ytimg.com/vi/pKuUKT-zU-g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCB6Rh4miI20yPy2kJaxul_wA3Now",
@ -1053,7 +1053,7 @@ Channel(
VideoItem( VideoItem(
id: "_R4wQQNSO6k", id: "_R4wQQNSO6k",
name: "EEVblog 1487 - Do Solar Micro Inverters Take Power at Night?", name: "EEVblog 1487 - Do Solar Micro Inverters Take Power at Night?",
length: Some(2399), duration: Some(2399),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_R4wQQNSO6k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDEQVZ0yQPLZqwLdQednKWwLWqDmA", url: "https://i.ytimg.com/vi/_R4wQQNSO6k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDEQVZ0yQPLZqwLdQednKWwLWqDmA",
@ -1094,7 +1094,7 @@ Channel(
VideoItem( VideoItem(
id: "ikp5BorIo_M", id: "ikp5BorIo_M",
name: "EEVblog 1486 - What you DIDN\'T KNOW About Film Capacitor FAILURES!", name: "EEVblog 1486 - What you DIDN\'T KNOW About Film Capacitor FAILURES!",
length: Some(1792), duration: Some(1792),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ikp5BorIo_M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBygGB8KC522NC15BhDC1WpuNKsgw", url: "https://i.ytimg.com/vi/ikp5BorIo_M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBygGB8KC522NC15BhDC1WpuNKsgw",
@ -1135,7 +1135,7 @@ Channel(
VideoItem( VideoItem(
id: "7O-QckjCXNo", id: "7O-QckjCXNo",
name: "eevBLAB 99 - AI SPAM BOT Youtube Space/Science/Tech Channels? - WTF", name: "eevBLAB 99 - AI SPAM BOT Youtube Space/Science/Tech Channels? - WTF",
length: Some(592), duration: Some(592),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7O-QckjCXNo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBY1cRnrWQCbmlAzP5okMmIYjgdsg", url: "https://i.ytimg.com/vi/7O-QckjCXNo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBY1cRnrWQCbmlAzP5okMmIYjgdsg",
@ -1176,7 +1176,7 @@ Channel(
VideoItem( VideoItem(
id: "VutdTxF4E-0", id: "VutdTxF4E-0",
name: "RIP The Old Garage Lab", name: "RIP The Old Garage Lab",
length: Some(115), duration: Some(115),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/VutdTxF4E-0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDlPpT2-UOGfm2A2djTLjCsygeqSw", url: "https://i.ytimg.com/vi/VutdTxF4E-0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDlPpT2-UOGfm2A2djTLjCsygeqSw",
@ -1217,7 +1217,7 @@ Channel(
VideoItem( VideoItem(
id: "o7xfGuRaq94", id: "o7xfGuRaq94",
name: "EEVblog 1485 - PedalCell CadenceX Bike Generator LOL FAIL!", name: "EEVblog 1485 - PedalCell CadenceX Bike Generator LOL FAIL!",
length: Some(1026), duration: Some(1026),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/o7xfGuRaq94/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA7RRL2USBwkYXp9ouWTbtU-JHSg", url: "https://i.ytimg.com/vi/o7xfGuRaq94/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA7RRL2USBwkYXp9ouWTbtU-JHSg",
@ -1258,7 +1258,7 @@ Channel(
VideoItem( VideoItem(
id: "3WSIfHOv3fc", id: "3WSIfHOv3fc",
name: "EEVblog 1484 - Kaba Mas X-09 High Security Electronic Lock Teardown", name: "EEVblog 1484 - Kaba Mas X-09 High Security Electronic Lock Teardown",
length: Some(1106), duration: Some(1106),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3WSIfHOv3fc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClZroFRo115ZuxYhJ5rcCDO2ZPcQ", url: "https://i.ytimg.com/vi/3WSIfHOv3fc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClZroFRo115ZuxYhJ5rcCDO2ZPcQ",
@ -1299,7 +1299,7 @@ Channel(
VideoItem( VideoItem(
id: "8yXZJZCKImI", id: "8yXZJZCKImI",
name: "EEVblog 1483 - Holy Mailbag Bomb Batman!", name: "EEVblog 1483 - Holy Mailbag Bomb Batman!",
length: Some(3373), duration: Some(3373),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8yXZJZCKImI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBym7WfmrvKIjs2ClW-FOLtxbENzw", url: "https://i.ytimg.com/vi/8yXZJZCKImI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBym7WfmrvKIjs2ClW-FOLtxbENzw",
@ -1340,7 +1340,7 @@ Channel(
VideoItem( VideoItem(
id: "vJ4pW6LKJWU", id: "vJ4pW6LKJWU",
name: "EEVblog 1482 - Mains Capacitor Zener Regulator Circuit", name: "EEVblog 1482 - Mains Capacitor Zener Regulator Circuit",
length: Some(1132), duration: Some(1132),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vJ4pW6LKJWU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDaKgfAJ4NAeqoMIPZDavsTw_JD5w", url: "https://i.ytimg.com/vi/vJ4pW6LKJWU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDaKgfAJ4NAeqoMIPZDavsTw_JD5w",

View file

@ -44,7 +44,7 @@ Channel(
VideoItem( VideoItem(
id: "vFc_pAywtKc", id: "vFc_pAywtKc",
name: "The Murder Capital - Return My Head - Live at Coachella 2023", name: "The Murder Capital - Return My Head - Live at Coachella 2023",
length: Some(194), duration: Some(194),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vFc_pAywtKc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPDC5UHtj76ursSNJqBD-jAiSxHg", url: "https://i.ytimg.com/vi/vFc_pAywtKc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPDC5UHtj76ursSNJqBD-jAiSxHg",
@ -85,7 +85,7 @@ Channel(
VideoItem( VideoItem(
id: "3JprxZgfcHU", id: "3JprxZgfcHU",
name: "BENEE - Supaloney - ft. Gus Dapperton - Live at Coachella 2023", name: "BENEE - Supaloney - ft. Gus Dapperton - Live at Coachella 2023",
length: Some(270), duration: Some(270),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3JprxZgfcHU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCs4cytf-M3ksr1YZB0Iu22b3_Baw", url: "https://i.ytimg.com/vi/3JprxZgfcHU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCs4cytf-M3ksr1YZB0Iu22b3_Baw",
@ -126,7 +126,7 @@ Channel(
VideoItem( VideoItem(
id: "a4QufICobaA", id: "a4QufICobaA",
name: "Doechii - What It Is - Live at Coachella 2023", name: "Doechii - What It Is - Live at Coachella 2023",
length: Some(185), duration: Some(185),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/a4QufICobaA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1bg4wXk4z0Tcp-PgPodKlRsf8lA", url: "https://i.ytimg.com/vi/a4QufICobaA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1bg4wXk4z0Tcp-PgPodKlRsf8lA",
@ -167,7 +167,7 @@ Channel(
VideoItem( VideoItem(
id: "QoRm-xhVqYU", id: "QoRm-xhVqYU",
name: "Gabriels - Blame - Live at Coachella 2023", name: "Gabriels - Blame - Live at Coachella 2023",
length: Some(170), duration: Some(170),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/QoRm-xhVqYU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9H8nfnmu-G2jIfTelbBNbiAWvqw", url: "https://i.ytimg.com/vi/QoRm-xhVqYU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9H8nfnmu-G2jIfTelbBNbiAWvqw",
@ -208,7 +208,7 @@ Channel(
VideoItem( VideoItem(
id: "28DbQYSsn1w", id: "28DbQYSsn1w",
name: "Kaytranada - Intimidate - ft H.E.R. - Live at Coachella 2023", name: "Kaytranada - Intimidate - ft H.E.R. - Live at Coachella 2023",
length: Some(252), duration: Some(252),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/28DbQYSsn1w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF_nO2I3hjct93i3p6V3H1Rmadcg", url: "https://i.ytimg.com/vi/28DbQYSsn1w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF_nO2I3hjct93i3p6V3H1Rmadcg",
@ -249,7 +249,7 @@ Channel(
VideoItem( VideoItem(
id: "nLFZFp3go3o", id: "nLFZFp3go3o",
name: "SG Lewis - Impact - ft. Channel Tres - Live at Coachella 2023", name: "SG Lewis - Impact - ft. Channel Tres - Live at Coachella 2023",
length: Some(365), duration: Some(365),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/nLFZFp3go3o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBgQvHlztxcmQ3pkFNMKQpgvgMusA", url: "https://i.ytimg.com/vi/nLFZFp3go3o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBgQvHlztxcmQ3pkFNMKQpgvgMusA",
@ -290,7 +290,7 @@ Channel(
VideoItem( VideoItem(
id: "RWJMmYcPTR4", id: "RWJMmYcPTR4",
name: "MUNA - Silk Chiffon - Live at Coachella 2023", name: "MUNA - Silk Chiffon - Live at Coachella 2023",
length: Some(220), duration: Some(220),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RWJMmYcPTR4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFk7y7WiMC9pZ9zE1YSlh0TA5o5Q", url: "https://i.ytimg.com/vi/RWJMmYcPTR4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFk7y7WiMC9pZ9zE1YSlh0TA5o5Q",
@ -331,7 +331,7 @@ Channel(
VideoItem( VideoItem(
id: "gcrW53SoTKs", id: "gcrW53SoTKs",
name: "Pusha T - Diet Coke - Live at Coachella 2023", name: "Pusha T - Diet Coke - Live at Coachella 2023",
length: Some(175), duration: Some(175),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gcrW53SoTKs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAlGMLr4aBbSqb-8HBAPeXGLtkOGg", url: "https://i.ytimg.com/vi/gcrW53SoTKs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAlGMLr4aBbSqb-8HBAPeXGLtkOGg",
@ -372,7 +372,7 @@ Channel(
VideoItem( VideoItem(
id: "7pYqbVztRtk", id: "7pYqbVztRtk",
name: "Blink 182 - I Miss You - Live at Coachella 2023", name: "Blink 182 - I Miss You - Live at Coachella 2023",
length: Some(267), duration: Some(267),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7pYqbVztRtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4rIf8atgIc2nEptj4CjgOPqXVWw", url: "https://i.ytimg.com/vi/7pYqbVztRtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4rIf8atgIc2nEptj4CjgOPqXVWw",
@ -413,7 +413,7 @@ Channel(
VideoItem( VideoItem(
id: "yzmSlPiaeRU", id: "yzmSlPiaeRU",
name: "Blink 182 - Whats My Age Again - Live at Coachella 2023", name: "Blink 182 - Whats My Age Again - Live at Coachella 2023",
length: Some(157), duration: Some(157),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yzmSlPiaeRU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzhu2omZ6arr3cGIEM1IGoIp_i3w", url: "https://i.ytimg.com/vi/yzmSlPiaeRU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzhu2omZ6arr3cGIEM1IGoIp_i3w",
@ -454,7 +454,7 @@ Channel(
VideoItem( VideoItem(
id: "r3Kpm4lEXmg", id: "r3Kpm4lEXmg",
name: "Discover the Mirage, Part 2 - Coachella 2023", name: "Discover the Mirage, Part 2 - Coachella 2023",
length: Some(96), duration: Some(96),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/r3Kpm4lEXmg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBLfc6awfa8Mv7I1nTLxfJRY4XUKQ", url: "https://i.ytimg.com/vi/r3Kpm4lEXmg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBLfc6awfa8Mv7I1nTLxfJRY4XUKQ",
@ -495,7 +495,7 @@ Channel(
VideoItem( VideoItem(
id: "LqrLCWoXR_k", id: "LqrLCWoXR_k",
name: "Coachella on YouTube 2023", name: "Coachella on YouTube 2023",
length: Some(31), duration: Some(31),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/LqrLCWoXR_k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCgX8ylcJLaYZiR3Nvr5WrS_6mw8g", url: "https://i.ytimg.com/vi/LqrLCWoXR_k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCgX8ylcJLaYZiR3Nvr5WrS_6mw8g",
@ -536,7 +536,7 @@ Channel(
VideoItem( VideoItem(
id: "J1cmYPtABo0", id: "J1cmYPtABo0",
name: "Discover the Mirage, Part 1 - Coachella 2023", name: "Discover the Mirage, Part 1 - Coachella 2023",
length: Some(91), duration: Some(91),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/J1cmYPtABo0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAEDuvdZhNVkmvG-usGm9tmgJt7QQ", url: "https://i.ytimg.com/vi/J1cmYPtABo0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAEDuvdZhNVkmvG-usGm9tmgJt7QQ",
@ -577,7 +577,7 @@ Channel(
VideoItem( VideoItem(
id: "a0BuUhI3f20", id: "a0BuUhI3f20",
name: "Coachella 2023 featuring Bad Bunny, BLACKPINK, Frank Ocean and more 🌵", name: "Coachella 2023 featuring Bad Bunny, BLACKPINK, Frank Ocean and more 🌵",
length: Some(31), duration: Some(31),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/a0BuUhI3f20/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUCg-MA8=&rs=AOn4CLBDwxWN_SrIR8rCSQVokx1wfe1iqQ", url: "https://i.ytimg.com/vi/a0BuUhI3f20/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUCg-MA8=&rs=AOn4CLBDwxWN_SrIR8rCSQVokx1wfe1iqQ",
@ -618,7 +618,7 @@ Channel(
VideoItem( VideoItem(
id: "G2p-YqRGh80", id: "G2p-YqRGh80",
name: "MEUTE Interview Coachella Curated 2022", name: "MEUTE Interview Coachella Curated 2022",
length: Some(224), duration: Some(224),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/G2p-YqRGh80/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgSSg-MA8=&rs=AOn4CLBWAFod2tomSeOXcy3y5EOIjimn9g", url: "https://i.ytimg.com/vi/G2p-YqRGh80/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgSSg-MA8=&rs=AOn4CLBWAFod2tomSeOXcy3y5EOIjimn9g",
@ -659,7 +659,7 @@ Channel(
VideoItem( VideoItem(
id: "eLZq4l37G7k", id: "eLZq4l37G7k",
name: "Belly - Interview - Coachella 2022", name: "Belly - Interview - Coachella 2022",
length: Some(302), duration: Some(302),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/eLZq4l37G7k/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgPyg6MA8=&rs=AOn4CLBtjJQRABeVsxDVsYK2RwoTETjE8A", url: "https://i.ytimg.com/vi/eLZq4l37G7k/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgPyg6MA8=&rs=AOn4CLBtjJQRABeVsxDVsYK2RwoTETjE8A",
@ -700,7 +700,7 @@ Channel(
VideoItem( VideoItem(
id: "ViPAf8JpMXY", id: "ViPAf8JpMXY",
name: "Still Woozy - Interview - Coachella 2022", name: "Still Woozy - Interview - Coachella 2022",
length: Some(304), duration: Some(304),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ViPAf8JpMXY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUyhEMA8=&rs=AOn4CLBFMadm51TmtXHYl-3B3s1DS1NLoQ", url: "https://i.ytimg.com/vi/ViPAf8JpMXY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUyhEMA8=&rs=AOn4CLBFMadm51TmtXHYl-3B3s1DS1NLoQ",
@ -741,7 +741,7 @@ Channel(
VideoItem( VideoItem(
id: "4PKCIRUOZRE", id: "4PKCIRUOZRE",
name: "Slander - Interview - Coachella 2022", name: "Slander - Interview - Coachella 2022",
length: Some(259), duration: Some(259),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4PKCIRUOZRE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUChCMA8=&rs=AOn4CLD6iAmhCyMAwfcKJl18WeC_BrjyFQ", url: "https://i.ytimg.com/vi/4PKCIRUOZRE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUChCMA8=&rs=AOn4CLD6iAmhCyMAwfcKJl18WeC_BrjyFQ",
@ -782,7 +782,7 @@ Channel(
VideoItem( VideoItem(
id: "0O7abvoOxro", id: "0O7abvoOxro",
name: "Run The Jewels - Interview Coachella", name: "Run The Jewels - Interview Coachella",
length: Some(408), duration: Some(408),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0O7abvoOxro/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgXihNMA8=&rs=AOn4CLCYxlSf_-9OXuvGCVfY8caFGVaGeQ", url: "https://i.ytimg.com/vi/0O7abvoOxro/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgXihNMA8=&rs=AOn4CLCYxlSf_-9OXuvGCVfY8caFGVaGeQ",
@ -823,7 +823,7 @@ Channel(
VideoItem( VideoItem(
id: "z1Q7ahNLU9o", id: "z1Q7ahNLU9o",
name: "Rina Sawayama - Interview - Coachella 2022", name: "Rina Sawayama - Interview - Coachella 2022",
length: Some(297), duration: Some(297),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/z1Q7ahNLU9o/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWCg_MA8=&rs=AOn4CLAFBsN92p3Xd5jd75JOkVQmFpRaOQ", url: "https://i.ytimg.com/vi/z1Q7ahNLU9o/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWCg_MA8=&rs=AOn4CLAFBsN92p3Xd5jd75JOkVQmFpRaOQ",
@ -864,7 +864,7 @@ Channel(
VideoItem( VideoItem(
id: "VB71WJvcdsM", id: "VB71WJvcdsM",
name: "Rich Brian - Interview - Coachella 2022", name: "Rich Brian - Interview - Coachella 2022",
length: Some(371), duration: Some(371),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/VB71WJvcdsM/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVyhAMA8=&rs=AOn4CLAnNIA4THR0-WH60GnpECd_KRhUEQ", url: "https://i.ytimg.com/vi/VB71WJvcdsM/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVyhAMA8=&rs=AOn4CLAnNIA4THR0-WH60GnpECd_KRhUEQ",
@ -905,7 +905,7 @@ Channel(
VideoItem( VideoItem(
id: "FYr3OasngBI", id: "FYr3OasngBI",
name: "Masego - Interview - Coachella 2022", name: "Masego - Interview - Coachella 2022",
length: Some(323), duration: Some(323),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/FYr3OasngBI/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgXyg6MA8=&rs=AOn4CLAAT-2gUtrDLaKVDQmsUkKmkE__Lg", url: "https://i.ytimg.com/vi/FYr3OasngBI/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgXyg6MA8=&rs=AOn4CLAAT-2gUtrDLaKVDQmsUkKmkE__Lg",
@ -946,7 +946,7 @@ Channel(
VideoItem( VideoItem(
id: "BwDnV5sbFeU", id: "BwDnV5sbFeU",
name: "Louis The Child - Interview - Coachella 2022", name: "Louis The Child - Interview - Coachella 2022",
length: Some(360), duration: Some(360),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BwDnV5sbFeU/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWig2MA8=&rs=AOn4CLAXRG17JkByDUun5WIfMdVARqYwtg", url: "https://i.ytimg.com/vi/BwDnV5sbFeU/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWig2MA8=&rs=AOn4CLAXRG17JkByDUun5WIfMdVARqYwtg",
@ -987,7 +987,7 @@ Channel(
VideoItem( VideoItem(
id: "iH8KFwkMurQ", id: "iH8KFwkMurQ",
name: "Kim Petras - Interview - Coachella 2022", name: "Kim Petras - Interview - Coachella 2022",
length: Some(294), duration: Some(294),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/iH8KFwkMurQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVChIMA8=&rs=AOn4CLBzJcKvWEWZmdtorJ8P7tfMT1306A", url: "https://i.ytimg.com/vi/iH8KFwkMurQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVChIMA8=&rs=AOn4CLBzJcKvWEWZmdtorJ8P7tfMT1306A",
@ -1028,7 +1028,7 @@ Channel(
VideoItem( VideoItem(
id: "NK96m-YTUaE", id: "NK96m-YTUaE",
name: "Joe Kay - Interview - Coachella 2022", name: "Joe Kay - Interview - Coachella 2022",
length: Some(189), duration: Some(189),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NK96m-YTUaE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWyhJMA8=&rs=AOn4CLD6ptJ2_2cwyY2pkGieoYscFjlVpQ", url: "https://i.ytimg.com/vi/NK96m-YTUaE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWyhJMA8=&rs=AOn4CLD6ptJ2_2cwyY2pkGieoYscFjlVpQ",
@ -1069,7 +1069,7 @@ Channel(
VideoItem( VideoItem(
id: "jnG1qLK0SiI", id: "jnG1qLK0SiI",
name: "Japanese Breakfast - Interview - Coachella 2022", name: "Japanese Breakfast - Interview - Coachella 2022",
length: Some(312), duration: Some(312),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/jnG1qLK0SiI/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgWCguMA8=&rs=AOn4CLBTEvxp-kJ7uYZwIaiylaohW_7wGQ", url: "https://i.ytimg.com/vi/jnG1qLK0SiI/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgWCguMA8=&rs=AOn4CLBTEvxp-kJ7uYZwIaiylaohW_7wGQ",
@ -1110,7 +1110,7 @@ Channel(
VideoItem( VideoItem(
id: "NdKnb1e9_qA", id: "NdKnb1e9_qA",
name: "Idles - Interview - Coachella 2022", name: "Idles - Interview - Coachella 2022",
length: Some(395), duration: Some(395),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NdKnb1e9_qA/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWihTMA8=&rs=AOn4CLBEHQoRUkshAo-28mmB520wlFwlxA", url: "https://i.ytimg.com/vi/NdKnb1e9_qA/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWihTMA8=&rs=AOn4CLBEHQoRUkshAo-28mmB520wlFwlxA",
@ -1151,7 +1151,7 @@ Channel(
VideoItem( VideoItem(
id: "o8LEidp-Dq8", id: "o8LEidp-Dq8",
name: "Freddie Gibbs - Interview - Coachella 2022", name: "Freddie Gibbs - Interview - Coachella 2022",
length: Some(207), duration: Some(207),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/o8LEidp-Dq8/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgNyhKMA8=&rs=AOn4CLBqrWHD5sKYIrl_Fj6dTSixhqFAbw", url: "https://i.ytimg.com/vi/o8LEidp-Dq8/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgNyhKMA8=&rs=AOn4CLBqrWHD5sKYIrl_Fj6dTSixhqFAbw",
@ -1192,7 +1192,7 @@ Channel(
VideoItem( VideoItem(
id: "4-sEy0jxh-U", id: "4-sEy0jxh-U",
name: "Epik High - Interview - Coachella 2022", name: "Epik High - Interview - Coachella 2022",
length: Some(386), duration: Some(386),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4-sEy0jxh-U/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUCg9MA8=&rs=AOn4CLBqn7VHNUlbgYidF-k2x8b_W-_xWQ", url: "https://i.ytimg.com/vi/4-sEy0jxh-U/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUCg9MA8=&rs=AOn4CLBqn7VHNUlbgYidF-k2x8b_W-_xWQ",
@ -1233,7 +1233,7 @@ Channel(
VideoItem( VideoItem(
id: "YN5CjIFmx88", id: "YN5CjIFmx88",
name: "Duke Dumont - Interview - Coachella 2022", name: "Duke Dumont - Interview - Coachella 2022",
length: Some(443), duration: Some(443),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YN5CjIFmx88/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgUyhCMA8=&rs=AOn4CLAPYvywgTRHRSLHZaQXLC1-pdsIIg", url: "https://i.ytimg.com/vi/YN5CjIFmx88/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgUyhCMA8=&rs=AOn4CLAPYvywgTRHRSLHZaQXLC1-pdsIIg",

View file

@ -151,7 +151,7 @@ Channel(
VideoItem( VideoItem(
id: "gremHHvqYTE", id: "gremHHvqYTE",
name: "EEVblog 1501 - Rigol HDO4000 Low Noise 12bit Oscilloscope Unboxing & First Impression", name: "EEVblog 1501 - Rigol HDO4000 Low Noise 12bit Oscilloscope Unboxing & First Impression",
length: Some(1794), duration: Some(1794),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gremHHvqYTE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBcwR0YIwLjfFam9HkKdkTkqx_gHw", url: "https://i.ytimg.com/vi/gremHHvqYTE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBcwR0YIwLjfFam9HkKdkTkqx_gHw",
@ -192,7 +192,7 @@ Channel(
VideoItem( VideoItem(
id: "WHO8NBfpaO0", id: "WHO8NBfpaO0",
name: "eevBLAB 102 - Last Mile Autonomous Robot Deliveries WILL FAIL", name: "eevBLAB 102 - Last Mile Autonomous Robot Deliveries WILL FAIL",
length: Some(742), duration: Some(742),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WHO8NBfpaO0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQPKMF3Aeo9CydEWz9pQWkn1Lu7Q", url: "https://i.ytimg.com/vi/WHO8NBfpaO0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQPKMF3Aeo9CydEWz9pQWkn1Lu7Q",
@ -233,7 +233,7 @@ Channel(
VideoItem( VideoItem(
id: "W1Q8CxL95_Y", id: "W1Q8CxL95_Y",
name: "EEVblog 1500 - Automatic Transfer Switch REVERSE ENGINEERED", name: "EEVblog 1500 - Automatic Transfer Switch REVERSE ENGINEERED",
length: Some(1770), duration: Some(1770),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/W1Q8CxL95_Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIxuct8vahJHOJTLfbOnsMOXnjvw", url: "https://i.ytimg.com/vi/W1Q8CxL95_Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIxuct8vahJHOJTLfbOnsMOXnjvw",
@ -274,7 +274,7 @@ Channel(
VideoItem( VideoItem(
id: "lagxSrPeoYg", id: "lagxSrPeoYg",
name: "EEVblog 1499 - EcoFlow Delta Pro 3.6kWh Portable Battery TEARDOWN!", name: "EEVblog 1499 - EcoFlow Delta Pro 3.6kWh Portable Battery TEARDOWN!",
length: Some(2334), duration: Some(2334),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/lagxSrPeoYg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbAX2gdAF66O7BUCaOVg2vQOsS2Q", url: "https://i.ytimg.com/vi/lagxSrPeoYg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbAX2gdAF66O7BUCaOVg2vQOsS2Q",
@ -315,7 +315,7 @@ Channel(
VideoItem( VideoItem(
id: "qTctWW9_FmE", id: "qTctWW9_FmE",
name: "EEVblog 1498 - TransPod Fluxjet Hyperloop $550M Boondoggle!", name: "EEVblog 1498 - TransPod Fluxjet Hyperloop $550M Boondoggle!",
length: Some(2399), duration: Some(2399),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qTctWW9_FmE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCbnEQaGGI5zD9lCJ8kMmciezX2kA", url: "https://i.ytimg.com/vi/qTctWW9_FmE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCbnEQaGGI5zD9lCJ8kMmciezX2kA",
@ -356,7 +356,7 @@ Channel(
VideoItem( VideoItem(
id: "3t9G80wk0pk", id: "3t9G80wk0pk",
name: "eevBLAB 101 - Why Are Tektronix Oscilloscopes So Expensive?", name: "eevBLAB 101 - Why Are Tektronix Oscilloscopes So Expensive?",
length: Some(1423), duration: Some(1423),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3t9G80wk0pk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnsVu-VQplpRpc1ZW-yk2byyZjZA", url: "https://i.ytimg.com/vi/3t9G80wk0pk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnsVu-VQplpRpc1ZW-yk2byyZjZA",
@ -397,7 +397,7 @@ Channel(
VideoItem( VideoItem(
id: "7dze5CnZnmk", id: "7dze5CnZnmk",
name: "EEVblog 1497 - RIP Fluke. Thanks Energizer. NOT.", name: "EEVblog 1497 - RIP Fluke. Thanks Energizer. NOT.",
length: Some(1168), duration: Some(1168),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7dze5CnZnmk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg430MYAmoycM4lbv_57S_d3kZRA", url: "https://i.ytimg.com/vi/7dze5CnZnmk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg430MYAmoycM4lbv_57S_d3kZRA",
@ -438,7 +438,7 @@ Channel(
VideoItem( VideoItem(
id: "6XnrZpPYgBg", id: "6XnrZpPYgBg",
name: "EEVblog 1496 - Winning Mailbag", name: "EEVblog 1496 - Winning Mailbag",
length: Some(3139), duration: Some(3139),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6XnrZpPYgBg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrBgky13jB1p9xzKbmoUpJ4g0SNQ", url: "https://i.ytimg.com/vi/6XnrZpPYgBg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrBgky13jB1p9xzKbmoUpJ4g0SNQ",
@ -479,7 +479,7 @@ Channel(
VideoItem( VideoItem(
id: "Psp3ltpFvws", id: "Psp3ltpFvws",
name: "eevBLAB 100 - Reuters Attacks Odysee - LOL", name: "eevBLAB 100 - Reuters Attacks Odysee - LOL",
length: Some(855), duration: Some(855),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Psp3ltpFvws/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCu8Nu_NmDw5vBHgb7e8JdJR1Dr1Q", url: "https://i.ytimg.com/vi/Psp3ltpFvws/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCu8Nu_NmDw5vBHgb7e8JdJR1Dr1Q",
@ -520,7 +520,7 @@ Channel(
VideoItem( VideoItem(
id: "taVYTYz5vLE", id: "taVYTYz5vLE",
name: "EEVblog 1495 - Quaze Wireless Power (AGAIN!) but for GAMING!", name: "EEVblog 1495 - Quaze Wireless Power (AGAIN!) but for GAMING!",
length: Some(2592), duration: Some(2592),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/taVYTYz5vLE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMHngmN8TjWZz327vUD7zjjblYBw", url: "https://i.ytimg.com/vi/taVYTYz5vLE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMHngmN8TjWZz327vUD7zjjblYBw",
@ -561,7 +561,7 @@ Channel(
VideoItem( VideoItem(
id: "Y6cZrieFw-k", id: "Y6cZrieFw-k",
name: "EEVblog 1494 - FIVE Ways to Open a CHEAP SAFE!", name: "EEVblog 1494 - FIVE Ways to Open a CHEAP SAFE!",
length: Some(1194), duration: Some(1194),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Y6cZrieFw-k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsdoJwcvSFZU4e9cwDFbZj3W21Pw", url: "https://i.ytimg.com/vi/Y6cZrieFw-k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsdoJwcvSFZU4e9cwDFbZj3W21Pw",
@ -602,7 +602,7 @@ Channel(
VideoItem( VideoItem(
id: "Kr2XyhpUdUI", id: "Kr2XyhpUdUI",
name: "EEVblog 1493 - MacGyver Project - Part 2", name: "EEVblog 1493 - MacGyver Project - Part 2",
length: Some(1785), duration: Some(1785),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Kr2XyhpUdUI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdL3brjOzbABRuyz-yolawtGRsbw", url: "https://i.ytimg.com/vi/Kr2XyhpUdUI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdL3brjOzbABRuyz-yolawtGRsbw",
@ -643,7 +643,7 @@ Channel(
VideoItem( VideoItem(
id: "rxGafdgkal8", id: "rxGafdgkal8",
name: "EEVblog 1492 - $5 Oscilloscope Repaired! + Oz GIVEAWAY", name: "EEVblog 1492 - $5 Oscilloscope Repaired! + Oz GIVEAWAY",
length: Some(1163), duration: Some(1163),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rxGafdgkal8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-p_t0q_Q2oTGyJuFCQJ5z6VPPMQ", url: "https://i.ytimg.com/vi/rxGafdgkal8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-p_t0q_Q2oTGyJuFCQJ5z6VPPMQ",
@ -684,7 +684,7 @@ Channel(
VideoItem( VideoItem(
id: "4yosozyeIP4", id: "4yosozyeIP4",
name: "EEVblog 1491 - The MacGyver Project - Part 1", name: "EEVblog 1491 - The MacGyver Project - Part 1",
length: Some(1706), duration: Some(1706),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4yosozyeIP4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRNAWkPQfuQirfiOdowD1iQlWrWg", url: "https://i.ytimg.com/vi/4yosozyeIP4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRNAWkPQfuQirfiOdowD1iQlWrWg",
@ -725,7 +725,7 @@ Channel(
VideoItem( VideoItem(
id: "06JtC2DC_dQ", id: "06JtC2DC_dQ",
name: "EEVblog 1490 - Insane Jaycar Dumpster Sale! 2022", name: "EEVblog 1490 - Insane Jaycar Dumpster Sale! 2022",
length: Some(1700), duration: Some(1700),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/06JtC2DC_dQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDVIvEssIKji_8dyBYGYbpIqen7vQ", url: "https://i.ytimg.com/vi/06JtC2DC_dQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDVIvEssIKji_8dyBYGYbpIqen7vQ",
@ -766,7 +766,7 @@ Channel(
VideoItem( VideoItem(
id: "piquT76w9TI", id: "piquT76w9TI",
name: "EEVblog 1489 - Mystery Teardown!", name: "EEVblog 1489 - Mystery Teardown!",
length: Some(1466), duration: Some(1466),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/piquT76w9TI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCTzIcGeRDwUyINtik50EQCOTxwiA", url: "https://i.ytimg.com/vi/piquT76w9TI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCTzIcGeRDwUyINtik50EQCOTxwiA",
@ -807,7 +807,7 @@ Channel(
VideoItem( VideoItem(
id: "pKuUKT-zU-g", id: "pKuUKT-zU-g",
name: "EEVblog 1488 - Tilt Five Augmented Reality AR Glasses - First Reaction!", name: "EEVblog 1488 - Tilt Five Augmented Reality AR Glasses - First Reaction!",
length: Some(2152), duration: Some(2152),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pKuUKT-zU-g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCB6Rh4miI20yPy2kJaxul_wA3Now", url: "https://i.ytimg.com/vi/pKuUKT-zU-g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCB6Rh4miI20yPy2kJaxul_wA3Now",
@ -848,7 +848,7 @@ Channel(
VideoItem( VideoItem(
id: "_R4wQQNSO6k", id: "_R4wQQNSO6k",
name: "EEVblog 1487 - Do Solar Micro Inverters Take Power at Night?", name: "EEVblog 1487 - Do Solar Micro Inverters Take Power at Night?",
length: Some(2399), duration: Some(2399),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_R4wQQNSO6k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDEQVZ0yQPLZqwLdQednKWwLWqDmA", url: "https://i.ytimg.com/vi/_R4wQQNSO6k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDEQVZ0yQPLZqwLdQednKWwLWqDmA",
@ -889,7 +889,7 @@ Channel(
VideoItem( VideoItem(
id: "ikp5BorIo_M", id: "ikp5BorIo_M",
name: "EEVblog 1486 - What you DIDN\'T KNOW About Film Capacitor FAILURES!", name: "EEVblog 1486 - What you DIDN\'T KNOW About Film Capacitor FAILURES!",
length: Some(1792), duration: Some(1792),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ikp5BorIo_M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBygGB8KC522NC15BhDC1WpuNKsgw", url: "https://i.ytimg.com/vi/ikp5BorIo_M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBygGB8KC522NC15BhDC1WpuNKsgw",
@ -930,7 +930,7 @@ Channel(
VideoItem( VideoItem(
id: "7O-QckjCXNo", id: "7O-QckjCXNo",
name: "eevBLAB 99 - AI SPAM BOT Youtube Space/Science/Tech Channels? - WTF", name: "eevBLAB 99 - AI SPAM BOT Youtube Space/Science/Tech Channels? - WTF",
length: Some(592), duration: Some(592),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7O-QckjCXNo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBY1cRnrWQCbmlAzP5okMmIYjgdsg", url: "https://i.ytimg.com/vi/7O-QckjCXNo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBY1cRnrWQCbmlAzP5okMmIYjgdsg",
@ -971,7 +971,7 @@ Channel(
VideoItem( VideoItem(
id: "VutdTxF4E-0", id: "VutdTxF4E-0",
name: "RIP The Old Garage Lab", name: "RIP The Old Garage Lab",
length: Some(115), duration: Some(115),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/VutdTxF4E-0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDlPpT2-UOGfm2A2djTLjCsygeqSw", url: "https://i.ytimg.com/vi/VutdTxF4E-0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDlPpT2-UOGfm2A2djTLjCsygeqSw",
@ -1012,7 +1012,7 @@ Channel(
VideoItem( VideoItem(
id: "o7xfGuRaq94", id: "o7xfGuRaq94",
name: "EEVblog 1485 - PedalCell CadenceX Bike Generator LOL FAIL!", name: "EEVblog 1485 - PedalCell CadenceX Bike Generator LOL FAIL!",
length: Some(1026), duration: Some(1026),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/o7xfGuRaq94/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA7RRL2USBwkYXp9ouWTbtU-JHSg", url: "https://i.ytimg.com/vi/o7xfGuRaq94/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA7RRL2USBwkYXp9ouWTbtU-JHSg",
@ -1053,7 +1053,7 @@ Channel(
VideoItem( VideoItem(
id: "3WSIfHOv3fc", id: "3WSIfHOv3fc",
name: "EEVblog 1484 - Kaba Mas X-09 High Security Electronic Lock Teardown", name: "EEVblog 1484 - Kaba Mas X-09 High Security Electronic Lock Teardown",
length: Some(1106), duration: Some(1106),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3WSIfHOv3fc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClZroFRo115ZuxYhJ5rcCDO2ZPcQ", url: "https://i.ytimg.com/vi/3WSIfHOv3fc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClZroFRo115ZuxYhJ5rcCDO2ZPcQ",
@ -1094,7 +1094,7 @@ Channel(
VideoItem( VideoItem(
id: "8yXZJZCKImI", id: "8yXZJZCKImI",
name: "EEVblog 1483 - Holy Mailbag Bomb Batman!", name: "EEVblog 1483 - Holy Mailbag Bomb Batman!",
length: Some(3373), duration: Some(3373),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8yXZJZCKImI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBym7WfmrvKIjs2ClW-FOLtxbENzw", url: "https://i.ytimg.com/vi/8yXZJZCKImI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBym7WfmrvKIjs2ClW-FOLtxbENzw",
@ -1135,7 +1135,7 @@ Channel(
VideoItem( VideoItem(
id: "vJ4pW6LKJWU", id: "vJ4pW6LKJWU",
name: "EEVblog 1482 - Mains Capacitor Zener Regulator Circuit", name: "EEVblog 1482 - Mains Capacitor Zener Regulator Circuit",
length: Some(1132), duration: Some(1132),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vJ4pW6LKJWU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDaKgfAJ4NAeqoMIPZDavsTw_JD5w", url: "https://i.ytimg.com/vi/vJ4pW6LKJWU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDaKgfAJ4NAeqoMIPZDavsTw_JD5w",
@ -1176,7 +1176,7 @@ Channel(
VideoItem( VideoItem(
id: "myqiqUE00fo", id: "myqiqUE00fo",
name: "EEVblog 1481 - Dodgy Dangerous Heater REPAIR", name: "EEVblog 1481 - Dodgy Dangerous Heater REPAIR",
length: Some(1622), duration: Some(1622),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/myqiqUE00fo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3nqRnunVeYPk1_vdXP7IEv1E1Rg", url: "https://i.ytimg.com/vi/myqiqUE00fo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3nqRnunVeYPk1_vdXP7IEv1E1Rg",
@ -1217,7 +1217,7 @@ Channel(
VideoItem( VideoItem(
id: "xIokNnjuam8", id: "xIokNnjuam8",
name: "EEVblog 1480 - Lightyear Zero Solar Powered Electric Car", name: "EEVblog 1480 - Lightyear Zero Solar Powered Electric Car",
length: Some(1196), duration: Some(1196),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xIokNnjuam8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBRxCpyCftz0LJooMtxBcIWwaF6hw", url: "https://i.ytimg.com/vi/xIokNnjuam8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBRxCpyCftz0LJooMtxBcIWwaF6hw",
@ -1258,7 +1258,7 @@ Channel(
VideoItem( VideoItem(
id: "S3R4r2xvVYQ", id: "S3R4r2xvVYQ",
name: "EEVblog 1479 - Is Your Calculator WRONG?", name: "EEVblog 1479 - Is Your Calculator WRONG?",
length: Some(1066), duration: Some(1066),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/S3R4r2xvVYQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC2ZW-UUXJGrtHphT2E53pFafr-1g", url: "https://i.ytimg.com/vi/S3R4r2xvVYQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC2ZW-UUXJGrtHphT2E53pFafr-1g",
@ -1299,7 +1299,7 @@ Channel(
VideoItem( VideoItem(
id: "RlwcdUnRw6w", id: "RlwcdUnRw6w",
name: "EEVblog 1478 - Waveform Update Rate Shootout - Tek 2 Series vs Others", name: "EEVblog 1478 - Waveform Update Rate Shootout - Tek 2 Series vs Others",
length: Some(1348), duration: Some(1348),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RlwcdUnRw6w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYaH7c8-BP8807GgNGML2WUNK8pg", url: "https://i.ytimg.com/vi/RlwcdUnRw6w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYaH7c8-BP8807GgNGML2WUNK8pg",
@ -1340,7 +1340,7 @@ Channel(
VideoItem( VideoItem(
id: "R2fw2g6WFbg", id: "R2fw2g6WFbg",
name: "EEVblog 1477 - TEARDOWN! - NEW Tektronix 2 Series Oscilloscope", name: "EEVblog 1477 - TEARDOWN! - NEW Tektronix 2 Series Oscilloscope",
length: Some(2718), duration: Some(2718),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/R2fw2g6WFbg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwd6wqvFI0HcPpOkDW_XDzWSPH_w", url: "https://i.ytimg.com/vi/R2fw2g6WFbg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwd6wqvFI0HcPpOkDW_XDzWSPH_w",

View file

@ -135,7 +135,7 @@ Channel(
VideoItem( VideoItem(
id: "csP93FGy0bs", id: "csP93FGy0bs",
name: "Chill Out Music Mix • 24/7 Live Radio | Relaxing Deep House, Chillout Lounge, Vocal & Instrumental", name: "Chill Out Music Mix • 24/7 Live Radio | Relaxing Deep House, Chillout Lounge, Vocal & Instrumental",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/csP93FGy0bs/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDq5TEpXIGH_OHZhn2_Jx7lp2kMUQ", url: "https://i.ytimg.com/vi/csP93FGy0bs/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDq5TEpXIGH_OHZhn2_Jx7lp2kMUQ",
@ -176,7 +176,7 @@ Channel(
VideoItem( VideoItem(
id: "19hKXI1ENrY", id: "19hKXI1ENrY",
name: "Deep House Radio | Relaxing & Chill House, Best Summer Mix 2022, Gym & Workout Music", name: "Deep House Radio | Relaxing & Chill House, Best Summer Mix 2022, Gym & Workout Music",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/19hKXI1ENrY/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAmi9jgARxMYdZpIOLw5RhQkRx0Dg", url: "https://i.ytimg.com/vi/19hKXI1ENrY/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAmi9jgARxMYdZpIOLw5RhQkRx0Dg",
@ -217,7 +217,7 @@ Channel(
VideoItem( VideoItem(
id: "CqMUC5eXX7c", id: "CqMUC5eXX7c",
name: "Back To School / Work 📚 Deep Focus Chillout Mix | The Good Life Radio #4", name: "Back To School / Work 📚 Deep Focus Chillout Mix | The Good Life Radio #4",
length: Some(4667), duration: Some(4667),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CqMUC5eXX7c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDJglNaF89w0KFxzGn4Y3UAwu9ydg", url: "https://i.ytimg.com/vi/CqMUC5eXX7c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDJglNaF89w0KFxzGn4Y3UAwu9ydg",
@ -258,7 +258,7 @@ Channel(
VideoItem( VideoItem(
id: "A77SYlXKQEM", id: "A77SYlXKQEM",
name: "Chillout Lounge 🏖\u{fe0f} Calm & Relaxing Background Music | The Good Life Radio #3", name: "Chillout Lounge 🏖\u{fe0f} Calm & Relaxing Background Music | The Good Life Radio #3",
length: Some(1861), duration: Some(1861),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/A77SYlXKQEM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA6c0iWB5IjXrbncP1JT2gvljTwyw", url: "https://i.ytimg.com/vi/A77SYlXKQEM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA6c0iWB5IjXrbncP1JT2gvljTwyw",
@ -299,7 +299,7 @@ Channel(
VideoItem( VideoItem(
id: "72vkRHQfjbk", id: "72vkRHQfjbk",
name: "Summer Lovers 💖 A Beautiful & Relaxing Chillout Deep House Mix | The Good Life Radio #2", name: "Summer Lovers 💖 A Beautiful & Relaxing Chillout Deep House Mix | The Good Life Radio #2",
length: Some(1832), duration: Some(1832),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/72vkRHQfjbk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBMAUBpqHTq2IalWplaJugEhf4eQ", url: "https://i.ytimg.com/vi/72vkRHQfjbk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBMAUBpqHTq2IalWplaJugEhf4eQ",
@ -340,7 +340,7 @@ Channel(
VideoItem( VideoItem(
id: "AMWMDhibROw", id: "AMWMDhibROw",
name: "Relaxing & Chill House 🌴 Summer \'21 Chill-Out Mix | The Good Life Radio #1", name: "Relaxing & Chill House 🌴 Summer \'21 Chill-Out Mix | The Good Life Radio #1",
length: Some(1949), duration: Some(1949),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/AMWMDhibROw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCDO-i7ZMHpgILmTxjIvtFEDl3fTQ", url: "https://i.ytimg.com/vi/AMWMDhibROw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCDO-i7ZMHpgILmTxjIvtFEDl3fTQ",
@ -381,7 +381,7 @@ Channel(
VideoItem( VideoItem(
id: "9UMxZofMNbA", id: "9UMxZofMNbA",
name: "Chillout Lounge - Calm & Relaxing Background Music | Study, Work, Sleep, Meditation, Chill", name: "Chillout Lounge - Calm & Relaxing Background Music | Study, Work, Sleep, Meditation, Chill",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9UMxZofMNbA/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDc3KEjaAI_syibPmnpLN04x1Wv7g", url: "https://i.ytimg.com/vi/9UMxZofMNbA/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDc3KEjaAI_syibPmnpLN04x1Wv7g",
@ -422,7 +422,7 @@ Channel(
VideoItem( VideoItem(
id: "a2sEYVwBvX4", id: "a2sEYVwBvX4",
name: "Paratone - Heaven Is A Place On Earth (feat. kaii)", name: "Paratone - Heaven Is A Place On Earth (feat. kaii)",
length: Some(161), duration: Some(161),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/a2sEYVwBvX4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwBX3CEEc3ZK1SsP8iUbebtp5hUw", url: "https://i.ytimg.com/vi/a2sEYVwBvX4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwBX3CEEc3ZK1SsP8iUbebtp5hUw",
@ -463,7 +463,7 @@ Channel(
VideoItem( VideoItem(
id: "JAY-prtJnGY", id: "JAY-prtJnGY",
name: "Joseph Feinstein - Where I Belong", name: "Joseph Feinstein - Where I Belong",
length: Some(126), duration: Some(126),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/JAY-prtJnGY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC79uFNaKWCm0lQ8_uxV0s2G0jJ-Q", url: "https://i.ytimg.com/vi/JAY-prtJnGY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC79uFNaKWCm0lQ8_uxV0s2G0jJ-Q",
@ -504,7 +504,7 @@ Channel(
VideoItem( VideoItem(
id: "DySa8OrQDi4", id: "DySa8OrQDi4",
name: "LA Vision & Gigi D\'Agostino - Hollywood", name: "LA Vision & Gigi D\'Agostino - Hollywood",
length: Some(200), duration: Some(200),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DySa8OrQDi4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzPj5ZqrnaLQELc8EDtgLlUhDdRQ", url: "https://i.ytimg.com/vi/DySa8OrQDi4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzPj5ZqrnaLQELc8EDtgLlUhDdRQ",
@ -545,7 +545,7 @@ Channel(
VideoItem( VideoItem(
id: "NqzXULaB8MA", id: "NqzXULaB8MA",
name: "LO - Home", name: "LO - Home",
length: Some(163), duration: Some(163),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NqzXULaB8MA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFvB5JbSQIUtb-pldtNWWHb2Y3SQ", url: "https://i.ytimg.com/vi/NqzXULaB8MA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFvB5JbSQIUtb-pldtNWWHb2Y3SQ",
@ -586,7 +586,7 @@ Channel(
VideoItem( VideoItem(
id: "UGzy6uhZkmw", id: "UGzy6uhZkmw",
name: "Luca - Sunset", name: "Luca - Sunset",
length: Some(153), duration: Some(153),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/UGzy6uhZkmw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD93d5foF1_yGd6ej5_8t-PM7ZCDw", url: "https://i.ytimg.com/vi/UGzy6uhZkmw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD93d5foF1_yGd6ej5_8t-PM7ZCDw",
@ -627,7 +627,7 @@ Channel(
VideoItem( VideoItem(
id: "iuvapHKpW8A", id: "iuvapHKpW8A",
name: "nourii - Better Off (feat. BCS)", name: "nourii - Better Off (feat. BCS)",
length: Some(126), duration: Some(126),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/iuvapHKpW8A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCsDj4nWrDpmF-BTY_9REtx8xiHjA", url: "https://i.ytimg.com/vi/iuvapHKpW8A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCsDj4nWrDpmF-BTY_9REtx8xiHjA",
@ -668,7 +668,7 @@ Channel(
VideoItem( VideoItem(
id: "n_1Nwht-Gh4", id: "n_1Nwht-Gh4",
name: "Deep House Covers & Remixes of Popular Songs 2020 🌴 Deep House, G-House, Chill-Out Music Playlist", name: "Deep House Covers & Remixes of Popular Songs 2020 🌴 Deep House, G-House, Chill-Out Music Playlist",
length: Some(2940), duration: Some(2940),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/n_1Nwht-Gh4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAwRnMWNt4fNmmGR4THSsTh-9MiCw", url: "https://i.ytimg.com/vi/n_1Nwht-Gh4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAwRnMWNt4fNmmGR4THSsTh-9MiCw",
@ -709,7 +709,7 @@ Channel(
VideoItem( VideoItem(
id: "6TptI5BtP5U", id: "6TptI5BtP5U",
name: "The Good Life Radio Mix #2 | Summer Memories ☀\u{fe0f} (Chill Music Playlist 2020)", name: "The Good Life Radio Mix #2 | Summer Memories ☀\u{fe0f} (Chill Music Playlist 2020)",
length: Some(3448), duration: Some(3448),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6TptI5BtP5U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGvxAmGVff9uk5AOxBij56uB6azw", url: "https://i.ytimg.com/vi/6TptI5BtP5U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGvxAmGVff9uk5AOxBij56uB6azw",
@ -750,7 +750,7 @@ Channel(
VideoItem( VideoItem(
id: "36YnV9STBqc", id: "36YnV9STBqc",
name: "The Good Life Radio\u{a0}•\u{a0}24/7 Live Radio | Best Relax House, Chillout, Study, Running, Gym, Happy Music", name: "The Good Life Radio\u{a0}•\u{a0}24/7 Live Radio | Best Relax House, Chillout, Study, Running, Gym, Happy Music",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/36YnV9STBqc/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCe7OwcMt2h8bSNHbTTULV9-SST1Q", url: "https://i.ytimg.com/vi/36YnV9STBqc/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCe7OwcMt2h8bSNHbTTULV9-SST1Q",
@ -791,7 +791,7 @@ Channel(
VideoItem( VideoItem(
id: "7x6ii2TcsPE", id: "7x6ii2TcsPE",
name: "The Good Life Radio Mix #1 | Relaxing & Chill House Music Playlist 2020", name: "The Good Life Radio Mix #1 | Relaxing & Chill House Music Playlist 2020",
length: Some(2726), duration: Some(2726),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7x6ii2TcsPE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC-CNpKCSMnLIscrYKNPX7DRZ0buA", url: "https://i.ytimg.com/vi/7x6ii2TcsPE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC-CNpKCSMnLIscrYKNPX7DRZ0buA",
@ -832,7 +832,7 @@ Channel(
VideoItem( VideoItem(
id: "mxV5MBZYYDE", id: "mxV5MBZYYDE",
name: "Christmas Music with Vocals 🎅 Best Relaxing Christmas Songs 2020", name: "Christmas Music with Vocals 🎅 Best Relaxing Christmas Songs 2020",
length: Some(5863), duration: Some(5863),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mxV5MBZYYDE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCVUbM3MtN0zZcE_8lY4eyo-Ly5Kw", url: "https://i.ytimg.com/vi/mxV5MBZYYDE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCVUbM3MtN0zZcE_8lY4eyo-Ly5Kw",
@ -873,7 +873,7 @@ Channel(
VideoItem( VideoItem(
id: "hh2AOoPoAIo", id: "hh2AOoPoAIo",
name: "The Good Life Radio Mix 2019 🎅 Winter & Christmas Relax House Playlist [Best of Part 1]", name: "The Good Life Radio Mix 2019 🎅 Winter & Christmas Relax House Playlist [Best of Part 1]",
length: Some(2530), duration: Some(2530),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/hh2AOoPoAIo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMmrbiYHz-7STgazeW2PAuGCkCcg", url: "https://i.ytimg.com/vi/hh2AOoPoAIo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMmrbiYHz-7STgazeW2PAuGCkCcg",
@ -914,7 +914,7 @@ Channel(
VideoItem( VideoItem(
id: "aFlvhtWsJ0g", id: "aFlvhtWsJ0g",
name: "Chillout Playlist | Relaxing Summer Music Mix 2019 [Deep & Tropical House]", name: "Chillout Playlist | Relaxing Summer Music Mix 2019 [Deep & Tropical House]",
length: Some(2483), duration: Some(2483),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/aFlvhtWsJ0g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAvMC2I82wG7eQPDQmnyC3RbUGFWg", url: "https://i.ytimg.com/vi/aFlvhtWsJ0g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAvMC2I82wG7eQPDQmnyC3RbUGFWg",
@ -955,7 +955,7 @@ Channel(
VideoItem( VideoItem(
id: "cD-d7u6fnEI", id: "cD-d7u6fnEI",
name: "Chill House Playlist | Relaxing Summer Music 2019", name: "Chill House Playlist | Relaxing Summer Music 2019",
length: Some(3165), duration: Some(3165),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cD-d7u6fnEI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBU_f1nTElkLg9ic2eKjM6luGgVcw", url: "https://i.ytimg.com/vi/cD-d7u6fnEI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBU_f1nTElkLg9ic2eKjM6luGgVcw",

View file

@ -122,7 +122,7 @@ Channel(
VideoItem( VideoItem(
id: "JBUZE0mIlg8", id: "JBUZE0mIlg8",
name: "small but sure joy", name: "small but sure joy",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/JBUZE0mIlg8/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCRBlyIUBUm_aypWz4tGkrDNJxIZw", url: "https://i.ytimg.com/vi/JBUZE0mIlg8/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCRBlyIUBUm_aypWz4tGkrDNJxIZw",
@ -148,7 +148,7 @@ Channel(
VideoItem( VideoItem(
id: "SRrvxFc2b2c", id: "SRrvxFc2b2c",
name: "i don\'t believe in long distance relationships", name: "i don\'t believe in long distance relationships",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/SRrvxFc2b2c/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLA0hJdOfUp-zMI-vW43sYnKgufocA", url: "https://i.ytimg.com/vi/SRrvxFc2b2c/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLA0hJdOfUp-zMI-vW43sYnKgufocA",
@ -174,7 +174,7 @@ Channel(
VideoItem( VideoItem(
id: "l9TiwunjzgA", id: "l9TiwunjzgA",
name: "long distance", name: "long distance",
length: Some(1043), duration: Some(1043),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/l9TiwunjzgA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjM6SZ7ScyfFRr13QdVmIvWEWWrQ", url: "https://i.ytimg.com/vi/l9TiwunjzgA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjM6SZ7ScyfFRr13QdVmIvWEWWrQ",
@ -215,7 +215,7 @@ Channel(
VideoItem( VideoItem(
id: "cNx0ql9gnf4", id: "cNx0ql9gnf4",
name: "come over :)", name: "come over :)",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cNx0ql9gnf4/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBvAKRZE2LyKIo6_6prX9pzfiWoVw", url: "https://i.ytimg.com/vi/cNx0ql9gnf4/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBvAKRZE2LyKIo6_6prX9pzfiWoVw",
@ -241,7 +241,7 @@ Channel(
VideoItem( VideoItem(
id: "fGQUWI4o__A", id: "fGQUWI4o__A",
name: "Baskin Robbins in South Korea", name: "Baskin Robbins in South Korea",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fGQUWI4o__A/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDyPuI762qzLAZM0QikxjFKVpoF9w", url: "https://i.ytimg.com/vi/fGQUWI4o__A/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDyPuI762qzLAZM0QikxjFKVpoF9w",
@ -267,7 +267,7 @@ Channel(
VideoItem( VideoItem(
id: "Q73VTjdqVA8", id: "Q73VTjdqVA8",
name: "dry hot pot", name: "dry hot pot",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Q73VTjdqVA8/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBfJXtFWfAnyMOvaJfvpYJ5WrhbSA", url: "https://i.ytimg.com/vi/Q73VTjdqVA8/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBfJXtFWfAnyMOvaJfvpYJ5WrhbSA",
@ -293,7 +293,7 @@ Channel(
VideoItem( VideoItem(
id: "pRVSdUxdsVw", id: "pRVSdUxdsVw",
name: "Repairing...", name: "Repairing...",
length: Some(965), duration: Some(965),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pRVSdUxdsVw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQWneuYcJcccgooBfa3WI4LdYF3w", url: "https://i.ytimg.com/vi/pRVSdUxdsVw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQWneuYcJcccgooBfa3WI4LdYF3w",
@ -334,7 +334,7 @@ Channel(
VideoItem( VideoItem(
id: "gTG2WDbiYGo", id: "gTG2WDbiYGo",
name: "time machine", name: "time machine",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gTG2WDbiYGo/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDw5Lw19mNLJnoIF3aCGkMbxvgILQ", url: "https://i.ytimg.com/vi/gTG2WDbiYGo/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDw5Lw19mNLJnoIF3aCGkMbxvgILQ",
@ -360,7 +360,7 @@ Channel(
VideoItem( VideoItem(
id: "y5JK5YFp92g", id: "y5JK5YFp92g",
name: "tiramissu", name: "tiramissu",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/y5JK5YFp92g/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCR66ytQIBWWw_ajvgyaUdUawHVIg", url: "https://i.ytimg.com/vi/y5JK5YFp92g/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCR66ytQIBWWw_ajvgyaUdUawHVIg",
@ -386,7 +386,7 @@ Channel(
VideoItem( VideoItem(
id: "pvSWHm4wlxY", id: "pvSWHm4wlxY",
name: "having kids", name: "having kids",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pvSWHm4wlxY/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDt7ZAwQoObfa5A7gC_hJnU1WH4Ug", url: "https://i.ytimg.com/vi/pvSWHm4wlxY/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDt7ZAwQoObfa5A7gC_hJnU1WH4Ug",
@ -412,7 +412,7 @@ Channel(
VideoItem( VideoItem(
id: "2FJVhdOO0F0", id: "2FJVhdOO0F0",
name: "a health scare", name: "a health scare",
length: Some(1238), duration: Some(1238),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2FJVhdOO0F0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5ambaz-euRsB9VG5ANaYFUUSEbg", url: "https://i.ytimg.com/vi/2FJVhdOO0F0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5ambaz-euRsB9VG5ANaYFUUSEbg",
@ -453,7 +453,7 @@ Channel(
VideoItem( VideoItem(
id: "CqFGACRrWJE", id: "CqFGACRrWJE",
name: "just do it", name: "just do it",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CqFGACRrWJE/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDyAIF4S_foRXsyvq16YCPJWNKewQ", url: "https://i.ytimg.com/vi/CqFGACRrWJE/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDyAIF4S_foRXsyvq16YCPJWNKewQ",
@ -479,7 +479,7 @@ Channel(
VideoItem( VideoItem(
id: "CutR_1SDDzY", id: "CutR_1SDDzY",
name: "feels good to be back", name: "feels good to be back",
length: Some(1159), duration: Some(1159),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CutR_1SDDzY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAt413Uk4xhHjYwpLI5-DXuOsFouA", url: "https://i.ytimg.com/vi/CutR_1SDDzY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAt413Uk4xhHjYwpLI5-DXuOsFouA",
@ -520,7 +520,7 @@ Channel(
VideoItem( VideoItem(
id: "DdGr6t2NqKc", id: "DdGr6t2NqKc",
name: "coming soon", name: "coming soon",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DdGr6t2NqKc/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDRYfxh25EjK3zuOJORNNahxeBanA", url: "https://i.ytimg.com/vi/DdGr6t2NqKc/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDRYfxh25EjK3zuOJORNNahxeBanA",
@ -546,7 +546,7 @@ Channel(
VideoItem( VideoItem(
id: "jKS44NMWuXw", id: "jKS44NMWuXw",
name: "adult money", name: "adult money",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/jKS44NMWuXw/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAIexckdN7FXJUgkeJvITHyzXw1TQ", url: "https://i.ytimg.com/vi/jKS44NMWuXw/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAIexckdN7FXJUgkeJvITHyzXw1TQ",
@ -572,7 +572,7 @@ Channel(
VideoItem( VideoItem(
id: "kx1YtJM_vbI", id: "kx1YtJM_vbI",
name: "a fig\'s journey", name: "a fig\'s journey",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/kx1YtJM_vbI/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAi03nhSbt84LL7PFD2ij8GmaDlLQ", url: "https://i.ytimg.com/vi/kx1YtJM_vbI/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAi03nhSbt84LL7PFD2ij8GmaDlLQ",
@ -598,7 +598,7 @@ Channel(
VideoItem( VideoItem(
id: "Sdbzs-1WWH0", id: "Sdbzs-1WWH0",
name: "How to.. Mozzarella 🧀", name: "How to.. Mozzarella 🧀",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Sdbzs-1WWH0/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLC8IkwAif4wXhBGxHiosiILbPCSBw", url: "https://i.ytimg.com/vi/Sdbzs-1WWH0/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLC8IkwAif4wXhBGxHiosiILbPCSBw",
@ -624,7 +624,7 @@ Channel(
VideoItem( VideoItem(
id: "9qBHyJIDous", id: "9qBHyJIDous",
name: "how to drink like a real korean", name: "how to drink like a real korean",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9qBHyJIDous/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLB9Ib_E0siDiRMZ_GVHVxBfMd0Dkw", url: "https://i.ytimg.com/vi/9qBHyJIDous/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLB9Ib_E0siDiRMZ_GVHVxBfMd0Dkw",
@ -650,7 +650,7 @@ Channel(
VideoItem( VideoItem(
id: "mBeFDb4gp8s", id: "mBeFDb4gp8s",
name: "mr. krabs soup", name: "mr. krabs soup",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mBeFDb4gp8s/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCzAPzv16WTJLr4ma-sAz6fNkFL0g", url: "https://i.ytimg.com/vi/mBeFDb4gp8s/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCzAPzv16WTJLr4ma-sAz6fNkFL0g",
@ -676,7 +676,7 @@ Channel(
VideoItem( VideoItem(
id: "b38r1UYqoBQ", id: "b38r1UYqoBQ",
name: "in five years", name: "in five years",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/b38r1UYqoBQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCGB9IpC2Enx5iZ-YCl0vEpMGpo9A", url: "https://i.ytimg.com/vi/b38r1UYqoBQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCGB9IpC2Enx5iZ-YCl0vEpMGpo9A",
@ -702,7 +702,7 @@ Channel(
VideoItem( VideoItem(
id: "KUz7oArksR4", id: "KUz7oArksR4",
name: "running away", name: "running away",
length: Some(1023), duration: Some(1023),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KUz7oArksR4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD1NwuIgJuJy2oPAiHqMre6rbcuPA", url: "https://i.ytimg.com/vi/KUz7oArksR4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD1NwuIgJuJy2oPAiHqMre6rbcuPA",
@ -743,7 +743,7 @@ Channel(
VideoItem( VideoItem(
id: "RdFk4WaifEo", id: "RdFk4WaifEo",
name: "a weeknight dinner", name: "a weeknight dinner",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RdFk4WaifEo/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBlKLBjBagaTQj24nYb-HkCQQcWHA", url: "https://i.ytimg.com/vi/RdFk4WaifEo/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBlKLBjBagaTQj24nYb-HkCQQcWHA",
@ -769,7 +769,7 @@ Channel(
VideoItem( VideoItem(
id: "GuyGyzZcumI", id: "GuyGyzZcumI",
name: "McDonald\'s Michelin Burger", name: "McDonald\'s Michelin Burger",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/GuyGyzZcumI/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDtmyilZAgMw8VWNy518etIKi4phA", url: "https://i.ytimg.com/vi/GuyGyzZcumI/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDtmyilZAgMw8VWNy518etIKi4phA",
@ -795,7 +795,7 @@ Channel(
VideoItem( VideoItem(
id: "07Zipsb3-qU", id: "07Zipsb3-qU",
name: "cwispy potato pancake", name: "cwispy potato pancake",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/07Zipsb3-qU/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLARXBTZlNStCVemXSkHfAWksRogng", url: "https://i.ytimg.com/vi/07Zipsb3-qU/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLARXBTZlNStCVemXSkHfAWksRogng",
@ -821,7 +821,7 @@ Channel(
VideoItem( VideoItem(
id: "3kaePnU6Clo", id: "3kaePnU6Clo",
name: "authenticity is overrated", name: "authenticity is overrated",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3kaePnU6Clo/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDq0MY9dsMvr9Y6yaJ7069fgtdpGA", url: "https://i.ytimg.com/vi/3kaePnU6Clo/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDq0MY9dsMvr9Y6yaJ7069fgtdpGA",
@ -847,7 +847,7 @@ Channel(
VideoItem( VideoItem(
id: "rt4rXMftnpg", id: "rt4rXMftnpg",
name: "you can kimchi anything (T&C applies)", name: "you can kimchi anything (T&C applies)",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rt4rXMftnpg/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLC7WfSTGHkH2FEmn9gQ5E4AqpRtug", url: "https://i.ytimg.com/vi/rt4rXMftnpg/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLC7WfSTGHkH2FEmn9gQ5E4AqpRtug",
@ -873,7 +873,7 @@ Channel(
VideoItem( VideoItem(
id: "DTyLUvbf128", id: "DTyLUvbf128",
name: "egg, soy, and perfect pot rice", name: "egg, soy, and perfect pot rice",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DTyLUvbf128/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAN1AtPya1D1NyiO0XYKOjIZIyhhQ", url: "https://i.ytimg.com/vi/DTyLUvbf128/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAN1AtPya1D1NyiO0XYKOjIZIyhhQ",
@ -899,7 +899,7 @@ Channel(
VideoItem( VideoItem(
id: "DzjLBgIe_aI", id: "DzjLBgIe_aI",
name: "love language", name: "love language",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DzjLBgIe_aI/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDWVkrYrt64LvvxrMRfs29g_lGrNw", url: "https://i.ytimg.com/vi/DzjLBgIe_aI/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDWVkrYrt64LvvxrMRfs29g_lGrNw",
@ -925,7 +925,7 @@ Channel(
VideoItem( VideoItem(
id: "sPb2gyN-hnE", id: "sPb2gyN-hnE",
name: "worth fighting for", name: "worth fighting for",
length: Some(1232), duration: Some(1232),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/sPb2gyN-hnE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBidXnS47SJMkvOlqt2DgzHxr6wKQ", url: "https://i.ytimg.com/vi/sPb2gyN-hnE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBidXnS47SJMkvOlqt2DgzHxr6wKQ",
@ -966,7 +966,7 @@ Channel(
VideoItem( VideoItem(
id: "9JboRKeJ2m4", id: "9JboRKeJ2m4",
name: "Rating Italian McDonald\'s", name: "Rating Italian McDonald\'s",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9JboRKeJ2m4/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLC7xktrbnAqJq2nHH9aDggULsb3Cg", url: "https://i.ytimg.com/vi/9JboRKeJ2m4/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLC7xktrbnAqJq2nHH9aDggULsb3Cg",

View file

@ -139,7 +139,7 @@ Channel(
VideoItem( VideoItem(
id: "B-KjpyR4n5Q", id: "B-KjpyR4n5Q",
name: "The Online Manosphere", name: "The Online Manosphere",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/B-KjpyR4n5Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_J9WgOnkXvtw1uUhZASVDLPlrZg", url: "https://i.ytimg.com/vi/B-KjpyR4n5Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_J9WgOnkXvtw1uUhZASVDLPlrZg",
@ -180,7 +180,7 @@ Channel(
VideoItem( VideoItem(
id: "umDsCyZ67J0", id: "umDsCyZ67J0",
name: "Ukraine - The Beginning of the End", name: "Ukraine - The Beginning of the End",
length: Some(614), duration: Some(614),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/umDsCyZ67J0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBih3bLoQ9xphjCDt3lqXTLKtE52g", url: "https://i.ytimg.com/vi/umDsCyZ67J0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBih3bLoQ9xphjCDt3lqXTLKtE52g",
@ -221,7 +221,7 @@ Channel(
VideoItem( VideoItem(
id: "dNgKGL8lQck", id: "dNgKGL8lQck",
name: "Honest Russian Military Recruitment Video", name: "Honest Russian Military Recruitment Video",
length: Some(62), duration: Some(62),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dNgKGL8lQck/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrbxxCEBDfZP2wA0bIJpzbtmyARw", url: "https://i.ytimg.com/vi/dNgKGL8lQck/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrbxxCEBDfZP2wA0bIJpzbtmyARw",
@ -262,7 +262,7 @@ Channel(
VideoItem( VideoItem(
id: "UVWciFJeFNA", id: "UVWciFJeFNA",
name: "Self-Driving Cars Will Only Make Traffic Worse", name: "Self-Driving Cars Will Only Make Traffic Worse",
length: Some(458), duration: Some(458),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/UVWciFJeFNA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDJhcm03VJaYQU5xAIg2w5h0SOaUA", url: "https://i.ytimg.com/vi/UVWciFJeFNA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDJhcm03VJaYQU5xAIg2w5h0SOaUA",
@ -303,7 +303,7 @@ Channel(
VideoItem( VideoItem(
id: "vyWaax07_ks", id: "vyWaax07_ks",
name: "NEOM Is The Parody Of The Future", name: "NEOM Is The Parody Of The Future",
length: Some(636), duration: Some(636),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vyWaax07_ks/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-sXnmtClcL6lcjjAR_05F1IpndA", url: "https://i.ytimg.com/vi/vyWaax07_ks/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-sXnmtClcL6lcjjAR_05F1IpndA",
@ -344,7 +344,7 @@ Channel(
VideoItem( VideoItem(
id: "onQ0ICkLEJw", id: "onQ0ICkLEJw",
name: "I Got An Email From \"The Dubai Sheikh\'s Personal Friend\"", name: "I Got An Email From \"The Dubai Sheikh\'s Personal Friend\"",
length: Some(211), duration: Some(211),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/onQ0ICkLEJw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAmwCI9t6a_pXPPteQ835LNPgcYbw", url: "https://i.ytimg.com/vi/onQ0ICkLEJw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAmwCI9t6a_pXPPteQ835LNPgcYbw",
@ -385,7 +385,7 @@ Channel(
VideoItem( VideoItem(
id: "yDEL1pTYOhs", id: "yDEL1pTYOhs",
name: "The \"Meritocracy\" Isn\'t Real", name: "The \"Meritocracy\" Isn\'t Real",
length: Some(385), duration: Some(385),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yDEL1pTYOhs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmKg0HtcuQfJUsjVj_3WIUtOkZDg", url: "https://i.ytimg.com/vi/yDEL1pTYOhs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmKg0HtcuQfJUsjVj_3WIUtOkZDg",
@ -426,7 +426,7 @@ Channel(
VideoItem( VideoItem(
id: "EnVvlhhqWtw", id: "EnVvlhhqWtw",
name: "City Review - Prague: Beautiful and Disappointing", name: "City Review - Prague: Beautiful and Disappointing",
length: Some(834), duration: Some(834),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EnVvlhhqWtw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFUovL8XJ7tUzOh_sdB1ymKJS4Qg", url: "https://i.ytimg.com/vi/EnVvlhhqWtw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFUovL8XJ7tUzOh_sdB1ymKJS4Qg",
@ -467,7 +467,7 @@ Channel(
VideoItem( VideoItem(
id: "Oxz4oY0T85Y", id: "Oxz4oY0T85Y",
name: "European International Rail SUCKS, Here\'s Why", name: "European International Rail SUCKS, Here\'s Why",
length: Some(810), duration: Some(810),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Oxz4oY0T85Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAdlPQSSzVGixQsH_uXsd1VVsfMcQ", url: "https://i.ytimg.com/vi/Oxz4oY0T85Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAdlPQSSzVGixQsH_uXsd1VVsfMcQ",
@ -508,7 +508,7 @@ Channel(
VideoItem( VideoItem(
id: "lxUEuOkblws", id: "lxUEuOkblws",
name: "Why the Straddling Bus Failed", name: "Why the Straddling Bus Failed",
length: Some(614), duration: Some(614),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/lxUEuOkblws/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAaUchMwc5d_yNfH9BM0VlexxjPtQ", url: "https://i.ytimg.com/vi/lxUEuOkblws/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAaUchMwc5d_yNfH9BM0VlexxjPtQ",
@ -549,7 +549,7 @@ Channel(
VideoItem( VideoItem(
id: "UG8jiKOtedk", id: "UG8jiKOtedk",
name: "How Canadian Ukrainian Volunteer Got Exposed", name: "How Canadian Ukrainian Volunteer Got Exposed",
length: Some(538), duration: Some(538),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/UG8jiKOtedk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB7OMkifWaF0tbm5qu0IZmxuK7AtA", url: "https://i.ytimg.com/vi/UG8jiKOtedk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB7OMkifWaF0tbm5qu0IZmxuK7AtA",
@ -590,7 +590,7 @@ Channel(
VideoItem( VideoItem(
id: "bQld7iJJSyk", id: "bQld7iJJSyk",
name: "Why Roads ALWAYS Fill Up, No Matter How Much We Widen Them", name: "Why Roads ALWAYS Fill Up, No Matter How Much We Widen Them",
length: Some(159), duration: Some(159),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bQld7iJJSyk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA-9aUtPGBCwAO2wl2JG5JnwWh-iA", url: "https://i.ytimg.com/vi/bQld7iJJSyk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA-9aUtPGBCwAO2wl2JG5JnwWh-iA",
@ -631,7 +631,7 @@ Channel(
VideoItem( VideoItem(
id: "WUK0K5mdQ_s", id: "WUK0K5mdQ_s",
name: "Egypt\'s New Capital is an Ozymandian Nightmare", name: "Egypt\'s New Capital is an Ozymandian Nightmare",
length: Some(870), duration: Some(870),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WUK0K5mdQ_s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCViMWL1-G3s7PBgMgo1mVdFSx9Rw", url: "https://i.ytimg.com/vi/WUK0K5mdQ_s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCViMWL1-G3s7PBgMgo1mVdFSx9Rw",
@ -672,7 +672,7 @@ Channel(
VideoItem( VideoItem(
id: "LB-vsT1Sl68", id: "LB-vsT1Sl68",
name: "Why Car-Centric Cities are a GREAT Idea", name: "Why Car-Centric Cities are a GREAT Idea",
length: Some(369), duration: Some(369),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/LB-vsT1Sl68/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfLhC6VYMirWX_lL0eXhZCpAYabA", url: "https://i.ytimg.com/vi/LB-vsT1Sl68/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfLhC6VYMirWX_lL0eXhZCpAYabA",
@ -713,7 +713,7 @@ Channel(
VideoItem( VideoItem(
id: "p8NiM_p8n5A", id: "p8NiM_p8n5A",
name: "HE FIXED TRAFFIC", name: "HE FIXED TRAFFIC",
length: Some(157), duration: Some(157),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/p8NiM_p8n5A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDTl0EgGk8_v6gPMJY0IF5tUvDGAg", url: "https://i.ytimg.com/vi/p8NiM_p8n5A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDTl0EgGk8_v6gPMJY0IF5tUvDGAg",
@ -754,7 +754,7 @@ Channel(
VideoItem( VideoItem(
id: "U9YdnzOf4NQ", id: "U9YdnzOf4NQ",
name: "Why a Mars Colony is a Stupid and Dangerous Idea", name: "Why a Mars Colony is a Stupid and Dangerous Idea",
length: Some(1000), duration: Some(1000),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/U9YdnzOf4NQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARNVQBbhiSGasL6fMQUU1ITgHuDQ", url: "https://i.ytimg.com/vi/U9YdnzOf4NQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARNVQBbhiSGasL6fMQUU1ITgHuDQ",
@ -795,7 +795,7 @@ Channel(
VideoItem( VideoItem(
id: "CH55WpJxF1s", id: "CH55WpJxF1s",
name: "What #Elongate Is Really About", name: "What #Elongate Is Really About",
length: Some(122), duration: Some(122),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CH55WpJxF1s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLACITT6pFDi4KlXA0E6lLB5FHVxbQ", url: "https://i.ytimg.com/vi/CH55WpJxF1s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLACITT6pFDi4KlXA0E6lLB5FHVxbQ",
@ -836,7 +836,7 @@ Channel(
VideoItem( VideoItem(
id: "PPcsZwUv350", id: "PPcsZwUv350",
name: "Vladimir Putin\'s Three Choices", name: "Vladimir Putin\'s Three Choices",
length: Some(505), duration: Some(505),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PPcsZwUv350/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBnYUqduIFS2zR6BQwWIdWH0eyIng", url: "https://i.ytimg.com/vi/PPcsZwUv350/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBnYUqduIFS2zR6BQwWIdWH0eyIng",
@ -877,7 +877,7 @@ Channel(
VideoItem( VideoItem(
id: "B78-FgNqdc8", id: "B78-FgNqdc8",
name: "Was I WRONG About Electric Buses?", name: "Was I WRONG About Electric Buses?",
length: Some(1536), duration: Some(1536),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/B78-FgNqdc8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4r2bdbKCxbgvGoKGauCaZDBp3mw", url: "https://i.ytimg.com/vi/B78-FgNqdc8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4r2bdbKCxbgvGoKGauCaZDBp3mw",
@ -918,7 +918,7 @@ Channel(
VideoItem( VideoItem(
id: "JCXLwOMSDxk", id: "JCXLwOMSDxk",
name: "If We Treated Afghanistan Like Ukraine", name: "If We Treated Afghanistan Like Ukraine",
length: Some(92), duration: Some(92),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/JCXLwOMSDxk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBhu3_HO7U63sl-DBLhRbDllmFoRA", url: "https://i.ytimg.com/vi/JCXLwOMSDxk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBhu3_HO7U63sl-DBLhRbDllmFoRA",
@ -959,7 +959,7 @@ Channel(
VideoItem( VideoItem(
id: "IpIWswLYAbA", id: "IpIWswLYAbA",
name: "Who\'s Winning the War for Ukraine?", name: "Who\'s Winning the War for Ukraine?",
length: Some(646), duration: Some(646),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/IpIWswLYAbA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDpoUqVQJOt4bR1niy4QTCpbNo8cg", url: "https://i.ytimg.com/vi/IpIWswLYAbA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDpoUqVQJOt4bR1niy4QTCpbNo8cg",
@ -1000,7 +1000,7 @@ Channel(
VideoItem( VideoItem(
id: "NIItoD1Ebh0", id: "NIItoD1Ebh0",
name: "Old Habits Die Hard", name: "Old Habits Die Hard",
length: Some(107), duration: Some(107),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NIItoD1Ebh0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBHqsrLzPqmebGr4w1j40V31wgRcQ", url: "https://i.ytimg.com/vi/NIItoD1Ebh0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBHqsrLzPqmebGr4w1j40V31wgRcQ",
@ -1041,7 +1041,7 @@ Channel(
VideoItem( VideoItem(
id: "pENUV9DLa2g", id: "pENUV9DLa2g",
name: "Anarcho-Capitalism In Practice III - The Final Attempt", name: "Anarcho-Capitalism In Practice III - The Final Attempt",
length: Some(600), duration: Some(600),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pENUV9DLa2g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCmoujwlLKjddw_4xZGN0iY0-uO_g", url: "https://i.ytimg.com/vi/pENUV9DLa2g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCmoujwlLKjddw_4xZGN0iY0-uO_g",
@ -1082,7 +1082,7 @@ Channel(
VideoItem( VideoItem(
id: "gFGQI8P9BMg", id: "gFGQI8P9BMg",
name: "How The Gravel Institute Lies To You About Ukraine", name: "How The Gravel Institute Lies To You About Ukraine",
length: Some(2472), duration: Some(2472),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gFGQI8P9BMg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBpJDqK5bFk3L2AuDsyN8SrCv4fKA", url: "https://i.ytimg.com/vi/gFGQI8P9BMg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBpJDqK5bFk3L2AuDsyN8SrCv4fKA",
@ -1123,7 +1123,7 @@ Channel(
VideoItem( VideoItem(
id: "AVLevneWvaE", id: "AVLevneWvaE",
name: "Why Russia Can\'t Achieve Air Supremacy In Ukraine", name: "Why Russia Can\'t Achieve Air Supremacy In Ukraine",
length: Some(188), duration: Some(188),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/AVLevneWvaE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjh4bMN4kEdZqI94bBJlK60-6WWA", url: "https://i.ytimg.com/vi/AVLevneWvaE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjh4bMN4kEdZqI94bBJlK60-6WWA",
@ -1164,7 +1164,7 @@ Channel(
VideoItem( VideoItem(
id: "MfRcY90OccY", id: "MfRcY90OccY",
name: "Can Ukraine Actually WIN This?", name: "Can Ukraine Actually WIN This?",
length: Some(606), duration: Some(606),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/MfRcY90OccY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCxpbaMlVdngsFBMi1pYqCTkhnk4g", url: "https://i.ytimg.com/vi/MfRcY90OccY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCxpbaMlVdngsFBMi1pYqCTkhnk4g",
@ -1205,7 +1205,7 @@ Channel(
VideoItem( VideoItem(
id: "dQXwreYzJ40", id: "dQXwreYzJ40",
name: "Here\'s What Will Happen To Ukraine [Update: yep, called it]", name: "Here\'s What Will Happen To Ukraine [Update: yep, called it]",
length: Some(397), duration: Some(397),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dQXwreYzJ40/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBCyh95CRe_cTECmF4XY9oq3jtFjw", url: "https://i.ytimg.com/vi/dQXwreYzJ40/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBCyh95CRe_cTECmF4XY9oq3jtFjw",
@ -1246,7 +1246,7 @@ Channel(
VideoItem( VideoItem(
id: "-OO3RiNMDB8", id: "-OO3RiNMDB8",
name: "Assessing The Russian Invasion Threat", name: "Assessing The Russian Invasion Threat",
length: Some(655), duration: Some(655),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/-OO3RiNMDB8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAWbC-UhcsGON1ERqF0BToXXwNXdA", url: "https://i.ytimg.com/vi/-OO3RiNMDB8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAWbC-UhcsGON1ERqF0BToXXwNXdA",
@ -1287,7 +1287,7 @@ Channel(
VideoItem( VideoItem(
id: "obMTYs30E9A", id: "obMTYs30E9A",
name: "Ukraine - The Country That Defied Vladimir Putin", name: "Ukraine - The Country That Defied Vladimir Putin",
length: Some(2498), duration: Some(2498),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/obMTYs30E9A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsLbeOIYyrq_a3srmaShg1BXt6IA", url: "https://i.ytimg.com/vi/obMTYs30E9A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsLbeOIYyrq_a3srmaShg1BXt6IA",
@ -1328,7 +1328,7 @@ Channel(
VideoItem( VideoItem(
id: "4-2bR1iFlhk", id: "4-2bR1iFlhk",
name: "\"Wait, Russia isn\'t in NATO?!\" Insane Debate on Ukraine, US Politics, and more!", name: "\"Wait, Russia isn\'t in NATO?!\" Insane Debate on Ukraine, US Politics, and more!",
length: Some(12151), duration: Some(12151),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4-2bR1iFlhk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDi8mzVinfZpO33L7lijfeQJdsVuA", url: "https://i.ytimg.com/vi/4-2bR1iFlhk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDi8mzVinfZpO33L7lijfeQJdsVuA",

View file

@ -8,7 +8,7 @@ Paginator(
VideoItem( VideoItem(
id: "R2fw2g6WFbg", id: "R2fw2g6WFbg",
name: "EEVblog 1477 - TEARDOWN! - NEW Tektronix 2 Series Oscilloscope", name: "EEVblog 1477 - TEARDOWN! - NEW Tektronix 2 Series Oscilloscope",
length: Some(2718), duration: Some(2718),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/R2fw2g6WFbg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwd6wqvFI0HcPpOkDW_XDzWSPH_w", url: "https://i.ytimg.com/vi/R2fw2g6WFbg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwd6wqvFI0HcPpOkDW_XDzWSPH_w",
@ -43,7 +43,7 @@ Paginator(
VideoItem( VideoItem(
id: "JDXKrXJloSw", id: "JDXKrXJloSw",
name: "EEVblog 1476 - Keithley 515A Wheatstone Bridge TEARDOWN & TUTORIAL", name: "EEVblog 1476 - Keithley 515A Wheatstone Bridge TEARDOWN & TUTORIAL",
length: Some(1721), duration: Some(1721),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/JDXKrXJloSw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCk0u4EnX8f6ud7s704sbv5UGFZug", url: "https://i.ytimg.com/vi/JDXKrXJloSw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCk0u4EnX8f6ud7s704sbv5UGFZug",
@ -78,7 +78,7 @@ Paginator(
VideoItem( VideoItem(
id: "H8ot_YPi6QU", id: "H8ot_YPi6QU",
name: "eevBLAB 98 - The Pressure Youtubers Are Under", name: "eevBLAB 98 - The Pressure Youtubers Are Under",
length: Some(431), duration: Some(431),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/H8ot_YPi6QU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBiimvgnZx6akYlMkU-hxSuIM33Mg", url: "https://i.ytimg.com/vi/H8ot_YPi6QU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBiimvgnZx6akYlMkU-hxSuIM33Mg",
@ -113,7 +113,7 @@ Paginator(
VideoItem( VideoItem(
id: "i1Ad5jfk_v4", id: "i1Ad5jfk_v4",
name: "EEVblog 1475 - What\'s This SMD Part?", name: "EEVblog 1475 - What\'s This SMD Part?",
length: Some(1785), duration: Some(1785),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/i1Ad5jfk_v4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCxhWKrpuy11lTv5po8m7OyQYxbvA", url: "https://i.ytimg.com/vi/i1Ad5jfk_v4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCxhWKrpuy11lTv5po8m7OyQYxbvA",
@ -148,7 +148,7 @@ Paginator(
VideoItem( VideoItem(
id: "GHbo4v8pahc", id: "GHbo4v8pahc",
name: "eevBLAB 97 - Is Apple Serious About Right To Repair? (The Verge)", name: "eevBLAB 97 - Is Apple Serious About Right To Repair? (The Verge)",
length: Some(1186), duration: Some(1186),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/GHbo4v8pahc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBKNYL8XTxa9LDJKG6L7unv3CJG9Q", url: "https://i.ytimg.com/vi/GHbo4v8pahc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBKNYL8XTxa9LDJKG6L7unv3CJG9Q",
@ -183,7 +183,7 @@ Paginator(
VideoItem( VideoItem(
id: "Uds-wLoaZmA", id: "Uds-wLoaZmA",
name: "EEVblog 1474 - Can You Measure Capacitors IN Circuit?", name: "EEVblog 1474 - Can You Measure Capacitors IN Circuit?",
length: Some(1407), duration: Some(1407),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Uds-wLoaZmA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLASo0gEqEXqljW-KjeCb2jcr8Wxkw", url: "https://i.ytimg.com/vi/Uds-wLoaZmA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLASo0gEqEXqljW-KjeCb2jcr8Wxkw",
@ -218,7 +218,7 @@ Paginator(
VideoItem( VideoItem(
id: "D9J-AmCcf4U", id: "D9J-AmCcf4U",
name: "EEVblog 1473 - How Your LCR Meter Works", name: "EEVblog 1473 - How Your LCR Meter Works",
length: Some(1183), duration: Some(1183),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/D9J-AmCcf4U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBO_KDd4KRJX5K0ea3of2pm_Pp3dw", url: "https://i.ytimg.com/vi/D9J-AmCcf4U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBO_KDd4KRJX5K0ea3of2pm_Pp3dw",
@ -253,7 +253,7 @@ Paginator(
VideoItem( VideoItem(
id: "Eoh-JKVQZwg", id: "Eoh-JKVQZwg",
name: "EEVblog 1472 - Resistor Cube Problem SOLVED", name: "EEVblog 1472 - Resistor Cube Problem SOLVED",
length: Some(1196), duration: Some(1196),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Eoh-JKVQZwg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA7JkB7fkv4gOeXl4-B9VWSSsbkDw", url: "https://i.ytimg.com/vi/Eoh-JKVQZwg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA7JkB7fkv4gOeXl4-B9VWSSsbkDw",
@ -288,7 +288,7 @@ Paginator(
VideoItem( VideoItem(
id: "U81glZBDpIg", id: "U81glZBDpIg",
name: "EEVblog 1471 - Mailbag", name: "EEVblog 1471 - Mailbag",
length: Some(2252), duration: Some(2252),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/U81glZBDpIg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCfgd3GSfLFioa89tLill31Zl7gOg", url: "https://i.ytimg.com/vi/U81glZBDpIg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCfgd3GSfLFioa89tLill31Zl7gOg",
@ -323,7 +323,7 @@ Paginator(
VideoItem( VideoItem(
id: "gLfxznVJ2q0", id: "gLfxznVJ2q0",
name: "Petition - Australian Standards Should be FREE", name: "Petition - Australian Standards Should be FREE",
length: Some(585), duration: Some(585),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gLfxznVJ2q0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCSXOJMOfUPep7AbUFPFEW2e-KFA", url: "https://i.ytimg.com/vi/gLfxznVJ2q0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCSXOJMOfUPep7AbUFPFEW2e-KFA",
@ -358,7 +358,7 @@ Paginator(
VideoItem( VideoItem(
id: "GfihUkWPCQQ", id: "GfihUkWPCQQ",
name: "EEVblog 1470 - AC Basics Tutorial Part 3 - Complex Numbers are EASY!", name: "EEVblog 1470 - AC Basics Tutorial Part 3 - Complex Numbers are EASY!",
length: Some(1468), duration: Some(1468),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/GfihUkWPCQQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBTbyr1AEDanXKDJg18zCEDN5YKCg", url: "https://i.ytimg.com/vi/GfihUkWPCQQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBTbyr1AEDanXKDJg18zCEDN5YKCg",
@ -393,7 +393,7 @@ Paginator(
VideoItem( VideoItem(
id: "yEG6pKUdIlg", id: "yEG6pKUdIlg",
name: "EEVblog 1469 - AC Basics Tutorial - Part 2 - Phasors", name: "EEVblog 1469 - AC Basics Tutorial - Part 2 - Phasors",
length: Some(1147), duration: Some(1147),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yEG6pKUdIlg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAavMqXRQQP8Qs6jPDdCaZdjj28sw", url: "https://i.ytimg.com/vi/yEG6pKUdIlg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAavMqXRQQP8Qs6jPDdCaZdjj28sw",
@ -428,7 +428,7 @@ Paginator(
VideoItem( VideoItem(
id: "wPzzPGzxD00", id: "wPzzPGzxD00",
name: "EEVblog 1468 - Electronex Show Tour 2022", name: "EEVblog 1468 - Electronex Show Tour 2022",
length: Some(2850), duration: Some(2850),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/wPzzPGzxD00/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA3HoFx0YDm9C54Wn8lPV-hqHmLBA", url: "https://i.ytimg.com/vi/wPzzPGzxD00/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA3HoFx0YDm9C54Wn8lPV-hqHmLBA",
@ -463,7 +463,7 @@ Paginator(
VideoItem( VideoItem(
id: "Tdge8vEODeY", id: "Tdge8vEODeY",
name: "EEVblog 1467 - Stanford Solar Power at Nightime! BUSTED", name: "EEVblog 1467 - Stanford Solar Power at Nightime! BUSTED",
length: Some(836), duration: Some(836),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Tdge8vEODeY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCcLhiajXRRNS9OAmsMeX1ploYVog", url: "https://i.ytimg.com/vi/Tdge8vEODeY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCcLhiajXRRNS9OAmsMeX1ploYVog",
@ -498,7 +498,7 @@ Paginator(
VideoItem( VideoItem(
id: "ebQ2Im5zfT0", id: "ebQ2Im5zfT0",
name: "EEVblog 1466 - Dumpster Dive Xeon Server", name: "EEVblog 1466 - Dumpster Dive Xeon Server",
length: Some(1138), duration: Some(1138),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ebQ2Im5zfT0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfBPfDfHepn92nrxb-l3GoEUJxNg", url: "https://i.ytimg.com/vi/ebQ2Im5zfT0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfBPfDfHepn92nrxb-l3GoEUJxNg",
@ -533,7 +533,7 @@ Paginator(
VideoItem( VideoItem(
id: "UrS5ezesA9s", id: "UrS5ezesA9s",
name: "EEVblog 1465 - Your Multimeter Can Measure Inductors", name: "EEVblog 1465 - Your Multimeter Can Measure Inductors",
length: Some(596), duration: Some(596),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/UrS5ezesA9s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDhubVMAa4lD0PEkWJwxngLFy2g5A", url: "https://i.ytimg.com/vi/UrS5ezesA9s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDhubVMAa4lD0PEkWJwxngLFy2g5A",
@ -568,7 +568,7 @@ Paginator(
VideoItem( VideoItem(
id: "c5M8P6oe9xY", id: "c5M8P6oe9xY",
name: "EEVblog 1464 - TOP 5 Jellybean Comparators", name: "EEVblog 1464 - TOP 5 Jellybean Comparators",
length: Some(2399), duration: Some(2399),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/c5M8P6oe9xY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBbPtmLMOKuiIB4l1Z_VuF8ajH1g", url: "https://i.ytimg.com/vi/c5M8P6oe9xY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBbPtmLMOKuiIB4l1Z_VuF8ajH1g",
@ -603,7 +603,7 @@ Paginator(
VideoItem( VideoItem(
id: "9TDKP9RLlPs", id: "9TDKP9RLlPs",
name: "EEVblog 1463 - Mailbag", name: "EEVblog 1463 - Mailbag",
length: Some(2664), duration: Some(2664),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9TDKP9RLlPs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBC8e8sMlrwsvUamlxaJGvSAB1vAQ", url: "https://i.ytimg.com/vi/9TDKP9RLlPs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBC8e8sMlrwsvUamlxaJGvSAB1vAQ",
@ -638,7 +638,7 @@ Paginator(
VideoItem( VideoItem(
id: "hwggIw2HQuQ", id: "hwggIw2HQuQ",
name: "eevBLAB 96 - BUSTED! - Dymo Gets WORSE!", name: "eevBLAB 96 - BUSTED! - Dymo Gets WORSE!",
length: Some(347), duration: Some(347),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/hwggIw2HQuQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrARGU_K_yrxFuO5Fx0a2sznKUCA", url: "https://i.ytimg.com/vi/hwggIw2HQuQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrARGU_K_yrxFuO5Fx0a2sznKUCA",
@ -673,7 +673,7 @@ Paginator(
VideoItem( VideoItem(
id: "xzSDJRC0F6c", id: "xzSDJRC0F6c",
name: "EEVblog 1462 - Why Dymo Label Printers SUCK!", name: "EEVblog 1462 - Why Dymo Label Printers SUCK!",
length: Some(1353), duration: Some(1353),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xzSDJRC0F6c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAG9svGIbJ61gBv2XurBBjdj7eWaA", url: "https://i.ytimg.com/vi/xzSDJRC0F6c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAG9svGIbJ61gBv2XurBBjdj7eWaA",
@ -708,7 +708,7 @@ Paginator(
VideoItem( VideoItem(
id: "9wuyPZjjR9k", id: "9wuyPZjjR9k",
name: "EEVblog 1461 - The MOSFET Search CHALLENGE", name: "EEVblog 1461 - The MOSFET Search CHALLENGE",
length: Some(3505), duration: Some(3505),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9wuyPZjjR9k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBhLudpzPSKR-vnRpUF61-upI5W4A", url: "https://i.ytimg.com/vi/9wuyPZjjR9k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBhLudpzPSKR-vnRpUF61-upI5W4A",
@ -743,7 +743,7 @@ Paginator(
VideoItem( VideoItem(
id: "vyJuMGEFbjQ", id: "vyJuMGEFbjQ",
name: "EEVblog1460 - REPAIRING a LED Studio Light with a DUMPSTER LAPTOP!", name: "EEVblog1460 - REPAIRING a LED Studio Light with a DUMPSTER LAPTOP!",
length: Some(1798), duration: Some(1798),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vyJuMGEFbjQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLConLvhiiORxzI4W53cK838-oimWA", url: "https://i.ytimg.com/vi/vyJuMGEFbjQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLConLvhiiORxzI4W53cK838-oimWA",
@ -778,7 +778,7 @@ Paginator(
VideoItem( VideoItem(
id: "_pETMto-9iE", id: "_pETMto-9iE",
name: "EEVblog 1459 - Is it worth PARTS SALVAGING an Inkjet Printer/Scanner?", name: "EEVblog 1459 - Is it worth PARTS SALVAGING an Inkjet Printer/Scanner?",
length: Some(1588), duration: Some(1588),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_pETMto-9iE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANwQQorgH71g8SZTkT6gi8SjkDCQ", url: "https://i.ytimg.com/vi/_pETMto-9iE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANwQQorgH71g8SZTkT6gi8SjkDCQ",
@ -813,7 +813,7 @@ Paginator(
VideoItem( VideoItem(
id: "MvFf9RSJUhk", id: "MvFf9RSJUhk",
name: "EEVblog 1458 - Microscope Polarising MAGIC!", name: "EEVblog 1458 - Microscope Polarising MAGIC!",
length: Some(942), duration: Some(942),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/MvFf9RSJUhk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOkBS4oJiQHsbt_NMdXftPeUaR8A", url: "https://i.ytimg.com/vi/MvFf9RSJUhk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOkBS4oJiQHsbt_NMdXftPeUaR8A",
@ -848,7 +848,7 @@ Paginator(
VideoItem( VideoItem(
id: "E6obq3T71vI", id: "E6obq3T71vI",
name: "EEVblog1457 - Old School Mailbag - ESC Burnout", name: "EEVblog1457 - Old School Mailbag - ESC Burnout",
length: Some(1552), duration: Some(1552),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/E6obq3T71vI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA24jAiRp_-m1MJQATFhdbrRqFnHA", url: "https://i.ytimg.com/vi/E6obq3T71vI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA24jAiRp_-m1MJQATFhdbrRqFnHA",
@ -883,7 +883,7 @@ Paginator(
VideoItem( VideoItem(
id: "ZTwVQmUm6NY", id: "ZTwVQmUm6NY",
name: "eevBLAB 95 - Why Are Youtube Playlists So BAD?", name: "eevBLAB 95 - Why Are Youtube Playlists So BAD?",
length: Some(865), duration: Some(865),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ZTwVQmUm6NY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAi4YH3QhTYvY5be4zeqST3PZ7EBA", url: "https://i.ytimg.com/vi/ZTwVQmUm6NY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAi4YH3QhTYvY5be4zeqST3PZ7EBA",
@ -918,7 +918,7 @@ Paginator(
VideoItem( VideoItem(
id: "prQinQ4MWmU", id: "prQinQ4MWmU",
name: "EEVblog 1456 - Sega Toys Homestar Planetarium REPAIR", name: "EEVblog 1456 - Sega Toys Homestar Planetarium REPAIR",
length: Some(899), duration: Some(899),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/prQinQ4MWmU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDXaQgmCdFsIkM5Yt0Req7NWHELjQ", url: "https://i.ytimg.com/vi/prQinQ4MWmU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDXaQgmCdFsIkM5Yt0Req7NWHELjQ",
@ -953,7 +953,7 @@ Paginator(
VideoItem( VideoItem(
id: "yMIzsFAztv4", id: "yMIzsFAztv4",
name: "EEVblog 1455 - Capacitors Produce Current During Reflow Soldering! WTF!", name: "EEVblog 1455 - Capacitors Produce Current During Reflow Soldering! WTF!",
length: Some(894), duration: Some(894),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yMIzsFAztv4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcBhR3clJQxbrPONzQJ9nUNd_0OA", url: "https://i.ytimg.com/vi/yMIzsFAztv4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcBhR3clJQxbrPONzQJ9nUNd_0OA",
@ -988,7 +988,7 @@ Paginator(
VideoItem( VideoItem(
id: "QtqljdMwRyk", id: "QtqljdMwRyk",
name: "EEVblog 1454 - Water from Air AGAIN! - The Kara Pure", name: "EEVblog 1454 - Water from Air AGAIN! - The Kara Pure",
length: Some(1198), duration: Some(1198),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/QtqljdMwRyk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDERzxdJPJQ7T_UhqojqFaACgzFvA", url: "https://i.ytimg.com/vi/QtqljdMwRyk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDERzxdJPJQ7T_UhqojqFaACgzFvA",
@ -1023,7 +1023,7 @@ Paginator(
VideoItem( VideoItem(
id: "kcWwAweWjQg", id: "kcWwAweWjQg",
name: "EEVblog 1453 - Elgato Key Light TEARDOWN", name: "EEVblog 1453 - Elgato Key Light TEARDOWN",
length: Some(1048), duration: Some(1048),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/kcWwAweWjQg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLASIZUAaqbklehN0AG_xn6QDrREog", url: "https://i.ytimg.com/vi/kcWwAweWjQg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLASIZUAaqbklehN0AG_xn6QDrREog",

View file

@ -8,7 +8,7 @@ Paginator(
VideoItem( VideoItem(
id: "zMPIobcM2j0", id: "zMPIobcM2j0",
name: "ZUNA feat. AZET & NOIZY - NUMMER 1 prod. by DJ A-BOOM", name: "ZUNA feat. AZET & NOIZY - NUMMER 1 prod. by DJ A-BOOM",
length: Some(212), duration: Some(212),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zMPIobcM2j0/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUSg9MA8=&rs=AOn4CLAuU5Z3UBZEtKPrFsMT8zuSdLpCaQ", url: "https://i.ytimg.com/vi/zMPIobcM2j0/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUSg9MA8=&rs=AOn4CLAuU5Z3UBZEtKPrFsMT8zuSdLpCaQ",
@ -49,7 +49,7 @@ Paginator(
VideoItem( VideoItem(
id: "f9g6NCHQrcE", id: "f9g6NCHQrcE",
name: "AZET ft. ZUNA & NOIZY - KRIMINELL (prod. by DJ A-BOOM)", name: "AZET ft. ZUNA & NOIZY - KRIMINELL (prod. by DJ A-BOOM)",
length: Some(230), duration: Some(230),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/f9g6NCHQrcE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMGepmuIe_XAharqN6EnCXvp0xYw", url: "https://i.ytimg.com/vi/f9g6NCHQrcE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMGepmuIe_XAharqN6EnCXvp0xYw",
@ -90,7 +90,7 @@ Paginator(
VideoItem( VideoItem(
id: "CAVfEwrwT_o", id: "CAVfEwrwT_o",
name: "Rooz x MoTrip - Immer Wieder (eng: Again and Again) (prod SOTT)", name: "Rooz x MoTrip - Immer Wieder (eng: Again and Again) (prod SOTT)",
length: Some(227), duration: Some(227),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CAVfEwrwT_o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUrGnudhiLRS7_j5qb_973rHrTMw", url: "https://i.ytimg.com/vi/CAVfEwrwT_o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUrGnudhiLRS7_j5qb_973rHrTMw",
@ -131,7 +131,7 @@ Paginator(
VideoItem( VideoItem(
id: "VUr9JZQ8F2g", id: "VUr9JZQ8F2g",
name: "Kontra K - Zwischen Himmel & Hölle (Official Video)", name: "Kontra K - Zwischen Himmel & Hölle (Official Video)",
length: Some(270), duration: Some(270),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/VUr9JZQ8F2g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_wUNlasFg6HhHNUdiLvaGljPqRg", url: "https://i.ytimg.com/vi/VUr9JZQ8F2g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_wUNlasFg6HhHNUdiLvaGljPqRg",
@ -172,7 +172,7 @@ Paginator(
VideoItem( VideoItem(
id: "XQat6rNNbdQ", id: "XQat6rNNbdQ",
name: "ZUNA - AYE prod. by LUCRY #KMNSTREET VOL. 7", name: "ZUNA - AYE prod. by LUCRY #KMNSTREET VOL. 7",
length: Some(220), duration: Some(220),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XQat6rNNbdQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLAfXnFLscSl_ts58Ud5Vic-qwrwsg", url: "https://i.ytimg.com/vi/XQat6rNNbdQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLAfXnFLscSl_ts58Ud5Vic-qwrwsg",
@ -213,7 +213,7 @@ Paginator(
VideoItem( VideoItem(
id: "EQyU6fGDn0c", id: "EQyU6fGDn0c",
name: "RAF Camora - CORLEONE (prod. by X-Plosive,The Cratez & RAF Camora)", name: "RAF Camora - CORLEONE (prod. by X-Plosive,The Cratez & RAF Camora)",
length: Some(220), duration: Some(220),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EQyU6fGDn0c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZtiHGorHDDYBp-sPHB2MACq4XJg", url: "https://i.ytimg.com/vi/EQyU6fGDn0c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZtiHGorHDDYBp-sPHB2MACq4XJg",
@ -254,7 +254,7 @@ Paginator(
VideoItem( VideoItem(
id: "g4poKgQZX6w", id: "g4poKgQZX6w",
name: "Ufo361 - „BEVERLY HILLS“ (prod. von AT Beatz/Jimmy Torrio) [Official HD Video]", name: "Ufo361 - „BEVERLY HILLS“ (prod. von AT Beatz/Jimmy Torrio) [Official HD Video]",
length: Some(219), duration: Some(219),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/g4poKgQZX6w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBog509zw2F56xrdDsQkeRiuEC-xg", url: "https://i.ytimg.com/vi/g4poKgQZX6w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBog509zw2F56xrdDsQkeRiuEC-xg",
@ -295,7 +295,7 @@ Paginator(
VideoItem( VideoItem(
id: "YTHr7gxwYUQ", id: "YTHr7gxwYUQ",
name: "DARDAN X LUCIANO - AIRMAX GEGEN KOPF (prod. by Leryk)", name: "DARDAN X LUCIANO - AIRMAX GEGEN KOPF (prod. by Leryk)",
length: Some(167), duration: Some(167),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YTHr7gxwYUQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgyAHaOHTo5EebRbB0J0b6nA_-aA", url: "https://i.ytimg.com/vi/YTHr7gxwYUQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgyAHaOHTo5EebRbB0J0b6nA_-aA",
@ -336,7 +336,7 @@ Paginator(
VideoItem( VideoItem(
id: "MfCSDn6q6j4", id: "MfCSDn6q6j4",
name: "YONII - DIRECTION prod. by LUCRY (Official 4K Video)", name: "YONII - DIRECTION prod. by LUCRY (Official 4K Video)",
length: Some(182), duration: Some(182),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/MfCSDn6q6j4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBEG2udEnlreWP8ezpx5j-1RpYrwg", url: "https://i.ytimg.com/vi/MfCSDn6q6j4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBEG2udEnlreWP8ezpx5j-1RpYrwg",
@ -377,7 +377,7 @@ Paginator(
VideoItem( VideoItem(
id: "gx9KFXb5x_o", id: "gx9KFXb5x_o",
name: "Anstandslos & Durchgeknallt - Egal ft. Jasmiina (Official Video)", name: "Anstandslos & Durchgeknallt - Egal ft. Jasmiina (Official Video)",
length: Some(166), duration: Some(166),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gx9KFXb5x_o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQmzWXiU6YGpce9EAK0b1z2Y_QyQ", url: "https://i.ytimg.com/vi/gx9KFXb5x_o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQmzWXiU6YGpce9EAK0b1z2Y_QyQ",
@ -418,7 +418,7 @@ Paginator(
VideoItem( VideoItem(
id: "d7R7DQ5tlQo", id: "d7R7DQ5tlQo",
name: "RAF Camora - SAG NIX (Anthrazit RR) #02", name: "RAF Camora - SAG NIX (Anthrazit RR) #02",
length: Some(205), duration: Some(205),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/d7R7DQ5tlQo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDeUBwyhvVq_h9-oRTQ82-tcP7cYg", url: "https://i.ytimg.com/vi/d7R7DQ5tlQo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDeUBwyhvVq_h9-oRTQ82-tcP7cYg",
@ -459,7 +459,7 @@ Paginator(
VideoItem( VideoItem(
id: "cZPjgcqHSa8", id: "cZPjgcqHSa8",
name: "Olexesh - BWA feat. Celo & Abdi, Hanybal (prod. von Drunken Masters) [Official Video]", name: "Olexesh - BWA feat. Celo & Abdi, Hanybal (prod. von Drunken Masters) [Official Video]",
length: Some(294), duration: Some(294),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cZPjgcqHSa8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnL4R2RjYxajSHM2MYHHPIGSEbHg", url: "https://i.ytimg.com/vi/cZPjgcqHSa8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnL4R2RjYxajSHM2MYHHPIGSEbHg",
@ -500,7 +500,7 @@ Paginator(
VideoItem( VideoItem(
id: "ogDLdREonWY", id: "ogDLdREonWY",
name: "AZET - KETTEN CARTIER (Beat by zeeko & Veteran / prod. by DJ A-Boom)", name: "AZET - KETTEN CARTIER (Beat by zeeko & Veteran / prod. by DJ A-Boom)",
length: Some(198), duration: Some(198),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ogDLdREonWY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCE-WB-D8k22SnqNqjlGIv3PopaKA", url: "https://i.ytimg.com/vi/ogDLdREonWY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCE-WB-D8k22SnqNqjlGIv3PopaKA",
@ -541,7 +541,7 @@ Paginator(
VideoItem( VideoItem(
id: "pRQpKprUUPY", id: "pRQpKprUUPY",
name: "Moe Phoenix - Ching Chang Chong (prod. by FL3X & Unik)", name: "Moe Phoenix - Ching Chang Chong (prod. by FL3X & Unik)",
length: Some(226), duration: Some(226),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pRQpKprUUPY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1RCyBcVxcI7USDT0EdCYwzsgYbQ", url: "https://i.ytimg.com/vi/pRQpKprUUPY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1RCyBcVxcI7USDT0EdCYwzsgYbQ",
@ -582,7 +582,7 @@ Paginator(
VideoItem( VideoItem(
id: "qZoQw9b4uCo", id: "qZoQw9b4uCo",
name: "PAYY x ARDIAN BUJUPI - Handschellen (Prod. by Remoe & Kostas Karagiozidis) [ OFFICIAL VIDEO ]", name: "PAYY x ARDIAN BUJUPI - Handschellen (Prod. by Remoe & Kostas Karagiozidis) [ OFFICIAL VIDEO ]",
length: Some(221), duration: Some(221),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qZoQw9b4uCo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_Yap-tgk3XSsxA3-WPIDbffMP5g", url: "https://i.ytimg.com/vi/qZoQw9b4uCo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_Yap-tgk3XSsxA3-WPIDbffMP5g",
@ -623,7 +623,7 @@ Paginator(
VideoItem( VideoItem(
id: "q23qghoF6Nk", id: "q23qghoF6Nk",
name: "AZET - GJYNAH (beat by Lucry) (Official 4K Video)", name: "AZET - GJYNAH (beat by Lucry) (Official 4K Video)",
length: Some(271), duration: Some(271),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/q23qghoF6Nk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAon_vcMLc5GY3dZ857wU4_6sM7bQ", url: "https://i.ytimg.com/vi/q23qghoF6Nk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAon_vcMLc5GY3dZ857wU4_6sM7bQ",
@ -664,7 +664,7 @@ Paginator(
VideoItem( VideoItem(
id: "yU0aKa7PFBg", id: "yU0aKa7PFBg",
name: "Helene Fischer | Herzbeben (Live aus dem Kesselhaus München)", name: "Helene Fischer | Herzbeben (Live aus dem Kesselhaus München)",
length: Some(206), duration: Some(206),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yU0aKa7PFBg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmZE8ywbjxjg8l1xwMeSJzMj27Ng", url: "https://i.ytimg.com/vi/yU0aKa7PFBg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmZE8ywbjxjg8l1xwMeSJzMj27Ng",
@ -705,7 +705,7 @@ Paginator(
VideoItem( VideoItem(
id: "DVCAqvypaCc", id: "DVCAqvypaCc",
name: "DARDAN - JUMP (prod. by Oster)", name: "DARDAN - JUMP (prod. by Oster)",
length: Some(202), duration: Some(202),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DVCAqvypaCc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzU84UNl1l4W0cTdgmX9xthBVhHw", url: "https://i.ytimg.com/vi/DVCAqvypaCc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzU84UNl1l4W0cTdgmX9xthBVhHw",
@ -746,7 +746,7 @@ Paginator(
VideoItem( VideoItem(
id: "XdnI7sm6LeQ", id: "XdnI7sm6LeQ",
name: "RAF Camora - Andere Liga (prod. Beataura & RAF Camora)", name: "RAF Camora - Andere Liga (prod. Beataura & RAF Camora)",
length: Some(240), duration: Some(240),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XdnI7sm6LeQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALhffgTUDPZfO74mZauERCfDWLFw", url: "https://i.ytimg.com/vi/XdnI7sm6LeQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALhffgTUDPZfO74mZauERCfDWLFw",
@ -787,7 +787,7 @@ Paginator(
VideoItem( VideoItem(
id: "KcOXNSJtFLg", id: "KcOXNSJtFLg",
name: "Sugar MMFK - Trikot von Paris (prod. by Penacho) [4K VIDEO]", name: "Sugar MMFK - Trikot von Paris (prod. by Penacho) [4K VIDEO]",
length: Some(255), duration: Some(255),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KcOXNSJtFLg/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGDggYyhyMA8=&rs=AOn4CLDP_rdjW8feJ1ZoIRxZT6P218hhdg", url: "https://i.ytimg.com/vi/KcOXNSJtFLg/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGDggYyhyMA8=&rs=AOn4CLDP_rdjW8feJ1ZoIRxZT6P218hhdg",
@ -828,7 +828,7 @@ Paginator(
VideoItem( VideoItem(
id: "K0UxHXZwgsg", id: "K0UxHXZwgsg",
name: "FLER ✖\u{fe0f}Pfirsich/Late Check-Out ✖\u{fe0f}► [ official Video ] prod. by Simes Add. Vocals by Mosenu", name: "FLER ✖\u{fe0f}Pfirsich/Late Check-Out ✖\u{fe0f}► [ official Video ] prod. by Simes Add. Vocals by Mosenu",
length: Some(245), duration: Some(245),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/K0UxHXZwgsg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD1XTfZEJtsHmu1PYtlGFwz4bAiOw", url: "https://i.ytimg.com/vi/K0UxHXZwgsg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD1XTfZEJtsHmu1PYtlGFwz4bAiOw",
@ -869,7 +869,7 @@ Paginator(
VideoItem( VideoItem(
id: "eyyNwOSQ3Yg", id: "eyyNwOSQ3Yg",
name: "MGP \"BAD BITCH\" (Official Video)", name: "MGP \"BAD BITCH\" (Official Video)",
length: Some(166), duration: Some(166),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/eyyNwOSQ3Yg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrGr9LT69Q4tZzNwFIuUzoUAYwSQ", url: "https://i.ytimg.com/vi/eyyNwOSQ3Yg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrGr9LT69Q4tZzNwFIuUzoUAYwSQ",
@ -910,7 +910,7 @@ Paginator(
VideoItem( VideoItem(
id: "1yskotqNuXI", id: "1yskotqNuXI",
name: "RIN - Bros (prod. Minhtendo)", name: "RIN - Bros (prod. Minhtendo)",
length: Some(219), duration: Some(219),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1yskotqNuXI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLABT4efReL1QrSECDJwROBI-pRCzw", url: "https://i.ytimg.com/vi/1yskotqNuXI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLABT4efReL1QrSECDJwROBI-pRCzw",
@ -951,7 +951,7 @@ Paginator(
VideoItem( VideoItem(
id: "C03n4AAiL9w", id: "C03n4AAiL9w",
name: "Glasperlenspiel - Geiles Leben (Lyric Video)", name: "Glasperlenspiel - Geiles Leben (Lyric Video)",
length: Some(211), duration: Some(211),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/C03n4AAiL9w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCKvhEqesIgEalpxUZClNFcg65cig", url: "https://i.ytimg.com/vi/C03n4AAiL9w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCKvhEqesIgEalpxUZClNFcg65cig",
@ -992,7 +992,7 @@ Paginator(
VideoItem( VideoItem(
id: "a2wNRTKRusM", id: "a2wNRTKRusM",
name: "Moe Phoenix - Mohammad (prod. by AriBeatz)", name: "Moe Phoenix - Mohammad (prod. by AriBeatz)",
length: Some(197), duration: Some(197),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/a2wNRTKRusM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBKdUFUQEPrf091_3-GxUDfOuwzA", url: "https://i.ytimg.com/vi/a2wNRTKRusM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBKdUFUQEPrf091_3-GxUDfOuwzA",
@ -1033,7 +1033,7 @@ Paginator(
VideoItem( VideoItem(
id: "AIf61iHwWMQ", id: "AIf61iHwWMQ",
name: "RAF Camora feat. UFO 361, GZUZ & Bonez MC - WAFFEN (Anthrazit RR) #07", name: "RAF Camora feat. UFO 361, GZUZ & Bonez MC - WAFFEN (Anthrazit RR) #07",
length: Some(268), duration: Some(268),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/AIf61iHwWMQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDOB2LLlsczwY-nRhzA0m4rzWF7yg", url: "https://i.ytimg.com/vi/AIf61iHwWMQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDOB2LLlsczwY-nRhzA0m4rzWF7yg",
@ -1074,7 +1074,7 @@ Paginator(
VideoItem( VideoItem(
id: "BixqbSRjY2Y", id: "BixqbSRjY2Y",
name: "RAF Camora - ALLES PROBIERT feat. BONEZ MC (prod.by Beataura & RAF Camora)", name: "RAF Camora - ALLES PROBIERT feat. BONEZ MC (prod.by Beataura & RAF Camora)",
length: Some(319), duration: Some(319),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BixqbSRjY2Y/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUiheMA8=&rs=AOn4CLBqs2J7SrhDv0y0nukTRhu3nBf0RQ", url: "https://i.ytimg.com/vi/BixqbSRjY2Y/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUiheMA8=&rs=AOn4CLBqs2J7SrhDv0y0nukTRhu3nBf0RQ",
@ -1115,7 +1115,7 @@ Paginator(
VideoItem( VideoItem(
id: "Acgy-3d4P6o", id: "Acgy-3d4P6o",
name: "Kontra K - Erfolg ist kein Glück (Official Video)", name: "Kontra K - Erfolg ist kein Glück (Official Video)",
length: Some(226), duration: Some(226),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Acgy-3d4P6o/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEsgXyhlMA8=&rs=AOn4CLBPlFkfape542W2wqX_C2tcWypxKQ", url: "https://i.ytimg.com/vi/Acgy-3d4P6o/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEsgXyhlMA8=&rs=AOn4CLBPlFkfape542W2wqX_C2tcWypxKQ",
@ -1156,7 +1156,7 @@ Paginator(
VideoItem( VideoItem(
id: "5M_yA9M7yNc", id: "5M_yA9M7yNc",
name: "RAF Camora - GOTHAM CITY (Anthrazit RR) #03", name: "RAF Camora - GOTHAM CITY (Anthrazit RR) #03",
length: Some(156), duration: Some(156),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5M_yA9M7yNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCviCUA-ubhSSDyG7yt8Q1FEbCdtQ", url: "https://i.ytimg.com/vi/5M_yA9M7yNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCviCUA-ubhSSDyG7yt8Q1FEbCdtQ",
@ -1197,7 +1197,7 @@ Paginator(
VideoItem( VideoItem(
id: "PjJuezhos3U", id: "PjJuezhos3U",
name: "Fard - \"LIEBE MACHT BLIND\" (Official Video) prod.by Abaz & X-Plosive", name: "Fard - \"LIEBE MACHT BLIND\" (Official Video) prod.by Abaz & X-Plosive",
length: Some(258), duration: Some(258),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PjJuezhos3U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAulYAOlEdmCEOUhn3IQDk6lWuC5A", url: "https://i.ytimg.com/vi/PjJuezhos3U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAulYAOlEdmCEOUhn3IQDk6lWuC5A",
@ -1238,7 +1238,7 @@ Paginator(
VideoItem( VideoItem(
id: "XMutaJI2-kc", id: "XMutaJI2-kc",
name: "18 Karat ✖\u{fe0f}• MAMA IST NICHT STOLZ •✖\u{fe0f} [ official Video ]", name: "18 Karat ✖\u{fe0f}• MAMA IST NICHT STOLZ •✖\u{fe0f} [ official Video ]",
length: Some(262), duration: Some(262),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XMutaJI2-kc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCCJIA4Omo1CkTXkOzYVdNbP0Mkrw", url: "https://i.ytimg.com/vi/XMutaJI2-kc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCCJIA4Omo1CkTXkOzYVdNbP0Mkrw",
@ -1279,7 +1279,7 @@ Paginator(
VideoItem( VideoItem(
id: "Xac6Q7hcZkQ", id: "Xac6Q7hcZkQ",
name: "RIN - Monica Bellucci (prod. Alexis Troy)", name: "RIN - Monica Bellucci (prod. Alexis Troy)",
length: Some(228), duration: Some(228),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Xac6Q7hcZkQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDkwIz_hDDGLXX8i3uaKaWIl9ZH1Q", url: "https://i.ytimg.com/vi/Xac6Q7hcZkQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDkwIz_hDDGLXX8i3uaKaWIl9ZH1Q",
@ -1320,7 +1320,7 @@ Paginator(
VideoItem( VideoItem(
id: "JfwjsjBcDoU", id: "JfwjsjBcDoU",
name: "Helene Fischer - Achterbahn", name: "Helene Fischer - Achterbahn",
length: Some(222), duration: Some(222),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/JfwjsjBcDoU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMhxxaiLymi4ZQ3WvJpovkdQfqSQ", url: "https://i.ytimg.com/vi/JfwjsjBcDoU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMhxxaiLymi4ZQ3WvJpovkdQfqSQ",
@ -1361,7 +1361,7 @@ Paginator(
VideoItem( VideoItem(
id: "zshiQUV3ohw", id: "zshiQUV3ohw",
name: "MOE PHOENIX feat. VEYSEL - GAUNER (prod. by Ghana Beats)", name: "MOE PHOENIX feat. VEYSEL - GAUNER (prod. by Ghana Beats)",
length: Some(226), duration: Some(226),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zshiQUV3ohw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAqPtA9IBm0Dp_o89aj1F18oYvRnw", url: "https://i.ytimg.com/vi/zshiQUV3ohw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAqPtA9IBm0Dp_o89aj1F18oYvRnw",
@ -1402,7 +1402,7 @@ Paginator(
VideoItem( VideoItem(
id: "g1eTAt1_VAM", id: "g1eTAt1_VAM",
name: "Nimo - HYPE feat. Celo & Abdi (prod. von Matveï) [Official 4K Video]", name: "Nimo - HYPE feat. Celo & Abdi (prod. von Matveï) [Official 4K Video]",
length: Some(303), duration: Some(303),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/g1eTAt1_VAM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBuGSL6ChVGrfHZvlpcgOnkQmDnkg", url: "https://i.ytimg.com/vi/g1eTAt1_VAM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBuGSL6ChVGrfHZvlpcgOnkQmDnkg",
@ -1443,7 +1443,7 @@ Paginator(
VideoItem( VideoItem(
id: "c3rLrFC8igY", id: "c3rLrFC8igY",
name: "Dame - Auf die guten alten Zeiten [Official HD Video]", name: "Dame - Auf die guten alten Zeiten [Official HD Video]",
length: Some(252), duration: Some(252),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/c3rLrFC8igY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgRig8MA8=&rs=AOn4CLDwPn1CndxsMh6zW-hj5sxAmTVMcA", url: "https://i.ytimg.com/vi/c3rLrFC8igY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgRig8MA8=&rs=AOn4CLDwPn1CndxsMh6zW-hj5sxAmTVMcA",
@ -1484,7 +1484,7 @@ Paginator(
VideoItem( VideoItem(
id: "1im4DNEYzEM", id: "1im4DNEYzEM",
name: "Gzuz - Optimal (Jambeatz)", name: "Gzuz - Optimal (Jambeatz)",
length: Some(209), duration: Some(209),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1im4DNEYzEM/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgTyhMMA8=&rs=AOn4CLBx6JS1pZn9Qgq-BchE8fv8lUP6nA", url: "https://i.ytimg.com/vi/1im4DNEYzEM/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgTyhMMA8=&rs=AOn4CLBx6JS1pZn9Qgq-BchE8fv8lUP6nA",
@ -1525,7 +1525,7 @@ Paginator(
VideoItem( VideoItem(
id: "8BUxw9ocM2s", id: "8BUxw9ocM2s",
name: "EULE aka Jazzy Gudd - Stehaufmädchen (Official Video)", name: "EULE aka Jazzy Gudd - Stehaufmädchen (Official Video)",
length: Some(184), duration: Some(184),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8BUxw9ocM2s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD07FNMfJFNvAE1cQaM6d0TKN3thA", url: "https://i.ytimg.com/vi/8BUxw9ocM2s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD07FNMfJFNvAE1cQaM6d0TKN3thA",
@ -1566,7 +1566,7 @@ Paginator(
VideoItem( VideoItem(
id: "g4cSpnGbHPE", id: "g4cSpnGbHPE",
name: "CAPITAL BRA & KING KHALIL - ZWEISTELLIGE HAFTSTRAFEN (PROD. SAVEN MUSIQ)", name: "CAPITAL BRA & KING KHALIL - ZWEISTELLIGE HAFTSTRAFEN (PROD. SAVEN MUSIQ)",
length: Some(201), duration: Some(201),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/g4cSpnGbHPE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgWyhCMA8=&rs=AOn4CLDm0FhfKylnfery4UqpUghgot5oaA", url: "https://i.ytimg.com/vi/g4cSpnGbHPE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgWyhCMA8=&rs=AOn4CLDm0FhfKylnfery4UqpUghgot5oaA",
@ -1607,7 +1607,7 @@ Paginator(
VideoItem( VideoItem(
id: "1Sdj9MiCowQ", id: "1Sdj9MiCowQ",
name: "187 Strassenbande - 10 Jahre (Jambeatz)", name: "187 Strassenbande - 10 Jahre (Jambeatz)",
length: Some(296), duration: Some(296),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1Sdj9MiCowQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVShMMA8=&rs=AOn4CLAAZTsrfwImW7FvwIYWJ9K0JnNVkA", url: "https://i.ytimg.com/vi/1Sdj9MiCowQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVShMMA8=&rs=AOn4CLAAZTsrfwImW7FvwIYWJ9K0JnNVkA",
@ -1648,7 +1648,7 @@ Paginator(
VideoItem( VideoItem(
id: "2DbR35g-0ZY", id: "2DbR35g-0ZY",
name: "Ufo361 - \"DER PATE\" (prod. von Broke Boys) [Official HD Video]", name: "Ufo361 - \"DER PATE\" (prod. von Broke Boys) [Official HD Video]",
length: Some(237), duration: Some(237),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2DbR35g-0ZY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gHig8MA8=&rs=AOn4CLAAOdr62yoknUpc5OIvFP4ewD01dw", url: "https://i.ytimg.com/vi/2DbR35g-0ZY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gHig8MA8=&rs=AOn4CLAAOdr62yoknUpc5OIvFP4ewD01dw",
@ -1689,7 +1689,7 @@ Paginator(
VideoItem( VideoItem(
id: "j09hpp3AxIE", id: "j09hpp3AxIE",
name: "Die Toten Hosen // „Tage wie diese\" [Offizielles Musikvideo]", name: "Die Toten Hosen // „Tage wie diese\" [Offizielles Musikvideo]",
length: Some(272), duration: Some(272),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/j09hpp3AxIE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9AYFv29sGfmmdT8U1dqKUjY5ALw", url: "https://i.ytimg.com/vi/j09hpp3AxIE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9AYFv29sGfmmdT8U1dqKUjY5ALw",
@ -1730,7 +1730,7 @@ Paginator(
VideoItem( VideoItem(
id: "J3GN6JXjV3g", id: "J3GN6JXjV3g",
name: "Wincent Weiss - Frische Luft", name: "Wincent Weiss - Frische Luft",
length: Some(200), duration: Some(200),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/J3GN6JXjV3g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB66Ro2vGeZvHM0dnqbT6HVGtuQNA", url: "https://i.ytimg.com/vi/J3GN6JXjV3g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB66Ro2vGeZvHM0dnqbT6HVGtuQNA",
@ -1771,7 +1771,7 @@ Paginator(
VideoItem( VideoItem(
id: "pULl-p02upM", id: "pULl-p02upM",
name: "Eunique ► CHECK (feat. Xatar) ◄ music by Lucry / prod. by Michael Jackson [Official Video]", name: "Eunique ► CHECK (feat. Xatar) ◄ music by Lucry / prod. by Michael Jackson [Official Video]",
length: Some(240), duration: Some(240),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pULl-p02upM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjH5lXg2mtjBxznFQpauBgpZ6S5g", url: "https://i.ytimg.com/vi/pULl-p02upM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjH5lXg2mtjBxznFQpauBgpZ6S5g",
@ -1812,7 +1812,7 @@ Paginator(
VideoItem( VideoItem(
id: "O6By8JeCtQQ", id: "O6By8JeCtQQ",
name: "KING KHALIL FT. CELO & ABDI - ALLES RICHTIG SO (PROD.BY THE CRATEZ)", name: "KING KHALIL FT. CELO & ABDI - ALLES RICHTIG SO (PROD.BY THE CRATEZ)",
length: Some(210), duration: Some(210),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/O6By8JeCtQQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBeEDlx_Qtv47nY5CUFqHFv3eJAJQ", url: "https://i.ytimg.com/vi/O6By8JeCtQQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBeEDlx_Qtv47nY5CUFqHFv3eJAJQ",
@ -1853,7 +1853,7 @@ Paginator(
VideoItem( VideoItem(
id: "NGn3IYQ7M7E", id: "NGn3IYQ7M7E",
name: "LUCIANO - VORANKOMMEN (prod. by Chryziz Beats)", name: "LUCIANO - VORANKOMMEN (prod. by Chryziz Beats)",
length: Some(228), duration: Some(228),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NGn3IYQ7M7E/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGDIgYChyMA8=&rs=AOn4CLA2wpgBg-MXTT_iZyBlTP7ur2bZBw", url: "https://i.ytimg.com/vi/NGn3IYQ7M7E/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGDIgYChyMA8=&rs=AOn4CLA2wpgBg-MXTT_iZyBlTP7ur2bZBw",
@ -1894,7 +1894,7 @@ Paginator(
VideoItem( VideoItem(
id: "o43oI5x86dI", id: "o43oI5x86dI",
name: "Gzuz feat. LX- Schnapp! (prod. P.M.B.)", name: "Gzuz feat. LX- Schnapp! (prod. P.M.B.)",
length: Some(166), duration: Some(166),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/o43oI5x86dI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDeGB5wc8URrV5zjwsfhU2-lAd2Bg", url: "https://i.ytimg.com/vi/o43oI5x86dI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDeGB5wc8URrV5zjwsfhU2-lAd2Bg",
@ -1935,7 +1935,7 @@ Paginator(
VideoItem( VideoItem(
id: "7TNqUrINxzs", id: "7TNqUrINxzs",
name: "Veysel - Besser als 50 Cent (OFFICIAL HD VIDEO) prod. by Fonty", name: "Veysel - Besser als 50 Cent (OFFICIAL HD VIDEO) prod. by Fonty",
length: Some(197), duration: Some(197),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7TNqUrINxzs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDGpJi_1puIgwODMepICvhX3qrmvw", url: "https://i.ytimg.com/vi/7TNqUrINxzs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDGpJi_1puIgwODMepICvhX3qrmvw",
@ -1976,7 +1976,7 @@ Paginator(
VideoItem( VideoItem(
id: "f3BD5Zm3cp0", id: "f3BD5Zm3cp0",
name: "BONEZ MC & RAF CAMORA - PALMEN AUS GOLD", name: "BONEZ MC & RAF CAMORA - PALMEN AUS GOLD",
length: Some(231), duration: Some(231),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/f3BD5Zm3cp0/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEUgVihlMA8=&rs=AOn4CLAiVFr5c0yW81qlZDUAapLUrvLF5Q", url: "https://i.ytimg.com/vi/f3BD5Zm3cp0/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEUgVihlMA8=&rs=AOn4CLAiVFr5c0yW81qlZDUAapLUrvLF5Q",
@ -2017,7 +2017,7 @@ Paginator(
VideoItem( VideoItem(
id: "sF4yTDp95Eo", id: "sF4yTDp95Eo",
name: "YONII - LAMPEDUSA prod. by LUCRY (Official 4K Video)", name: "YONII - LAMPEDUSA prod. by LUCRY (Official 4K Video)",
length: Some(203), duration: Some(203),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/sF4yTDp95Eo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBvg9CIthGa9KJrDHLjeZjkDegElw", url: "https://i.ytimg.com/vi/sF4yTDp95Eo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBvg9CIthGa9KJrDHLjeZjkDegElw",
@ -2058,7 +2058,7 @@ Paginator(
VideoItem( VideoItem(
id: "1EwLNHg6ejY", id: "1EwLNHg6ejY",
name: "Mert ft. SOOLKING - AJAJAJ (prod. by ARIBEATZ)", name: "Mert ft. SOOLKING - AJAJAJ (prod. by ARIBEATZ)",
length: Some(224), duration: Some(224),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1EwLNHg6ejY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxADlCvmeGhe-SPNkvZcVQk7wu4g", url: "https://i.ytimg.com/vi/1EwLNHg6ejY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxADlCvmeGhe-SPNkvZcVQk7wu4g",
@ -2099,7 +2099,7 @@ Paginator(
VideoItem( VideoItem(
id: "-l75qaSDWe8", id: "-l75qaSDWe8",
name: "SXTN - Bongzimmer (Official Video)", name: "SXTN - Bongzimmer (Official Video)",
length: Some(287), duration: Some(287),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/-l75qaSDWe8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMJGvaVHhQX1wQsr-3Kd2djDVIRQ", url: "https://i.ytimg.com/vi/-l75qaSDWe8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMJGvaVHhQX1wQsr-3Kd2djDVIRQ",
@ -2140,7 +2140,7 @@ Paginator(
VideoItem( VideoItem(
id: "7h7ntYLLrfQ", id: "7h7ntYLLrfQ",
name: "Mark Forster - Kogong", name: "Mark Forster - Kogong",
length: Some(223), duration: Some(223),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7h7ntYLLrfQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAtAzQLSNQvigkTqhdfBgz8WSOyTA", url: "https://i.ytimg.com/vi/7h7ntYLLrfQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAtAzQLSNQvigkTqhdfBgz8WSOyTA",
@ -2181,7 +2181,7 @@ Paginator(
VideoItem( VideoItem(
id: "ApUl3Ops69M", id: "ApUl3Ops69M",
name: "AZET - FAST LIFE (prod. by m3) #KMNSTREET VOL. 1", name: "AZET - FAST LIFE (prod. by m3) #KMNSTREET VOL. 1",
length: Some(179), duration: Some(179),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ApUl3Ops69M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDb2436I_Kp7y4gMe6w7nh_DN0F2Q", url: "https://i.ytimg.com/vi/ApUl3Ops69M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDb2436I_Kp7y4gMe6w7nh_DN0F2Q",
@ -2222,7 +2222,7 @@ Paginator(
VideoItem( VideoItem(
id: "2YcJ8Wightw", id: "2YcJ8Wightw",
name: "GZUZ - CL500 (Jambeatz)", name: "GZUZ - CL500 (Jambeatz)",
length: Some(152), duration: Some(152),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2YcJ8Wightw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBafY_AaRX5vaAIfpdctKTL8ZbUqQ", url: "https://i.ytimg.com/vi/2YcJ8Wightw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBafY_AaRX5vaAIfpdctKTL8ZbUqQ",
@ -2263,7 +2263,7 @@ Paginator(
VideoItem( VideoItem(
id: "W3q8Od5qJio", id: "W3q8Od5qJio",
name: "Rammstein - Du Hast (Official 4K Video)", name: "Rammstein - Du Hast (Official 4K Video)",
length: Some(236), duration: Some(236),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/W3q8Od5qJio/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBy8BHWAiUz5cUmZdLkDTTIS7w5bA", url: "https://i.ytimg.com/vi/W3q8Od5qJio/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBy8BHWAiUz5cUmZdLkDTTIS7w5bA",
@ -2304,7 +2304,7 @@ Paginator(
VideoItem( VideoItem(
id: "WPFLAjmWCtk", id: "WPFLAjmWCtk",
name: "SIDO - Astronaut (feat. Andreas Bourani) OFFICIAL VIDEO", name: "SIDO - Astronaut (feat. Andreas Bourani) OFFICIAL VIDEO",
length: Some(268), duration: Some(268),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WPFLAjmWCtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA6n25WXYSKiK6KbfsZk-monR1BQ", url: "https://i.ytimg.com/vi/WPFLAjmWCtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA6n25WXYSKiK6KbfsZk-monR1BQ",
@ -2345,7 +2345,7 @@ Paginator(
VideoItem( VideoItem(
id: "tC76tIp0kBk", id: "tC76tIp0kBk",
name: "MoTrip - So wie du bist (feat. Lary)", name: "MoTrip - So wie du bist (feat. Lary)",
length: Some(312), duration: Some(312),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/tC76tIp0kBk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBCSXdft-cKXNbKDFWX-UBvjgjeOQ", url: "https://i.ytimg.com/vi/tC76tIp0kBk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBCSXdft-cKXNbKDFWX-UBvjgjeOQ",
@ -2386,7 +2386,7 @@ Paginator(
VideoItem( VideoItem(
id: "kiMG_JV2gbo", id: "kiMG_JV2gbo",
name: "Adel Tawil \"Lieder\" (Official Lyrics Video)", name: "Adel Tawil \"Lieder\" (Official Lyrics Video)",
length: Some(230), duration: Some(230),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/kiMG_JV2gbo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDuETow7IpKT30ZdSsh-9L6ns1Uww", url: "https://i.ytimg.com/vi/kiMG_JV2gbo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDuETow7IpKT30ZdSsh-9L6ns1Uww",
@ -2427,7 +2427,7 @@ Paginator(
VideoItem( VideoItem(
id: "CrYYg_atdtk", id: "CrYYg_atdtk",
name: "Marteria, Yasha, Miss Platnum - Lila Wolken (Official Video)", name: "Marteria, Yasha, Miss Platnum - Lila Wolken (Official Video)",
length: Some(231), duration: Some(231),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CrYYg_atdtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_8mGL48FutWtNIFldaMsVmhlhnw", url: "https://i.ytimg.com/vi/CrYYg_atdtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_8mGL48FutWtNIFldaMsVmhlhnw",
@ -2468,7 +2468,7 @@ Paginator(
VideoItem( VideoItem(
id: "XTPGpBBwt1w", id: "XTPGpBBwt1w",
name: "K.I.Z. - Hurra die Welt geht unter ft. Henning May (Official Video)", name: "K.I.Z. - Hurra die Welt geht unter ft. Henning May (Official Video)",
length: Some(299), duration: Some(299),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XTPGpBBwt1w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAcYXhOsrGetd_0wuibgBFV7YBnIg", url: "https://i.ytimg.com/vi/XTPGpBBwt1w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAcYXhOsrGetd_0wuibgBFV7YBnIg",
@ -2509,7 +2509,7 @@ Paginator(
VideoItem( VideoItem(
id: "uC08L4xxjNM", id: "uC08L4xxjNM",
name: "Max Giesinger - 80 Millionen (Offizielles Video)", name: "Max Giesinger - 80 Millionen (Offizielles Video)",
length: Some(257), duration: Some(257),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/uC08L4xxjNM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOc-MPZ_rsmax81mL3f8AgLsX90Q", url: "https://i.ytimg.com/vi/uC08L4xxjNM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOc-MPZ_rsmax81mL3f8AgLsX90Q",
@ -2550,7 +2550,7 @@ Paginator(
VideoItem( VideoItem(
id: "5fAoV_AAMf0", id: "5fAoV_AAMf0",
name: "Mark Forster - Bauch und Kopf (Videoclip)", name: "Mark Forster - Bauch und Kopf (Videoclip)",
length: Some(257), duration: Some(257),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5fAoV_AAMf0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfOpErDWIsYZ61_NlNduG5z2W5Cg", url: "https://i.ytimg.com/vi/5fAoV_AAMf0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfOpErDWIsYZ61_NlNduG5z2W5Cg",
@ -2591,7 +2591,7 @@ Paginator(
VideoItem( VideoItem(
id: "u5Vz7obL460", id: "u5Vz7obL460",
name: "Tim Bendzko - Keine Maschine (Offizielles Video)", name: "Tim Bendzko - Keine Maschine (Offizielles Video)",
length: Some(202), duration: Some(202),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/u5Vz7obL460/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGFIgXihlMA8=&rs=AOn4CLC1InTb9tzurJ8KYVVxYlr_mAviGw", url: "https://i.ytimg.com/vi/u5Vz7obL460/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGFIgXihlMA8=&rs=AOn4CLC1InTb9tzurJ8KYVVxYlr_mAviGw",
@ -2632,7 +2632,7 @@ Paginator(
VideoItem( VideoItem(
id: "ZPJlyRv_IGI", id: "ZPJlyRv_IGI",
name: "Deichkind - Leider Geil (Official Video)", name: "Deichkind - Leider Geil (Official Video)",
length: Some(189), duration: Some(189),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ZPJlyRv_IGI/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-DoACuAiKAgwIABABGH8gLigsMA8=&rs=AOn4CLAsa5xqoVmmalzKDlxm2W274NBygg", url: "https://i.ytimg.com/vi/ZPJlyRv_IGI/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-DoACuAiKAgwIABABGH8gLigsMA8=&rs=AOn4CLAsa5xqoVmmalzKDlxm2W274NBygg",
@ -2673,7 +2673,7 @@ Paginator(
VideoItem( VideoItem(
id: "s2SLbln-JwE", id: "s2SLbln-JwE",
name: "BIBI & TINA \" Jungs gegen Mädchen - MÄDCHEN GEGEN JUNGS - Das offizielle Video!", name: "BIBI & TINA \" Jungs gegen Mädchen - MÄDCHEN GEGEN JUNGS - Das offizielle Video!",
length: Some(172), duration: Some(172),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/s2SLbln-JwE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDURk566C-Rh1vwMamXVandCsnDvQ", url: "https://i.ytimg.com/vi/s2SLbln-JwE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDURk566C-Rh1vwMamXVandCsnDvQ",
@ -2714,7 +2714,7 @@ Paginator(
VideoItem( VideoItem(
id: "28xHtRw6pG8", id: "28xHtRw6pG8",
name: "AZET - PATTE FLIESST prod. by LUCRY #KMNSTREET VOL. 5", name: "AZET - PATTE FLIESST prod. by LUCRY #KMNSTREET VOL. 5",
length: Some(206), duration: Some(206),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/28xHtRw6pG8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAZB8XpsXloeCqWZpyZt8YNvV2IxQ", url: "https://i.ytimg.com/vi/28xHtRw6pG8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAZB8XpsXloeCqWZpyZt8YNvV2IxQ",
@ -2755,7 +2755,7 @@ Paginator(
VideoItem( VideoItem(
id: "joWoKqUTRvc", id: "joWoKqUTRvc",
name: "KC Rebell ► ALLES & NICHTS ◄ [ official Video ]", name: "KC Rebell ► ALLES & NICHTS ◄ [ official Video ]",
length: Some(204), duration: Some(204),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/joWoKqUTRvc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAwlxydPxzE_jwb1rNbqmjdMEEoQ", url: "https://i.ytimg.com/vi/joWoKqUTRvc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAwlxydPxzE_jwb1rNbqmjdMEEoQ",
@ -2796,7 +2796,7 @@ Paginator(
VideoItem( VideoItem(
id: "XNMFTqhcNrE", id: "XNMFTqhcNrE",
name: "Mark Forster - Flash mich (Videoclip)", name: "Mark Forster - Flash mich (Videoclip)",
length: Some(236), duration: Some(236),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XNMFTqhcNrE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBTr_B4ekTBT9hupTStE4MOf52PVw", url: "https://i.ytimg.com/vi/XNMFTqhcNrE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBTr_B4ekTBT9hupTStE4MOf52PVw",
@ -2837,7 +2837,7 @@ Paginator(
VideoItem( VideoItem(
id: "v3vPLgJ9FX8", id: "v3vPLgJ9FX8",
name: "Cheat Codes - Sex (Official Video)", name: "Cheat Codes - Sex (Official Video)",
length: Some(260), duration: Some(260),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/v3vPLgJ9FX8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA_hmNsTwTENDy4Bjh6gh__yW3GIQ", url: "https://i.ytimg.com/vi/v3vPLgJ9FX8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA_hmNsTwTENDy4Bjh6gh__yW3GIQ",
@ -2878,7 +2878,7 @@ Paginator(
VideoItem( VideoItem(
id: "UFXOd179kOA", id: "UFXOd179kOA",
name: "GZUZ - EBBE & FLUT (mit Xatar & Hanybal)", name: "GZUZ - EBBE & FLUT (mit Xatar & Hanybal)",
length: Some(213), duration: Some(213),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/UFXOd179kOA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-tY05WssNwj08bjU_P1qVrXP3Ag", url: "https://i.ytimg.com/vi/UFXOd179kOA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-tY05WssNwj08bjU_P1qVrXP3Ag",
@ -2919,7 +2919,7 @@ Paginator(
VideoItem( VideoItem(
id: "4xRsDnKgHZc", id: "4xRsDnKgHZc",
name: "ZUNA feat. NIMO - HOL MIR DEIN COUSIN (Official 4K Video)", name: "ZUNA feat. NIMO - HOL MIR DEIN COUSIN (Official 4K Video)",
length: Some(206), duration: Some(206),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4xRsDnKgHZc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2YQRMQrDjFZXKHm-HPOKNZY-kmw", url: "https://i.ytimg.com/vi/4xRsDnKgHZc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2YQRMQrDjFZXKHm-HPOKNZY-kmw",
@ -2960,7 +2960,7 @@ Paginator(
VideoItem( VideoItem(
id: "mE3IjoEqMqY", id: "mE3IjoEqMqY",
name: "Hanybal - VANILLA SKY mit Nimo (prod. von Lucry) [Official 4K Video]", name: "Hanybal - VANILLA SKY mit Nimo (prod. von Lucry) [Official 4K Video]",
length: Some(211), duration: Some(211),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mE3IjoEqMqY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARArW0ieGDVRQ4Qhp8JWepnfeDtg", url: "https://i.ytimg.com/vi/mE3IjoEqMqY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARArW0ieGDVRQ4Qhp8JWepnfeDtg",
@ -3001,7 +3001,7 @@ Paginator(
VideoItem( VideoItem(
id: "E7e5vxKerqA", id: "E7e5vxKerqA",
name: "DARDAN FT. ENO - WER MACHT PARA? (Official Video)", name: "DARDAN FT. ENO - WER MACHT PARA? (Official Video)",
length: Some(195), duration: Some(195),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/E7e5vxKerqA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYmNJ23r8Y5wE4xpfNz2ms6i3omw", url: "https://i.ytimg.com/vi/E7e5vxKerqA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYmNJ23r8Y5wE4xpfNz2ms6i3omw",
@ -3042,7 +3042,7 @@ Paginator(
VideoItem( VideoItem(
id: "axmZ_5Rx4Go", id: "axmZ_5Rx4Go",
name: "Adel Tawil \"Zuhause\" (Official Music Video)", name: "Adel Tawil \"Zuhause\" (Official Music Video)",
length: Some(210), duration: Some(210),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/axmZ_5Rx4Go/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDh0E0WIHz_QeECpxh9OcCQgP80Tw", url: "https://i.ytimg.com/vi/axmZ_5Rx4Go/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDh0E0WIHz_QeECpxh9OcCQgP80Tw",
@ -3083,7 +3083,7 @@ Paginator(
VideoItem( VideoItem(
id: "44Ig6BsOCYA", id: "44Ig6BsOCYA",
name: "Olexesh - PURPLE HAZE (Offizielles Video)", name: "Olexesh - PURPLE HAZE (Offizielles Video)",
length: Some(279), duration: Some(279),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/44Ig6BsOCYA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAwH-0B_Aadbi2O9ba4EJUr3kyCA", url: "https://i.ytimg.com/vi/44Ig6BsOCYA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAwH-0B_Aadbi2O9ba4EJUr3kyCA",
@ -3124,7 +3124,7 @@ Paginator(
VideoItem( VideoItem(
id: "3iLBFEJjdN0", id: "3iLBFEJjdN0",
name: "SIDO - Löwenzahn feat. Olexesh (prod. by DJ Desue & x-plosive)", name: "SIDO - Löwenzahn feat. Olexesh (prod. by DJ Desue & x-plosive)",
length: Some(242), duration: Some(242),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3iLBFEJjdN0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2pjLj4MppP5puOVVw960xZHlEZQ", url: "https://i.ytimg.com/vi/3iLBFEJjdN0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2pjLj4MppP5puOVVw960xZHlEZQ",
@ -3165,7 +3165,7 @@ Paginator(
VideoItem( VideoItem(
id: "M-ncq2eHF_k", id: "M-ncq2eHF_k",
name: "Philipp Poisel - Ich will nur (Offizielles Video)", name: "Philipp Poisel - Ich will nur (Offizielles Video)",
length: Some(233), duration: Some(233),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/M-ncq2eHF_k/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUyhAMA8=&rs=AOn4CLAMdawKceSh6Dzs15D6GxrLI5K_rQ", url: "https://i.ytimg.com/vi/M-ncq2eHF_k/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUyhAMA8=&rs=AOn4CLAMdawKceSh6Dzs15D6GxrLI5K_rQ",
@ -3206,7 +3206,7 @@ Paginator(
VideoItem( VideoItem(
id: "cgb-zp9DDHg", id: "cgb-zp9DDHg",
name: "Bushido X Shindy - Brot brechen", name: "Bushido X Shindy - Brot brechen",
length: Some(191), duration: Some(191),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cgb-zp9DDHg/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgYShJMA8=&rs=AOn4CLDlEBGR7d_j3XjTUqjAe6Ymzsyb5g", url: "https://i.ytimg.com/vi/cgb-zp9DDHg/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgYShJMA8=&rs=AOn4CLDlEBGR7d_j3XjTUqjAe6Ymzsyb5g",
@ -3247,7 +3247,7 @@ Paginator(
VideoItem( VideoItem(
id: "Q7ZXg3KQLt0", id: "Q7ZXg3KQLt0",
name: "KOLLEGAH - Genozid (prod. von B-Case & Alexis Troy) (Official HD Video)", name: "KOLLEGAH - Genozid (prod. von B-Case & Alexis Troy) (Official HD Video)",
length: Some(407), duration: Some(407),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Q7ZXg3KQLt0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCntzPVc1exjqTv4dMIRNj9l_fPFA", url: "https://i.ytimg.com/vi/Q7ZXg3KQLt0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCntzPVc1exjqTv4dMIRNj9l_fPFA",
@ -3288,7 +3288,7 @@ Paginator(
VideoItem( VideoItem(
id: "ysAEZOwp5rM", id: "ysAEZOwp5rM",
name: "KOLLEGAH - John Gotti (prod. von Alexis Troy) (Official HD Video)", name: "KOLLEGAH - John Gotti (prod. von Alexis Troy) (Official HD Video)",
length: Some(207), duration: Some(207),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ysAEZOwp5rM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAq4pm6ReaUxi45Ao_rQqFb-zTDqQ", url: "https://i.ytimg.com/vi/ysAEZOwp5rM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAq4pm6ReaUxi45Ao_rQqFb-zTDqQ",
@ -3329,7 +3329,7 @@ Paginator(
VideoItem( VideoItem(
id: "m5vfng33SVE", id: "m5vfng33SVE",
name: "Philipp Dittberner - Das ist dein Leben (Official Video)", name: "Philipp Dittberner - Das ist dein Leben (Official Video)",
length: Some(282), duration: Some(282),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/m5vfng33SVE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCy3rZ_vNJbHC6MPjBKfkH9OF4KxQ", url: "https://i.ytimg.com/vi/m5vfng33SVE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCy3rZ_vNJbHC6MPjBKfkH9OF4KxQ",
@ -3370,7 +3370,7 @@ Paginator(
VideoItem( VideoItem(
id: "yMfgjVlGbUE", id: "yMfgjVlGbUE",
name: "SpongeBOZZ - SFTB/Apocalyptic Infinity/Payback #forsundiego (Prod. by Digital Drama)", name: "SpongeBOZZ - SFTB/Apocalyptic Infinity/Payback #forsundiego (Prod. by Digital Drama)",
length: Some(1622), duration: Some(1622),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yMfgjVlGbUE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCImbZOtOhsu1n5GRh-mVYWhoCNGA", url: "https://i.ytimg.com/vi/yMfgjVlGbUE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCImbZOtOhsu1n5GRh-mVYWhoCNGA",
@ -3411,7 +3411,7 @@ Paginator(
VideoItem( VideoItem(
id: "OQIYEPe6DWY", id: "OQIYEPe6DWY",
name: "Kraftwerk - Das Model", name: "Kraftwerk - Das Model",
length: Some(262), duration: Some(262),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/OQIYEPe6DWY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGH8gHSgjMA8=&rs=AOn4CLATOckzhpynBc2knPq7R4_a1tHfVw", url: "https://i.ytimg.com/vi/OQIYEPe6DWY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGH8gHSgjMA8=&rs=AOn4CLATOckzhpynBc2knPq7R4_a1tHfVw",
@ -3452,7 +3452,7 @@ Paginator(
VideoItem( VideoItem(
id: "5FS8RIH7BpI", id: "5FS8RIH7BpI",
name: "GENETIKK - Wünsch dir was (Official HD Video)", name: "GENETIKK - Wünsch dir was (Official HD Video)",
length: Some(303), duration: Some(303),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5FS8RIH7BpI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAuSraLlm5j-ap1h2ePrD79sxdoNQ", url: "https://i.ytimg.com/vi/5FS8RIH7BpI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAuSraLlm5j-ap1h2ePrD79sxdoNQ",
@ -3493,7 +3493,7 @@ Paginator(
VideoItem( VideoItem(
id: "zSRKgFB9piY", id: "zSRKgFB9piY",
name: "Keine ist wie Du - Joel Brandenstein & Chrisoula Botsika ( Gregor Meyle Acoustic Cover )", name: "Keine ist wie Du - Joel Brandenstein & Chrisoula Botsika ( Gregor Meyle Acoustic Cover )",
length: Some(256), duration: Some(256),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zSRKgFB9piY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbaAoyp05Ae7eWUZvCAzFdRN6BMQ", url: "https://i.ytimg.com/vi/zSRKgFB9piY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbaAoyp05Ae7eWUZvCAzFdRN6BMQ",
@ -3534,7 +3534,7 @@ Paginator(
VideoItem( VideoItem(
id: "e4eHhgwHCME", id: "e4eHhgwHCME",
name: "Kollegah & Farid Bang ✖\u{fe0f}STURMMASKE AUF ✖\u{fe0f} [official video]", name: "Kollegah & Farid Bang ✖\u{fe0f}STURMMASKE AUF ✖\u{fe0f} [official video]",
length: Some(275), duration: Some(275),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/e4eHhgwHCME/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDj3vRRbJlmnPr4rqKRkmZs-JIN7A", url: "https://i.ytimg.com/vi/e4eHhgwHCME/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDj3vRRbJlmnPr4rqKRkmZs-JIN7A",
@ -3575,7 +3575,7 @@ Paginator(
VideoItem( VideoItem(
id: "q3hZvho7jNk", id: "q3hZvho7jNk",
name: "KC Rebell ✖\u{fe0f} PAPER ✖\u{fe0f} [ official Video ] GEE Futuristic, Nikki 3k & Joshimixu", name: "KC Rebell ✖\u{fe0f} PAPER ✖\u{fe0f} [ official Video ] GEE Futuristic, Nikki 3k & Joshimixu",
length: Some(222), duration: Some(222),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/q3hZvho7jNk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLwp5luIJpaNOWk7bSXdYfTn0sBA", url: "https://i.ytimg.com/vi/q3hZvho7jNk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLwp5luIJpaNOWk7bSXdYfTn0sBA",
@ -3616,7 +3616,7 @@ Paginator(
VideoItem( VideoItem(
id: "0nWysyj_Z4Y", id: "0nWysyj_Z4Y",
name: "Nimo - FLOUZ KOMMT FLOUZ GEHT (prod. von Jimmy Torrio) [Official 4K Video]", name: "Nimo - FLOUZ KOMMT FLOUZ GEHT (prod. von Jimmy Torrio) [Official 4K Video]",
length: Some(191), duration: Some(191),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0nWysyj_Z4Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGu4QNzr3EMjQcAiTkPrm3q60nQ", url: "https://i.ytimg.com/vi/0nWysyj_Z4Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGu4QNzr3EMjQcAiTkPrm3q60nQ",
@ -3657,7 +3657,7 @@ Paginator(
VideoItem( VideoItem(
id: "aGCcLWU0OVo", id: "aGCcLWU0OVo",
name: "SIDO - Gürtel am Arm", name: "SIDO - Gürtel am Arm",
length: Some(218), duration: Some(218),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/aGCcLWU0OVo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDArDAbvY0RsPSuJPBh4uyPYSr4Bw", url: "https://i.ytimg.com/vi/aGCcLWU0OVo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDArDAbvY0RsPSuJPBh4uyPYSr4Bw",
@ -3698,7 +3698,7 @@ Paginator(
VideoItem( VideoItem(
id: "OQsXLK4MeEA", id: "OQsXLK4MeEA",
name: "JBB 2013 - SpongeBOZZ vs. Gio (Finale HR) prod. by Digital Drama", name: "JBB 2013 - SpongeBOZZ vs. Gio (Finale HR) prod. by Digital Drama",
length: Some(400), duration: Some(400),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/OQsXLK4MeEA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBZWiGbF4RrO7JLpICvTuC-eHpfuw", url: "https://i.ytimg.com/vi/OQsXLK4MeEA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBZWiGbF4RrO7JLpICvTuC-eHpfuw",
@ -3739,7 +3739,7 @@ Paginator(
VideoItem( VideoItem(
id: "xm7dxIqOO2M", id: "xm7dxIqOO2M",
name: "KURDO - Halbmond (prod. by Amir & Kostas)", name: "KURDO - Halbmond (prod. by Amir & Kostas)",
length: Some(272), duration: Some(272),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xm7dxIqOO2M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxxl3-2dozhr306-FrORMGygKXoQ", url: "https://i.ytimg.com/vi/xm7dxIqOO2M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxxl3-2dozhr306-FrORMGygKXoQ",
@ -3780,7 +3780,7 @@ Paginator(
VideoItem( VideoItem(
id: "jlaaByab4Zk", id: "jlaaByab4Zk",
name: "Mc Yankoo feat. Milica Todorovic - Ljubi me budalo (official Video)", name: "Mc Yankoo feat. Milica Todorovic - Ljubi me budalo (official Video)",
length: Some(224), duration: Some(224),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/jlaaByab4Zk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBG5CJRj0SjU1Vm1l9EIGnWOG1mUQ", url: "https://i.ytimg.com/vi/jlaaByab4Zk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBG5CJRj0SjU1Vm1l9EIGnWOG1mUQ",
@ -3821,7 +3821,7 @@ Paginator(
VideoItem( VideoItem(
id: "KG9-jSqXz4U", id: "KG9-jSqXz4U",
name: "Oft Gefragt - AnnenMayKantereit (Official Video)", name: "Oft Gefragt - AnnenMayKantereit (Official Video)",
length: Some(205), duration: Some(205),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KG9-jSqXz4U/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgXyhVMA8=&rs=AOn4CLBxjTyoo39W0zf7cntnv35M9-2-Aw", url: "https://i.ytimg.com/vi/KG9-jSqXz4U/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgXyhVMA8=&rs=AOn4CLBxjTyoo39W0zf7cntnv35M9-2-Aw",
@ -3862,7 +3862,7 @@ Paginator(
VideoItem( VideoItem(
id: "7dISZnwsBSA", id: "7dISZnwsBSA",
name: "Prinz Pi - 1,40m (feat. Philipp Dittberner)", name: "Prinz Pi - 1,40m (feat. Philipp Dittberner)",
length: Some(284), duration: Some(284),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7dISZnwsBSA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2ZhuSJUc-O8GnUa12UH5Z08qWlA", url: "https://i.ytimg.com/vi/7dISZnwsBSA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2ZhuSJUc-O8GnUa12UH5Z08qWlA",
@ -3903,7 +3903,7 @@ Paginator(
VideoItem( VideoItem(
id: "F_PPdS-PB14", id: "F_PPdS-PB14",
name: "Nimo - IDÉAL (prod. von SOTT) [Official 4K Video]", name: "Nimo - IDÉAL (prod. von SOTT) [Official 4K Video]",
length: Some(253), duration: Some(253),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/F_PPdS-PB14/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIcbTSt6Q1Xo8sqLnyEbbXSuLBcg", url: "https://i.ytimg.com/vi/F_PPdS-PB14/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIcbTSt6Q1Xo8sqLnyEbbXSuLBcg",
@ -3944,7 +3944,7 @@ Paginator(
VideoItem( VideoItem(
id: "DMg9idvVY8M", id: "DMg9idvVY8M",
name: "Nimo - BITTER (prod. von Jimmy Torrio) [Official 4K Video]", name: "Nimo - BITTER (prod. von Jimmy Torrio) [Official 4K Video]",
length: Some(173), duration: Some(173),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DMg9idvVY8M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIg_8ZAGGj-OC9R8sh4txS_8bQHw", url: "https://i.ytimg.com/vi/DMg9idvVY8M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIg_8ZAGGj-OC9R8sh4txS_8bQHw",
@ -3985,7 +3985,7 @@ Paginator(
VideoItem( VideoItem(
id: "DGEmoSFI94Y", id: "DGEmoSFI94Y",
name: "SDP - Kurz für immer bleiben", name: "SDP - Kurz für immer bleiben",
length: Some(218), duration: Some(218),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DGEmoSFI94Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2H8YGPqxgGisgCPfV-svTSrBY3g", url: "https://i.ytimg.com/vi/DGEmoSFI94Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2H8YGPqxgGisgCPfV-svTSrBY3g",
@ -4026,7 +4026,7 @@ Paginator(
VideoItem( VideoItem(
id: "BtZufymxHvE", id: "BtZufymxHvE",
name: "LX & Maxwell - Ausser Kontrolle (Jambeatz)", name: "LX & Maxwell - Ausser Kontrolle (Jambeatz)",
length: Some(159), duration: Some(159),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BtZufymxHvE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGIgYihiMA8=&rs=AOn4CLBk573xWrbGYjsGZKTLo6inp8DKjw", url: "https://i.ytimg.com/vi/BtZufymxHvE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGIgYihiMA8=&rs=AOn4CLBk573xWrbGYjsGZKTLo6inp8DKjw",
@ -4067,7 +4067,7 @@ Paginator(
VideoItem( VideoItem(
id: "xFnlPF3KUqo", id: "xFnlPF3KUqo",
name: "Johannes Oerding - Jemanden wie dich (Musikvideo)", name: "Johannes Oerding - Jemanden wie dich (Musikvideo)",
length: Some(235), duration: Some(235),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xFnlPF3KUqo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD3CtkM4WHFt8EfDbOiE2oUbEi91Q", url: "https://i.ytimg.com/vi/xFnlPF3KUqo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD3CtkM4WHFt8EfDbOiE2oUbEi91Q",

View file

@ -8,7 +8,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "WPdWvnAAurg", id: "WPdWvnAAurg",
name: "aespa 에스파 \'Savage\' MV", name: "aespa 에스파 \'Savage\' MV",
length: Some(259), duration: Some(259),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw", url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw",
@ -45,7 +45,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "Y8JFxS1HlDo", id: "Y8JFxS1HlDo",
name: "IVE 아이브 \'LOVE DIVE\' MV", name: "IVE 아이브 \'LOVE DIVE\' MV",
length: Some(179), duration: Some(179),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Y8JFxS1HlDo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDf8U7fRH0R-qXbbGwKwpKBCeOa4A", url: "https://i.ytimg.com/vi/Y8JFxS1HlDo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDf8U7fRH0R-qXbbGwKwpKBCeOa4A",
@ -82,7 +82,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "NoYKBAajoyo", id: "NoYKBAajoyo",
name: "EVERGLOW (에버글로우) - DUN DUN MV", name: "EVERGLOW (에버글로우) - DUN DUN MV",
length: Some(209), duration: Some(209),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NoYKBAajoyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3OhCUbjpIclmjfV8W8T98nVI5pA", url: "https://i.ytimg.com/vi/NoYKBAajoyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3OhCUbjpIclmjfV8W8T98nVI5pA",
@ -119,7 +119,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "yQUU29NwNF4", id: "yQUU29NwNF4",
name: "aespa(에스파) - Black Mamba @인기가요 inkigayo 20201122", name: "aespa(에스파) - Black Mamba @인기가요 inkigayo 20201122",
length: Some(213), duration: Some(213),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yQUU29NwNF4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA4pIWwOFmVuVU-jZ-j7S4GvgxjKw", url: "https://i.ytimg.com/vi/yQUU29NwNF4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA4pIWwOFmVuVU-jZ-j7S4GvgxjKw",
@ -156,7 +156,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "NU611fxGyPU", id: "NU611fxGyPU",
name: "aespa 에스파 \'Black Mamba\' Dance Practice", name: "aespa 에스파 \'Black Mamba\' Dance Practice",
length: Some(175), duration: Some(175),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NU611fxGyPU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgKORzcy6WKosI1_PAVWDgcjJ9jA", url: "https://i.ytimg.com/vi/NU611fxGyPU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgKORzcy6WKosI1_PAVWDgcjJ9jA",
@ -193,7 +193,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "EaswWiwMVs8", id: "EaswWiwMVs8",
name: "Stray Kids \"소리꾼(Thunderous)\" M/V", name: "Stray Kids \"소리꾼(Thunderous)\" M/V",
length: Some(199), duration: Some(199),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EaswWiwMVs8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC2hrj6yzhYrHdiS7z5i99gt15fNw", url: "https://i.ytimg.com/vi/EaswWiwMVs8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC2hrj6yzhYrHdiS7z5i99gt15fNw",
@ -230,7 +230,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "Ujb-gvqsoi0", id: "Ujb-gvqsoi0",
name: "Red Velvet - IRENE & SEULGI \'Monster\' MV", name: "Red Velvet - IRENE & SEULGI \'Monster\' MV",
length: Some(182), duration: Some(182),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Ujb-gvqsoi0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrGO-Gkm-UqCln07oFNKfFgioXYQ", url: "https://i.ytimg.com/vi/Ujb-gvqsoi0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrGO-Gkm-UqCln07oFNKfFgioXYQ",
@ -267,7 +267,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "gQlMMD8auMs", id: "gQlMMD8auMs",
name: "BLACKPINK - Pink Venom M/V", name: "BLACKPINK - Pink Venom M/V",
length: Some(194), duration: Some(194),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gQlMMD8auMs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCj78qKZEzgUEGZFed9G0gU30GOLw", url: "https://i.ytimg.com/vi/gQlMMD8auMs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCj78qKZEzgUEGZFed9G0gU30GOLw",
@ -304,7 +304,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "BL-aIpCLWnU", id: "BL-aIpCLWnU",
name: "Black Mamba", name: "Black Mamba",
length: Some(175), duration: Some(175),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BL-aIpCLWnU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFFU1Bs-mHwS-BGXCbvWM2SS41kw", url: "https://i.ytimg.com/vi/BL-aIpCLWnU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFFU1Bs-mHwS-BGXCbvWM2SS41kw",
@ -341,7 +341,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "Jh4QFaPmdss", id: "Jh4QFaPmdss",
name: "(G)I-DLE - \'TOMBOY\' Official Music Video", name: "(G)I-DLE - \'TOMBOY\' Official Music Video",
length: Some(198), duration: Some(198),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Jh4QFaPmdss/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQf02NuUqxsFasUAqJQYGS6SMDkw", url: "https://i.ytimg.com/vi/Jh4QFaPmdss/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQf02NuUqxsFasUAqJQYGS6SMDkw",
@ -378,7 +378,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "Fc-fa6cAe2c", id: "Fc-fa6cAe2c",
name: "KAI 카이 \'음 (Mmmh)\' MV", name: "KAI 카이 \'음 (Mmmh)\' MV",
length: Some(207), duration: Some(207),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Fc-fa6cAe2c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDstHiMkONiE2lMJVWO9-yOeF1GkA", url: "https://i.ytimg.com/vi/Fc-fa6cAe2c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDstHiMkONiE2lMJVWO9-yOeF1GkA",
@ -415,7 +415,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "dYRITmpFbJ4", id: "dYRITmpFbJ4",
name: "aespa 에스파 \'Girls\' MV", name: "aespa 에스파 \'Girls\' MV",
length: Some(269), duration: Some(269),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dYRITmpFbJ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBOxN6ukbZNOPwUBhRZYgG9r23lng", url: "https://i.ytimg.com/vi/dYRITmpFbJ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBOxN6ukbZNOPwUBhRZYgG9r23lng",
@ -452,7 +452,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "mH0_XpSHkZo", id: "mH0_XpSHkZo",
name: "TWICE \"MORE & MORE\" M/V", name: "TWICE \"MORE & MORE\" M/V",
length: Some(241), duration: Some(241),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mH0_XpSHkZo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCSj0FWw50vVV42c19quxnLJJDg2w", url: "https://i.ytimg.com/vi/mH0_XpSHkZo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCSj0FWw50vVV42c19quxnLJJDg2w",
@ -489,7 +489,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "uR8Mrt1IpXg", id: "uR8Mrt1IpXg",
name: "Red Velvet 레드벨벳 \'Psycho\' MV", name: "Red Velvet 레드벨벳 \'Psycho\' MV",
length: Some(216), duration: Some(216),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/uR8Mrt1IpXg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnAsLcZaI1uWDB4nag1KnNotAUWw", url: "https://i.ytimg.com/vi/uR8Mrt1IpXg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnAsLcZaI1uWDB4nag1KnNotAUWw",
@ -526,7 +526,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "f5_wn8mexmM", id: "f5_wn8mexmM",
name: "TWICE \"The Feels\" M/V", name: "TWICE \"The Feels\" M/V",
length: Some(232), duration: Some(232),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/f5_wn8mexmM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC-tykU4D6qLBX-nq1pKpdhgUkOFw", url: "https://i.ytimg.com/vi/f5_wn8mexmM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC-tykU4D6qLBX-nq1pKpdhgUkOFw",
@ -563,7 +563,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "Ky5RT5oGg0w", id: "Ky5RT5oGg0w",
name: "aespa 에스파 \'Black Mamba\' The Debut Stage", name: "aespa 에스파 \'Black Mamba\' The Debut Stage",
length: Some(287), duration: Some(287),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Ky5RT5oGg0w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDJkgSdPQbJFvU3MAgGaK16luJMyQ", url: "https://i.ytimg.com/vi/Ky5RT5oGg0w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDJkgSdPQbJFvU3MAgGaK16luJMyQ",
@ -600,7 +600,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "gU2HqP4NxUs", id: "gU2HqP4NxUs",
name: "BLACKPINK - Pretty Savage 1011 SBS Inkigayo", name: "BLACKPINK - Pretty Savage 1011 SBS Inkigayo",
length: Some(208), duration: Some(208),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gU2HqP4NxUs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_x0P5jlgH-Xg013D6_0HCVjmpEQ", url: "https://i.ytimg.com/vi/gU2HqP4NxUs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_x0P5jlgH-Xg013D6_0HCVjmpEQ",
@ -637,7 +637,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "KhTeiaCezwM", id: "KhTeiaCezwM",
name: "[MV] MAMAMOO (마마무) - HIP", name: "[MV] MAMAMOO (마마무) - HIP",
length: Some(211), duration: Some(211),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KhTeiaCezwM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMGgSAC2vrBvhW5_JvAG6-DmNv_Q", url: "https://i.ytimg.com/vi/KhTeiaCezwM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMGgSAC2vrBvhW5_JvAG6-DmNv_Q",
@ -674,7 +674,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "uxmP4b2a0uY", id: "uxmP4b2a0uY",
name: "EXO 엑소 \'Obsession\' MV", name: "EXO 엑소 \'Obsession\' MV",
length: Some(220), duration: Some(220),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/uxmP4b2a0uY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDBrxdx72hHbvjdKHWiwEHwmBtaQg", url: "https://i.ytimg.com/vi/uxmP4b2a0uY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDBrxdx72hHbvjdKHWiwEHwmBtaQg",

View file

@ -8,7 +8,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "N5AKQflK1TU", id: "N5AKQflK1TU",
name: "When you impulse buy...", name: "When you impulse buy...",
length: Some(60), duration: Some(60),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/N5AKQflK1TU/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAsKUEXxvFyA6J9cUPJlYYtRBjxmg", url: "https://i.ytimg.com/vi/N5AKQflK1TU/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAsKUEXxvFyA6J9cUPJlYYtRBjxmg",
@ -40,7 +40,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "OzIFALQ_YtA", id: "OzIFALQ_YtA",
name: "taste testing gam!", name: "taste testing gam!",
length: Some(60), duration: Some(60),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/OzIFALQ_YtA/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLD1E-eWjZrzHcfzh-DBWeZ6ewxNNg", url: "https://i.ytimg.com/vi/OzIFALQ_YtA/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLD1E-eWjZrzHcfzh-DBWeZ6ewxNNg",
@ -72,7 +72,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "zYHB38UlzE0", id: "zYHB38UlzE0",
name: "Q&A l relationships, burnout, privilege, college advice, living alone, and life after youtube?", name: "Q&A l relationships, burnout, privilege, college advice, living alone, and life after youtube?",
length: Some(775), duration: Some(775),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zYHB38UlzE0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD8--BbjAvsTyJg680DxjOYtxPmgw", url: "https://i.ytimg.com/vi/zYHB38UlzE0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD8--BbjAvsTyJg680DxjOYtxPmgw",
@ -109,7 +109,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "GvutfmW26JQ", id: "GvutfmW26JQ",
name: "👹stay sour 🍋", name: "👹stay sour 🍋",
length: Some(52), duration: Some(52),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/GvutfmW26JQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLATzHy4VrMbKmNT14yfqCUBvElmpQ", url: "https://i.ytimg.com/vi/GvutfmW26JQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLATzHy4VrMbKmNT14yfqCUBvElmpQ",
@ -141,7 +141,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "gK-jLnvVsb0", id: "gK-jLnvVsb0",
name: "Contradicting myself", name: "Contradicting myself",
length: Some(1381), duration: Some(1381),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gK-jLnvVsb0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAuF_YftS_qXHPsyZC38Ghdif_L-A", url: "https://i.ytimg.com/vi/gK-jLnvVsb0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAuF_YftS_qXHPsyZC38Ghdif_L-A",
@ -178,7 +178,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "NudTbo2CJMY", id: "NudTbo2CJMY",
name: "Flying to London", name: "Flying to London",
length: Some(1078), duration: Some(1078),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NudTbo2CJMY/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDLD0fdpkRaLvP-wJLtDJKt3QPiTQ", url: "https://i.ytimg.com/vi/NudTbo2CJMY/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDLD0fdpkRaLvP-wJLtDJKt3QPiTQ",
@ -215,7 +215,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "Nc0HzyDRjm0", id: "Nc0HzyDRjm0",
name: "Stekki-don ㅣ After Hours ep.2", name: "Stekki-don ㅣ After Hours ep.2",
length: Some(749), duration: Some(749),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Nc0HzyDRjm0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAwvID8-W_Ap8qGo17-LcvO2EFXUQ", url: "https://i.ytimg.com/vi/Nc0HzyDRjm0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAwvID8-W_Ap8qGo17-LcvO2EFXUQ",
@ -252,7 +252,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "pvSWHm4wlxY", id: "pvSWHm4wlxY",
name: "having kids", name: "having kids",
length: Some(60), duration: Some(60),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pvSWHm4wlxY/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDt7ZAwQoObfa5A7gC_hJnU1WH4Ug", url: "https://i.ytimg.com/vi/pvSWHm4wlxY/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDt7ZAwQoObfa5A7gC_hJnU1WH4Ug",
@ -284,7 +284,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "fGQUWI4o__A", id: "fGQUWI4o__A",
name: "Baskin Robbins in South Korea", name: "Baskin Robbins in South Korea",
length: Some(53), duration: Some(53),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fGQUWI4o__A/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDyPuI762qzLAZM0QikxjFKVpoF9w", url: "https://i.ytimg.com/vi/fGQUWI4o__A/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDyPuI762qzLAZM0QikxjFKVpoF9w",
@ -316,7 +316,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "GuyGyzZcumI", id: "GuyGyzZcumI",
name: "McDonald\'s Michelin Burger", name: "McDonald\'s Michelin Burger",
length: Some(59), duration: Some(59),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/GuyGyzZcumI/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDtmyilZAgMw8VWNy518etIKi4phA", url: "https://i.ytimg.com/vi/GuyGyzZcumI/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDtmyilZAgMw8VWNy518etIKi4phA",
@ -348,7 +348,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "6VGG19W08UQ", id: "6VGG19W08UQ",
name: "Nostalgia is a powerful ingredient", name: "Nostalgia is a powerful ingredient",
length: Some(52), duration: Some(52),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6VGG19W08UQ/hq720_2.jpg?sqp=-oaymwEdCI4CEOADSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDMwP_7D3vLsNxwKorwHfB3CH8Ufg", url: "https://i.ytimg.com/vi/6VGG19W08UQ/hq720_2.jpg?sqp=-oaymwEdCI4CEOADSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDMwP_7D3vLsNxwKorwHfB3CH8Ufg",
@ -380,7 +380,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "p3Xhx6aQEXo", id: "p3Xhx6aQEXo",
name: "Jjajangmyun ㅣ Doob Gourmand ep.2", name: "Jjajangmyun ㅣ Doob Gourmand ep.2",
length: Some(664), duration: Some(664),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/p3Xhx6aQEXo/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBgdlq5Jo12Sh6E6Q5Q7Dt9dcI7Xw", url: "https://i.ytimg.com/vi/p3Xhx6aQEXo/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBgdlq5Jo12Sh6E6Q5Q7Dt9dcI7Xw",
@ -417,7 +417,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "35Gu3Q6qEn4", id: "35Gu3Q6qEn4",
name: "Deal Breakers", name: "Deal Breakers",
length: Some(60), duration: Some(60),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/35Gu3Q6qEn4/hq720_2.jpg?sqp=-oaymwEdCI4CEOADSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAuZwNttZi9nuuNpt4ddruoeyebHg", url: "https://i.ytimg.com/vi/35Gu3Q6qEn4/hq720_2.jpg?sqp=-oaymwEdCI4CEOADSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAuZwNttZi9nuuNpt4ddruoeyebHg",
@ -449,7 +449,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "JoUdBrUpBN0", id: "JoUdBrUpBN0",
name: "Jjambbong, jjajangmyeon\'s biggest rival", name: "Jjambbong, jjajangmyeon\'s biggest rival",
length: Some(56), duration: Some(56),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/JoUdBrUpBN0/hq720_2.jpg?sqp=-oaymwEdCI4CEOADSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDgEw8JDViwrHKRTv9wcjolELJgJg", url: "https://i.ytimg.com/vi/JoUdBrUpBN0/hq720_2.jpg?sqp=-oaymwEdCI4CEOADSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDgEw8JDViwrHKRTv9wcjolELJgJg",
@ -481,7 +481,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "l76ovWsPLi8", id: "l76ovWsPLi8",
name: "Jjagglee, Ricotta Persimmon Toast, Plants, and Pringles! l Home Alone All Day Vlog", name: "Jjagglee, Ricotta Persimmon Toast, Plants, and Pringles! l Home Alone All Day Vlog",
length: Some(673), duration: Some(673),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/l76ovWsPLi8/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDzoSXa3HTC78qSTARfNPUN3PAomA", url: "https://i.ytimg.com/vi/l76ovWsPLi8/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDzoSXa3HTC78qSTARfNPUN3PAomA",
@ -518,7 +518,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "zt1Lx9L619w", id: "zt1Lx9L619w",
name: "The biggest privilege my rich friends have", name: "The biggest privilege my rich friends have",
length: Some(58), duration: Some(58),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zt1Lx9L619w/hq720_2.jpg?sqp=-oaymwEdCI4CEOADSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCqMZy8XJJZH_CVWMBkIeDCC98brw", url: "https://i.ytimg.com/vi/zt1Lx9L619w/hq720_2.jpg?sqp=-oaymwEdCI4CEOADSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCqMZy8XJJZH_CVWMBkIeDCC98brw",

View file

@ -8,7 +8,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "mRmlXh7Hams", id: "mRmlXh7Hams",
name: "Extra 3 vom 12.10.2022 im NDR | extra 3 | NDR", name: "Extra 3 vom 12.10.2022 im NDR | extra 3 | NDR",
length: Some(1839), duration: Some(1839),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mRmlXh7Hams/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAbO4lI0dDo_r85A1fi9XQS0rNiOQ", url: "https://i.ytimg.com/vi/mRmlXh7Hams/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAbO4lI0dDo_r85A1fi9XQS0rNiOQ",
@ -40,7 +40,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "LsXC5r64Pvc", id: "LsXC5r64Pvc",
name: "Most Rarest Plays In Baseball History", name: "Most Rarest Plays In Baseball History",
length: Some(1975), duration: Some(1975),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/LsXC5r64Pvc/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB2KXmgKxrJVUy3Naqi_R-R2X92FA", url: "https://i.ytimg.com/vi/LsXC5r64Pvc/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB2KXmgKxrJVUy3Naqi_R-R2X92FA",
@ -72,7 +72,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "dwPmd1GqQHE", id: "dwPmd1GqQHE",
name: "90S RAP & HIPHOP MIX - Notorious B I G , Dr Dre, 50 Cent, Snoop Dogg, 2Pac, DMX, Lil Jon and more", name: "90S RAP & HIPHOP MIX - Notorious B I G , Dr Dre, 50 Cent, Snoop Dogg, 2Pac, DMX, Lil Jon and more",
length: Some(5457), duration: Some(5457),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dwPmd1GqQHE/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAAyGcLGzFkfdEmqqohpxZsGOM9Kw", url: "https://i.ytimg.com/vi/dwPmd1GqQHE/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAAyGcLGzFkfdEmqqohpxZsGOM9Kw",
@ -104,7 +104,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "qxI-Ob8lpLE", id: "qxI-Ob8lpLE",
name: "Schlatt\'s Chips Tier List", name: "Schlatt\'s Chips Tier List",
length: Some(1071), duration: Some(1071),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qxI-Ob8lpLE/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBtEO5eB17tODb5Ek9GRoQwwVGtvA", url: "https://i.ytimg.com/vi/qxI-Ob8lpLE/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBtEO5eB17tODb5Ek9GRoQwwVGtvA",
@ -141,7 +141,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "qmrzTUmZ4UU", id: "qmrzTUmZ4UU",
name: "850€ für den Verrat am System - UCS AT-AT LEGO® Star Wars 75313", name: "850€ für den Verrat am System - UCS AT-AT LEGO® Star Wars 75313",
length: Some(2043), duration: Some(2043),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qmrzTUmZ4UU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAsI3VS-wxnt1s_zS4M_YbVrV1pAg", url: "https://i.ytimg.com/vi/qmrzTUmZ4UU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAsI3VS-wxnt1s_zS4M_YbVrV1pAg",
@ -178,7 +178,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "4q4vpQCIZ6w", id: "4q4vpQCIZ6w",
name: "🌉 Manhattan Jazz 💖 l Relaxing Jazz Piano Music l Background Music", name: "🌉 Manhattan Jazz 💖 l Relaxing Jazz Piano Music l Background Music",
length: Some(23229), duration: Some(23229),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4q4vpQCIZ6w/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD4DKjgt5VJBRX2pH_KzI4Ru9AMaQ", url: "https://i.ytimg.com/vi/4q4vpQCIZ6w/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD4DKjgt5VJBRX2pH_KzI4Ru9AMaQ",
@ -215,7 +215,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "Z_k31kqZxaE", id: "Z_k31kqZxaE",
name: "1 in 1,000,000 NBA Moments", name: "1 in 1,000,000 NBA Moments",
length: Some(567), duration: Some(567),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Z_k31kqZxaE/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCovxnIKW7TCP3XBcG4x-Acw10OBA", url: "https://i.ytimg.com/vi/Z_k31kqZxaE/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCovxnIKW7TCP3XBcG4x-Acw10OBA",
@ -252,7 +252,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "zE-a5eqvlv8", id: "zE-a5eqvlv8",
name: "Dua Lipa, Coldplay, Martin Garrix & Kygo, The Chainsmokers Style - Feeling Me", name: "Dua Lipa, Coldplay, Martin Garrix & Kygo, The Chainsmokers Style - Feeling Me",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zE-a5eqvlv8/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAbIAO-SIuWTC9f2AKu6Yp9nB0BwQ", url: "https://i.ytimg.com/vi/zE-a5eqvlv8/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAbIAO-SIuWTC9f2AKu6Yp9nB0BwQ",
@ -289,7 +289,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "gNlOk0LXi5M", id: "gNlOk0LXi5M",
name: "Soll ich dir 1g GOLD schenken? oder JEMAND anderen DOPPELT?", name: "Soll ich dir 1g GOLD schenken? oder JEMAND anderen DOPPELT?",
length: Some(704), duration: Some(704),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gNlOk0LXi5M/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAy3JbiDcqUTwF6NS69UnX715q90w", url: "https://i.ytimg.com/vi/gNlOk0LXi5M/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAy3JbiDcqUTwF6NS69UnX715q90w",
@ -326,7 +326,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "dbMvZjs8Yc8", id: "dbMvZjs8Yc8",
name: "Brad Pitt- Die Revanche eines Sexsymbols | Doku HD | ARTE", name: "Brad Pitt- Die Revanche eines Sexsymbols | Doku HD | ARTE",
length: Some(3137), duration: Some(3137),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dbMvZjs8Yc8/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB6HnYSCQFmEQ1V5qlFf5fblOpv-g", url: "https://i.ytimg.com/vi/dbMvZjs8Yc8/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB6HnYSCQFmEQ1V5qlFf5fblOpv-g",
@ -363,7 +363,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "mFxi3lOAcFs", id: "mFxi3lOAcFs",
name: "Craziest Soviet Machines You Won\'t Believe Exist - Part 1", name: "Craziest Soviet Machines You Won\'t Believe Exist - Part 1",
length: Some(1569), duration: Some(1569),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mFxi3lOAcFs/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCgPz_lsa3ENFNi2sC_uraWrUIuBQ", url: "https://i.ytimg.com/vi/mFxi3lOAcFs/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCgPz_lsa3ENFNi2sC_uraWrUIuBQ",
@ -400,7 +400,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "eu7ubm7g59E", id: "eu7ubm7g59E",
name: "People Hated Me For Using This Slab", name: "People Hated Me For Using This Slab",
length: Some(1264), duration: Some(1264),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/eu7ubm7g59E/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCg_b-6U2Pux_tZqAY8jkIa1JoTew", url: "https://i.ytimg.com/vi/eu7ubm7g59E/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCg_b-6U2Pux_tZqAY8jkIa1JoTew",
@ -437,7 +437,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "TRGHIN2PGIA", id: "TRGHIN2PGIA",
name: "Christian Bale Breaks Down His Most Iconic Characters | GQ", name: "Christian Bale Breaks Down His Most Iconic Characters | GQ",
length: Some(1381), duration: Some(1381),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/TRGHIN2PGIA/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAMxhmIbADGzAlH1jNl6RN-ZU0eEQ", url: "https://i.ytimg.com/vi/TRGHIN2PGIA/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAMxhmIbADGzAlH1jNl6RN-ZU0eEQ",
@ -474,7 +474,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "w3tENzcssDU", id: "w3tENzcssDU",
name: "NFL Trick Plays But They Get Increasingly Higher IQ", name: "NFL Trick Plays But They Get Increasingly Higher IQ",
length: Some(599), duration: Some(599),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/w3tENzcssDU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCZHp6o6cV9HNNJXPlI1FKi6S58qg", url: "https://i.ytimg.com/vi/w3tENzcssDU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCZHp6o6cV9HNNJXPlI1FKi6S58qg",
@ -511,7 +511,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "gUAd2XXzH7w", id: "gUAd2XXzH7w",
name: "⚓\u{fe0f}Found ABANDONED SHIP!!! Big CRUISE SHIP on a desert island☠\u{fe0f} Where did the people go?!?", name: "⚓\u{fe0f}Found ABANDONED SHIP!!! Big CRUISE SHIP on a desert island☠\u{fe0f} Where did the people go?!?",
length: Some(2949), duration: Some(2949),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gUAd2XXzH7w/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDaBSyUxw88zjCr_Az868dEnhMrug", url: "https://i.ytimg.com/vi/gUAd2XXzH7w/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDaBSyUxw88zjCr_Az868dEnhMrug",
@ -548,7 +548,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "YpGjaJ1ettI", id: "YpGjaJ1ettI",
name: "[Working BGM] Comfortable music that makes you feel positive -- Morning Mood -- Daily Routine", name: "[Working BGM] Comfortable music that makes you feel positive -- Morning Mood -- Daily Routine",
length: Some(3651), duration: Some(3651),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YpGjaJ1ettI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDjAMJifo4Bg-vXUdHXyWYRHSf-Sw", url: "https://i.ytimg.com/vi/YpGjaJ1ettI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDjAMJifo4Bg-vXUdHXyWYRHSf-Sw",
@ -585,7 +585,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "rPAhFD8hKxQ", id: "rPAhFD8hKxQ",
name: "Survival Camping 9ft/3m Under Snow - Giant Winter Bushcraft Shelter and Quinzee", name: "Survival Camping 9ft/3m Under Snow - Giant Winter Bushcraft Shelter and Quinzee",
length: Some(1301), duration: Some(1301),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rPAhFD8hKxQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCY0Xhznr6RKZ-EG1G5C1M34h8ugA", url: "https://i.ytimg.com/vi/rPAhFD8hKxQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCY0Xhznr6RKZ-EG1G5C1M34h8ugA",
@ -622,7 +622,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "2rye4u-cCNk", id: "2rye4u-cCNk",
name: "Pink Panther Fights Off Pests | 54 Minute Compilation | The Pink Panther Show", name: "Pink Panther Fights Off Pests | 54 Minute Compilation | The Pink Panther Show",
length: Some(3158), duration: Some(3158),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2rye4u-cCNk/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCi4Tt2tz-kk-cumb7SEfzzgixj5A", url: "https://i.ytimg.com/vi/2rye4u-cCNk/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCi4Tt2tz-kk-cumb7SEfzzgixj5A",
@ -659,7 +659,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "O0xAlfSaBNQ", id: "O0xAlfSaBNQ",
name: "FC Nantes vs. SC Freiburg Highlights & Tore | UEFA Europa League", name: "FC Nantes vs. SC Freiburg Highlights & Tore | UEFA Europa League",
length: Some(326), duration: Some(326),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/O0xAlfSaBNQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDe-1NUODMNivJw5r5J5Wd16PMsqA", url: "https://i.ytimg.com/vi/O0xAlfSaBNQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDe-1NUODMNivJw5r5J5Wd16PMsqA",
@ -696,7 +696,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "Mhs9Sbnw19o", id: "Mhs9Sbnw19o",
name: "Dramatisches Duell: 400 Jahre altes Kästchen erzielt zig-fachen Wunschpreis! | Bares für Rares XXL", name: "Dramatisches Duell: 400 Jahre altes Kästchen erzielt zig-fachen Wunschpreis! | Bares für Rares XXL",
length: Some(744), duration: Some(744),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Mhs9Sbnw19o/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBkxXdE8JNS0S6_Dhl-aY7FRmbL9g", url: "https://i.ytimg.com/vi/Mhs9Sbnw19o/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBkxXdE8JNS0S6_Dhl-aY7FRmbL9g",
@ -733,7 +733,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "Bzzp5Cay7DI", id: "Bzzp5Cay7DI",
name: "Sweet Jazz - Cool autumn Bossa Nova & October Jazz Positive Mood", name: "Sweet Jazz - Cool autumn Bossa Nova & October Jazz Positive Mood",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Bzzp5Cay7DI/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAKcYaDyG1yocH1e2_BIyl5FGKWPw", url: "https://i.ytimg.com/vi/Bzzp5Cay7DI/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAKcYaDyG1yocH1e2_BIyl5FGKWPw",
@ -770,7 +770,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "SlskTqc9CEc", id: "SlskTqc9CEc",
name: "The Chick-Fil-A Full Menu Challenge", name: "The Chick-Fil-A Full Menu Challenge",
length: Some(613), duration: Some(613),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/SlskTqc9CEc/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBjDpJq0J5r8jvLwIQG2HCvsoj8nw", url: "https://i.ytimg.com/vi/SlskTqc9CEc/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBjDpJq0J5r8jvLwIQG2HCvsoj8nw",
@ -807,7 +807,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "CwRvM2TfYbs", id: "CwRvM2TfYbs",
name: "Gentle healing music of health and to calm the nervous system, deep relaxation! Say Life Yes", name: "Gentle healing music of health and to calm the nervous system, deep relaxation! Say Life Yes",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CwRvM2TfYbs/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCj3HTq1K0KCuiuZdyh_by4VUZWeA", url: "https://i.ytimg.com/vi/CwRvM2TfYbs/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCj3HTq1K0KCuiuZdyh_by4VUZWeA",
@ -844,7 +844,7 @@ Paginator(
Video(VideoItem( Video(VideoItem(
id: "7jz0pXSe_kI", id: "7jz0pXSe_kI",
name: "Craziest \"Fine...I\'ll Do it Myself\" Moments in Sports History (PART 2)", name: "Craziest \"Fine...I\'ll Do it Myself\" Moments in Sports History (PART 2)",
length: Some(1822), duration: Some(1822),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7jz0pXSe_kI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDEUQzJHcD0s2BgP1znPupwsxf48w", url: "https://i.ytimg.com/vi/7jz0pXSe_kI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDEUQzJHcD0s2BgP1znPupwsxf48w",

View file

@ -7,7 +7,7 @@ VideoPlayer(
id: "pPvd8UxmSbQ", id: "pPvd8UxmSbQ",
name: "Inspiring Cinematic Uplifting (Creative Commons)", name: "Inspiring Cinematic Uplifting (Creative Commons)",
description: Some("► Download Music: http://bit.ly/2QLufeh\nImportant to know! You can download this track for free through Patreon. You will pay only for new tracks! So join others and let\'s make next track together!\n\n► MORE MUSIC: Become my patron and get access to all our music from Patreon library. More Info here: http://bit.ly/2JJDFHb\n\n► Additional edit versions of this track you can download here: http://bit.ly/2WdRinT (5 versions)\n--------------------- \n\n►DESCRIPTION:\nInspiring Cinematic Uplifting Trailer Background - epic music for trailer video project with powerful drums, energetic orchestra and gentle piano melody. This motivational cinematic theme will work as perfect background for beautiful epic moments, landscapes, nature, drone video, motivational products and achievements.\n--------------------- \n\n► LICENSE:\n● If you need a license for your project, you can purchase it here: \nhttps://1.envato.market/ajicu (Audiojungle)\nhttps://bit.ly/3fWZZuI (Pond5)\n--------------------- \n\n► LISTEN ON:\n● Spotify - https://spoti.fi/2sHm3UH\n● Apple Music - https://apple.co/3qBjbUO\n--------------------- \n\n► SUBSCRIBE FOR MORE: \nPatreon: http://bit.ly/2JJDFHb\nYoutube: http://bit.ly/2AYBzfA\nFacebook: http://bit.ly/2T6dTx5\nInstagram: http://bit.ly/2BHJ8rB\nTwitter: http://bit.ly/2MwtOlT\nSoundCloud: http://bit.ly/2IwVVmt\nAudiojungle: https://1.envato.market/ajrsm\nPond5: https://bit.ly/2TLi1rW\n--------------------- \n►Photo by Vittorio Staffolani from Pexels\n--------------------- \n\nFAQ:\n\n► Can I use this music in my videos? \n● Sure! Just download this track and you are ready to use it! We only ask to credit us. \n-------------------- \n\n► What is \"Creative Commons\"? \nCreative Commons is a system that allows you to legally use “some rights reserved” music, movies, images, and other content — all for free. Licensees may copy, distribute, display and perform the work and make derivative works and remixes based on it only if they give the author or licensor the credits.\n-------------------- \n\n► Will I have any copyright issues with this track?\n● No, you should not have any copyright problems with this track!\n-------------------- \n\n► Is it necessary to become your patron?\n● No it\'s not necessary. But we recommend you to become our patron because you will get access to huge library of music. You will download only highest quality files. You will find additional edited versions of every track. You always be tuned with our news. You will find music not only from Roman Senyk but also from another talented authors.\n-------------------- \n\n► Why I received a copyright claim when I used this track?\n● Do not panic! This is very common situation. Content ID fingerprint system can mismatch our music. Just dispute the claim by showing our original track. Or send us the link to your video (romansenykmusic@gmail.com) and attach some screenshot with claim information. Claim will be released until 24 hours!\n\n► How to credit you in my video?\n● Just add to the description of your project information about Author, Name of Song and the link to our original track. Or copy and paste:\n\nMusic Info: Inspiring Cinematic Uplifting by RomanSenykMusic.\nMusic Link: https://youtu.be/pPvd8UxmSbQ\n--------------------- \n\n► If you have any questions, you can write in the comments for this video or by email: romansenykmusic@gmail.com\n--------------------- \n\nStay tuned! The best is yet to come! \nThanks For Listening!\nRoman Senyk"), description: Some("► Download Music: http://bit.ly/2QLufeh\nImportant to know! You can download this track for free through Patreon. You will pay only for new tracks! So join others and let\'s make next track together!\n\n► MORE MUSIC: Become my patron and get access to all our music from Patreon library. More Info here: http://bit.ly/2JJDFHb\n\n► Additional edit versions of this track you can download here: http://bit.ly/2WdRinT (5 versions)\n--------------------- \n\n►DESCRIPTION:\nInspiring Cinematic Uplifting Trailer Background - epic music for trailer video project with powerful drums, energetic orchestra and gentle piano melody. This motivational cinematic theme will work as perfect background for beautiful epic moments, landscapes, nature, drone video, motivational products and achievements.\n--------------------- \n\n► LICENSE:\n● If you need a license for your project, you can purchase it here: \nhttps://1.envato.market/ajicu (Audiojungle)\nhttps://bit.ly/3fWZZuI (Pond5)\n--------------------- \n\n► LISTEN ON:\n● Spotify - https://spoti.fi/2sHm3UH\n● Apple Music - https://apple.co/3qBjbUO\n--------------------- \n\n► SUBSCRIBE FOR MORE: \nPatreon: http://bit.ly/2JJDFHb\nYoutube: http://bit.ly/2AYBzfA\nFacebook: http://bit.ly/2T6dTx5\nInstagram: http://bit.ly/2BHJ8rB\nTwitter: http://bit.ly/2MwtOlT\nSoundCloud: http://bit.ly/2IwVVmt\nAudiojungle: https://1.envato.market/ajrsm\nPond5: https://bit.ly/2TLi1rW\n--------------------- \n►Photo by Vittorio Staffolani from Pexels\n--------------------- \n\nFAQ:\n\n► Can I use this music in my videos? \n● Sure! Just download this track and you are ready to use it! We only ask to credit us. \n-------------------- \n\n► What is \"Creative Commons\"? \nCreative Commons is a system that allows you to legally use “some rights reserved” music, movies, images, and other content — all for free. Licensees may copy, distribute, display and perform the work and make derivative works and remixes based on it only if they give the author or licensor the credits.\n-------------------- \n\n► Will I have any copyright issues with this track?\n● No, you should not have any copyright problems with this track!\n-------------------- \n\n► Is it necessary to become your patron?\n● No it\'s not necessary. But we recommend you to become our patron because you will get access to huge library of music. You will download only highest quality files. You will find additional edited versions of every track. You always be tuned with our news. You will find music not only from Roman Senyk but also from another talented authors.\n-------------------- \n\n► Why I received a copyright claim when I used this track?\n● Do not panic! This is very common situation. Content ID fingerprint system can mismatch our music. Just dispute the claim by showing our original track. Or send us the link to your video (romansenykmusic@gmail.com) and attach some screenshot with claim information. Claim will be released until 24 hours!\n\n► How to credit you in my video?\n● Just add to the description of your project information about Author, Name of Song and the link to our original track. Or copy and paste:\n\nMusic Info: Inspiring Cinematic Uplifting by RomanSenykMusic.\nMusic Link: https://youtu.be/pPvd8UxmSbQ\n--------------------- \n\n► If you have any questions, you can write in the comments for this video or by email: romansenykmusic@gmail.com\n--------------------- \n\nStay tuned! The best is yet to come! \nThanks For Listening!\nRoman Senyk"),
length: 163, duration: 163,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi_webp/pPvd8UxmSbQ/default.webp", url: "https://i.ytimg.com/vi_webp/pPvd8UxmSbQ/default.webp",

View file

@ -7,7 +7,7 @@ VideoPlayer(
id: "pPvd8UxmSbQ", id: "pPvd8UxmSbQ",
name: "Inspiring Cinematic Uplifting (Creative Commons)", name: "Inspiring Cinematic Uplifting (Creative Commons)",
description: Some("► Download Music: http://bit.ly/2QLufeh\nImportant to know! You can download this track for free through Patreon. You will pay only for new tracks! So join others and let\'s make next track together!\n\n► MORE MUSIC: Become my patron and get access to all our music from Patreon library. More Info here: http://bit.ly/2JJDFHb\n\n► Additional edit versions of this track you can download here: http://bit.ly/2WdRinT (5 versions)\n--------------------- \n\n►DESCRIPTION:\nInspiring Cinematic Uplifting Trailer Background - epic music for trailer video project with powerful drums, energetic orchestra and gentle piano melody. This motivational cinematic theme will work as perfect background for beautiful epic moments, landscapes, nature, drone video, motivational products and achievements.\n--------------------- \n\n► LICENSE:\n● If you need a license for your project, you can purchase it here: \nhttps://1.envato.market/ajicu (Audiojungle)\nhttps://bit.ly/3fWZZuI (Pond5)\n--------------------- \n\n► LISTEN ON:\n● Spotify - https://spoti.fi/2sHm3UH\n● Apple Music - https://apple.co/3qBjbUO\n--------------------- \n\n► SUBSCRIBE FOR MORE: \nPatreon: http://bit.ly/2JJDFHb\nYoutube: http://bit.ly/2AYBzfA\nFacebook: http://bit.ly/2T6dTx5\nInstagram: http://bit.ly/2BHJ8rB\nTwitter: http://bit.ly/2MwtOlT\nSoundCloud: http://bit.ly/2IwVVmt\nAudiojungle: https://1.envato.market/ajrsm\nPond5: https://bit.ly/2TLi1rW\n--------------------- \n►Photo by Vittorio Staffolani from Pexels\n--------------------- \n\nFAQ:\n\n► Can I use this music in my videos? \n● Sure! Just download this track and you are ready to use it! We only ask to credit us. \n-------------------- \n\n► What is \"Creative Commons\"? \nCreative Commons is a system that allows you to legally use “some rights reserved” music, movies, images, and other content — all for free. Licensees may copy, distribute, display and perform the work and make derivative works and remixes based on it only if they give the author or licensor the credits.\n-------------------- \n\n► Will I have any copyright issues with this track?\n● No, you should not have any copyright problems with this track!\n-------------------- \n\n► Is it necessary to become your patron?\n● No it\'s not necessary. But we recommend you to become our patron because you will get access to huge library of music. You will download only highest quality files. You will find additional edited versions of every track. You always be tuned with our news. You will find music not only from Roman Senyk but also from another talented authors.\n-------------------- \n\n► Why I received a copyright claim when I used this track?\n● Do not panic! This is very common situation. Content ID fingerprint system can mismatch our music. Just dispute the claim by showing our original track. Or send us the link to your video (romansenykmusic@gmail.com) and attach some screenshot with claim information. Claim will be released until 24 hours!\n\n► How to credit you in my video?\n● Just add to the description of your project information about Author, Name of Song and the link to our original track. Or copy and paste:\n\nMusic Info: Inspiring Cinematic Uplifting by RomanSenykMusic.\nMusic Link: https://youtu.be/pPvd8UxmSbQ\n--------------------- \n\n► If you have any questions, you can write in the comments for this video or by email: romansenykmusic@gmail.com\n--------------------- \n\nStay tuned! The best is yet to come! \nThanks For Listening!\nRoman Senyk"), description: Some("► Download Music: http://bit.ly/2QLufeh\nImportant to know! You can download this track for free through Patreon. You will pay only for new tracks! So join others and let\'s make next track together!\n\n► MORE MUSIC: Become my patron and get access to all our music from Patreon library. More Info here: http://bit.ly/2JJDFHb\n\n► Additional edit versions of this track you can download here: http://bit.ly/2WdRinT (5 versions)\n--------------------- \n\n►DESCRIPTION:\nInspiring Cinematic Uplifting Trailer Background - epic music for trailer video project with powerful drums, energetic orchestra and gentle piano melody. This motivational cinematic theme will work as perfect background for beautiful epic moments, landscapes, nature, drone video, motivational products and achievements.\n--------------------- \n\n► LICENSE:\n● If you need a license for your project, you can purchase it here: \nhttps://1.envato.market/ajicu (Audiojungle)\nhttps://bit.ly/3fWZZuI (Pond5)\n--------------------- \n\n► LISTEN ON:\n● Spotify - https://spoti.fi/2sHm3UH\n● Apple Music - https://apple.co/3qBjbUO\n--------------------- \n\n► SUBSCRIBE FOR MORE: \nPatreon: http://bit.ly/2JJDFHb\nYoutube: http://bit.ly/2AYBzfA\nFacebook: http://bit.ly/2T6dTx5\nInstagram: http://bit.ly/2BHJ8rB\nTwitter: http://bit.ly/2MwtOlT\nSoundCloud: http://bit.ly/2IwVVmt\nAudiojungle: https://1.envato.market/ajrsm\nPond5: https://bit.ly/2TLi1rW\n--------------------- \n►Photo by Vittorio Staffolani from Pexels\n--------------------- \n\nFAQ:\n\n► Can I use this music in my videos? \n● Sure! Just download this track and you are ready to use it! We only ask to credit us. \n-------------------- \n\n► What is \"Creative Commons\"? \nCreative Commons is a system that allows you to legally use “some rights reserved” music, movies, images, and other content — all for free. Licensees may copy, distribute, display and perform the work and make derivative works and remixes based on it only if they give the author or licensor the credits.\n-------------------- \n\n► Will I have any copyright issues with this track?\n● No, you should not have any copyright problems with this track!\n-------------------- \n\n► Is it necessary to become your patron?\n● No it\'s not necessary. But we recommend you to become our patron because you will get access to huge library of music. You will download only highest quality files. You will find additional edited versions of every track. You always be tuned with our news. You will find music not only from Roman Senyk but also from another talented authors.\n-------------------- \n\n► Why I received a copyright claim when I used this track?\n● Do not panic! This is very common situation. Content ID fingerprint system can mismatch our music. Just dispute the claim by showing our original track. Or send us the link to your video (romansenykmusic@gmail.com) and attach some screenshot with claim information. Claim will be released until 24 hours!\n\n► How to credit you in my video?\n● Just add to the description of your project information about Author, Name of Song and the link to our original track. Or copy and paste:\n\nMusic Info: Inspiring Cinematic Uplifting by RomanSenykMusic.\nMusic Link: https://youtu.be/pPvd8UxmSbQ\n--------------------- \n\n► If you have any questions, you can write in the comments for this video or by email: romansenykmusic@gmail.com\n--------------------- \n\nStay tuned! The best is yet to come! \nThanks For Listening!\nRoman Senyk"),
length: 163, duration: 163,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pPvd8UxmSbQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBSNHImLtGal2a95M5oyTT_uuTZlw", url: "https://i.ytimg.com/vi/pPvd8UxmSbQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBSNHImLtGal2a95M5oyTT_uuTZlw",

View file

@ -7,7 +7,7 @@ VideoPlayer(
id: "pPvd8UxmSbQ", id: "pPvd8UxmSbQ",
name: "Inspiring Cinematic Uplifting", name: "Inspiring Cinematic Uplifting",
description: None, description: None,
length: 163, duration: 163,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pPvd8UxmSbQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AOn4CLC-0nIQMyPuy8CtzqTMl6z1rmG_XQ", url: "https://i.ytimg.com/vi/pPvd8UxmSbQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AOn4CLC-0nIQMyPuy8CtzqTMl6z1rmG_XQ",

View file

@ -7,7 +7,7 @@ VideoPlayer(
id: "pPvd8UxmSbQ", id: "pPvd8UxmSbQ",
name: "Inspiring Cinematic Uplifting (Creative Commons)", name: "Inspiring Cinematic Uplifting (Creative Commons)",
description: Some("► Download Music: http://bit.ly/2QLufeh\nImportant to know! You can download this track for free through Patreon. You will pay only for new tracks! So join others and let\'s make next track together!\n\n► MORE MUSIC: Become my patron and get access to all our music from Patreon library. More Info here: http://bit.ly/2JJDFHb\n\n► Additional edit versions of this track you can download here: http://bit.ly/2WdRinT (5 versions)\n--------------------- \n\n►DESCRIPTION:\nInspiring Cinematic Uplifting Trailer Background - epic music for trailer video project with powerful drums, energetic orchestra and gentle piano melody. This motivational cinematic theme will work as perfect background for beautiful epic moments, landscapes, nature, drone video, motivational products and achievements.\n--------------------- \n\n► LICENSE:\n● If you need a license for your project, you can purchase it here: \nhttps://1.envato.market/ajicu (Audiojungle)\nhttps://bit.ly/3fWZZuI (Pond5)\n--------------------- \n\n► LISTEN ON:\n● Spotify - https://spoti.fi/2sHm3UH\n● Apple Music - https://apple.co/3qBjbUO\n--------------------- \n\n► SUBSCRIBE FOR MORE: \nPatreon: http://bit.ly/2JJDFHb\nYoutube: http://bit.ly/2AYBzfA\nFacebook: http://bit.ly/2T6dTx5\nInstagram: http://bit.ly/2BHJ8rB\nTwitter: http://bit.ly/2MwtOlT\nSoundCloud: http://bit.ly/2IwVVmt\nAudiojungle: https://1.envato.market/ajrsm\nPond5: https://bit.ly/2TLi1rW\n--------------------- \n►Photo by Vittorio Staffolani from Pexels\n--------------------- \n\nFAQ:\n\n► Can I use this music in my videos? \n● Sure! Just download this track and you are ready to use it! We only ask to credit us. \n-------------------- \n\n► What is \"Creative Commons\"? \nCreative Commons is a system that allows you to legally use “some rights reserved” music, movies, images, and other content — all for free. Licensees may copy, distribute, display and perform the work and make derivative works and remixes based on it only if they give the author or licensor the credits.\n-------------------- \n\n► Will I have any copyright issues with this track?\n● No, you should not have any copyright problems with this track!\n-------------------- \n\n► Is it necessary to become your patron?\n● No it\'s not necessary. But we recommend you to become our patron because you will get access to huge library of music. You will download only highest quality files. You will find additional edited versions of every track. You always be tuned with our news. You will find music not only from Roman Senyk but also from another talented authors.\n-------------------- \n\n► Why I received a copyright claim when I used this track?\n● Do not panic! This is very common situation. Content ID fingerprint system can mismatch our music. Just dispute the claim by showing our original track. Or send us the link to your video (romansenykmusic@gmail.com) and attach some screenshot with claim information. Claim will be released until 24 hours!\n\n► How to credit you in my video?\n● Just add to the description of your project information about Author, Name of Song and the link to our original track. Or copy and paste:\n\nMusic Info: Inspiring Cinematic Uplifting by RomanSenykMusic.\nMusic Link: https://youtu.be/pPvd8UxmSbQ\n--------------------- \n\n► If you have any questions, you can write in the comments for this video or by email: romansenykmusic@gmail.com\n--------------------- \n\nStay tuned! The best is yet to come! \nThanks For Listening!\nRoman Senyk"), description: Some("► Download Music: http://bit.ly/2QLufeh\nImportant to know! You can download this track for free through Patreon. You will pay only for new tracks! So join others and let\'s make next track together!\n\n► MORE MUSIC: Become my patron and get access to all our music from Patreon library. More Info here: http://bit.ly/2JJDFHb\n\n► Additional edit versions of this track you can download here: http://bit.ly/2WdRinT (5 versions)\n--------------------- \n\n►DESCRIPTION:\nInspiring Cinematic Uplifting Trailer Background - epic music for trailer video project with powerful drums, energetic orchestra and gentle piano melody. This motivational cinematic theme will work as perfect background for beautiful epic moments, landscapes, nature, drone video, motivational products and achievements.\n--------------------- \n\n► LICENSE:\n● If you need a license for your project, you can purchase it here: \nhttps://1.envato.market/ajicu (Audiojungle)\nhttps://bit.ly/3fWZZuI (Pond5)\n--------------------- \n\n► LISTEN ON:\n● Spotify - https://spoti.fi/2sHm3UH\n● Apple Music - https://apple.co/3qBjbUO\n--------------------- \n\n► SUBSCRIBE FOR MORE: \nPatreon: http://bit.ly/2JJDFHb\nYoutube: http://bit.ly/2AYBzfA\nFacebook: http://bit.ly/2T6dTx5\nInstagram: http://bit.ly/2BHJ8rB\nTwitter: http://bit.ly/2MwtOlT\nSoundCloud: http://bit.ly/2IwVVmt\nAudiojungle: https://1.envato.market/ajrsm\nPond5: https://bit.ly/2TLi1rW\n--------------------- \n►Photo by Vittorio Staffolani from Pexels\n--------------------- \n\nFAQ:\n\n► Can I use this music in my videos? \n● Sure! Just download this track and you are ready to use it! We only ask to credit us. \n-------------------- \n\n► What is \"Creative Commons\"? \nCreative Commons is a system that allows you to legally use “some rights reserved” music, movies, images, and other content — all for free. Licensees may copy, distribute, display and perform the work and make derivative works and remixes based on it only if they give the author or licensor the credits.\n-------------------- \n\n► Will I have any copyright issues with this track?\n● No, you should not have any copyright problems with this track!\n-------------------- \n\n► Is it necessary to become your patron?\n● No it\'s not necessary. But we recommend you to become our patron because you will get access to huge library of music. You will download only highest quality files. You will find additional edited versions of every track. You always be tuned with our news. You will find music not only from Roman Senyk but also from another talented authors.\n-------------------- \n\n► Why I received a copyright claim when I used this track?\n● Do not panic! This is very common situation. Content ID fingerprint system can mismatch our music. Just dispute the claim by showing our original track. Or send us the link to your video (romansenykmusic@gmail.com) and attach some screenshot with claim information. Claim will be released until 24 hours!\n\n► How to credit you in my video?\n● Just add to the description of your project information about Author, Name of Song and the link to our original track. Or copy and paste:\n\nMusic Info: Inspiring Cinematic Uplifting by RomanSenykMusic.\nMusic Link: https://youtu.be/pPvd8UxmSbQ\n--------------------- \n\n► If you have any questions, you can write in the comments for this video or by email: romansenykmusic@gmail.com\n--------------------- \n\nStay tuned! The best is yet to come! \nThanks For Listening!\nRoman Senyk"),
length: 163, duration: 163,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pPvd8UxmSbQ/mqdefault.jpg", url: "https://i.ytimg.com/vi/pPvd8UxmSbQ/mqdefault.jpg",

View file

@ -7,7 +7,7 @@ VideoPlayer(
id: "pPvd8UxmSbQ", id: "pPvd8UxmSbQ",
name: "Inspiring Cinematic Uplifting (Creative Commons)", name: "Inspiring Cinematic Uplifting (Creative Commons)",
description: Some("► Download Music: http://bit.ly/2QLufeh\nImportant to know! You can download this track for free through Patreon. You will pay only for new tracks! So join others and let\'s make next track together!\n\n► MORE MUSIC: Become my patron and get access to all our music from Patreon library. More Info here: http://bit.ly/2JJDFHb\n\n► Additional edit versions of this track you can download here: http://bit.ly/2WdRinT (5 versions)\n--------------------- \n\n►DESCRIPTION:\nInspiring Cinematic Uplifting Trailer Background - epic music for trailer video project with powerful drums, energetic orchestra and gentle piano melody. This motivational cinematic theme will work as perfect background for beautiful epic moments, landscapes, nature, drone video, motivational products and achievements.\n--------------------- \n\n► LICENSE:\n● If you need a license for your project, you can purchase it here: \nhttps://1.envato.market/ajicu (Audiojungle)\nhttps://bit.ly/3fWZZuI (Pond5)\n--------------------- \n\n► LISTEN ON:\n● Spotify - https://spoti.fi/2sHm3UH\n● Apple Music - https://apple.co/3qBjbUO\n--------------------- \n\n► SUBSCRIBE FOR MORE: \nPatreon: http://bit.ly/2JJDFHb\nYoutube: http://bit.ly/2AYBzfA\nFacebook: http://bit.ly/2T6dTx5\nInstagram: http://bit.ly/2BHJ8rB\nTwitter: http://bit.ly/2MwtOlT\nSoundCloud: http://bit.ly/2IwVVmt\nAudiojungle: https://1.envato.market/ajrsm\nPond5: https://bit.ly/2TLi1rW\n--------------------- \n►Photo by Vittorio Staffolani from Pexels\n--------------------- \n\nFAQ:\n\n► Can I use this music in my videos? \n● Sure! Just download this track and you are ready to use it! We only ask to credit us. \n-------------------- \n\n► What is \"Creative Commons\"? \nCreative Commons is a system that allows you to legally use “some rights reserved” music, movies, images, and other content — all for free. Licensees may copy, distribute, display and perform the work and make derivative works and remixes based on it only if they give the author or licensor the credits.\n-------------------- \n\n► Will I have any copyright issues with this track?\n● No, you should not have any copyright problems with this track!\n-------------------- \n\n► Is it necessary to become your patron?\n● No it\'s not necessary. But we recommend you to become our patron because you will get access to huge library of music. You will download only highest quality files. You will find additional edited versions of every track. You always be tuned with our news. You will find music not only from Roman Senyk but also from another talented authors.\n-------------------- \n\n► Why I received a copyright claim when I used this track?\n● Do not panic! This is very common situation. Content ID fingerprint system can mismatch our music. Just dispute the claim by showing our original track. Or send us the link to your video (romansenykmusic@gmail.com) and attach some screenshot with claim information. Claim will be released until 24 hours!\n\n► How to credit you in my video?\n● Just add to the description of your project information about Author, Name of Song and the link to our original track. Or copy and paste:\n\nMusic Info: Inspiring Cinematic Uplifting by RomanSenykMusic.\nMusic Link: https://youtu.be/pPvd8UxmSbQ\n--------------------- \n\n► If you have any questions, you can write in the comments for this video or by email: romansenykmusic@gmail.com\n--------------------- \n\nStay tuned! The best is yet to come! \nThanks For Listening!\nRoman Senyk"), description: Some("► Download Music: http://bit.ly/2QLufeh\nImportant to know! You can download this track for free through Patreon. You will pay only for new tracks! So join others and let\'s make next track together!\n\n► MORE MUSIC: Become my patron and get access to all our music from Patreon library. More Info here: http://bit.ly/2JJDFHb\n\n► Additional edit versions of this track you can download here: http://bit.ly/2WdRinT (5 versions)\n--------------------- \n\n►DESCRIPTION:\nInspiring Cinematic Uplifting Trailer Background - epic music for trailer video project with powerful drums, energetic orchestra and gentle piano melody. This motivational cinematic theme will work as perfect background for beautiful epic moments, landscapes, nature, drone video, motivational products and achievements.\n--------------------- \n\n► LICENSE:\n● If you need a license for your project, you can purchase it here: \nhttps://1.envato.market/ajicu (Audiojungle)\nhttps://bit.ly/3fWZZuI (Pond5)\n--------------------- \n\n► LISTEN ON:\n● Spotify - https://spoti.fi/2sHm3UH\n● Apple Music - https://apple.co/3qBjbUO\n--------------------- \n\n► SUBSCRIBE FOR MORE: \nPatreon: http://bit.ly/2JJDFHb\nYoutube: http://bit.ly/2AYBzfA\nFacebook: http://bit.ly/2T6dTx5\nInstagram: http://bit.ly/2BHJ8rB\nTwitter: http://bit.ly/2MwtOlT\nSoundCloud: http://bit.ly/2IwVVmt\nAudiojungle: https://1.envato.market/ajrsm\nPond5: https://bit.ly/2TLi1rW\n--------------------- \n►Photo by Vittorio Staffolani from Pexels\n--------------------- \n\nFAQ:\n\n► Can I use this music in my videos? \n● Sure! Just download this track and you are ready to use it! We only ask to credit us. \n-------------------- \n\n► What is \"Creative Commons\"? \nCreative Commons is a system that allows you to legally use “some rights reserved” music, movies, images, and other content — all for free. Licensees may copy, distribute, display and perform the work and make derivative works and remixes based on it only if they give the author or licensor the credits.\n-------------------- \n\n► Will I have any copyright issues with this track?\n● No, you should not have any copyright problems with this track!\n-------------------- \n\n► Is it necessary to become your patron?\n● No it\'s not necessary. But we recommend you to become our patron because you will get access to huge library of music. You will download only highest quality files. You will find additional edited versions of every track. You always be tuned with our news. You will find music not only from Roman Senyk but also from another talented authors.\n-------------------- \n\n► Why I received a copyright claim when I used this track?\n● Do not panic! This is very common situation. Content ID fingerprint system can mismatch our music. Just dispute the claim by showing our original track. Or send us the link to your video (romansenykmusic@gmail.com) and attach some screenshot with claim information. Claim will be released until 24 hours!\n\n► How to credit you in my video?\n● Just add to the description of your project information about Author, Name of Song and the link to our original track. Or copy and paste:\n\nMusic Info: Inspiring Cinematic Uplifting by RomanSenykMusic.\nMusic Link: https://youtu.be/pPvd8UxmSbQ\n--------------------- \n\n► If you have any questions, you can write in the comments for this video or by email: romansenykmusic@gmail.com\n--------------------- \n\nStay tuned! The best is yet to come! \nThanks For Listening!\nRoman Senyk"),
length: 163, duration: 163,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pPvd8UxmSbQ/default.jpg", url: "https://i.ytimg.com/vi/pPvd8UxmSbQ/default.jpg",

View file

@ -8,7 +8,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "zMPIobcM2j0", id: "zMPIobcM2j0",
name: "ZUNA feat. AZET & NOIZY - NUMMER 1 prod. by DJ A-BOOM", name: "ZUNA feat. AZET & NOIZY - NUMMER 1 prod. by DJ A-BOOM",
length: 212, duration: 212,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zMPIobcM2j0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCUVzgKNBFY6In3YbZuWpZ60oilnQ", url: "https://i.ytimg.com/vi/zMPIobcM2j0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCUVzgKNBFY6In3YbZuWpZ60oilnQ",
@ -39,7 +39,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "f9g6NCHQrcE", id: "f9g6NCHQrcE",
name: "AZET ft. ZUNA & NOIZY - KRIMINELL (prod. by DJ A-BOOM)", name: "AZET ft. ZUNA & NOIZY - KRIMINELL (prod. by DJ A-BOOM)",
length: 230, duration: 230,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/f9g6NCHQrcE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMGepmuIe_XAharqN6EnCXvp0xYw", url: "https://i.ytimg.com/vi/f9g6NCHQrcE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMGepmuIe_XAharqN6EnCXvp0xYw",
@ -70,7 +70,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "CAVfEwrwT_o", id: "CAVfEwrwT_o",
name: "Rooz x MoTrip - Immer Wieder (eng: Again and Again) (prod SOTT)", name: "Rooz x MoTrip - Immer Wieder (eng: Again and Again) (prod SOTT)",
length: 227, duration: 227,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CAVfEwrwT_o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUrGnudhiLRS7_j5qb_973rHrTMw", url: "https://i.ytimg.com/vi/CAVfEwrwT_o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUrGnudhiLRS7_j5qb_973rHrTMw",
@ -101,7 +101,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "VUr9JZQ8F2g", id: "VUr9JZQ8F2g",
name: "Kontra K - Zwischen Himmel & Hölle (Official Video)", name: "Kontra K - Zwischen Himmel & Hölle (Official Video)",
length: 270, duration: 270,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/VUr9JZQ8F2g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_wUNlasFg6HhHNUdiLvaGljPqRg", url: "https://i.ytimg.com/vi/VUr9JZQ8F2g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_wUNlasFg6HhHNUdiLvaGljPqRg",
@ -132,7 +132,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "XQat6rNNbdQ", id: "XQat6rNNbdQ",
name: "ZUNA - AYE prod. by LUCRY #KMNSTREET VOL. 7", name: "ZUNA - AYE prod. by LUCRY #KMNSTREET VOL. 7",
length: 220, duration: 220,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XQat6rNNbdQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALH-TVmccxyBnh-y3ShIBrdDw93g", url: "https://i.ytimg.com/vi/XQat6rNNbdQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALH-TVmccxyBnh-y3ShIBrdDw93g",
@ -163,7 +163,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "EQyU6fGDn0c", id: "EQyU6fGDn0c",
name: "RAF Camora - CORLEONE (prod. by X-Plosive,The Cratez & RAF Camora)", name: "RAF Camora - CORLEONE (prod. by X-Plosive,The Cratez & RAF Camora)",
length: 220, duration: 220,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EQyU6fGDn0c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZtiHGorHDDYBp-sPHB2MACq4XJg", url: "https://i.ytimg.com/vi/EQyU6fGDn0c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZtiHGorHDDYBp-sPHB2MACq4XJg",
@ -194,7 +194,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "g4poKgQZX6w", id: "g4poKgQZX6w",
name: "Ufo361 - „BEVERLY HILLS“ (prod. von AT Beatz/Jimmy Torrio) [Official HD Video]", name: "Ufo361 - „BEVERLY HILLS“ (prod. von AT Beatz/Jimmy Torrio) [Official HD Video]",
length: 219, duration: 219,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/g4poKgQZX6w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBog509zw2F56xrdDsQkeRiuEC-xg", url: "https://i.ytimg.com/vi/g4poKgQZX6w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBog509zw2F56xrdDsQkeRiuEC-xg",
@ -225,7 +225,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "YTHr7gxwYUQ", id: "YTHr7gxwYUQ",
name: "DARDAN X LUCIANO - AIRMAX GEGEN KOPF (prod. by Leryk)", name: "DARDAN X LUCIANO - AIRMAX GEGEN KOPF (prod. by Leryk)",
length: 167, duration: 167,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YTHr7gxwYUQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgyAHaOHTo5EebRbB0J0b6nA_-aA", url: "https://i.ytimg.com/vi/YTHr7gxwYUQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgyAHaOHTo5EebRbB0J0b6nA_-aA",
@ -256,7 +256,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "MfCSDn6q6j4", id: "MfCSDn6q6j4",
name: "YONII - DIRECTION prod. by LUCRY (Official 4K Video)", name: "YONII - DIRECTION prod. by LUCRY (Official 4K Video)",
length: 182, duration: 182,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/MfCSDn6q6j4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBEG2udEnlreWP8ezpx5j-1RpYrwg", url: "https://i.ytimg.com/vi/MfCSDn6q6j4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBEG2udEnlreWP8ezpx5j-1RpYrwg",
@ -287,7 +287,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "gx9KFXb5x_o", id: "gx9KFXb5x_o",
name: "Anstandslos & Durchgeknallt - Egal ft. Jasmiina (Official Video)", name: "Anstandslos & Durchgeknallt - Egal ft. Jasmiina (Official Video)",
length: 166, duration: 166,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gx9KFXb5x_o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQmzWXiU6YGpce9EAK0b1z2Y_QyQ", url: "https://i.ytimg.com/vi/gx9KFXb5x_o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQmzWXiU6YGpce9EAK0b1z2Y_QyQ",
@ -318,7 +318,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "d7R7DQ5tlQo", id: "d7R7DQ5tlQo",
name: "RAF Camora - SAG NIX (Anthrazit RR) #02", name: "RAF Camora - SAG NIX (Anthrazit RR) #02",
length: 205, duration: 205,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/d7R7DQ5tlQo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDeUBwyhvVq_h9-oRTQ82-tcP7cYg", url: "https://i.ytimg.com/vi/d7R7DQ5tlQo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDeUBwyhvVq_h9-oRTQ82-tcP7cYg",
@ -349,7 +349,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "cZPjgcqHSa8", id: "cZPjgcqHSa8",
name: "Olexesh - BWA feat. Celo & Abdi, Hanybal (prod. von Drunken Masters) [Official Video]", name: "Olexesh - BWA feat. Celo & Abdi, Hanybal (prod. von Drunken Masters) [Official Video]",
length: 294, duration: 294,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cZPjgcqHSa8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnL4R2RjYxajSHM2MYHHPIGSEbHg", url: "https://i.ytimg.com/vi/cZPjgcqHSa8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnL4R2RjYxajSHM2MYHHPIGSEbHg",
@ -380,7 +380,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "ogDLdREonWY", id: "ogDLdREonWY",
name: "AZET - KETTEN CARTIER (Beat by zeeko & Veteran / prod. by DJ A-Boom)", name: "AZET - KETTEN CARTIER (Beat by zeeko & Veteran / prod. by DJ A-Boom)",
length: 198, duration: 198,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ogDLdREonWY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCE-WB-D8k22SnqNqjlGIv3PopaKA", url: "https://i.ytimg.com/vi/ogDLdREonWY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCE-WB-D8k22SnqNqjlGIv3PopaKA",
@ -411,7 +411,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "pRQpKprUUPY", id: "pRQpKprUUPY",
name: "Moe Phoenix - Ching Chang Chong (prod. by FL3X & Unik)", name: "Moe Phoenix - Ching Chang Chong (prod. by FL3X & Unik)",
length: 226, duration: 226,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pRQpKprUUPY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1RCyBcVxcI7USDT0EdCYwzsgYbQ", url: "https://i.ytimg.com/vi/pRQpKprUUPY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1RCyBcVxcI7USDT0EdCYwzsgYbQ",
@ -442,7 +442,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "qZoQw9b4uCo", id: "qZoQw9b4uCo",
name: "PAYY x ARDIAN BUJUPI - Handschellen (Prod. by Remoe & Kostas Karagiozidis) [ OFFICIAL VIDEO ]", name: "PAYY x ARDIAN BUJUPI - Handschellen (Prod. by Remoe & Kostas Karagiozidis) [ OFFICIAL VIDEO ]",
length: 221, duration: 221,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qZoQw9b4uCo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_Yap-tgk3XSsxA3-WPIDbffMP5g", url: "https://i.ytimg.com/vi/qZoQw9b4uCo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_Yap-tgk3XSsxA3-WPIDbffMP5g",
@ -473,7 +473,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "q23qghoF6Nk", id: "q23qghoF6Nk",
name: "AZET - GJYNAH (beat by Lucry) (Official 4K Video)", name: "AZET - GJYNAH (beat by Lucry) (Official 4K Video)",
length: 271, duration: 271,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/q23qghoF6Nk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAon_vcMLc5GY3dZ857wU4_6sM7bQ", url: "https://i.ytimg.com/vi/q23qghoF6Nk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAon_vcMLc5GY3dZ857wU4_6sM7bQ",
@ -504,7 +504,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "yU0aKa7PFBg", id: "yU0aKa7PFBg",
name: "Helene Fischer | Herzbeben (Live aus dem Kesselhaus München)", name: "Helene Fischer | Herzbeben (Live aus dem Kesselhaus München)",
length: 206, duration: 206,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yU0aKa7PFBg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmZE8ywbjxjg8l1xwMeSJzMj27Ng", url: "https://i.ytimg.com/vi/yU0aKa7PFBg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmZE8ywbjxjg8l1xwMeSJzMj27Ng",
@ -535,7 +535,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "DVCAqvypaCc", id: "DVCAqvypaCc",
name: "DARDAN - JUMP (prod. by Oster)", name: "DARDAN - JUMP (prod. by Oster)",
length: 202, duration: 202,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DVCAqvypaCc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzU84UNl1l4W0cTdgmX9xthBVhHw", url: "https://i.ytimg.com/vi/DVCAqvypaCc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzU84UNl1l4W0cTdgmX9xthBVhHw",
@ -566,7 +566,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "XdnI7sm6LeQ", id: "XdnI7sm6LeQ",
name: "RAF Camora - Andere Liga (prod. Beataura & RAF Camora)", name: "RAF Camora - Andere Liga (prod. Beataura & RAF Camora)",
length: 240, duration: 240,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XdnI7sm6LeQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALhffgTUDPZfO74mZauERCfDWLFw", url: "https://i.ytimg.com/vi/XdnI7sm6LeQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALhffgTUDPZfO74mZauERCfDWLFw",
@ -597,7 +597,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "KcOXNSJtFLg", id: "KcOXNSJtFLg",
name: "Sugar MMFK - Trikot von Paris (prod. by Penacho) [4K VIDEO]", name: "Sugar MMFK - Trikot von Paris (prod. by Penacho) [4K VIDEO]",
length: 255, duration: 255,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KcOXNSJtFLg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBtf7BnKkQGWA9CJSEwH_-oYzka5w", url: "https://i.ytimg.com/vi/KcOXNSJtFLg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBtf7BnKkQGWA9CJSEwH_-oYzka5w",
@ -628,7 +628,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "K0UxHXZwgsg", id: "K0UxHXZwgsg",
name: "FLER ✖\u{fe0f}Pfirsich/Late Check-Out ✖\u{fe0f}► [ official Video ] prod. by Simes Add. Vocals by Mosenu", name: "FLER ✖\u{fe0f}Pfirsich/Late Check-Out ✖\u{fe0f}► [ official Video ] prod. by Simes Add. Vocals by Mosenu",
length: 245, duration: 245,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/K0UxHXZwgsg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD1XTfZEJtsHmu1PYtlGFwz4bAiOw", url: "https://i.ytimg.com/vi/K0UxHXZwgsg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD1XTfZEJtsHmu1PYtlGFwz4bAiOw",
@ -659,7 +659,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "eyyNwOSQ3Yg", id: "eyyNwOSQ3Yg",
name: "MGP \"BAD BITCH\" (Official Video)", name: "MGP \"BAD BITCH\" (Official Video)",
length: 166, duration: 166,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/eyyNwOSQ3Yg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrGr9LT69Q4tZzNwFIuUzoUAYwSQ", url: "https://i.ytimg.com/vi/eyyNwOSQ3Yg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrGr9LT69Q4tZzNwFIuUzoUAYwSQ",
@ -690,7 +690,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "1yskotqNuXI", id: "1yskotqNuXI",
name: "RIN - Bros (prod. Minhtendo)", name: "RIN - Bros (prod. Minhtendo)",
length: 219, duration: 219,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1yskotqNuXI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLABT4efReL1QrSECDJwROBI-pRCzw", url: "https://i.ytimg.com/vi/1yskotqNuXI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLABT4efReL1QrSECDJwROBI-pRCzw",
@ -721,7 +721,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "C03n4AAiL9w", id: "C03n4AAiL9w",
name: "Glasperlenspiel - Geiles Leben (Lyric Video)", name: "Glasperlenspiel - Geiles Leben (Lyric Video)",
length: 211, duration: 211,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/C03n4AAiL9w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCKvhEqesIgEalpxUZClNFcg65cig", url: "https://i.ytimg.com/vi/C03n4AAiL9w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCKvhEqesIgEalpxUZClNFcg65cig",
@ -752,7 +752,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "a2wNRTKRusM", id: "a2wNRTKRusM",
name: "Moe Phoenix - Mohammad (prod. by AriBeatz)", name: "Moe Phoenix - Mohammad (prod. by AriBeatz)",
length: 197, duration: 197,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/a2wNRTKRusM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBKdUFUQEPrf091_3-GxUDfOuwzA", url: "https://i.ytimg.com/vi/a2wNRTKRusM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBKdUFUQEPrf091_3-GxUDfOuwzA",
@ -783,7 +783,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "AIf61iHwWMQ", id: "AIf61iHwWMQ",
name: "RAF Camora feat. UFO 361, GZUZ & Bonez MC - WAFFEN (Anthrazit RR) #07", name: "RAF Camora feat. UFO 361, GZUZ & Bonez MC - WAFFEN (Anthrazit RR) #07",
length: 268, duration: 268,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/AIf61iHwWMQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDOB2LLlsczwY-nRhzA0m4rzWF7yg", url: "https://i.ytimg.com/vi/AIf61iHwWMQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDOB2LLlsczwY-nRhzA0m4rzWF7yg",
@ -814,7 +814,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "BixqbSRjY2Y", id: "BixqbSRjY2Y",
name: "RAF Camora - ALLES PROBIERT feat. BONEZ MC (prod.by Beataura & RAF Camora)", name: "RAF Camora - ALLES PROBIERT feat. BONEZ MC (prod.by Beataura & RAF Camora)",
length: 319, duration: 319,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BixqbSRjY2Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrOaouRgB68UYhr338njl3BEVTdg", url: "https://i.ytimg.com/vi/BixqbSRjY2Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrOaouRgB68UYhr338njl3BEVTdg",
@ -845,7 +845,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "Acgy-3d4P6o", id: "Acgy-3d4P6o",
name: "Kontra K - Erfolg ist kein Glück (Official Video)", name: "Kontra K - Erfolg ist kein Glück (Official Video)",
length: 226, duration: 226,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Acgy-3d4P6o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCBOvR8ORBuQ6zpDKCqfjS2CoAFvA", url: "https://i.ytimg.com/vi/Acgy-3d4P6o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCBOvR8ORBuQ6zpDKCqfjS2CoAFvA",
@ -876,7 +876,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "5M_yA9M7yNc", id: "5M_yA9M7yNc",
name: "RAF Camora - GOTHAM CITY (Anthrazit RR) #03", name: "RAF Camora - GOTHAM CITY (Anthrazit RR) #03",
length: 156, duration: 156,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5M_yA9M7yNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCviCUA-ubhSSDyG7yt8Q1FEbCdtQ", url: "https://i.ytimg.com/vi/5M_yA9M7yNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCviCUA-ubhSSDyG7yt8Q1FEbCdtQ",
@ -907,7 +907,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "PjJuezhos3U", id: "PjJuezhos3U",
name: "Fard - \"LIEBE MACHT BLIND\" (Official Video) prod.by Abaz & X-Plosive", name: "Fard - \"LIEBE MACHT BLIND\" (Official Video) prod.by Abaz & X-Plosive",
length: 258, duration: 258,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PjJuezhos3U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAulYAOlEdmCEOUhn3IQDk6lWuC5A", url: "https://i.ytimg.com/vi/PjJuezhos3U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAulYAOlEdmCEOUhn3IQDk6lWuC5A",
@ -938,7 +938,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "XMutaJI2-kc", id: "XMutaJI2-kc",
name: "18 Karat ✖\u{fe0f}• MAMA IST NICHT STOLZ •✖\u{fe0f} [ official Video ]", name: "18 Karat ✖\u{fe0f}• MAMA IST NICHT STOLZ •✖\u{fe0f} [ official Video ]",
length: 262, duration: 262,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XMutaJI2-kc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCCJIA4Omo1CkTXkOzYVdNbP0Mkrw", url: "https://i.ytimg.com/vi/XMutaJI2-kc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCCJIA4Omo1CkTXkOzYVdNbP0Mkrw",
@ -969,7 +969,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "Xac6Q7hcZkQ", id: "Xac6Q7hcZkQ",
name: "RIN - Monica Bellucci (prod. Alexis Troy)", name: "RIN - Monica Bellucci (prod. Alexis Troy)",
length: 228, duration: 228,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Xac6Q7hcZkQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDkwIz_hDDGLXX8i3uaKaWIl9ZH1Q", url: "https://i.ytimg.com/vi/Xac6Q7hcZkQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDkwIz_hDDGLXX8i3uaKaWIl9ZH1Q",
@ -1000,7 +1000,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "JfwjsjBcDoU", id: "JfwjsjBcDoU",
name: "Helene Fischer - Achterbahn", name: "Helene Fischer - Achterbahn",
length: 222, duration: 222,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/JfwjsjBcDoU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMhxxaiLymi4ZQ3WvJpovkdQfqSQ", url: "https://i.ytimg.com/vi/JfwjsjBcDoU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMhxxaiLymi4ZQ3WvJpovkdQfqSQ",
@ -1031,7 +1031,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "zshiQUV3ohw", id: "zshiQUV3ohw",
name: "MOE PHOENIX feat. VEYSEL - GAUNER (prod. by Ghana Beats)", name: "MOE PHOENIX feat. VEYSEL - GAUNER (prod. by Ghana Beats)",
length: 226, duration: 226,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zshiQUV3ohw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAqPtA9IBm0Dp_o89aj1F18oYvRnw", url: "https://i.ytimg.com/vi/zshiQUV3ohw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAqPtA9IBm0Dp_o89aj1F18oYvRnw",
@ -1062,7 +1062,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "g1eTAt1_VAM", id: "g1eTAt1_VAM",
name: "Nimo - HYPE feat. Celo & Abdi (prod. von Matveï) [Official 4K Video]", name: "Nimo - HYPE feat. Celo & Abdi (prod. von Matveï) [Official 4K Video]",
length: 303, duration: 303,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/g1eTAt1_VAM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBuGSL6ChVGrfHZvlpcgOnkQmDnkg", url: "https://i.ytimg.com/vi/g1eTAt1_VAM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBuGSL6ChVGrfHZvlpcgOnkQmDnkg",
@ -1093,7 +1093,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "c3rLrFC8igY", id: "c3rLrFC8igY",
name: "Dame - Auf die guten alten Zeiten [Official HD Video]", name: "Dame - Auf die guten alten Zeiten [Official HD Video]",
length: 252, duration: 252,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/c3rLrFC8igY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC8th_cJuzgJBvTHkU0F7_1o_EeSg", url: "https://i.ytimg.com/vi/c3rLrFC8igY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC8th_cJuzgJBvTHkU0F7_1o_EeSg",
@ -1124,7 +1124,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "1im4DNEYzEM", id: "1im4DNEYzEM",
name: "Gzuz - Optimal (Jambeatz)", name: "Gzuz - Optimal (Jambeatz)",
length: 209, duration: 209,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1im4DNEYzEM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCK7w05DebTnm9tXPT2AF4BYZQkpg", url: "https://i.ytimg.com/vi/1im4DNEYzEM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCK7w05DebTnm9tXPT2AF4BYZQkpg",
@ -1155,7 +1155,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "8BUxw9ocM2s", id: "8BUxw9ocM2s",
name: "EULE aka Jazzy Gudd - Stehaufmädchen (Official Video)", name: "EULE aka Jazzy Gudd - Stehaufmädchen (Official Video)",
length: 184, duration: 184,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8BUxw9ocM2s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD07FNMfJFNvAE1cQaM6d0TKN3thA", url: "https://i.ytimg.com/vi/8BUxw9ocM2s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD07FNMfJFNvAE1cQaM6d0TKN3thA",
@ -1186,7 +1186,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "g4cSpnGbHPE", id: "g4cSpnGbHPE",
name: "CAPITAL BRA & KING KHALIL - ZWEISTELLIGE HAFTSTRAFEN (PROD. SAVEN MUSIQ)", name: "CAPITAL BRA & KING KHALIL - ZWEISTELLIGE HAFTSTRAFEN (PROD. SAVEN MUSIQ)",
length: 201, duration: 201,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/g4cSpnGbHPE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAxbM8Us6Xq4TC42SgIawdzsI5kBw", url: "https://i.ytimg.com/vi/g4cSpnGbHPE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAxbM8Us6Xq4TC42SgIawdzsI5kBw",
@ -1217,7 +1217,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "1Sdj9MiCowQ", id: "1Sdj9MiCowQ",
name: "187 Strassenbande - 10 Jahre (Jambeatz)", name: "187 Strassenbande - 10 Jahre (Jambeatz)",
length: 296, duration: 296,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1Sdj9MiCowQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBiHVp4uTcgnNiLXVp8txVAsQLRRg", url: "https://i.ytimg.com/vi/1Sdj9MiCowQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBiHVp4uTcgnNiLXVp8txVAsQLRRg",
@ -1248,7 +1248,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "2DbR35g-0ZY", id: "2DbR35g-0ZY",
name: "Ufo361 - \"DER PATE\" (prod. von Broke Boys) [Official HD Video]", name: "Ufo361 - \"DER PATE\" (prod. von Broke Boys) [Official HD Video]",
length: 237, duration: 237,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2DbR35g-0ZY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5oyx0LTAyq3KN833dpoMqO0pPlQ", url: "https://i.ytimg.com/vi/2DbR35g-0ZY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5oyx0LTAyq3KN833dpoMqO0pPlQ",
@ -1279,7 +1279,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "j09hpp3AxIE", id: "j09hpp3AxIE",
name: "Die Toten Hosen // „Tage wie diese\" [Offizielles Musikvideo]", name: "Die Toten Hosen // „Tage wie diese\" [Offizielles Musikvideo]",
length: 272, duration: 272,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/j09hpp3AxIE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9AYFv29sGfmmdT8U1dqKUjY5ALw", url: "https://i.ytimg.com/vi/j09hpp3AxIE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9AYFv29sGfmmdT8U1dqKUjY5ALw",
@ -1310,7 +1310,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "J3GN6JXjV3g", id: "J3GN6JXjV3g",
name: "Wincent Weiss - Frische Luft", name: "Wincent Weiss - Frische Luft",
length: 200, duration: 200,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/J3GN6JXjV3g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB66Ro2vGeZvHM0dnqbT6HVGtuQNA", url: "https://i.ytimg.com/vi/J3GN6JXjV3g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB66Ro2vGeZvHM0dnqbT6HVGtuQNA",
@ -1341,7 +1341,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "pULl-p02upM", id: "pULl-p02upM",
name: "Eunique ► CHECK (feat. Xatar) ◄ music by Lucry / prod. by Michael Jackson [Official Video]", name: "Eunique ► CHECK (feat. Xatar) ◄ music by Lucry / prod. by Michael Jackson [Official Video]",
length: 240, duration: 240,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pULl-p02upM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjH5lXg2mtjBxznFQpauBgpZ6S5g", url: "https://i.ytimg.com/vi/pULl-p02upM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjH5lXg2mtjBxznFQpauBgpZ6S5g",
@ -1372,7 +1372,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "O6By8JeCtQQ", id: "O6By8JeCtQQ",
name: "KING KHALIL FT. CELO & ABDI - ALLES RICHTIG SO (PROD.BY THE CRATEZ)", name: "KING KHALIL FT. CELO & ABDI - ALLES RICHTIG SO (PROD.BY THE CRATEZ)",
length: 210, duration: 210,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/O6By8JeCtQQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBeEDlx_Qtv47nY5CUFqHFv3eJAJQ", url: "https://i.ytimg.com/vi/O6By8JeCtQQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBeEDlx_Qtv47nY5CUFqHFv3eJAJQ",
@ -1403,7 +1403,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "NGn3IYQ7M7E", id: "NGn3IYQ7M7E",
name: "LUCIANO - VORANKOMMEN (prod. by Chryziz Beats)", name: "LUCIANO - VORANKOMMEN (prod. by Chryziz Beats)",
length: 228, duration: 228,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NGn3IYQ7M7E/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB52YZY551SNIySzi-d8PMMx5p4qA", url: "https://i.ytimg.com/vi/NGn3IYQ7M7E/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB52YZY551SNIySzi-d8PMMx5p4qA",
@ -1434,7 +1434,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "o43oI5x86dI", id: "o43oI5x86dI",
name: "Gzuz feat. LX- Schnapp! (prod. P.M.B.)", name: "Gzuz feat. LX- Schnapp! (prod. P.M.B.)",
length: 166, duration: 166,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/o43oI5x86dI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDeGB5wc8URrV5zjwsfhU2-lAd2Bg", url: "https://i.ytimg.com/vi/o43oI5x86dI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDeGB5wc8URrV5zjwsfhU2-lAd2Bg",
@ -1465,7 +1465,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "7TNqUrINxzs", id: "7TNqUrINxzs",
name: "Veysel - Besser als 50 Cent (OFFICIAL HD VIDEO) prod. by Fonty", name: "Veysel - Besser als 50 Cent (OFFICIAL HD VIDEO) prod. by Fonty",
length: 197, duration: 197,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7TNqUrINxzs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDGpJi_1puIgwODMepICvhX3qrmvw", url: "https://i.ytimg.com/vi/7TNqUrINxzs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDGpJi_1puIgwODMepICvhX3qrmvw",
@ -1496,7 +1496,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "f3BD5Zm3cp0", id: "f3BD5Zm3cp0",
name: "BONEZ MC & RAF CAMORA - PALMEN AUS GOLD", name: "BONEZ MC & RAF CAMORA - PALMEN AUS GOLD",
length: 231, duration: 231,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/f3BD5Zm3cp0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrTx5VwXz29kwhWDvtUqUsMl832Q", url: "https://i.ytimg.com/vi/f3BD5Zm3cp0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrTx5VwXz29kwhWDvtUqUsMl832Q",
@ -1527,7 +1527,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "sF4yTDp95Eo", id: "sF4yTDp95Eo",
name: "YONII - LAMPEDUSA prod. by LUCRY (Official 4K Video)", name: "YONII - LAMPEDUSA prod. by LUCRY (Official 4K Video)",
length: 203, duration: 203,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/sF4yTDp95Eo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBvg9CIthGa9KJrDHLjeZjkDegElw", url: "https://i.ytimg.com/vi/sF4yTDp95Eo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBvg9CIthGa9KJrDHLjeZjkDegElw",
@ -1558,7 +1558,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "1EwLNHg6ejY", id: "1EwLNHg6ejY",
name: "Mert ft. SOOLKING - AJAJAJ (prod. by ARIBEATZ)", name: "Mert ft. SOOLKING - AJAJAJ (prod. by ARIBEATZ)",
length: 224, duration: 224,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1EwLNHg6ejY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxADlCvmeGhe-SPNkvZcVQk7wu4g", url: "https://i.ytimg.com/vi/1EwLNHg6ejY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxADlCvmeGhe-SPNkvZcVQk7wu4g",
@ -1589,7 +1589,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "-l75qaSDWe8", id: "-l75qaSDWe8",
name: "SXTN - Bongzimmer (Official Video)", name: "SXTN - Bongzimmer (Official Video)",
length: 287, duration: 287,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/-l75qaSDWe8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMJGvaVHhQX1wQsr-3Kd2djDVIRQ", url: "https://i.ytimg.com/vi/-l75qaSDWe8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMJGvaVHhQX1wQsr-3Kd2djDVIRQ",
@ -1620,7 +1620,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "7h7ntYLLrfQ", id: "7h7ntYLLrfQ",
name: "Mark Forster - Kogong", name: "Mark Forster - Kogong",
length: 223, duration: 223,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7h7ntYLLrfQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAtAzQLSNQvigkTqhdfBgz8WSOyTA", url: "https://i.ytimg.com/vi/7h7ntYLLrfQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAtAzQLSNQvigkTqhdfBgz8WSOyTA",
@ -1651,7 +1651,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "ApUl3Ops69M", id: "ApUl3Ops69M",
name: "AZET - FAST LIFE (prod. by m3) #KMNSTREET VOL. 1", name: "AZET - FAST LIFE (prod. by m3) #KMNSTREET VOL. 1",
length: 179, duration: 179,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ApUl3Ops69M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDb2436I_Kp7y4gMe6w7nh_DN0F2Q", url: "https://i.ytimg.com/vi/ApUl3Ops69M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDb2436I_Kp7y4gMe6w7nh_DN0F2Q",
@ -1682,7 +1682,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "2YcJ8Wightw", id: "2YcJ8Wightw",
name: "GZUZ - CL500 (Jambeatz)", name: "GZUZ - CL500 (Jambeatz)",
length: 152, duration: 152,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2YcJ8Wightw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBafY_AaRX5vaAIfpdctKTL8ZbUqQ", url: "https://i.ytimg.com/vi/2YcJ8Wightw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBafY_AaRX5vaAIfpdctKTL8ZbUqQ",
@ -1713,7 +1713,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "W3q8Od5qJio", id: "W3q8Od5qJio",
name: "Rammstein - Du Hast (Official Video)", name: "Rammstein - Du Hast (Official Video)",
length: 236, duration: 236,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/W3q8Od5qJio/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBy8BHWAiUz5cUmZdLkDTTIS7w5bA", url: "https://i.ytimg.com/vi/W3q8Od5qJio/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBy8BHWAiUz5cUmZdLkDTTIS7w5bA",
@ -1744,7 +1744,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "WPFLAjmWCtk", id: "WPFLAjmWCtk",
name: "SIDO - Astronaut (feat. Andreas Bourani) OFFICIAL VIDEO", name: "SIDO - Astronaut (feat. Andreas Bourani) OFFICIAL VIDEO",
length: 268, duration: 268,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WPFLAjmWCtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA6n25WXYSKiK6KbfsZk-monR1BQ", url: "https://i.ytimg.com/vi/WPFLAjmWCtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA6n25WXYSKiK6KbfsZk-monR1BQ",
@ -1775,7 +1775,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "tC76tIp0kBk", id: "tC76tIp0kBk",
name: "MoTrip - So wie du bist (feat. Lary)", name: "MoTrip - So wie du bist (feat. Lary)",
length: 312, duration: 312,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/tC76tIp0kBk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBCSXdft-cKXNbKDFWX-UBvjgjeOQ", url: "https://i.ytimg.com/vi/tC76tIp0kBk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBCSXdft-cKXNbKDFWX-UBvjgjeOQ",
@ -1806,7 +1806,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "kiMG_JV2gbo", id: "kiMG_JV2gbo",
name: "Adel Tawil \"Lieder\" (Official Lyrics Video)", name: "Adel Tawil \"Lieder\" (Official Lyrics Video)",
length: 230, duration: 230,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/kiMG_JV2gbo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDuETow7IpKT30ZdSsh-9L6ns1Uww", url: "https://i.ytimg.com/vi/kiMG_JV2gbo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDuETow7IpKT30ZdSsh-9L6ns1Uww",
@ -1837,7 +1837,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "CrYYg_atdtk", id: "CrYYg_atdtk",
name: "Marteria, Yasha, Miss Platnum - Lila Wolken (Official Video)", name: "Marteria, Yasha, Miss Platnum - Lila Wolken (Official Video)",
length: 231, duration: 231,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CrYYg_atdtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_8mGL48FutWtNIFldaMsVmhlhnw", url: "https://i.ytimg.com/vi/CrYYg_atdtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_8mGL48FutWtNIFldaMsVmhlhnw",
@ -1868,7 +1868,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "XTPGpBBwt1w", id: "XTPGpBBwt1w",
name: "K.I.Z. - Hurra die Welt geht unter ft. Henning May (Official Video)", name: "K.I.Z. - Hurra die Welt geht unter ft. Henning May (Official Video)",
length: 299, duration: 299,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XTPGpBBwt1w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAcYXhOsrGetd_0wuibgBFV7YBnIg", url: "https://i.ytimg.com/vi/XTPGpBBwt1w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAcYXhOsrGetd_0wuibgBFV7YBnIg",
@ -1899,7 +1899,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "uC08L4xxjNM", id: "uC08L4xxjNM",
name: "Max Giesinger - 80 Millionen (Offizielles Video)", name: "Max Giesinger - 80 Millionen (Offizielles Video)",
length: 257, duration: 257,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/uC08L4xxjNM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOc-MPZ_rsmax81mL3f8AgLsX90Q", url: "https://i.ytimg.com/vi/uC08L4xxjNM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOc-MPZ_rsmax81mL3f8AgLsX90Q",
@ -1930,7 +1930,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "5fAoV_AAMf0", id: "5fAoV_AAMf0",
name: "Mark Forster - Bauch und Kopf (Videoclip)", name: "Mark Forster - Bauch und Kopf (Videoclip)",
length: 257, duration: 257,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5fAoV_AAMf0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfOpErDWIsYZ61_NlNduG5z2W5Cg", url: "https://i.ytimg.com/vi/5fAoV_AAMf0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfOpErDWIsYZ61_NlNduG5z2W5Cg",
@ -1961,7 +1961,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "u5Vz7obL460", id: "u5Vz7obL460",
name: "Tim Bendzko - Keine Maschine (Offizielles Video)", name: "Tim Bendzko - Keine Maschine (Offizielles Video)",
length: 202, duration: 202,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/u5Vz7obL460/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBUhjoBjfVBzy7k9bgwicb4in_wQ", url: "https://i.ytimg.com/vi/u5Vz7obL460/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBUhjoBjfVBzy7k9bgwicb4in_wQ",
@ -1992,7 +1992,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "ZPJlyRv_IGI", id: "ZPJlyRv_IGI",
name: "Deichkind - Leider Geil (Official Video)", name: "Deichkind - Leider Geil (Official Video)",
length: 189, duration: 189,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ZPJlyRv_IGI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-VCnGYvXMSkYOdKLReH9Dlt8G_A", url: "https://i.ytimg.com/vi/ZPJlyRv_IGI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-VCnGYvXMSkYOdKLReH9Dlt8G_A",
@ -2023,7 +2023,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "s2SLbln-JwE", id: "s2SLbln-JwE",
name: "BIBI & TINA \" Jungs gegen Mädchen - MÄDCHEN GEGEN JUNGS - Das offizielle Video!", name: "BIBI & TINA \" Jungs gegen Mädchen - MÄDCHEN GEGEN JUNGS - Das offizielle Video!",
length: 172, duration: 172,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/s2SLbln-JwE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDURk566C-Rh1vwMamXVandCsnDvQ", url: "https://i.ytimg.com/vi/s2SLbln-JwE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDURk566C-Rh1vwMamXVandCsnDvQ",
@ -2054,7 +2054,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "28xHtRw6pG8", id: "28xHtRw6pG8",
name: "AZET - PATTE FLIESST prod. by LUCRY #KMNSTREET VOL. 5", name: "AZET - PATTE FLIESST prod. by LUCRY #KMNSTREET VOL. 5",
length: 206, duration: 206,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/28xHtRw6pG8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAZB8XpsXloeCqWZpyZt8YNvV2IxQ", url: "https://i.ytimg.com/vi/28xHtRw6pG8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAZB8XpsXloeCqWZpyZt8YNvV2IxQ",
@ -2085,7 +2085,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "joWoKqUTRvc", id: "joWoKqUTRvc",
name: "KC Rebell ► ALLES & NICHTS ◄ [ official Video ]", name: "KC Rebell ► ALLES & NICHTS ◄ [ official Video ]",
length: 204, duration: 204,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/joWoKqUTRvc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAwlxydPxzE_jwb1rNbqmjdMEEoQ", url: "https://i.ytimg.com/vi/joWoKqUTRvc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAwlxydPxzE_jwb1rNbqmjdMEEoQ",
@ -2116,7 +2116,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "XNMFTqhcNrE", id: "XNMFTqhcNrE",
name: "Mark Forster - Flash mich (Videoclip)", name: "Mark Forster - Flash mich (Videoclip)",
length: 236, duration: 236,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XNMFTqhcNrE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBTr_B4ekTBT9hupTStE4MOf52PVw", url: "https://i.ytimg.com/vi/XNMFTqhcNrE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBTr_B4ekTBT9hupTStE4MOf52PVw",
@ -2147,7 +2147,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "v3vPLgJ9FX8", id: "v3vPLgJ9FX8",
name: "Cheat Codes - Sex (Official Video)", name: "Cheat Codes - Sex (Official Video)",
length: 260, duration: 260,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/v3vPLgJ9FX8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA_hmNsTwTENDy4Bjh6gh__yW3GIQ", url: "https://i.ytimg.com/vi/v3vPLgJ9FX8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA_hmNsTwTENDy4Bjh6gh__yW3GIQ",
@ -2178,7 +2178,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "UFXOd179kOA", id: "UFXOd179kOA",
name: "GZUZ - EBBE & FLUT (mit Xatar & Hanybal)", name: "GZUZ - EBBE & FLUT (mit Xatar & Hanybal)",
length: 213, duration: 213,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/UFXOd179kOA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-tY05WssNwj08bjU_P1qVrXP3Ag", url: "https://i.ytimg.com/vi/UFXOd179kOA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-tY05WssNwj08bjU_P1qVrXP3Ag",
@ -2209,7 +2209,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "4xRsDnKgHZc", id: "4xRsDnKgHZc",
name: "ZUNA feat. NIMO - HOL MIR DEIN COUSIN (Official 4K Video)", name: "ZUNA feat. NIMO - HOL MIR DEIN COUSIN (Official 4K Video)",
length: 206, duration: 206,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4xRsDnKgHZc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2YQRMQrDjFZXKHm-HPOKNZY-kmw", url: "https://i.ytimg.com/vi/4xRsDnKgHZc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2YQRMQrDjFZXKHm-HPOKNZY-kmw",
@ -2240,7 +2240,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "mE3IjoEqMqY", id: "mE3IjoEqMqY",
name: "Hanybal - VANILLA SKY mit Nimo (prod. von Lucry) [Official 4K Video]", name: "Hanybal - VANILLA SKY mit Nimo (prod. von Lucry) [Official 4K Video]",
length: 211, duration: 211,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mE3IjoEqMqY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARArW0ieGDVRQ4Qhp8JWepnfeDtg", url: "https://i.ytimg.com/vi/mE3IjoEqMqY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARArW0ieGDVRQ4Qhp8JWepnfeDtg",
@ -2271,7 +2271,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "E7e5vxKerqA", id: "E7e5vxKerqA",
name: "DARDAN FT. ENO - WER MACHT PARA? (Official Video)", name: "DARDAN FT. ENO - WER MACHT PARA? (Official Video)",
length: 195, duration: 195,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/E7e5vxKerqA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYmNJ23r8Y5wE4xpfNz2ms6i3omw", url: "https://i.ytimg.com/vi/E7e5vxKerqA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYmNJ23r8Y5wE4xpfNz2ms6i3omw",
@ -2302,7 +2302,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "axmZ_5Rx4Go", id: "axmZ_5Rx4Go",
name: "Adel Tawil \"Zuhause\" (Official Music Video)", name: "Adel Tawil \"Zuhause\" (Official Music Video)",
length: 210, duration: 210,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/axmZ_5Rx4Go/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDh0E0WIHz_QeECpxh9OcCQgP80Tw", url: "https://i.ytimg.com/vi/axmZ_5Rx4Go/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDh0E0WIHz_QeECpxh9OcCQgP80Tw",
@ -2333,7 +2333,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "44Ig6BsOCYA", id: "44Ig6BsOCYA",
name: "Olexesh - PURPLE HAZE (Offizielles Video)", name: "Olexesh - PURPLE HAZE (Offizielles Video)",
length: 279, duration: 279,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/44Ig6BsOCYA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAwH-0B_Aadbi2O9ba4EJUr3kyCA", url: "https://i.ytimg.com/vi/44Ig6BsOCYA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAwH-0B_Aadbi2O9ba4EJUr3kyCA",
@ -2364,7 +2364,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "3iLBFEJjdN0", id: "3iLBFEJjdN0",
name: "SIDO - Löwenzahn feat. Olexesh (prod. by DJ Desue & x-plosive)", name: "SIDO - Löwenzahn feat. Olexesh (prod. by DJ Desue & x-plosive)",
length: 242, duration: 242,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3iLBFEJjdN0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2pjLj4MppP5puOVVw960xZHlEZQ", url: "https://i.ytimg.com/vi/3iLBFEJjdN0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2pjLj4MppP5puOVVw960xZHlEZQ",
@ -2395,7 +2395,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "M-ncq2eHF_k", id: "M-ncq2eHF_k",
name: "Philipp Poisel - Ich will nur (Offizielles Video)", name: "Philipp Poisel - Ich will nur (Offizielles Video)",
length: 233, duration: 233,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/M-ncq2eHF_k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDbtYmxd63hnsRbe3Sgr6IEtxaKXg", url: "https://i.ytimg.com/vi/M-ncq2eHF_k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDbtYmxd63hnsRbe3Sgr6IEtxaKXg",
@ -2426,7 +2426,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "-AJoJ-ggiKI", id: "-AJoJ-ggiKI",
name: "LX & Maxwell feat. Gzuz - HaifischNikez (Jambeatz)", name: "LX & Maxwell feat. Gzuz - HaifischNikez (Jambeatz)",
length: 215, duration: 215,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/-AJoJ-ggiKI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcSPvvf03RP2Q6cd3h3G2Zz42XMQ", url: "https://i.ytimg.com/vi/-AJoJ-ggiKI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcSPvvf03RP2Q6cd3h3G2Zz42XMQ",
@ -2457,7 +2457,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "cgb-zp9DDHg", id: "cgb-zp9DDHg",
name: "Bushido X Shindy - Brot brechen", name: "Bushido X Shindy - Brot brechen",
length: 191, duration: 191,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cgb-zp9DDHg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBoszXFG4nQrodmF7kDKDCpBahWnQ", url: "https://i.ytimg.com/vi/cgb-zp9DDHg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBoszXFG4nQrodmF7kDKDCpBahWnQ",
@ -2488,7 +2488,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "Q7ZXg3KQLt0", id: "Q7ZXg3KQLt0",
name: "KOLLEGAH - Genozid (prod. von B-Case & Alexis Troy) (Official HD Video)", name: "KOLLEGAH - Genozid (prod. von B-Case & Alexis Troy) (Official HD Video)",
length: 407, duration: 407,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Q7ZXg3KQLt0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCntzPVc1exjqTv4dMIRNj9l_fPFA", url: "https://i.ytimg.com/vi/Q7ZXg3KQLt0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCntzPVc1exjqTv4dMIRNj9l_fPFA",
@ -2519,7 +2519,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "ysAEZOwp5rM", id: "ysAEZOwp5rM",
name: "KOLLEGAH - John Gotti (prod. von Alexis Troy) (Official HD Video)", name: "KOLLEGAH - John Gotti (prod. von Alexis Troy) (Official HD Video)",
length: 207, duration: 207,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ysAEZOwp5rM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAq4pm6ReaUxi45Ao_rQqFb-zTDqQ", url: "https://i.ytimg.com/vi/ysAEZOwp5rM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAq4pm6ReaUxi45Ao_rQqFb-zTDqQ",
@ -2550,7 +2550,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "m5vfng33SVE", id: "m5vfng33SVE",
name: "Philipp Dittberner - Das ist dein Leben (Official Video)", name: "Philipp Dittberner - Das ist dein Leben (Official Video)",
length: 282, duration: 282,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/m5vfng33SVE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCy3rZ_vNJbHC6MPjBKfkH9OF4KxQ", url: "https://i.ytimg.com/vi/m5vfng33SVE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCy3rZ_vNJbHC6MPjBKfkH9OF4KxQ",
@ -2581,7 +2581,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "yMfgjVlGbUE", id: "yMfgjVlGbUE",
name: "SpongeBOZZ - SFTB/Apocalyptic Infinity/Payback #forsundiego (Prod. by Digital Drama)", name: "SpongeBOZZ - SFTB/Apocalyptic Infinity/Payback #forsundiego (Prod. by Digital Drama)",
length: 1622, duration: 1622,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yMfgjVlGbUE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCImbZOtOhsu1n5GRh-mVYWhoCNGA", url: "https://i.ytimg.com/vi/yMfgjVlGbUE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCImbZOtOhsu1n5GRh-mVYWhoCNGA",
@ -2612,7 +2612,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "OQIYEPe6DWY", id: "OQIYEPe6DWY",
name: "Kraftwerk - Das Model", name: "Kraftwerk - Das Model",
length: 262, duration: 262,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/OQIYEPe6DWY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcpI8_iSbWLFjaRFSoXae9jGhSkQ", url: "https://i.ytimg.com/vi/OQIYEPe6DWY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcpI8_iSbWLFjaRFSoXae9jGhSkQ",
@ -2643,7 +2643,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "5FS8RIH7BpI", id: "5FS8RIH7BpI",
name: "GENETIKK - Wünsch dir was (Official HD Video)", name: "GENETIKK - Wünsch dir was (Official HD Video)",
length: 303, duration: 303,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5FS8RIH7BpI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAuSraLlm5j-ap1h2ePrD79sxdoNQ", url: "https://i.ytimg.com/vi/5FS8RIH7BpI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAuSraLlm5j-ap1h2ePrD79sxdoNQ",
@ -2674,7 +2674,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "zSRKgFB9piY", id: "zSRKgFB9piY",
name: "Keine ist wie Du - Joel Brandenstein & Chrisoula Botsika ( Gregor Meyle Acoustic Cover )", name: "Keine ist wie Du - Joel Brandenstein & Chrisoula Botsika ( Gregor Meyle Acoustic Cover )",
length: 256, duration: 256,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zSRKgFB9piY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbaAoyp05Ae7eWUZvCAzFdRN6BMQ", url: "https://i.ytimg.com/vi/zSRKgFB9piY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbaAoyp05Ae7eWUZvCAzFdRN6BMQ",
@ -2705,7 +2705,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "e4eHhgwHCME", id: "e4eHhgwHCME",
name: "Kollegah & Farid Bang ✖\u{fe0f}STURMMASKE AUF ✖\u{fe0f} [official video]", name: "Kollegah & Farid Bang ✖\u{fe0f}STURMMASKE AUF ✖\u{fe0f} [official video]",
length: 275, duration: 275,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/e4eHhgwHCME/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDj3vRRbJlmnPr4rqKRkmZs-JIN7A", url: "https://i.ytimg.com/vi/e4eHhgwHCME/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDj3vRRbJlmnPr4rqKRkmZs-JIN7A",
@ -2736,7 +2736,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "q3hZvho7jNk", id: "q3hZvho7jNk",
name: "KC Rebell ✖\u{fe0f} PAPER ✖\u{fe0f} [ official Video ] GEE Futuristic, Nikki 3k & Joshimixu", name: "KC Rebell ✖\u{fe0f} PAPER ✖\u{fe0f} [ official Video ] GEE Futuristic, Nikki 3k & Joshimixu",
length: 222, duration: 222,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/q3hZvho7jNk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLwp5luIJpaNOWk7bSXdYfTn0sBA", url: "https://i.ytimg.com/vi/q3hZvho7jNk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLwp5luIJpaNOWk7bSXdYfTn0sBA",
@ -2767,7 +2767,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "0nWysyj_Z4Y", id: "0nWysyj_Z4Y",
name: "Nimo - FLOUZ KOMMT FLOUZ GEHT (prod. von Jimmy Torrio) [Official 4K Video]", name: "Nimo - FLOUZ KOMMT FLOUZ GEHT (prod. von Jimmy Torrio) [Official 4K Video]",
length: 191, duration: 191,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0nWysyj_Z4Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGu4QNzr3EMjQcAiTkPrm3q60nQ", url: "https://i.ytimg.com/vi/0nWysyj_Z4Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGu4QNzr3EMjQcAiTkPrm3q60nQ",
@ -2798,7 +2798,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "aGCcLWU0OVo", id: "aGCcLWU0OVo",
name: "SIDO - Gürtel am Arm", name: "SIDO - Gürtel am Arm",
length: 218, duration: 218,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/aGCcLWU0OVo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDArDAbvY0RsPSuJPBh4uyPYSr4Bw", url: "https://i.ytimg.com/vi/aGCcLWU0OVo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDArDAbvY0RsPSuJPBh4uyPYSr4Bw",
@ -2829,7 +2829,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "OQsXLK4MeEA", id: "OQsXLK4MeEA",
name: "JBB 2013 - SpongeBOZZ vs. Gio (Finale HR) prod. by Digital Drama", name: "JBB 2013 - SpongeBOZZ vs. Gio (Finale HR) prod. by Digital Drama",
length: 400, duration: 400,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/OQsXLK4MeEA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBZWiGbF4RrO7JLpICvTuC-eHpfuw", url: "https://i.ytimg.com/vi/OQsXLK4MeEA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBZWiGbF4RrO7JLpICvTuC-eHpfuw",
@ -2860,7 +2860,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "xm7dxIqOO2M", id: "xm7dxIqOO2M",
name: "KURDO - Halbmond (prod. by Amir & Kostas)", name: "KURDO - Halbmond (prod. by Amir & Kostas)",
length: 272, duration: 272,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xm7dxIqOO2M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxxl3-2dozhr306-FrORMGygKXoQ", url: "https://i.ytimg.com/vi/xm7dxIqOO2M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxxl3-2dozhr306-FrORMGygKXoQ",
@ -2891,7 +2891,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "jlaaByab4Zk", id: "jlaaByab4Zk",
name: "Mc Yankoo feat. Milica Todorovic - Ljubi me budalo (official Video)", name: "Mc Yankoo feat. Milica Todorovic - Ljubi me budalo (official Video)",
length: 224, duration: 224,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/jlaaByab4Zk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBG5CJRj0SjU1Vm1l9EIGnWOG1mUQ", url: "https://i.ytimg.com/vi/jlaaByab4Zk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBG5CJRj0SjU1Vm1l9EIGnWOG1mUQ",
@ -2922,7 +2922,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "KG9-jSqXz4U", id: "KG9-jSqXz4U",
name: "Oft Gefragt - AnnenMayKantereit (Official Video)", name: "Oft Gefragt - AnnenMayKantereit (Official Video)",
length: 205, duration: 205,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KG9-jSqXz4U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCdiXgKroQCc_4uA9cgiCKIDKbUYg", url: "https://i.ytimg.com/vi/KG9-jSqXz4U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCdiXgKroQCc_4uA9cgiCKIDKbUYg",
@ -2953,7 +2953,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "7dISZnwsBSA", id: "7dISZnwsBSA",
name: "Prinz Pi - 1,40m (feat. Philipp Dittberner)", name: "Prinz Pi - 1,40m (feat. Philipp Dittberner)",
length: 284, duration: 284,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7dISZnwsBSA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2ZhuSJUc-O8GnUa12UH5Z08qWlA", url: "https://i.ytimg.com/vi/7dISZnwsBSA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2ZhuSJUc-O8GnUa12UH5Z08qWlA",
@ -2984,7 +2984,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "F_PPdS-PB14", id: "F_PPdS-PB14",
name: "Nimo - IDÉAL (prod. von SOTT) [Official 4K Video]", name: "Nimo - IDÉAL (prod. von SOTT) [Official 4K Video]",
length: 253, duration: 253,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/F_PPdS-PB14/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIcbTSt6Q1Xo8sqLnyEbbXSuLBcg", url: "https://i.ytimg.com/vi/F_PPdS-PB14/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIcbTSt6Q1Xo8sqLnyEbbXSuLBcg",
@ -3015,7 +3015,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "DMg9idvVY8M", id: "DMg9idvVY8M",
name: "Nimo - BITTER (prod. von Jimmy Torrio) [Official 4K Video]", name: "Nimo - BITTER (prod. von Jimmy Torrio) [Official 4K Video]",
length: 173, duration: 173,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DMg9idvVY8M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIg_8ZAGGj-OC9R8sh4txS_8bQHw", url: "https://i.ytimg.com/vi/DMg9idvVY8M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIg_8ZAGGj-OC9R8sh4txS_8bQHw",
@ -3046,7 +3046,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "DGEmoSFI94Y", id: "DGEmoSFI94Y",
name: "SDP - Kurz für immer bleiben", name: "SDP - Kurz für immer bleiben",
length: 218, duration: 218,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DGEmoSFI94Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2H8YGPqxgGisgCPfV-svTSrBY3g", url: "https://i.ytimg.com/vi/DGEmoSFI94Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2H8YGPqxgGisgCPfV-svTSrBY3g",
@ -3077,7 +3077,7 @@ Paginator(
PlaylistVideo( PlaylistVideo(
id: "BtZufymxHvE", id: "BtZufymxHvE",
name: "LX & Maxwell - Ausser Kontrolle (Jambeatz)", name: "LX & Maxwell - Ausser Kontrolle (Jambeatz)",
length: 159, duration: 159,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BtZufymxHvE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCNkUFpFYV3Tnk-NnRMwuHuQlxl-g", url: "https://i.ytimg.com/vi/BtZufymxHvE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCNkUFpFYV3Tnk-NnRMwuHuQlxl-g",

View file

@ -11,7 +11,7 @@ Playlist(
VideoItem( VideoItem(
id: "G1eQAxaim7I", id: "G1eQAxaim7I",
name: "Bracket Stage Day 6 | MSI 2023", name: "Bracket Stage Day 6 | MSI 2023",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/G1eQAxaim7I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAec-R8N3ePlZu5R4vXvQ-b5rDjlw", url: "https://i.ytimg.com/vi/G1eQAxaim7I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAec-R8N3ePlZu5R4vXvQ-b5rDjlw",
@ -52,7 +52,7 @@ Playlist(
VideoItem( VideoItem(
id: "e2ikfdaqgQw", id: "e2ikfdaqgQw",
name: "(REBROADCAST) Brackets Stage Day 5 | MSI 2023", name: "(REBROADCAST) Brackets Stage Day 5 | MSI 2023",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/e2ikfdaqgQw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBVijuor2a5yElnWqnlONL8bBtadg", url: "https://i.ytimg.com/vi/e2ikfdaqgQw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBVijuor2a5yElnWqnlONL8bBtadg",
@ -93,7 +93,7 @@ Playlist(
VideoItem( VideoItem(
id: "eeRJ6gKEdGw", id: "eeRJ6gKEdGw",
name: "MAD vs. G2 | Bracket Stage Day 5 | MSI 2023", name: "MAD vs. G2 | Bracket Stage Day 5 | MSI 2023",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/eeRJ6gKEdGw/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBJnEZdD6DPyuxAirKBBVvf8tf1EA", url: "https://i.ytimg.com/vi/eeRJ6gKEdGw/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBJnEZdD6DPyuxAirKBBVvf8tf1EA",
@ -134,7 +134,7 @@ Playlist(
VideoItem( VideoItem(
id: "f6_LVfu4TBM", id: "f6_LVfu4TBM",
name: "C9 vs. BLG | Brackets Stage Day 3 | MSI 2023", name: "C9 vs. BLG | Brackets Stage Day 3 | MSI 2023",
length: Some(16296), duration: Some(16296),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/f6_LVfu4TBM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA3bXUGDK_XN1sd4SpY5uyqKPLcXg", url: "https://i.ytimg.com/vi/f6_LVfu4TBM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA3bXUGDK_XN1sd4SpY5uyqKPLcXg",
@ -175,7 +175,7 @@ Playlist(
VideoItem( VideoItem(
id: "k1T5q5vCseA", id: "k1T5q5vCseA",
name: "MAD vs. T1 | Brackets Stage Day 2 | MSI 2023", name: "MAD vs. T1 | Brackets Stage Day 2 | MSI 2023",
length: Some(14656), duration: Some(14656),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/k1T5q5vCseA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKwXBozWNoyoPOTLxU-KTEcPdGNg", url: "https://i.ytimg.com/vi/k1T5q5vCseA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKwXBozWNoyoPOTLxU-KTEcPdGNg",
@ -216,7 +216,7 @@ Playlist(
VideoItem( VideoItem(
id: "SfSRvJAepao", id: "SfSRvJAepao",
name: "GEN vs. G2 | Brackets Stage Day 1 | MSI 2023", name: "GEN vs. G2 | Brackets Stage Day 1 | MSI 2023",
length: Some(17253), duration: Some(17253),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/SfSRvJAepao/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAHSVlRBTH5fTkJuZZ1TM023aiRJw", url: "https://i.ytimg.com/vi/SfSRvJAepao/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAHSVlRBTH5fTkJuZZ1TM023aiRJw",
@ -257,7 +257,7 @@ Playlist(
VideoItem( VideoItem(
id: "iLh5u7b9cBA", id: "iLh5u7b9cBA",
name: "Grand Final | 2021 Mid-Season Invitational", name: "Grand Final | 2021 Mid-Season Invitational",
length: Some(22019), duration: Some(22019),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/iLh5u7b9cBA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDf-JLHFDDTrEh0PNDOf0YFDC8Gng", url: "https://i.ytimg.com/vi/iLh5u7b9cBA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDf-JLHFDDTrEh0PNDOf0YFDC8Gng",
@ -298,7 +298,7 @@ Playlist(
VideoItem( VideoItem(
id: "H0-Xedaum2M", id: "H0-Xedaum2M",
name: "DK vs. MAD | Semifinals Day 2 | 2021 Mid-Season Invitational | DWG KIA vs. MAD Lions", name: "DK vs. MAD | Semifinals Day 2 | 2021 Mid-Season Invitational | DWG KIA vs. MAD Lions",
length: Some(20799), duration: Some(20799),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/H0-Xedaum2M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAyxdqkPntzMldI_O4fj7DknKtedg", url: "https://i.ytimg.com/vi/H0-Xedaum2M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAyxdqkPntzMldI_O4fj7DknKtedg",
@ -339,7 +339,7 @@ Playlist(
VideoItem( VideoItem(
id: "SfRj_PfmD1o", id: "SfRj_PfmD1o",
name: "RNG vs. PSG | Semifinals Day 1 | 2021 Mid-Season Invitational | Royal Never Give Up vs. PSG Talon", name: "RNG vs. PSG | Semifinals Day 1 | 2021 Mid-Season Invitational | Royal Never Give Up vs. PSG Talon",
length: Some(17930), duration: Some(17930),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/SfRj_PfmD1o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCXykcy-nthXWw7ZJBiXh5k2PRidg", url: "https://i.ytimg.com/vi/SfRj_PfmD1o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCXykcy-nthXWw7ZJBiXh5k2PRidg",
@ -380,7 +380,7 @@ Playlist(
VideoItem( VideoItem(
id: "Ey7gCktJKxs", id: "Ey7gCktJKxs",
name: "Groups Day 6 | 2021 Mid-Season Invitational", name: "Groups Day 6 | 2021 Mid-Season Invitational",
length: Some(26565), duration: Some(26565),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Ey7gCktJKxs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLADorMS1EykOI1XejSGx9oZ8fRdsw", url: "https://i.ytimg.com/vi/Ey7gCktJKxs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLADorMS1EykOI1XejSGx9oZ8fRdsw",
@ -421,7 +421,7 @@ Playlist(
VideoItem( VideoItem(
id: "A0zFe_YqSmk", id: "A0zFe_YqSmk",
name: "(REBROADCAST) LEC/LCS Superstar Showdown | All-Star Event 2020", name: "(REBROADCAST) LEC/LCS Superstar Showdown | All-Star Event 2020",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/A0zFe_YqSmk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9AouCkLOruMF-a6GpHbusSO51VA", url: "https://i.ytimg.com/vi/A0zFe_YqSmk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9AouCkLOruMF-a6GpHbusSO51VA",
@ -462,7 +462,7 @@ Playlist(
VideoItem( VideoItem(
id: "s1bRE7hHEFQ", id: "s1bRE7hHEFQ",
name: "(REBROADCAST) LCK/LPL Superstar Showdown | All-Star Event 2020", name: "(REBROADCAST) LCK/LPL Superstar Showdown | All-Star Event 2020",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/s1bRE7hHEFQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFE2VvCKI9WbFGauIQjOEpXzJkgw", url: "https://i.ytimg.com/vi/s1bRE7hHEFQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFE2VvCKI9WbFGauIQjOEpXzJkgw",
@ -503,7 +503,7 @@ Playlist(
VideoItem( VideoItem(
id: "JyrZr3adP9o", id: "JyrZr3adP9o",
name: "(REBROADCAST) LEC/LCS Underdog Uprising | All-Star Event 2020", name: "(REBROADCAST) LEC/LCS Underdog Uprising | All-Star Event 2020",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/JyrZr3adP9o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDDSe8Rt1Z2WVvwWSOwCXPvrlIpGg", url: "https://i.ytimg.com/vi/JyrZr3adP9o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDDSe8Rt1Z2WVvwWSOwCXPvrlIpGg",
@ -544,7 +544,7 @@ Playlist(
VideoItem( VideoItem(
id: "_HieTC6XHzg", id: "_HieTC6XHzg",
name: "The Americas | Monuments of Power Seasonal Tournament", name: "The Americas | Monuments of Power Seasonal Tournament",
length: Some(24819), duration: Some(24819),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_HieTC6XHzg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXu5atOXzFyrWOHIgEJBIINbNgYw", url: "https://i.ytimg.com/vi/_HieTC6XHzg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXu5atOXzFyrWOHIgEJBIINbNgYw",
@ -585,7 +585,7 @@ Playlist(
VideoItem( VideoItem(
id: "iDg1__bD4Pg", id: "iDg1__bD4Pg",
name: "OG vs. G2 | Playoffs Round 3 | LEC Spring | Origen vs. G2 Esports (2020)", name: "OG vs. G2 | Playoffs Round 3 | LEC Spring | Origen vs. G2 Esports (2020)",
length: Some(21800), duration: Some(21800),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/iDg1__bD4Pg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBZ6dTtMZGDgsBGEVIyDASGSEiKiQ", url: "https://i.ytimg.com/vi/iDg1__bD4Pg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBZ6dTtMZGDgsBGEVIyDASGSEiKiQ",
@ -626,7 +626,7 @@ Playlist(
VideoItem( VideoItem(
id: "i9lwd0rkKj0", id: "i9lwd0rkKj0",
name: "C9 vs. EG | Playoffs Round 2 | LCS Spring Split | Cloud9 vs. Evil Geniuses (2020)", name: "C9 vs. EG | Playoffs Round 2 | LCS Spring Split | Cloud9 vs. Evil Geniuses (2020)",
length: Some(17920), duration: Some(17920),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/i9lwd0rkKj0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcU2lnI3YdS8-_n_C_JLPwGsuRlg", url: "https://i.ytimg.com/vi/i9lwd0rkKj0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcU2lnI3YdS8-_n_C_JLPwGsuRlg",
@ -667,7 +667,7 @@ Playlist(
VideoItem( VideoItem(
id: "Id5lJcI0w5w", id: "Id5lJcI0w5w",
name: "FNC vs. MAD | Playoffs Round 2 | LEC Spring | Fnatic vs. MAD Lions (2020)", name: "FNC vs. MAD | Playoffs Round 2 | LEC Spring | Fnatic vs. MAD Lions (2020)",
length: Some(16280), duration: Some(16280),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Id5lJcI0w5w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdTZD3sa5NQWB0TBqLuHn0uPoYHA", url: "https://i.ytimg.com/vi/Id5lJcI0w5w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdTZD3sa5NQWB0TBqLuHn0uPoYHA",
@ -708,7 +708,7 @@ Playlist(
VideoItem( VideoItem(
id: "6_jP8fxeiM0", id: "6_jP8fxeiM0",
name: "FLY vs. GG | Playoffs Round 1 | LCS Spring Split | FlyQuest vs. Golden Guardians (2020)", name: "FLY vs. GG | Playoffs Round 1 | LCS Spring Split | FlyQuest vs. Golden Guardians (2020)",
length: Some(15646), duration: Some(15646),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6_jP8fxeiM0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbZuV71R4bD0Qno7bEtiA-VB2qqg", url: "https://i.ytimg.com/vi/6_jP8fxeiM0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbZuV71R4bD0Qno7bEtiA-VB2qqg",
@ -749,7 +749,7 @@ Playlist(
VideoItem( VideoItem(
id: "1QgMXWEDNr8", id: "1QgMXWEDNr8",
name: "Week 8 Day 1 | LEC Spring Split (2020)", name: "Week 8 Day 1 | LEC Spring Split (2020)",
length: Some(28130), duration: Some(28130),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1QgMXWEDNr8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDaNPojzZIDSWY0uwV469pql68VmQ", url: "https://i.ytimg.com/vi/1QgMXWEDNr8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDaNPojzZIDSWY0uwV469pql68VmQ",
@ -790,7 +790,7 @@ Playlist(
VideoItem( VideoItem(
id: "Q0tddAzhBiA", id: "Q0tddAzhBiA",
name: "2019 All-Star Event: Day 3", name: "2019 All-Star Event: Day 3",
length: Some(26378), duration: Some(26378),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Q0tddAzhBiA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF0R5UdX_lgiUkM5ebll38HarV_g", url: "https://i.ytimg.com/vi/Q0tddAzhBiA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF0R5UdX_lgiUkM5ebll38HarV_g",
@ -831,7 +831,7 @@ Playlist(
VideoItem( VideoItem(
id: "xFAUCYK0ltI", id: "xFAUCYK0ltI",
name: "2019 All-Star Event: Day 2", name: "2019 All-Star Event: Day 2",
length: Some(28589), duration: Some(28589),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xFAUCYK0ltI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDm5ZuBI4L0jmMCygrM93wILLj_qQ", url: "https://i.ytimg.com/vi/xFAUCYK0ltI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDm5ZuBI4L0jmMCygrM93wILLj_qQ",
@ -872,7 +872,7 @@ Playlist(
VideoItem( VideoItem(
id: "u4LNyvbOPMQ", id: "u4LNyvbOPMQ",
name: "2019 All-Star Event: Day 1", name: "2019 All-Star Event: Day 1",
length: Some(25967), duration: Some(25967),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/u4LNyvbOPMQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC6_67njGnGOut8X8MltMAfKicA8A", url: "https://i.ytimg.com/vi/u4LNyvbOPMQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC6_67njGnGOut8X8MltMAfKicA8A",
@ -913,7 +913,7 @@ Playlist(
VideoItem( VideoItem(
id: "ojes5ULOqhc", id: "ojes5ULOqhc",
name: "G2 vs. FPX | Finals | 2019 World Championship | G2 Esports vs. FunPlus Phoenix", name: "G2 vs. FPX | Finals | 2019 World Championship | G2 Esports vs. FunPlus Phoenix",
length: Some(42901), duration: Some(42901),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ojes5ULOqhc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAstiHqJRwyKG7CTswwMfVY3H1XhQ", url: "https://i.ytimg.com/vi/ojes5ULOqhc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAstiHqJRwyKG7CTswwMfVY3H1XhQ",
@ -954,7 +954,7 @@ Playlist(
VideoItem( VideoItem(
id: "prBto1zrirs", id: "prBto1zrirs",
name: "Red Bull Rise of the Elements Invitational (Day 2)", name: "Red Bull Rise of the Elements Invitational (Day 2)",
length: Some(22332), duration: Some(22332),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/prBto1zrirs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDn7-K82Puf2rNIdrM5_esqEYBb1A", url: "https://i.ytimg.com/vi/prBto1zrirs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDn7-K82Puf2rNIdrM5_esqEYBb1A",
@ -995,7 +995,7 @@ Playlist(
VideoItem( VideoItem(
id: "sRBHLewK5-0", id: "sRBHLewK5-0",
name: "Red Bull Rise of the Elements Invitational (Day 1)", name: "Red Bull Rise of the Elements Invitational (Day 1)",
length: Some(35261), duration: Some(35261),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/sRBHLewK5-0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2j62QeYg43w94lEUIh71_suXppQ", url: "https://i.ytimg.com/vi/sRBHLewK5-0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2j62QeYg43w94lEUIh71_suXppQ",
@ -1036,7 +1036,7 @@ Playlist(
VideoItem( VideoItem(
id: "euppkm2ztdM", id: "euppkm2ztdM",
name: "Groups Day 8 | 2019 World Championship", name: "Groups Day 8 | 2019 World Championship",
length: Some(27138), duration: Some(27138),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/euppkm2ztdM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDUKthHPGA5IQVK1psj53zHWg_O1g", url: "https://i.ytimg.com/vi/euppkm2ztdM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDUKthHPGA5IQVK1psj53zHWg_O1g",
@ -1077,7 +1077,7 @@ Playlist(
VideoItem( VideoItem(
id: "FQ0Tw6EuQRk", id: "FQ0Tw6EuQRk",
name: "Groups Day 7 | 2019 World Championship", name: "Groups Day 7 | 2019 World Championship",
length: Some(27869), duration: Some(27869),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/FQ0Tw6EuQRk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAd0UcTflY5R2FMpYH0ndRYIeB-8A", url: "https://i.ytimg.com/vi/FQ0Tw6EuQRk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAd0UcTflY5R2FMpYH0ndRYIeB-8A",
@ -1118,7 +1118,7 @@ Playlist(
VideoItem( VideoItem(
id: "KvcqXRNVH9M", id: "KvcqXRNVH9M",
name: "Groups Day 6 | 2019 World Championship", name: "Groups Day 6 | 2019 World Championship",
length: Some(29407), duration: Some(29407),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KvcqXRNVH9M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCmqmJPsjuvnBrJaJ79wX4HxnrtRw", url: "https://i.ytimg.com/vi/KvcqXRNVH9M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCmqmJPsjuvnBrJaJ79wX4HxnrtRw",
@ -1159,7 +1159,7 @@ Playlist(
VideoItem( VideoItem(
id: "srFwxG-e5SQ", id: "srFwxG-e5SQ",
name: "Groups Day 5 | 2019 World Championship", name: "Groups Day 5 | 2019 World Championship",
length: Some(29310), duration: Some(29310),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/srFwxG-e5SQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCpamG0koxWwHXEjacOAEKUzRXHOg", url: "https://i.ytimg.com/vi/srFwxG-e5SQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCpamG0koxWwHXEjacOAEKUzRXHOg",
@ -1200,7 +1200,7 @@ Playlist(
VideoItem( VideoItem(
id: "EN4W4O-leW4", id: "EN4W4O-leW4",
name: "Groups Day 4 | 2019 World Championship", name: "Groups Day 4 | 2019 World Championship",
length: Some(27544), duration: Some(27544),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EN4W4O-leW4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCdEWMFaBol4tK-obwLs7-UrbFxYA", url: "https://i.ytimg.com/vi/EN4W4O-leW4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCdEWMFaBol4tK-obwLs7-UrbFxYA",
@ -1241,7 +1241,7 @@ Playlist(
VideoItem( VideoItem(
id: "16O-OqVSj78", id: "16O-OqVSj78",
name: "Groups Day 3 | 2019 World Championship", name: "Groups Day 3 | 2019 World Championship",
length: Some(27787), duration: Some(27787),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/16O-OqVSj78/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD6fOlnXog4cAvNq9KBSj1ZVhGt-g", url: "https://i.ytimg.com/vi/16O-OqVSj78/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD6fOlnXog4cAvNq9KBSj1ZVhGt-g",
@ -1282,7 +1282,7 @@ Playlist(
VideoItem( VideoItem(
id: "2Fa_EnY3AyI", id: "2Fa_EnY3AyI",
name: "IG vs. JDG | Round 1 | LPL Regional Qualifier | Invictus Gaming vs. JD Gaming (2019)", name: "IG vs. JDG | Round 1 | LPL Regional Qualifier | Invictus Gaming vs. JD Gaming (2019)",
length: Some(19872), duration: Some(19872),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2Fa_EnY3AyI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzEvZy2AzjuEwPrc6HEB9bQ_IifQ", url: "https://i.ytimg.com/vi/2Fa_EnY3AyI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzEvZy2AzjuEwPrc6HEB9bQ_IifQ",
@ -1323,7 +1323,7 @@ Playlist(
VideoItem( VideoItem(
id: "O4vl13XhEXk", id: "O4vl13XhEXk",
name: "(REBROADCAST) TSM vs. CG | Quarterfinals Day 1 | LCS Summer Split (2019)", name: "(REBROADCAST) TSM vs. CG | Quarterfinals Day 1 | LCS Summer Split (2019)",
length: Some(13839), duration: Some(13839),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/O4vl13XhEXk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLApiEn5mhalZEe23902mlEsGZe53A", url: "https://i.ytimg.com/vi/O4vl13XhEXk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLApiEn5mhalZEe23902mlEsGZe53A",
@ -1364,7 +1364,7 @@ Playlist(
VideoItem( VideoItem(
id: "qnz4VC7jaQg", id: "qnz4VC7jaQg",
name: "Week 5 Day 2 | LCS Summer Split (2019)", name: "Week 5 Day 2 | LCS Summer Split (2019)",
length: Some(27224), duration: Some(27224),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qnz4VC7jaQg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCkiAk6gorlhecUv_Fdu5CZAUS8cA", url: "https://i.ytimg.com/vi/qnz4VC7jaQg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCkiAk6gorlhecUv_Fdu5CZAUS8cA",
@ -1405,7 +1405,7 @@ Playlist(
VideoItem( VideoItem(
id: "ZXUTMEOkPd8", id: "ZXUTMEOkPd8",
name: "Week 4 Day 2 | LCS Summer Split (2019)", name: "Week 4 Day 2 | LCS Summer Split (2019)",
length: Some(28136), duration: Some(28136),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ZXUTMEOkPd8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCl90692Yu6ZCs-EQtjtmNfAqicsw", url: "https://i.ytimg.com/vi/ZXUTMEOkPd8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCl90692Yu6ZCs-EQtjtmNfAqicsw",
@ -1446,7 +1446,7 @@ Playlist(
VideoItem( VideoItem(
id: "qkurBGLdrYc", id: "qkurBGLdrYc",
name: "Play-In Draw Show | 2019 Mid-Season Invitational", name: "Play-In Draw Show | 2019 Mid-Season Invitational",
length: Some(5589), duration: Some(5589),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qkurBGLdrYc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAWDbFYHKPPgZWYnpAH_I8NkTIdSw", url: "https://i.ytimg.com/vi/qkurBGLdrYc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAWDbFYHKPPgZWYnpAH_I8NkTIdSw",
@ -1487,7 +1487,7 @@ Playlist(
VideoItem( VideoItem(
id: "iaZoFqcQauQ", id: "iaZoFqcQauQ",
name: "VSG vs. KT - ESS vs. JAG| Round 1 | LCK Summer Promotion (2019)", name: "VSG vs. KT - ESS vs. JAG| Round 1 | LCK Summer Promotion (2019)",
length: Some(19229), duration: Some(19229),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/iaZoFqcQauQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCdgsIUjDiII5xmTBXL0yJ5D_ymUg", url: "https://i.ytimg.com/vi/iaZoFqcQauQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCdgsIUjDiII5xmTBXL0yJ5D_ymUg",
@ -1528,7 +1528,7 @@ Playlist(
VideoItem( VideoItem(
id: "V5uwgkx-dWw", id: "V5uwgkx-dWw",
name: "The Dive Live @ STL | Spring Finals (2019)", name: "The Dive Live @ STL | Spring Finals (2019)",
length: Some(10905), duration: Some(10905),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/V5uwgkx-dWw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBAPOA_Appn-PUvqvP9YtwyOqYjcw", url: "https://i.ytimg.com/vi/V5uwgkx-dWw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBAPOA_Appn-PUvqvP9YtwyOqYjcw",
@ -1569,7 +1569,7 @@ Playlist(
VideoItem( VideoItem(
id: "twx9WFSWGuI", id: "twx9WFSWGuI",
name: "HLE vs. KT - KZ vs. GRF | Week 10 Day 2 | LCK Spring Split (2019)", name: "HLE vs. KT - KZ vs. GRF | Week 10 Day 2 | LCK Spring Split (2019)",
length: Some(17619), duration: Some(17619),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/twx9WFSWGuI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2sxbdz5s3atLGJPGFQBcrpFzw7Q", url: "https://i.ytimg.com/vi/twx9WFSWGuI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2sxbdz5s3atLGJPGFQBcrpFzw7Q",
@ -1610,7 +1610,7 @@ Playlist(
VideoItem( VideoItem(
id: "PH9u7c_6vkk", id: "PH9u7c_6vkk",
name: "(REBROADCAST) 2018 All-Star Event: Day 1", name: "(REBROADCAST) 2018 All-Star Event: Day 1",
length: Some(26998), duration: Some(26998),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PH9u7c_6vkk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAcet50MJc_TuXxoLTUZWtF_klwqg", url: "https://i.ytimg.com/vi/PH9u7c_6vkk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAcet50MJc_TuXxoLTUZWtF_klwqg",
@ -1651,7 +1651,7 @@ Playlist(
VideoItem( VideoItem(
id: "8yt60WWCyro", id: "8yt60WWCyro",
name: "(REBROADCAST) 2018 All-Star Event: Day 2", name: "(REBROADCAST) 2018 All-Star Event: Day 2",
length: Some(22513), duration: Some(22513),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8yt60WWCyro/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAmLmu3C70JM-8OrfgJvXtdGk_yOA", url: "https://i.ytimg.com/vi/8yt60WWCyro/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAmLmu3C70JM-8OrfgJvXtdGk_yOA",
@ -1692,7 +1692,7 @@ Playlist(
VideoItem( VideoItem(
id: "ksaG3KvyRuM", id: "ksaG3KvyRuM",
name: "(REBROADCAST) FNC vs. IG | Finals | World Championship | Fnatic vs. Invictus Gaming (2018)", name: "(REBROADCAST) FNC vs. IG | Finals | World Championship | Fnatic vs. Invictus Gaming (2018)",
length: Some(17792), duration: Some(17792),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ksaG3KvyRuM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDtUULLHFN-bDBtejGRQXeqAXKz3Q", url: "https://i.ytimg.com/vi/ksaG3KvyRuM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDtUULLHFN-bDBtejGRQXeqAXKz3Q",
@ -1733,7 +1733,7 @@ Playlist(
VideoItem( VideoItem(
id: "kLM4Pah5BOg", id: "kLM4Pah5BOg",
name: "FNC vs. IG | Finals | World Championship | Fnatic vs. Invictus Gaming (2018)", name: "FNC vs. IG | Finals | World Championship | Fnatic vs. Invictus Gaming (2018)",
length: Some(16909), duration: Some(16909),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/kLM4Pah5BOg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA_HEPvPOoM-H5cn8eKB3hYTI3qhA", url: "https://i.ytimg.com/vi/kLM4Pah5BOg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA_HEPvPOoM-H5cn8eKB3hYTI3qhA",
@ -1774,7 +1774,7 @@ Playlist(
VideoItem( VideoItem(
id: "178rKXU7JLw", id: "178rKXU7JLw",
name: "(REBROADCAST) FNC vs. C9 | Semifinal | World Championship | Fnatic vs. Cloud9 (2018)", name: "(REBROADCAST) FNC vs. C9 | Semifinal | World Championship | Fnatic vs. Cloud9 (2018)",
length: Some(13676), duration: Some(13676),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/178rKXU7JLw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF_nWtAqaiEq5ZhTaQZF7ljzS4Dg", url: "https://i.ytimg.com/vi/178rKXU7JLw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF_nWtAqaiEq5ZhTaQZF7ljzS4Dg",
@ -1815,7 +1815,7 @@ Playlist(
VideoItem( VideoItem(
id: "K2wc3tvwHPw", id: "K2wc3tvwHPw",
name: "(REBROADCAST) G2 vs. IG | Semifinal | World Championship | G2 Esports vs. Invictus Gaming (2018)", name: "(REBROADCAST) G2 vs. IG | Semifinal | World Championship | G2 Esports vs. Invictus Gaming (2018)",
length: Some(12914), duration: Some(12914),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/K2wc3tvwHPw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAS64LheAsybx0esJDA64Ia6GgNw", url: "https://i.ytimg.com/vi/K2wc3tvwHPw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAS64LheAsybx0esJDA64Ia6GgNw",
@ -1856,7 +1856,7 @@ Playlist(
VideoItem( VideoItem(
id: "6px5QTgCNhA", id: "6px5QTgCNhA",
name: "(REBROADCAST) C9 vs. AFS - FNC vs. EDG | Quarterfinals Day 2 | 2018 World Championship", name: "(REBROADCAST) C9 vs. AFS - FNC vs. EDG | Quarterfinals Day 2 | 2018 World Championship",
length: Some(27422), duration: Some(27422),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6px5QTgCNhA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA8a4cryD26Zigkjp2glGZMAzltNQ", url: "https://i.ytimg.com/vi/6px5QTgCNhA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA8a4cryD26Zigkjp2glGZMAzltNQ",
@ -1897,7 +1897,7 @@ Playlist(
VideoItem( VideoItem(
id: "nljxMmzFK4s", id: "nljxMmzFK4s",
name: "(REBROADCAST) KT vs. IG - RNG vs. G2 | Quarterfinals Day 1 | 2018 World Championship", name: "(REBROADCAST) KT vs. IG - RNG vs. G2 | Quarterfinals Day 1 | 2018 World Championship",
length: Some(35934), duration: Some(35934),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/nljxMmzFK4s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBdOiwwM_S7VRkZyFl_35lQmOZSLQ", url: "https://i.ytimg.com/vi/nljxMmzFK4s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBdOiwwM_S7VRkZyFl_35lQmOZSLQ",
@ -1938,7 +1938,7 @@ Playlist(
VideoItem( VideoItem(
id: "q0Z2vytKUQ0", id: "q0Z2vytKUQ0",
name: "(REBROADCAST) 2018 World Championship: Group Stage Day 8", name: "(REBROADCAST) 2018 World Championship: Group Stage Day 8",
length: Some(26434), duration: Some(26434),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/q0Z2vytKUQ0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCzY2x0VBqkFJTP7bBZLjQrsELMlQ", url: "https://i.ytimg.com/vi/q0Z2vytKUQ0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCzY2x0VBqkFJTP7bBZLjQrsELMlQ",
@ -1979,7 +1979,7 @@ Playlist(
VideoItem( VideoItem(
id: "ILjZQp6UFFs", id: "ILjZQp6UFFs",
name: "(REBROADCAST) 2018 World Championship: Group Stage Day 7", name: "(REBROADCAST) 2018 World Championship: Group Stage Day 7",
length: Some(22695), duration: Some(22695),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ILjZQp6UFFs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDswF4og8mMHnElcHXmk4fWX_Odfg", url: "https://i.ytimg.com/vi/ILjZQp6UFFs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDswF4og8mMHnElcHXmk4fWX_Odfg",
@ -2020,7 +2020,7 @@ Playlist(
VideoItem( VideoItem(
id: "n4IIRmF7iXs", id: "n4IIRmF7iXs",
name: "(REBROADCAST) 2018 World Championship: Group Stage Day 6", name: "(REBROADCAST) 2018 World Championship: Group Stage Day 6",
length: Some(29727), duration: Some(29727),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/n4IIRmF7iXs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKSijfzAkiRAMND-8pArMptw0R_w", url: "https://i.ytimg.com/vi/n4IIRmF7iXs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKSijfzAkiRAMND-8pArMptw0R_w",
@ -2061,7 +2061,7 @@ Playlist(
VideoItem( VideoItem(
id: "sYu_jF6ih3c", id: "sYu_jF6ih3c",
name: "(REBROADCAST) 2018 World Championship: Group Stage Day 5", name: "(REBROADCAST) 2018 World Championship: Group Stage Day 5",
length: Some(27421), duration: Some(27421),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/sYu_jF6ih3c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCf-vBRXhpKHzTUDOwZZW256gSlzg", url: "https://i.ytimg.com/vi/sYu_jF6ih3c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCf-vBRXhpKHzTUDOwZZW256gSlzg",
@ -2102,7 +2102,7 @@ Playlist(
VideoItem( VideoItem(
id: "qXG1RCEZoh8", id: "qXG1RCEZoh8",
name: "(REBROADCAST) 2018 World Championship: Group Stage Day 4", name: "(REBROADCAST) 2018 World Championship: Group Stage Day 4",
length: Some(22957), duration: Some(22957),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qXG1RCEZoh8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCxEK00Of3hYUA79k7fy_BoJKm68w", url: "https://i.ytimg.com/vi/qXG1RCEZoh8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCxEK00Of3hYUA79k7fy_BoJKm68w",
@ -2143,7 +2143,7 @@ Playlist(
VideoItem( VideoItem(
id: "wipHTkJcV2g", id: "wipHTkJcV2g",
name: "(REBROADCAST) 2018 World Championship: Group Stage Day 3", name: "(REBROADCAST) 2018 World Championship: Group Stage Day 3",
length: Some(10817), duration: Some(10817),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/wipHTkJcV2g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD7ENiQeGLBaeEEW5cX_0-QyN6ByA", url: "https://i.ytimg.com/vi/wipHTkJcV2g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD7ENiQeGLBaeEEW5cX_0-QyN6ByA",
@ -2184,7 +2184,7 @@ Playlist(
VideoItem( VideoItem(
id: "P0EHhWMcEMQ", id: "P0EHhWMcEMQ",
name: "(REBROADCAST) 2018 World Championship: Group Stage Day 2", name: "(REBROADCAST) 2018 World Championship: Group Stage Day 2",
length: Some(26051), duration: Some(26051),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/P0EHhWMcEMQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClIWW0SHy1cVFIjCdmNhnf5JIjYA", url: "https://i.ytimg.com/vi/P0EHhWMcEMQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClIWW0SHy1cVFIjCdmNhnf5JIjYA",
@ -2225,7 +2225,7 @@ Playlist(
VideoItem( VideoItem(
id: "w3hbpaD3zsM", id: "w3hbpaD3zsM",
name: "(REBROADCAST) G2 vs. INF - GRX vs. SUP | Play-In Knockouts | 2018 World Championship", name: "(REBROADCAST) G2 vs. INF - GRX vs. SUP | Play-In Knockouts | 2018 World Championship",
length: Some(32025), duration: Some(32025),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/w3hbpaD3zsM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBzDVbWhEvklYq6CSTppvlibBqlrw", url: "https://i.ytimg.com/vi/w3hbpaD3zsM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBzDVbWhEvklYq6CSTppvlibBqlrw",
@ -2266,7 +2266,7 @@ Playlist(
VideoItem( VideoItem(
id: "58Lhxzj8DsI", id: "58Lhxzj8DsI",
name: "(REBROADCAST) C9 vs. GMB - EDG vs. DFM | Play-In Knockouts | 2018 World Championship", name: "(REBROADCAST) C9 vs. GMB - EDG vs. DFM | Play-In Knockouts | 2018 World Championship",
length: Some(28827), duration: Some(28827),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/58Lhxzj8DsI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIjEmr7L55ABPcAdZcRz28uq8Ifw", url: "https://i.ytimg.com/vi/58Lhxzj8DsI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIjEmr7L55ABPcAdZcRz28uq8Ifw",
@ -2307,7 +2307,7 @@ Playlist(
VideoItem( VideoItem(
id: "22yDZ5WZpA4", id: "22yDZ5WZpA4",
name: "(REBROADCAST) 2018 World Championship: Play-In Day 4", name: "(REBROADCAST) 2018 World Championship: Play-In Day 4",
length: Some(26890), duration: Some(26890),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/22yDZ5WZpA4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBdlbKelcczYsmECaSiQ2r1mwk6Dw", url: "https://i.ytimg.com/vi/22yDZ5WZpA4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBdlbKelcczYsmECaSiQ2r1mwk6Dw",
@ -2348,7 +2348,7 @@ Playlist(
VideoItem( VideoItem(
id: "iC6Fz9uUepk", id: "iC6Fz9uUepk",
name: "(REBROADCAST) 2018 World Championship: Play-In Day 3", name: "(REBROADCAST) 2018 World Championship: Play-In Day 3",
length: Some(26780), duration: Some(26780),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/iC6Fz9uUepk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC2tpNtmMiLhKohSZBODekwBuNUnQ", url: "https://i.ytimg.com/vi/iC6Fz9uUepk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC2tpNtmMiLhKohSZBODekwBuNUnQ",
@ -2389,7 +2389,7 @@ Playlist(
VideoItem( VideoItem(
id: "bNskvqxedow", id: "bNskvqxedow",
name: "(REBROADCAST) 2018 World Championship: Play-In Day 2", name: "(REBROADCAST) 2018 World Championship: Play-In Day 2",
length: Some(23337), duration: Some(23337),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bNskvqxedow/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF5uns6inQftxlGdgjyNT7hOnnFw", url: "https://i.ytimg.com/vi/bNskvqxedow/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF5uns6inQftxlGdgjyNT7hOnnFw",
@ -2430,7 +2430,7 @@ Playlist(
VideoItem( VideoItem(
id: "Sm1LmwghwcA", id: "Sm1LmwghwcA",
name: "BTC vs. MVP | Day 4 | LCK Spring Promotion | Team Battlecomics vs. MVP (2019)", name: "BTC vs. MVP | Day 4 | LCK Spring Promotion | Team Battlecomics vs. MVP (2019)",
length: Some(14759), duration: Some(14759),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Sm1LmwghwcA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAaHny-WRN-mXTvaqxo3OQ-GlOmkA", url: "https://i.ytimg.com/vi/Sm1LmwghwcA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAaHny-WRN-mXTvaqxo3OQ-GlOmkA",
@ -2471,7 +2471,7 @@ Playlist(
VideoItem( VideoItem(
id: "mtqnA3Jh3ig", id: "mtqnA3Jh3ig",
name: "BTC vs. DWG | Day 2 | LCK Spring Promotion | Team Battlecomics vs. DAMWON Gaming (2019)", name: "BTC vs. DWG | Day 2 | LCK Spring Promotion | Team Battlecomics vs. DAMWON Gaming (2019)",
length: Some(16587), duration: Some(16587),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mtqnA3Jh3ig/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAa4WUrB19WsutFfEDsIupCFFVlA", url: "https://i.ytimg.com/vi/mtqnA3Jh3ig/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAa4WUrB19WsutFfEDsIupCFFVlA",
@ -2512,7 +2512,7 @@ Playlist(
VideoItem( VideoItem(
id: "uQAiGTmAvFQ", id: "uQAiGTmAvFQ",
name: "(REBROADCAST) S04 vs. G2 | Final | EU LCS Regional Qualifier (2018)", name: "(REBROADCAST) S04 vs. G2 | Final | EU LCS Regional Qualifier (2018)",
length: Some(17359), duration: Some(17359),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/uQAiGTmAvFQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDWUVb2NPq89SrZS7BppKGi8lMYrA", url: "https://i.ytimg.com/vi/uQAiGTmAvFQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDWUVb2NPq89SrZS7BppKGi8lMYrA",
@ -2553,7 +2553,7 @@ Playlist(
VideoItem( VideoItem(
id: "WrlWqcawOnE", id: "WrlWqcawOnE",
name: "G2 vs. SPY | Round 2 | EU LCS Regional Qualifier | G2 Esports vs. Splyce (2018)", name: "G2 vs. SPY | Round 2 | EU LCS Regional Qualifier | G2 Esports vs. Splyce (2018)",
length: Some(24439), duration: Some(24439),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WrlWqcawOnE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsCTbEOJrElm7iYgRXVnf4GqDdgg", url: "https://i.ytimg.com/vi/WrlWqcawOnE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsCTbEOJrElm7iYgRXVnf4GqDdgg",
@ -2594,7 +2594,7 @@ Playlist(
VideoItem( VideoItem(
id: "s9lFG8o9a6s", id: "s9lFG8o9a6s",
name: "EDG vs. JDG | Round 1 | LPL Regional Qualifier | Edward Gaming vs. JD Gaming (2018)", name: "EDG vs. JDG | Round 1 | LPL Regional Qualifier | Edward Gaming vs. JD Gaming (2018)",
length: Some(28081), duration: Some(28081),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/s9lFG8o9a6s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArfENrcbL8BY_f2DyyzbODSOn5FQ", url: "https://i.ytimg.com/vi/s9lFG8o9a6s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArfENrcbL8BY_f2DyyzbODSOn5FQ",
@ -2635,7 +2635,7 @@ Playlist(
VideoItem( VideoItem(
id: "Cd5SJe5Pf3M", id: "Cd5SJe5Pf3M",
name: "(REBROADCAST) SPY vs. MSF | Round 1 | EU LCS Regional Qualifier (2018)", name: "(REBROADCAST) SPY vs. MSF | Round 1 | EU LCS Regional Qualifier (2018)",
length: Some(20830), duration: Some(20830),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Cd5SJe5Pf3M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXpL1gSmWZ0OBajE7mCsHqLpHqoA", url: "https://i.ytimg.com/vi/Cd5SJe5Pf3M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXpL1gSmWZ0OBajE7mCsHqLpHqoA",
@ -2676,7 +2676,7 @@ Playlist(
VideoItem( VideoItem(
id: "_hGU5DNRC0Y", id: "_hGU5DNRC0Y",
name: "SPY vs. MSF | Round 1 | EU LCS Regional Qualifier | Splyce vs. Misfits Gaming (2018)", name: "SPY vs. MSF | Round 1 | EU LCS Regional Qualifier | Splyce vs. Misfits Gaming (2018)",
length: Some(24359), duration: Some(24359),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_hGU5DNRC0Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDbFqZhyO-NPJkjPW6TQXgRk8oxCQ", url: "https://i.ytimg.com/vi/_hGU5DNRC0Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDbFqZhyO-NPJkjPW6TQXgRk8oxCQ",
@ -2717,7 +2717,7 @@ Playlist(
VideoItem( VideoItem(
id: "fr-yiGaRRao", id: "fr-yiGaRRao",
name: "(REBROADCAST) S04 vs. FNC | Finals | EU LCS Summer (2018)", name: "(REBROADCAST) S04 vs. FNC | Finals | EU LCS Summer (2018)",
length: Some(17878), duration: Some(17878),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fr-yiGaRRao/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCr3rI-JP9Tb-RvdaWdQJLclNqqlg", url: "https://i.ytimg.com/vi/fr-yiGaRRao/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCr3rI-JP9Tb-RvdaWdQJLclNqqlg",
@ -2758,7 +2758,7 @@ Playlist(
VideoItem( VideoItem(
id: "3kQc5eEJ0ds", id: "3kQc5eEJ0ds",
name: "EDG vs. JDG | Round 2 | LPL Summer Playoffs | Edward Gaming vs. JD Gaming (2018)", name: "EDG vs. JDG | Round 2 | LPL Summer Playoffs | Edward Gaming vs. JD Gaming (2018)",
length: Some(15156), duration: Some(15156),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3kQc5eEJ0ds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAfntTV9t6PHrClBaGgkRT8njyc5g", url: "https://i.ytimg.com/vi/3kQc5eEJ0ds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAfntTV9t6PHrClBaGgkRT8njyc5g",
@ -2799,7 +2799,7 @@ Playlist(
VideoItem( VideoItem(
id: "gynnT1i3TsE", id: "gynnT1i3TsE",
name: "RNG vs. TOP | Round 2 | LPL Summer Playoffs | Royal Never Give Up vs. Topsports Gaming (2018)", name: "RNG vs. TOP | Round 2 | LPL Summer Playoffs | Royal Never Give Up vs. Topsports Gaming (2018)",
length: Some(15850), duration: Some(15850),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gynnT1i3TsE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB4sbHCjzLbp9g8FMaBXcmS7o4LIQ", url: "https://i.ytimg.com/vi/gynnT1i3TsE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB4sbHCjzLbp9g8FMaBXcmS7o4LIQ",
@ -2840,7 +2840,7 @@ Playlist(
VideoItem( VideoItem(
id: "YM2XgQ7OGKI", id: "YM2XgQ7OGKI",
name: "The Dive: Live from Oakland", name: "The Dive: Live from Oakland",
length: Some(7420), duration: Some(7420),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YM2XgQ7OGKI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2Je3-9D5WsxKf0xf8RRsv9NkuOw", url: "https://i.ytimg.com/vi/YM2XgQ7OGKI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2Je3-9D5WsxKf0xf8RRsv9NkuOw",
@ -2881,7 +2881,7 @@ Playlist(
VideoItem( VideoItem(
id: "bcJYNWDWCz8", id: "bcJYNWDWCz8",
name: "POV Stream | FNC Hylissang | Semifinals | EU LCS Summer Split (2018)", name: "POV Stream | FNC Hylissang | Semifinals | EU LCS Summer Split (2018)",
length: Some(12719), duration: Some(12719),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bcJYNWDWCz8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3zWItAHRbS2Bv2eBS1Y09NJjTnA", url: "https://i.ytimg.com/vi/bcJYNWDWCz8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3zWItAHRbS2Bv2eBS1Y09NJjTnA",
@ -2922,7 +2922,7 @@ Playlist(
VideoItem( VideoItem(
id: "6J6oBjmjpvA", id: "6J6oBjmjpvA",
name: "FPX vs. EDG - SS vs. WE | Week 11 Day 1 | LPL Summer Split (2018)", name: "FPX vs. EDG - SS vs. WE | Week 11 Day 1 | LPL Summer Split (2018)",
length: Some(22136), duration: Some(22136),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6J6oBjmjpvA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAvvdBMr-dm-pbsNXulGJCxF04Pbg", url: "https://i.ytimg.com/vi/6J6oBjmjpvA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAvvdBMr-dm-pbsNXulGJCxF04Pbg",
@ -2963,7 +2963,7 @@ Playlist(
VideoItem( VideoItem(
id: "cgsJ7SsZdxk", id: "cgsJ7SsZdxk",
name: "(REBROADCAST) G2 vs. MSF | Quarterfinals | EU LCS Summer (2018)", name: "(REBROADCAST) G2 vs. MSF | Quarterfinals | EU LCS Summer (2018)",
length: Some(14319), duration: Some(14319),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cgsJ7SsZdxk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrkh6HD3j7H5vxPunSCcS0WvOTZQ", url: "https://i.ytimg.com/vi/cgsJ7SsZdxk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrkh6HD3j7H5vxPunSCcS0WvOTZQ",
@ -3004,7 +3004,7 @@ Playlist(
VideoItem( VideoItem(
id: "T62zlBmloo8", id: "T62zlBmloo8",
name: "POV Stream | G2 Perkz | Quarterfinals | EU LCS Summer Split (2018)", name: "POV Stream | G2 Perkz | Quarterfinals | EU LCS Summer Split (2018)",
length: Some(10294), duration: Some(10294),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/T62zlBmloo8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDScrnvnLzThZptM9QrTHLBYsq0IQ", url: "https://i.ytimg.com/vi/T62zlBmloo8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDScrnvnLzThZptM9QrTHLBYsq0IQ",
@ -3045,7 +3045,7 @@ Playlist(
VideoItem( VideoItem(
id: "NOVxAEtu20U", id: "NOVxAEtu20U",
name: "C9A vs. FLYA | Semifinals | NA Academy Summer Split | C9 Academy vs. FLY Academy (2018)", name: "C9A vs. FLYA | Semifinals | NA Academy Summer Split | C9 Academy vs. FLY Academy (2018)",
length: Some(17701), duration: Some(17701),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NOVxAEtu20U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCqHCRMLW7uj1fkMYO9k8-IDWPwIw", url: "https://i.ytimg.com/vi/NOVxAEtu20U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCqHCRMLW7uj1fkMYO9k8-IDWPwIw",
@ -3086,7 +3086,7 @@ Playlist(
VideoItem( VideoItem(
id: "mKdQQ44oLa0", id: "mKdQQ44oLa0",
name: "POV Stream | SPY Odoamne | Quarterfinals | EU LCS Summer Split (2018)", name: "POV Stream | SPY Odoamne | Quarterfinals | EU LCS Summer Split (2018)",
length: Some(19451), duration: Some(19451),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mKdQQ44oLa0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC6Lnf_nAhaOz9TJj-KxQrraulmaA", url: "https://i.ytimg.com/vi/mKdQQ44oLa0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC6Lnf_nAhaOz9TJj-KxQrraulmaA",
@ -3127,7 +3127,7 @@ Playlist(
VideoItem( VideoItem(
id: "vHZdBkFRD9Q", id: "vHZdBkFRD9Q",
name: "SNG vs. VG - JDG vs. IG | Week 10 Day 3| LPL Summer Split (2018)", name: "SNG vs. VG - JDG vs. IG | Week 10 Day 3| LPL Summer Split (2018)",
length: Some(19755), duration: Some(19755),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vHZdBkFRD9Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDNNAMpIgYAwxP0ys8a5HUtsWePkQ", url: "https://i.ytimg.com/vi/vHZdBkFRD9Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDNNAMpIgYAwxP0ys8a5HUtsWePkQ",
@ -3168,7 +3168,7 @@ Playlist(
VideoItem( VideoItem(
id: "FmaHvMUxWso", id: "FmaHvMUxWso",
name: "GRF vs. AFS | Round 2 | LCK Summer Playoffs | Griffin vs. Afreeca Freecs (2018)", name: "GRF vs. AFS | Round 2 | LCK Summer Playoffs | Griffin vs. Afreeca Freecs (2018)",
length: Some(21819), duration: Some(21819),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/FmaHvMUxWso/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB94OCuz0M4oYxwqOcpUE8pMJTccQ", url: "https://i.ytimg.com/vi/FmaHvMUxWso/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB94OCuz0M4oYxwqOcpUE8pMJTccQ",
@ -3209,7 +3209,7 @@ Playlist(
VideoItem( VideoItem(
id: "2kGzzR_vlNM", id: "2kGzzR_vlNM",
name: "FPX vs. SS | Week 9 Day 5 | LPL Summer Split (2018)", name: "FPX vs. SS | Week 9 Day 5 | LPL Summer Split (2018)",
length: Some(11244), duration: Some(11244),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2kGzzR_vlNM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAS0zYTOjxMj4pWyPrB0lRu-WRuQ", url: "https://i.ytimg.com/vi/2kGzzR_vlNM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAS0zYTOjxMj4pWyPrB0lRu-WRuQ",
@ -3250,7 +3250,7 @@ Playlist(
VideoItem( VideoItem(
id: "GBa3IM39Hyo", id: "GBa3IM39Hyo",
name: "NA Academy Summer Split (2018) | Week 2 Day 2", name: "NA Academy Summer Split (2018) | Week 2 Day 2",
length: Some(20037), duration: Some(20037),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/GBa3IM39Hyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAGkLqe-martteiLTYH57IztUrPEw", url: "https://i.ytimg.com/vi/GBa3IM39Hyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAGkLqe-martteiLTYH57IztUrPEw",
@ -3291,7 +3291,7 @@ Playlist(
VideoItem( VideoItem(
id: "KwG0hE485_k", id: "KwG0hE485_k",
name: "POV Stream | S04 Nukeduck | Week 9 | EU LCS Summer Split (2018)", name: "POV Stream | S04 Nukeduck | Week 9 | EU LCS Summer Split (2018)",
length: Some(4157), duration: Some(4157),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KwG0hE485_k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD3v3jjPXRiP_LgbL3lvrqe7fbdXg", url: "https://i.ytimg.com/vi/KwG0hE485_k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD3v3jjPXRiP_LgbL3lvrqe7fbdXg",
@ -3332,7 +3332,7 @@ Playlist(
VideoItem( VideoItem(
id: "lr31odgHt2c", id: "lr31odgHt2c",
name: "VG vs. JDG - LGD vs. IG | Week 9 Day 4 | LPL Summer Split (2018)", name: "VG vs. JDG - LGD vs. IG | Week 9 Day 4 | LPL Summer Split (2018)",
length: Some(20601), duration: Some(20601),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/lr31odgHt2c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAkoncTBbDMzTsKPPI7577pdDnTtQ", url: "https://i.ytimg.com/vi/lr31odgHt2c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAkoncTBbDMzTsKPPI7577pdDnTtQ",
@ -3373,7 +3373,7 @@ Playlist(
VideoItem( VideoItem(
id: "YAe0kfvsQGk", id: "YAe0kfvsQGk",
name: "CGA vs. FLYA | Quarterfinals Day 1 | NA Academy Summer Split (2018)", name: "CGA vs. FLYA | Quarterfinals Day 1 | NA Academy Summer Split (2018)",
length: Some(23680), duration: Some(23680),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YAe0kfvsQGk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDKy96uTs82fVINHZn1V5pzPOTHew", url: "https://i.ytimg.com/vi/YAe0kfvsQGk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDKy96uTs82fVINHZn1V5pzPOTHew",
@ -3414,7 +3414,7 @@ Playlist(
VideoItem( VideoItem(
id: "Dr9SRrRWPNo", id: "Dr9SRrRWPNo",
name: "OMG vs. EDG - FPX vs. WE | Week 9 Day 1 | LPL Summer Split (2018)", name: "OMG vs. EDG - FPX vs. WE | Week 9 Day 1 | LPL Summer Split (2018)",
length: Some(19018), duration: Some(19018),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Dr9SRrRWPNo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAaNS5exSDvr234gLv_lEDHP6eRdw", url: "https://i.ytimg.com/vi/Dr9SRrRWPNo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAaNS5exSDvr234gLv_lEDHP6eRdw",
@ -3455,7 +3455,7 @@ Playlist(
VideoItem( VideoItem(
id: "Y3pICd8FHFI", id: "Y3pICd8FHFI",
name: "POV Stream | G2 Perkz | Week 8 | EU LCS Summer Split (2018)", name: "POV Stream | G2 Perkz | Week 8 | EU LCS Summer Split (2018)",
length: Some(3184), duration: Some(3184),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Y3pICd8FHFI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXEMAoe4Q7djr2gmrfdyEP8aWhZQ", url: "https://i.ytimg.com/vi/Y3pICd8FHFI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXEMAoe4Q7djr2gmrfdyEP8aWhZQ",
@ -3496,7 +3496,7 @@ Playlist(
VideoItem( VideoItem(
id: "YT1vPiTn1eI", id: "YT1vPiTn1eI",
name: "TOP vs. FPX - WE vs. EDG - OMG vs. RW | Week 8 Day 5 | LPL Summer Split (2018)", name: "TOP vs. FPX - WE vs. EDG - OMG vs. RW | Week 8 Day 5 | LPL Summer Split (2018)",
length: Some(34489), duration: Some(34489),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YT1vPiTn1eI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAY9-6hYO652_UWGVrbbvawGa6s9A", url: "https://i.ytimg.com/vi/YT1vPiTn1eI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAY9-6hYO652_UWGVrbbvawGa6s9A",
@ -3537,7 +3537,7 @@ Playlist(
VideoItem( VideoItem(
id: "oGNm5gCCMGY", id: "oGNm5gCCMGY",
name: "(REBROADCAST) EU LCS Summer Split (2018) | Week 8 Day 1", name: "(REBROADCAST) EU LCS Summer Split (2018) | Week 8 Day 1",
length: Some(24028), duration: Some(24028),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/oGNm5gCCMGY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBuyX9FnPq3MFfVdcv7njedQiLjlA", url: "https://i.ytimg.com/vi/oGNm5gCCMGY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBuyX9FnPq3MFfVdcv7njedQiLjlA",
@ -3578,7 +3578,7 @@ Playlist(
VideoItem( VideoItem(
id: "gbmTaLw-3i0", id: "gbmTaLw-3i0",
name: "WE vs. TOP - FPX vs. OMG | Week 8 Day 1 | LPL Summer Split (2018)", name: "WE vs. TOP - FPX vs. OMG | Week 8 Day 1 | LPL Summer Split (2018)",
length: Some(19248), duration: Some(19248),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gbmTaLw-3i0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg51LZ1zbbHd9xLxfuEaIGb4ep4g", url: "https://i.ytimg.com/vi/gbmTaLw-3i0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg51LZ1zbbHd9xLxfuEaIGb4ep4g",
@ -3619,7 +3619,7 @@ Playlist(
VideoItem( VideoItem(
id: "qq_EhiJoQg4", id: "qq_EhiJoQg4",
name: "LGD vs. FPX - BLG vs. WE | Week 7 Day 4 | LPL Summer Split (2018)", name: "LGD vs. FPX - BLG vs. WE | Week 7 Day 4 | LPL Summer Split (2018)",
length: Some(21853), duration: Some(21853),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qq_EhiJoQg4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDZ2CsPgM6kx4qMGSIJJtCsWA8k4A", url: "https://i.ytimg.com/vi/qq_EhiJoQg4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDZ2CsPgM6kx4qMGSIJJtCsWA8k4A",
@ -3660,7 +3660,7 @@ Playlist(
VideoItem( VideoItem(
id: "CzczOzdUfIM", id: "CzczOzdUfIM",
name: "HLE vs. MVP - JAG vs. KT | Week 7 Day 3 | LCK Summer Split (2018)", name: "HLE vs. MVP - JAG vs. KT | Week 7 Day 3 | LCK Summer Split (2018)",
length: Some(24106), duration: Some(24106),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CzczOzdUfIM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMcLRoEZSzjuKR_TMztpslGTmY_g", url: "https://i.ytimg.com/vi/CzczOzdUfIM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMcLRoEZSzjuKR_TMztpslGTmY_g",
@ -3701,7 +3701,7 @@ Playlist(
VideoItem( VideoItem(
id: "TbKELxKkiTw", id: "TbKELxKkiTw",
name: "RW vs. EDG | Week 7 Day 4 | LPL Summer Split (2018)", name: "RW vs. EDG | Week 7 Day 4 | LPL Summer Split (2018)",
length: Some(10205), duration: Some(10205),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/TbKELxKkiTw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBO0bWOdj-TgOb49fRptDZUAJGCww", url: "https://i.ytimg.com/vi/TbKELxKkiTw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBO0bWOdj-TgOb49fRptDZUAJGCww",
@ -3742,7 +3742,7 @@ Playlist(
VideoItem( VideoItem(
id: "MeDei67Zr4E", id: "MeDei67Zr4E",
name: "BLG vs. FPX - VG vs. RW | Week 7 Day 1 | LPL Summer Split (2018)", name: "BLG vs. FPX - VG vs. RW | Week 7 Day 1 | LPL Summer Split (2018)",
length: Some(18248), duration: Some(18248),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/MeDei67Zr4E/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPsnZgv4WAFI_ULwdjXkIgCoskWg", url: "https://i.ytimg.com/vi/MeDei67Zr4E/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPsnZgv4WAFI_ULwdjXkIgCoskWg",
@ -3783,7 +3783,7 @@ Playlist(
VideoItem( VideoItem(
id: "sQP1mk4G9mg", id: "sQP1mk4G9mg",
name: "NA LCS Summer (2018) | Week 6 Day 2", name: "NA LCS Summer (2018) | Week 6 Day 2",
length: Some(25630), duration: Some(25630),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/sQP1mk4G9mg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCFD_l6CcmfulXBzMtQzuc-ZfrfLA", url: "https://i.ytimg.com/vi/sQP1mk4G9mg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCFD_l6CcmfulXBzMtQzuc-ZfrfLA",
@ -3824,7 +3824,7 @@ Playlist(
VideoItem( VideoItem(
id: "RK4olvfXT5g", id: "RK4olvfXT5g",
name: "POV Stream | S04 Nukeduck | Week 6 | EU LCS Summer Split (2018)", name: "POV Stream | S04 Nukeduck | Week 6 | EU LCS Summer Split (2018)",
length: Some(3079), duration: Some(3079),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RK4olvfXT5g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBqcBh47BxOEhoECPaePJuIMOLZoQ", url: "https://i.ytimg.com/vi/RK4olvfXT5g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBqcBh47BxOEhoECPaePJuIMOLZoQ",
@ -3865,7 +3865,7 @@ Playlist(
VideoItem( VideoItem(
id: "YexHW88A5Wg", id: "YexHW88A5Wg",
name: "BBQ vs. HLE - JAG vs. SKT | Week 6 Day 4 | LCK Summer Split (2018)", name: "BBQ vs. HLE - JAG vs. SKT | Week 6 Day 4 | LCK Summer Split (2018)",
length: Some(20830), duration: Some(20830),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YexHW88A5Wg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLByMY9DN-kTcbtG9BMF4M2S7dI5uQ", url: "https://i.ytimg.com/vi/YexHW88A5Wg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLByMY9DN-kTcbtG9BMF4M2S7dI5uQ",
@ -3906,7 +3906,7 @@ Playlist(
VideoItem( VideoItem(
id: "UvV0Miw17mU", id: "UvV0Miw17mU",
name: "VG vs. FPX - RNG vs. WE | Week 6 Day 4 | LPL Summer Split (2018)", name: "VG vs. FPX - RNG vs. WE | Week 6 Day 4 | LPL Summer Split (2018)",
length: Some(19509), duration: Some(19509),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/UvV0Miw17mU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzWkKXl3h0P068_xdkJDfQSglSGw", url: "https://i.ytimg.com/vi/UvV0Miw17mU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzWkKXl3h0P068_xdkJDfQSglSGw",
@ -3947,7 +3947,7 @@ Playlist(
VideoItem( VideoItem(
id: "nvCq0PidTB0", id: "nvCq0PidTB0",
name: "KZ vs. KT - GEN vs. GRF | Week 6 Day 3 | LCK Summer Split (2018)", name: "KZ vs. KT - GEN vs. GRF | Week 6 Day 3 | LCK Summer Split (2018)",
length: Some(23704), duration: Some(23704),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/nvCq0PidTB0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQc8yz7HNxKrg6Vv--W_xzwdfOnw", url: "https://i.ytimg.com/vi/nvCq0PidTB0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQc8yz7HNxKrg6Vv--W_xzwdfOnw",
@ -3988,7 +3988,7 @@ Playlist(
VideoItem( VideoItem(
id: "79cK5C6nQbg", id: "79cK5C6nQbg",
name: "POV Stream | FNC Hylissang | Week 5 | EU LCS Summer Split (2018)", name: "POV Stream | FNC Hylissang | Week 5 | EU LCS Summer Split (2018)",
length: Some(2878), duration: Some(2878),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/79cK5C6nQbg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMy7RDVDH6joZbXr0ngfi3Wsr_nQ", url: "https://i.ytimg.com/vi/79cK5C6nQbg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMy7RDVDH6joZbXr0ngfi3Wsr_nQ",
@ -4029,7 +4029,7 @@ Playlist(
VideoItem( VideoItem(
id: "8DYyu2cW-Ok", id: "8DYyu2cW-Ok",
name: "GRF vs. KT - SKT vs. HLE | Week 5 Day 5 | LCK Summer Split (2018)", name: "GRF vs. KT - SKT vs. HLE | Week 5 Day 5 | LCK Summer Split (2018)",
length: Some(23108), duration: Some(23108),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8DYyu2cW-Ok/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAZd_smHTzLcvfVkVXiOsKEIpFPuQ", url: "https://i.ytimg.com/vi/8DYyu2cW-Ok/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAZd_smHTzLcvfVkVXiOsKEIpFPuQ",
@ -4070,7 +4070,7 @@ Playlist(
VideoItem( VideoItem(
id: "pjJwzd06acg", id: "pjJwzd06acg",
name: "IG vs. TOP - SNG vs. EDG | Week 5 Day 5 | LPL Summer Split (2018)", name: "IG vs. TOP - SNG vs. EDG | Week 5 Day 5 | LPL Summer Split (2018)",
length: Some(19864), duration: Some(19864),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pjJwzd06acg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAlt220pFX6dtn2MdNi_l8-QG5c6Q", url: "https://i.ytimg.com/vi/pjJwzd06acg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAlt220pFX6dtn2MdNi_l8-QG5c6Q",

View file

@ -11,7 +11,7 @@ Playlist(
VideoItem( VideoItem(
id: "Bkj3IVIO2Os", id: "Bkj3IVIO2Os",
name: "Stereoact feat. Kerstin Ott - Die Immer Lacht (Official Video HD)", name: "Stereoact feat. Kerstin Ott - Die Immer Lacht (Official Video HD)",
length: Some(216), duration: Some(216),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Bkj3IVIO2Os/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCdvrHLT_gdx5zxxO6SPig0sRLshQ", url: "https://i.ytimg.com/vi/Bkj3IVIO2Os/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCdvrHLT_gdx5zxxO6SPig0sRLshQ",
@ -52,7 +52,7 @@ Playlist(
VideoItem( VideoItem(
id: "8rRj5ZXRNko", id: "8rRj5ZXRNko",
name: "Uzzah - Faded Love (Official Lyrics Video)", name: "Uzzah - Faded Love (Official Lyrics Video)",
length: Some(191), duration: Some(191),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8rRj5ZXRNko/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-DoACuAiKAgwIABABGGMgYyhjMA8=&rs=AOn4CLBJHMbtsiMa4OaReWs02k9vxDVU5Q", url: "https://i.ytimg.com/vi/8rRj5ZXRNko/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-DoACuAiKAgwIABABGGMgYyhjMA8=&rs=AOn4CLBJHMbtsiMa4OaReWs02k9vxDVU5Q",
@ -93,7 +93,7 @@ Playlist(
VideoItem( VideoItem(
id: "lHZtcC67yrY", id: "lHZtcC67yrY",
name: "Andreas Gabalier - Hulapalu", name: "Andreas Gabalier - Hulapalu",
length: Some(188), duration: Some(188),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/lHZtcC67yrY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDEYbpOXNx1VkAE7MDYQxK30ySK3Q", url: "https://i.ytimg.com/vi/lHZtcC67yrY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDEYbpOXNx1VkAE7MDYQxK30ySK3Q",
@ -134,7 +134,7 @@ Playlist(
VideoItem( VideoItem(
id: "TSkVVVBS9k8", id: "TSkVVVBS9k8",
name: "BAUSA - Was du Liebe nennst (Official Music Video) [prod. von Bausa, Jugglerz & The Cratez]", name: "BAUSA - Was du Liebe nennst (Official Music Video) [prod. von Bausa, Jugglerz & The Cratez]",
length: Some(237), duration: Some(237),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/TSkVVVBS9k8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCHZwNmGrLnYEsd6H7vzVAl0wDccw", url: "https://i.ytimg.com/vi/TSkVVVBS9k8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCHZwNmGrLnYEsd6H7vzVAl0wDccw",
@ -175,7 +175,7 @@ Playlist(
VideoItem( VideoItem(
id: "lc-cnCRhE7c", id: "lc-cnCRhE7c",
name: "Kay One feat. Pietro Lombardi - Señorita (prod. by Stard Ova)", name: "Kay One feat. Pietro Lombardi - Señorita (prod. by Stard Ova)",
length: Some(250), duration: Some(250),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/lc-cnCRhE7c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAr2qEMqH5qnJkqLU-CRGFgoDN1DQ", url: "https://i.ytimg.com/vi/lc-cnCRhE7c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAr2qEMqH5qnJkqLU-CRGFgoDN1DQ",
@ -216,7 +216,7 @@ Playlist(
VideoItem( VideoItem(
id: "3ryohiCVq3M", id: "3ryohiCVq3M",
name: "Namika - Lieblingsmensch (Official Video)", name: "Namika - Lieblingsmensch (Official Video)",
length: Some(191), duration: Some(191),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3ryohiCVq3M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnminoxsvobc_U0CE2lgZm9_0qeQ", url: "https://i.ytimg.com/vi/3ryohiCVq3M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnminoxsvobc_U0CE2lgZm9_0qeQ",
@ -257,7 +257,7 @@ Playlist(
VideoItem( VideoItem(
id: "BNHamTwxJ6Q", id: "BNHamTwxJ6Q",
name: "Roland Kaiser, Maite Kelly - Warum hast du nicht nein gesagt (Club Mix / Videoclip)", name: "Roland Kaiser, Maite Kelly - Warum hast du nicht nein gesagt (Club Mix / Videoclip)",
length: Some(217), duration: Some(217),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BNHamTwxJ6Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2EhfLWBk74_06c21rrSdz7tOrGQ", url: "https://i.ytimg.com/vi/BNHamTwxJ6Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2EhfLWBk74_06c21rrSdz7tOrGQ",
@ -298,7 +298,7 @@ Playlist(
VideoItem( VideoItem(
id: "5mqelmYUcI0", id: "5mqelmYUcI0",
name: "Kay One - Louis Louis (prod. by Stard Ova)", name: "Kay One - Louis Louis (prod. by Stard Ova)",
length: Some(218), duration: Some(218),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5mqelmYUcI0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCwnyUxowXZ244j5y8alOFPC0vX-Q", url: "https://i.ytimg.com/vi/5mqelmYUcI0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCwnyUxowXZ244j5y8alOFPC0vX-Q",
@ -339,7 +339,7 @@ Playlist(
VideoItem( VideoItem(
id: "k9EYjn5f_nE", id: "k9EYjn5f_nE",
name: "Andreas Bourani - Auf uns (Official Video)", name: "Andreas Bourani - Auf uns (Official Video)",
length: Some(244), duration: Some(244),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/k9EYjn5f_nE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCyAbU3awWGYzOrjTrmQbVV7ifNXg", url: "https://i.ytimg.com/vi/k9EYjn5f_nE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCyAbU3awWGYzOrjTrmQbVV7ifNXg",
@ -380,7 +380,7 @@ Playlist(
VideoItem( VideoItem(
id: "fkMg_X9lHMc", id: "fkMg_X9lHMc",
name: "Marteria - Kids (2 Finger an den Kopf) [Offizielles Video]", name: "Marteria - Kids (2 Finger an den Kopf) [Offizielles Video]",
length: Some(230), duration: Some(230),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fkMg_X9lHMc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC8Ugdq8rK6ypi11IMafwoaTagQ7Q", url: "https://i.ytimg.com/vi/fkMg_X9lHMc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC8Ugdq8rK6ypi11IMafwoaTagQ7Q",
@ -421,7 +421,7 @@ Playlist(
VideoItem( VideoItem(
id: "4wOoLLDXbDY", id: "4wOoLLDXbDY",
name: "CRO - Easy (Official Version)", name: "CRO - Easy (Official Version)",
length: Some(195), duration: Some(195),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4wOoLLDXbDY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB8UXJLvwcuTIhh4Vi5GTeC40Up7w", url: "https://i.ytimg.com/vi/4wOoLLDXbDY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB8UXJLvwcuTIhh4Vi5GTeC40Up7w",
@ -462,7 +462,7 @@ Playlist(
VideoItem( VideoItem(
id: "Z_mf9aCHag8", id: "Z_mf9aCHag8",
name: "KC Rebell feat. Moé ► BIST DU REAL ◄ [ official Video 4K ] | Dagi Bee", name: "KC Rebell feat. Moé ► BIST DU REAL ◄ [ official Video 4K ] | Dagi Bee",
length: Some(186), duration: Some(186),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Z_mf9aCHag8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAo2HLlXaCQEKzkHjBVsS0yqDQexQ", url: "https://i.ytimg.com/vi/Z_mf9aCHag8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAo2HLlXaCQEKzkHjBVsS0yqDQexQ",
@ -503,7 +503,7 @@ Playlist(
VideoItem( VideoItem(
id: "cZ58odQo87A", id: "cZ58odQo87A",
name: "SDP feat. Adel Tawil - Ich will nur dass du weißt", name: "SDP feat. Adel Tawil - Ich will nur dass du weißt",
length: Some(222), duration: Some(222),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cZ58odQo87A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCO8i1BvBLWn_LuKwvOwyZQNWxZgA", url: "https://i.ytimg.com/vi/cZ58odQo87A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCO8i1BvBLWn_LuKwvOwyZQNWxZgA",
@ -544,7 +544,7 @@ Playlist(
VideoItem( VideoItem(
id: "1il3RFk5Okw", id: "1il3RFk5Okw",
name: "Mark Forster - Chöre (Willkommen bei den Hartmanns Version)", name: "Mark Forster - Chöre (Willkommen bei den Hartmanns Version)",
length: Some(209), duration: Some(209),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1il3RFk5Okw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDy8VAlVslYo3IXr7Cier_CGEh3aA", url: "https://i.ytimg.com/vi/1il3RFk5Okw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDy8VAlVslYo3IXr7Cier_CGEh3aA",
@ -585,7 +585,7 @@ Playlist(
VideoItem( VideoItem(
id: "8WQMBv2deYQ", id: "8WQMBv2deYQ",
name: "CRO - Traum (Official Version)", name: "CRO - Traum (Official Version)",
length: Some(219), duration: Some(219),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8WQMBv2deYQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCeZJ96xE-bI9aQybOxIbOOZj8W5g", url: "https://i.ytimg.com/vi/8WQMBv2deYQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCeZJ96xE-bI9aQybOxIbOOZj8W5g",
@ -626,7 +626,7 @@ Playlist(
VideoItem( VideoItem(
id: "vGrfFzagzHs", id: "vGrfFzagzHs",
name: "CRO - Whatever (Official Version)", name: "CRO - Whatever (Official Version)",
length: Some(207), duration: Some(207),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vGrfFzagzHs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD5eTJevRx2iLio640dzb5l5ViNNA", url: "https://i.ytimg.com/vi/vGrfFzagzHs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD5eTJevRx2iLio640dzb5l5ViNNA",
@ -667,7 +667,7 @@ Playlist(
VideoItem( VideoItem(
id: "1gDbpWC_9pE", id: "1gDbpWC_9pE",
name: "Sarah Connor - Wie schön Du bist (Official Video)", name: "Sarah Connor - Wie schön Du bist (Official Video)",
length: Some(216), duration: Some(216),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1gDbpWC_9pE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDLRfYnE54l7T8UX4HYeIQqpkQJYw", url: "https://i.ytimg.com/vi/1gDbpWC_9pE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDLRfYnE54l7T8UX4HYeIQqpkQJYw",
@ -708,7 +708,7 @@ Playlist(
VideoItem( VideoItem(
id: "p-AWcCCbBHw", id: "p-AWcCCbBHw",
name: "Nimo - HEUTE MIT MIR (prod. von PzY) [Official 4K Video]", name: "Nimo - HEUTE MIT MIR (prod. von PzY) [Official 4K Video]",
length: Some(256), duration: Some(256),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/p-AWcCCbBHw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC7Mf1odYlMKp9fElxeWX5BZ6I-kQ", url: "https://i.ytimg.com/vi/p-AWcCCbBHw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC7Mf1odYlMKp9fElxeWX5BZ6I-kQ",
@ -749,7 +749,7 @@ Playlist(
VideoItem( VideoItem(
id: "RPN88D_HjMU", id: "RPN88D_HjMU",
name: "Xavier Naidoo - Ich kenne nichts (Das so schön ist wie du) [Official Video]", name: "Xavier Naidoo - Ich kenne nichts (Das so schön ist wie du) [Official Video]",
length: Some(332), duration: Some(332),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RPN88D_HjMU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDNkYiCJsMDWsLD8SoTG7fGjA2h1A", url: "https://i.ytimg.com/vi/RPN88D_HjMU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDNkYiCJsMDWsLD8SoTG7fGjA2h1A",
@ -790,7 +790,7 @@ Playlist(
VideoItem( VideoItem(
id: "5PST7Ld4wWU", id: "5PST7Ld4wWU",
name: "Max Giesinger - Wenn sie tanzt (Offizielles Video)", name: "Max Giesinger - Wenn sie tanzt (Offizielles Video)",
length: Some(225), duration: Some(225),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5PST7Ld4wWU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBd_J44LO8vi882xka68dBcawvkFw", url: "https://i.ytimg.com/vi/5PST7Ld4wWU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBd_J44LO8vi882xka68dBcawvkFw",
@ -831,7 +831,7 @@ Playlist(
VideoItem( VideoItem(
id: "opoDBF_b-fg", id: "opoDBF_b-fg",
name: "ALLIGATOAH - WILLST DU (OFFICIAL HD VERSION AGGRO.TV)", name: "ALLIGATOAH - WILLST DU (OFFICIAL HD VERSION AGGRO.TV)",
length: Some(307), duration: Some(307),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/opoDBF_b-fg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAymd4m1ekevbFUIs-zGRuhlpfI-g", url: "https://i.ytimg.com/vi/opoDBF_b-fg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAymd4m1ekevbFUIs-zGRuhlpfI-g",
@ -872,7 +872,7 @@ Playlist(
VideoItem( VideoItem(
id: "AMT9IOyXmBM", id: "AMT9IOyXmBM",
name: "SIDO feat. Mark Forster - Einer dieser Steine (Official Video)", name: "SIDO feat. Mark Forster - Einer dieser Steine (Official Video)",
length: Some(258), duration: Some(258),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/AMT9IOyXmBM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDvYWerCDxj5Xrgz6bz5j0Xr7-YOQ", url: "https://i.ytimg.com/vi/AMT9IOyXmBM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDvYWerCDxj5Xrgz6bz5j0Xr7-YOQ",
@ -913,7 +913,7 @@ Playlist(
VideoItem( VideoItem(
id: "VP5B1UmgHfc", id: "VP5B1UmgHfc",
name: "SDP feat. Sido - Ne Leiche", name: "SDP feat. Sido - Ne Leiche",
length: Some(328), duration: Some(328),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/VP5B1UmgHfc/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gFCgUMA8=&rs=AOn4CLCteTEN-lCVEO4GSydpfXRPqxFPUw", url: "https://i.ytimg.com/vi/VP5B1UmgHfc/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gFCgUMA8=&rs=AOn4CLCteTEN-lCVEO4GSydpfXRPqxFPUw",
@ -954,7 +954,7 @@ Playlist(
VideoItem( VideoItem(
id: "vcuQpbs0yT0", id: "vcuQpbs0yT0",
name: "KURDO - YA SALAM (prod. by Kostas Karagiozidis & Dj Tuneruno )", name: "KURDO - YA SALAM (prod. by Kostas Karagiozidis & Dj Tuneruno )",
length: Some(224), duration: Some(224),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vcuQpbs0yT0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCDn8gtSond6Yn5MLlzZDv_IrS-zQ", url: "https://i.ytimg.com/vi/vcuQpbs0yT0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCDn8gtSond6Yn5MLlzZDv_IrS-zQ",
@ -995,7 +995,7 @@ Playlist(
VideoItem( VideoItem(
id: "LeMLVEJLruQ", id: "LeMLVEJLruQ",
name: "Gestört aber GeiL feat. Sebastian Hämer - Ich & Du (Official Video HD)", name: "Gestört aber GeiL feat. Sebastian Hämer - Ich & Du (Official Video HD)",
length: Some(229), duration: Some(229),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/LeMLVEJLruQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDDKCM7JzUUlgc-EgWM4lOn3g6qLw", url: "https://i.ytimg.com/vi/LeMLVEJLruQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDDKCM7JzUUlgc-EgWM4lOn3g6qLw",
@ -1036,7 +1036,7 @@ Playlist(
VideoItem( VideoItem(
id: "MtDPKJSsBgc", id: "MtDPKJSsBgc",
name: "Mark Forster - Au Revoir (Videoclip) ft. Sido", name: "Mark Forster - Au Revoir (Videoclip) ft. Sido",
length: Some(227), duration: Some(227),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/MtDPKJSsBgc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFPEql4pa1PPNZMBCe0ZHR7nfh1g", url: "https://i.ytimg.com/vi/MtDPKJSsBgc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFPEql4pa1PPNZMBCe0ZHR7nfh1g",
@ -1077,7 +1077,7 @@ Playlist(
VideoItem( VideoItem(
id: "4tDpYxNYqPg", id: "4tDpYxNYqPg",
name: "Kerstin Ott - Scheissmelodie (Offizielles Musikvideo)", name: "Kerstin Ott - Scheissmelodie (Offizielles Musikvideo)",
length: Some(209), duration: Some(209),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4tDpYxNYqPg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBmM1gywMKE8-hbZ42Wdsul8hlleg", url: "https://i.ytimg.com/vi/4tDpYxNYqPg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBmM1gywMKE8-hbZ42Wdsul8hlleg",
@ -1118,7 +1118,7 @@ Playlist(
VideoItem( VideoItem(
id: "EkWjaoH7k6w", id: "EkWjaoH7k6w",
name: "Adel Tawil - Ist da jemand (Official Video)", name: "Adel Tawil - Ist da jemand (Official Video)",
length: Some(251), duration: Some(251),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EkWjaoH7k6w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC4WbamH3V3SpCVPeC4_Rs3v3tF8w", url: "https://i.ytimg.com/vi/EkWjaoH7k6w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC4WbamH3V3SpCVPeC4_Rs3v3tF8w",
@ -1159,7 +1159,7 @@ Playlist(
VideoItem( VideoItem(
id: "tERRFWuYG48", id: "tERRFWuYG48",
name: "Barfuß Am Klavier - AnnenMayKantereit", name: "Barfuß Am Klavier - AnnenMayKantereit",
length: Some(202), duration: Some(202),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/tERRFWuYG48/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCFhWEwvzfax4dm8E1GnztHWxUYuw", url: "https://i.ytimg.com/vi/tERRFWuYG48/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCFhWEwvzfax4dm8E1GnztHWxUYuw",
@ -1200,7 +1200,7 @@ Playlist(
VideoItem( VideoItem(
id: "wCcJuN47UcY", id: "wCcJuN47UcY",
name: "Revolverheld feat. Marta Jandová - Halt Dich an mir fest (Offizielles Musikvideo)", name: "Revolverheld feat. Marta Jandová - Halt Dich an mir fest (Offizielles Musikvideo)",
length: Some(213), duration: Some(213),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/wCcJuN47UcY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AHUBoAC4AOKAgwIABABGGUgZShlMA8=&rs=AOn4CLA5LeFhIoLs3UAwKeDVnoLtwo8K5w", url: "https://i.ytimg.com/vi/wCcJuN47UcY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AHUBoAC4AOKAgwIABABGGUgZShlMA8=&rs=AOn4CLA5LeFhIoLs3UAwKeDVnoLtwo8K5w",
@ -1241,7 +1241,7 @@ Playlist(
VideoItem( VideoItem(
id: "qdtLCfEcPL4", id: "qdtLCfEcPL4",
name: "Peter Fox - Alles neu (offizielles Video)", name: "Peter Fox - Alles neu (offizielles Video)",
length: Some(272), duration: Some(272),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qdtLCfEcPL4/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLAC0F0ZEumZfz7z85oUCm7c14Ta3A", url: "https://i.ytimg.com/vi/qdtLCfEcPL4/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLAC0F0ZEumZfz7z85oUCm7c14Ta3A",
@ -1282,7 +1282,7 @@ Playlist(
VideoItem( VideoItem(
id: "wjXUBG15eZ8", id: "wjXUBG15eZ8",
name: "257ers - Holz (Official HD Video)", name: "257ers - Holz (Official HD Video)",
length: Some(214), duration: Some(214),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/wjXUBG15eZ8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAw3Swj8ibFWFcgpsexNE0N_w_BUQ", url: "https://i.ytimg.com/vi/wjXUBG15eZ8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAw3Swj8ibFWFcgpsexNE0N_w_BUQ",
@ -1323,7 +1323,7 @@ Playlist(
VideoItem( VideoItem(
id: "HBjDZMJUduo", id: "HBjDZMJUduo",
name: "Laserkraft 3D - Nein Mann (official Video)", name: "Laserkraft 3D - Nein Mann (official Video)",
length: Some(231), duration: Some(231),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/HBjDZMJUduo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCOR8giEhNzblFrPfgfUqwQ2UEy7g", url: "https://i.ytimg.com/vi/HBjDZMJUduo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCOR8giEhNzblFrPfgfUqwQ2UEy7g",
@ -1364,7 +1364,7 @@ Playlist(
VideoItem( VideoItem(
id: "xkXQQ0IAbk0", id: "xkXQQ0IAbk0",
name: "MIAMI YACINE - BON VOYAGE prod. by AriBeatz (Official 4K Video)", name: "MIAMI YACINE - BON VOYAGE prod. by AriBeatz (Official 4K Video)",
length: Some(159), duration: Some(159),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xkXQQ0IAbk0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAoi1jtQunAO2qbyn9GXNcSrgSEPg", url: "https://i.ytimg.com/vi/xkXQQ0IAbk0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAoi1jtQunAO2qbyn9GXNcSrgSEPg",
@ -1405,7 +1405,7 @@ Playlist(
VideoItem( VideoItem(
id: "DraA3PUuoQc", id: "DraA3PUuoQc",
name: "Pocahontas - AnnenMayKantereit", name: "Pocahontas - AnnenMayKantereit",
length: Some(192), duration: Some(192),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DraA3PUuoQc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDq-oBTOdVzgce4FdS5tHTBe3eKlA", url: "https://i.ytimg.com/vi/DraA3PUuoQc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDq-oBTOdVzgce4FdS5tHTBe3eKlA",
@ -1446,7 +1446,7 @@ Playlist(
VideoItem( VideoItem(
id: "wMIGQp4YhuU", id: "wMIGQp4YhuU",
name: "Xavier Naidoo - Alles kann besser werden [Official Video]", name: "Xavier Naidoo - Alles kann besser werden [Official Video]",
length: Some(269), duration: Some(269),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/wMIGQp4YhuU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAXuvRD27RqHtAyFm48dMnsYrUlbg", url: "https://i.ytimg.com/vi/wMIGQp4YhuU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAXuvRD27RqHtAyFm48dMnsYrUlbg",
@ -1487,7 +1487,7 @@ Playlist(
VideoItem( VideoItem(
id: "38lrK74voaI", id: "38lrK74voaI",
name: "Olexesh - MAGISCH feat. Edin (prod. von PzY) [Official 4K Video]", name: "Olexesh - MAGISCH feat. Edin (prod. von PzY) [Official 4K Video]",
length: Some(270), duration: Some(270),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/38lrK74voaI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAVoqbTLnv6uPAj7t0HrAn5GAK_Jg", url: "https://i.ytimg.com/vi/38lrK74voaI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAVoqbTLnv6uPAj7t0HrAn5GAK_Jg",
@ -1528,7 +1528,7 @@ Playlist(
VideoItem( VideoItem(
id: "2qW9rOSFF1M", id: "2qW9rOSFF1M",
name: "BONEZ MC & RAF CAMORA - AN IHNEN VORBEI", name: "BONEZ MC & RAF CAMORA - AN IHNEN VORBEI",
length: Some(220), duration: Some(220),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2qW9rOSFF1M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLHCbKTgchLUipdthOFsHIMos8eA", url: "https://i.ytimg.com/vi/2qW9rOSFF1M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLHCbKTgchLUipdthOFsHIMos8eA",
@ -1569,7 +1569,7 @@ Playlist(
VideoItem( VideoItem(
id: "tMILH6UEfPA", id: "tMILH6UEfPA",
name: "Veysel - Kleiner Cabrón (OFFICIAL HD VIDEO) prod. by Macloud", name: "Veysel - Kleiner Cabrón (OFFICIAL HD VIDEO) prod. by Macloud",
length: Some(213), duration: Some(213),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/tMILH6UEfPA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBTUsW-P8-fIzLCRb-Xt-2Ky4I58w", url: "https://i.ytimg.com/vi/tMILH6UEfPA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBTUsW-P8-fIzLCRb-Xt-2Ky4I58w",
@ -1610,7 +1610,7 @@ Playlist(
VideoItem( VideoItem(
id: "izHB2EdMngg", id: "izHB2EdMngg",
name: "Vanessa Mai - Ich sterb für dich (Official Video)", name: "Vanessa Mai - Ich sterb für dich (Official Video)",
length: Some(190), duration: Some(190),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/izHB2EdMngg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC5CFXBJ0W9DQQZ_tiM6gP12e1aug", url: "https://i.ytimg.com/vi/izHB2EdMngg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC5CFXBJ0W9DQQZ_tiM6gP12e1aug",
@ -1651,7 +1651,7 @@ Playlist(
VideoItem( VideoItem(
id: "haECT-SerHk", id: "haECT-SerHk",
name: "Helene Fischer - Atemlos durch die Nacht", name: "Helene Fischer - Atemlos durch die Nacht",
length: Some(219), duration: Some(219),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/haECT-SerHk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB5wAkVuIyWU6lEavR0LDUJ-e9G_w", url: "https://i.ytimg.com/vi/haECT-SerHk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB5wAkVuIyWU6lEavR0LDUJ-e9G_w",
@ -1692,7 +1692,7 @@ Playlist(
VideoItem( VideoItem(
id: "cVikZ8Oe_XA", id: "cVikZ8Oe_XA",
name: "Falco - Rock Me Amadeus (Official Video)", name: "Falco - Rock Me Amadeus (Official Video)",
length: Some(225), duration: Some(225),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cVikZ8Oe_XA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBRKYqET6zOciMAnASNDuj_vEWhHA", url: "https://i.ytimg.com/vi/cVikZ8Oe_XA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBRKYqET6zOciMAnASNDuj_vEWhHA",
@ -1733,7 +1733,7 @@ Playlist(
VideoItem( VideoItem(
id: "drFsXLChrWc", id: "drFsXLChrWc",
name: "257ers - Holland (Official HD Video)", name: "257ers - Holland (Official HD Video)",
length: Some(213), duration: Some(213),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/drFsXLChrWc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDHzQXboNJT9agtNoiAYeGBQT7u9Q", url: "https://i.ytimg.com/vi/drFsXLChrWc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDHzQXboNJT9agtNoiAYeGBQT7u9Q",
@ -1774,7 +1774,7 @@ Playlist(
VideoItem( VideoItem(
id: "1EMFt7m_8yE", id: "1EMFt7m_8yE",
name: "SDP - Ich muss immer an dich denken", name: "SDP - Ich muss immer an dich denken",
length: Some(217), duration: Some(217),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1EMFt7m_8yE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gUygTMA8=&rs=AOn4CLBOV1cHPcLmIF0gKSmu5j1RZ9XTtg", url: "https://i.ytimg.com/vi/1EMFt7m_8yE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gUygTMA8=&rs=AOn4CLBOV1cHPcLmIF0gKSmu5j1RZ9XTtg",
@ -1815,7 +1815,7 @@ Playlist(
VideoItem( VideoItem(
id: "_yWU0lFghxU", id: "_yWU0lFghxU",
name: "Seeed - Ding (official Video)", name: "Seeed - Ding (official Video)",
length: Some(211), duration: Some(211),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_yWU0lFghxU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBo9Yn5w6pbo5JylVv3XuhFvz_-jw", url: "https://i.ytimg.com/vi/_yWU0lFghxU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBo9Yn5w6pbo5JylVv3XuhFvz_-jw",
@ -1856,7 +1856,7 @@ Playlist(
VideoItem( VideoItem(
id: "XlD-LO3ogFM", id: "XlD-LO3ogFM",
name: "Mark Forster - Wir sind groß (Lyric Video)", name: "Mark Forster - Wir sind groß (Lyric Video)",
length: Some(204), duration: Some(204),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XlD-LO3ogFM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDtxcZ0KznZi1B8TC_zDO4EAhSi2w", url: "https://i.ytimg.com/vi/XlD-LO3ogFM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDtxcZ0KznZi1B8TC_zDO4EAhSi2w",
@ -1897,7 +1897,7 @@ Playlist(
VideoItem( VideoItem(
id: "nAzjWqNfgvc", id: "nAzjWqNfgvc",
name: "Gestört aber GeiL & Koby Funk feat. Wincent Weiss - Unter Meiner Haut (Official Video HD)", name: "Gestört aber GeiL & Koby Funk feat. Wincent Weiss - Unter Meiner Haut (Official Video HD)",
length: Some(218), duration: Some(218),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/nAzjWqNfgvc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAn2zwZvNQZDxYyEakap6O-qscr_w", url: "https://i.ytimg.com/vi/nAzjWqNfgvc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAn2zwZvNQZDxYyEakap6O-qscr_w",
@ -1938,7 +1938,7 @@ Playlist(
VideoItem( VideoItem(
id: "PySC3RGhZJU", id: "PySC3RGhZJU",
name: "CRO - Bad Chick (Official Version)", name: "CRO - Bad Chick (Official Version)",
length: Some(218), duration: Some(218),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PySC3RGhZJU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDNUnL8j0tGJ2fsmqLaE7WMEkYToQ", url: "https://i.ytimg.com/vi/PySC3RGhZJU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDNUnL8j0tGJ2fsmqLaE7WMEkYToQ",
@ -1979,7 +1979,7 @@ Playlist(
VideoItem( VideoItem(
id: "G-iwLoyH6ZE", id: "G-iwLoyH6ZE",
name: "CAPITAL BRA - NUR NOCH GUCCI (prod. The Cratez x Hoodboyz)", name: "CAPITAL BRA - NUR NOCH GUCCI (prod. The Cratez x Hoodboyz)",
length: Some(232), duration: Some(232),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/G-iwLoyH6ZE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLBIe3Gr5VkhHVW2-vmSh7khbpWVUA", url: "https://i.ytimg.com/vi/G-iwLoyH6ZE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLBIe3Gr5VkhHVW2-vmSh7khbpWVUA",
@ -2020,7 +2020,7 @@ Playlist(
VideoItem( VideoItem(
id: "fgCOUO-s8nY", id: "fgCOUO-s8nY",
name: "Jupiter Jones - Still (Videoclip)", name: "Jupiter Jones - Still (Videoclip)",
length: Some(238), duration: Some(238),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fgCOUO-s8nY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC0_6dsucrR1b1SFRH3mWIW4aG2MA", url: "https://i.ytimg.com/vi/fgCOUO-s8nY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC0_6dsucrR1b1SFRH3mWIW4aG2MA",
@ -2061,7 +2061,7 @@ Playlist(
VideoItem( VideoItem(
id: "m-Ik3yy728Y", id: "m-Ik3yy728Y",
name: "Andreas Bourani - Auf anderen Wegen (Official Video)", name: "Andreas Bourani - Auf anderen Wegen (Official Video)",
length: Some(245), duration: Some(245),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/m-Ik3yy728Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBdf4h8llXdfJ-OKgHzWj3IOWlnYQ", url: "https://i.ytimg.com/vi/m-Ik3yy728Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBdf4h8llXdfJ-OKgHzWj3IOWlnYQ",
@ -2102,7 +2102,7 @@ Playlist(
VideoItem( VideoItem(
id: "U0_UYW5Y4cM", id: "U0_UYW5Y4cM",
name: "Andreas Gabalier - I sing a Liad für Di", name: "Andreas Gabalier - I sing a Liad für Di",
length: Some(188), duration: Some(188),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/U0_UYW5Y4cM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBl8yQKNQcbq4noIXXbagrBI2cuzA", url: "https://i.ytimg.com/vi/U0_UYW5Y4cM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBl8yQKNQcbq4noIXXbagrBI2cuzA",
@ -2143,7 +2143,7 @@ Playlist(
VideoItem( VideoItem(
id: "rsrDYTEicq8", id: "rsrDYTEicq8",
name: "RAF CAMORA - Primo (prod. X-Plosive & RAF Camora)", name: "RAF CAMORA - Primo (prod. X-Plosive & RAF Camora)",
length: Some(214), duration: Some(214),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rsrDYTEicq8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAUWuhlHy43NeJWne-7SoaXRm_ctw", url: "https://i.ytimg.com/vi/rsrDYTEicq8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAUWuhlHy43NeJWne-7SoaXRm_ctw",
@ -2184,7 +2184,7 @@ Playlist(
VideoItem( VideoItem(
id: "2aU4wRgl_0E", id: "2aU4wRgl_0E",
name: "Ufo361 - \"Nice Girl 2.0\" (prod. von AT Beatz) [Official HD Video]", name: "Ufo361 - \"Nice Girl 2.0\" (prod. von AT Beatz) [Official HD Video]",
length: Some(169), duration: Some(169),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2aU4wRgl_0E/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgYigvMA8=&rs=AOn4CLBj0RHC0Whmrzg2QyLRXziGny_rNg", url: "https://i.ytimg.com/vi/2aU4wRgl_0E/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgYigvMA8=&rs=AOn4CLBj0RHC0Whmrzg2QyLRXziGny_rNg",
@ -2225,7 +2225,7 @@ Playlist(
VideoItem( VideoItem(
id: "FzcJxJAxFtw", id: "FzcJxJAxFtw",
name: "VEYSEL & MOZZIK - TI AMO (OFFICIAL VIDEO)", name: "VEYSEL & MOZZIK - TI AMO (OFFICIAL VIDEO)",
length: Some(267), duration: Some(267),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/FzcJxJAxFtw/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEcgZChlMA8=&rs=AOn4CLAyzFFm0iraqh04myGY7Iwdjaz1Dg", url: "https://i.ytimg.com/vi/FzcJxJAxFtw/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEcgZChlMA8=&rs=AOn4CLAyzFFm0iraqh04myGY7Iwdjaz1Dg",
@ -2266,7 +2266,7 @@ Playlist(
VideoItem( VideoItem(
id: "2hyibXdOp5w", id: "2hyibXdOp5w",
name: "XAVAS (Xavier Naidoo & Kool Savas) \"Schau nicht mehr zurück\" (Official HD Video 2012)", name: "XAVAS (Xavier Naidoo & Kool Savas) \"Schau nicht mehr zurück\" (Official HD Video 2012)",
length: Some(234), duration: Some(234),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2hyibXdOp5w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAd-py6tq-UGFdYc5FqW5ljYJ8HKw", url: "https://i.ytimg.com/vi/2hyibXdOp5w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAd-py6tq-UGFdYc5FqW5ljYJ8HKw",
@ -2307,7 +2307,7 @@ Playlist(
VideoItem( VideoItem(
id: "YaKG5cUVB30", id: "YaKG5cUVB30",
name: "Ali Bumaye - Sex ohne Grund feat. Shindy", name: "Ali Bumaye - Sex ohne Grund feat. Shindy",
length: Some(166), duration: Some(166),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YaKG5cUVB30/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGDYgVih_MA8=&rs=AOn4CLB1So27J3KTakO1MV-OkY7KlGu7oQ", url: "https://i.ytimg.com/vi/YaKG5cUVB30/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGDYgVih_MA8=&rs=AOn4CLB1So27J3KTakO1MV-OkY7KlGu7oQ",
@ -2348,7 +2348,7 @@ Playlist(
VideoItem( VideoItem(
id: "Ahwc-ouFeTQ", id: "Ahwc-ouFeTQ",
name: "ALLIGATOAH - Willst Du (OFFICIAL VIDEO) \'Triebwerke\' Album (HITBOX)", name: "ALLIGATOAH - Willst Du (OFFICIAL VIDEO) \'Triebwerke\' Album (HITBOX)",
length: Some(224), duration: Some(224),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Ahwc-ouFeTQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCO4zch0lItASVd_nSl1E2_GBr1QQ", url: "https://i.ytimg.com/vi/Ahwc-ouFeTQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCO4zch0lItASVd_nSl1E2_GBr1QQ",
@ -2389,7 +2389,7 @@ Playlist(
VideoItem( VideoItem(
id: "SoImFhORKpg", id: "SoImFhORKpg",
name: "Bonez MC & RAF Camora feat. Gzuz & Maxwell - Kontrollieren (prod. by Beataura & RAF Camora)", name: "Bonez MC & RAF Camora feat. Gzuz & Maxwell - Kontrollieren (prod. by Beataura & RAF Camora)",
length: Some(232), duration: Some(232),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/SoImFhORKpg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRnP4vZtk2hUwHQ_hDsfN3iDMe9Q", url: "https://i.ytimg.com/vi/SoImFhORKpg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRnP4vZtk2hUwHQ_hDsfN3iDMe9Q",
@ -2430,7 +2430,7 @@ Playlist(
VideoItem( VideoItem(
id: "jP4-XrbGt3M", id: "jP4-XrbGt3M",
name: "Mark Forster - Sowieso (Official Video)", name: "Mark Forster - Sowieso (Official Video)",
length: Some(161), duration: Some(161),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/jP4-XrbGt3M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzLDUfpE6upRMnrDEqvp2BZrtCkw", url: "https://i.ytimg.com/vi/jP4-XrbGt3M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzLDUfpE6upRMnrDEqvp2BZrtCkw",
@ -2471,7 +2471,7 @@ Playlist(
VideoItem( VideoItem(
id: "Yy2RsG4lnm4", id: "Yy2RsG4lnm4",
name: "Anna-Maria Zimmermann - 1000 Träume weit (Tornero)", name: "Anna-Maria Zimmermann - 1000 Träume weit (Tornero)",
length: Some(254), duration: Some(254),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Yy2RsG4lnm4/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWChSMA8=&rs=AOn4CLCxUywS0PujveirI2Ge3MGi_Omlfw", url: "https://i.ytimg.com/vi/Yy2RsG4lnm4/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWChSMA8=&rs=AOn4CLCxUywS0PujveirI2Ge3MGi_Omlfw",
@ -2512,7 +2512,7 @@ Playlist(
VideoItem( VideoItem(
id: "388e_8mu1t4", id: "388e_8mu1t4",
name: "SDP feat. Sido - Die Nacht von Freitag auf Montag", name: "SDP feat. Sido - Die Nacht von Freitag auf Montag",
length: Some(241), duration: Some(241),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/388e_8mu1t4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1op5KQFtiQ3GJv_yt8lcCojrRWw", url: "https://i.ytimg.com/vi/388e_8mu1t4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1op5KQFtiQ3GJv_yt8lcCojrRWw",
@ -2553,7 +2553,7 @@ Playlist(
VideoItem( VideoItem(
id: "dHHtPi-j7dQ", id: "dHHtPi-j7dQ",
name: "Wolkenfrei - Wolke 7 (Offizielles Video)", name: "Wolkenfrei - Wolke 7 (Offizielles Video)",
length: Some(239), duration: Some(239),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dHHtPi-j7dQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZKYNdCzFGKh8z1XPSXT42h8EegQ", url: "https://i.ytimg.com/vi/dHHtPi-j7dQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZKYNdCzFGKh8z1XPSXT42h8EegQ",
@ -2594,7 +2594,7 @@ Playlist(
VideoItem( VideoItem(
id: "d8ERTCVXIUE", id: "d8ERTCVXIUE",
name: "Ali As feat. Namika Lass sie tanzen (Square Dance) // prod. ELI", name: "Ali As feat. Namika Lass sie tanzen (Square Dance) // prod. ELI",
length: Some(251), duration: Some(251),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/d8ERTCVXIUE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRc1pnQEIAdibeOsDU5HUkjq6tEw", url: "https://i.ytimg.com/vi/d8ERTCVXIUE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRc1pnQEIAdibeOsDU5HUkjq6tEw",
@ -2635,7 +2635,7 @@ Playlist(
VideoItem( VideoItem(
id: "vQXn3EzzYY4", id: "vQXn3EzzYY4",
name: "Frei.Wild - Weil Du mich nur verarscht hast (2011) [Offizieller Videoclip]", name: "Frei.Wild - Weil Du mich nur verarscht hast (2011) [Offizieller Videoclip]",
length: Some(208), duration: Some(208),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vQXn3EzzYY4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCqfVJX6ABnvqJSkj7Hyw6f4rV2TA", url: "https://i.ytimg.com/vi/vQXn3EzzYY4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCqfVJX6ABnvqJSkj7Hyw6f4rV2TA",
@ -2676,7 +2676,7 @@ Playlist(
VideoItem( VideoItem(
id: "zA-BTpC-yvI", id: "zA-BTpC-yvI",
name: "AZET feat. RAF CAMORA - QA BONE (Official Audio)", name: "AZET feat. RAF CAMORA - QA BONE (Official Audio)",
length: Some(202), duration: Some(202),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zA-BTpC-yvI/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGE4gXChlMA8=&rs=AOn4CLBkH-lnzH83AI28xUBWA-ELuE28QQ", url: "https://i.ytimg.com/vi/zA-BTpC-yvI/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGE4gXChlMA8=&rs=AOn4CLBkH-lnzH83AI28xUBWA-ELuE28QQ",
@ -2717,7 +2717,7 @@ Playlist(
VideoItem( VideoItem(
id: "rnzIN9H_G10", id: "rnzIN9H_G10",
name: "LEA - Leiser (Pseudo Video)", name: "LEA - Leiser (Pseudo Video)",
length: Some(209), duration: Some(209),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rnzIN9H_G10/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2pFb14I8adKkilycBZCpcF0j5xQ", url: "https://i.ytimg.com/vi/rnzIN9H_G10/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2pFb14I8adKkilycBZCpcF0j5xQ",
@ -2758,7 +2758,7 @@ Playlist(
VideoItem( VideoItem(
id: "fcBbT1GTxqM", id: "fcBbT1GTxqM",
name: "Kay One - Ich brech die Herzen", name: "Kay One - Ich brech die Herzen",
length: Some(229), duration: Some(229),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fcBbT1GTxqM/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGH8gFSgxMA8=&rs=AOn4CLC0M2hJ0_SW5zjBuLh8h96RKHuBvQ", url: "https://i.ytimg.com/vi/fcBbT1GTxqM/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGH8gFSgxMA8=&rs=AOn4CLC0M2hJ0_SW5zjBuLh8h96RKHuBvQ",
@ -2799,7 +2799,7 @@ Playlist(
VideoItem( VideoItem(
id: "wCDsm_dt1cI", id: "wCDsm_dt1cI",
name: "KLUBBB3 - Du schaffst das schon (Offizielles Video)", name: "KLUBBB3 - Du schaffst das schon (Offizielles Video)",
length: Some(190), duration: Some(190),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/wCDsm_dt1cI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCJisdr1A-P-lXCyrM0RoJRUyPDAQ", url: "https://i.ytimg.com/vi/wCDsm_dt1cI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCJisdr1A-P-lXCyrM0RoJRUyPDAQ",
@ -2840,7 +2840,7 @@ Playlist(
VideoItem( VideoItem(
id: "4j3AOJV1J8I", id: "4j3AOJV1J8I",
name: "23 - Bushido & Sido feat. Peter Maffay - Erwachsen sein", name: "23 - Bushido & Sido feat. Peter Maffay - Erwachsen sein",
length: Some(218), duration: Some(218),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4j3AOJV1J8I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBt7kmNDbeo0vtVApiHs2J5zMaylg", url: "https://i.ytimg.com/vi/4j3AOJV1J8I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBt7kmNDbeo0vtVApiHs2J5zMaylg",
@ -2881,7 +2881,7 @@ Playlist(
VideoItem( VideoItem(
id: "RtuW08ZIgvg", id: "RtuW08ZIgvg",
name: "Söhne Mannheims - Und wenn ein Lied [Official Video]", name: "Söhne Mannheims - Und wenn ein Lied [Official Video]",
length: Some(249), duration: Some(249),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RtuW08ZIgvg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDM7u-sy9EvIS8VMTjJ9cLcM47zQA", url: "https://i.ytimg.com/vi/RtuW08ZIgvg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDM7u-sy9EvIS8VMTjJ9cLcM47zQA",
@ -2922,7 +2922,7 @@ Playlist(
VideoItem( VideoItem(
id: "cbTXqKBIQ40", id: "cbTXqKBIQ40",
name: "Philipp Poisel - Eiserner Steg (Klavier Version) - Offizielles Video", name: "Philipp Poisel - Eiserner Steg (Klavier Version) - Offizielles Video",
length: Some(250), duration: Some(250),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cbTXqKBIQ40/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AHUBoAC4AOKAgwIABABGGUgXihUMA8=&rs=AOn4CLAF0HVb8hFfclGtL2LXX-kBxl50Nw", url: "https://i.ytimg.com/vi/cbTXqKBIQ40/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AHUBoAC4AOKAgwIABABGGUgXihUMA8=&rs=AOn4CLAF0HVb8hFfclGtL2LXX-kBxl50Nw",
@ -2963,7 +2963,7 @@ Playlist(
VideoItem( VideoItem(
id: "oSd0Lph4luY", id: "oSd0Lph4luY",
name: "MIKE SINGER - DEJA VU (Offizielles Video)", name: "MIKE SINGER - DEJA VU (Offizielles Video)",
length: Some(229), duration: Some(229),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/oSd0Lph4luY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDUSdlW64Vrr23hmhIBXoXWA5UuhQ", url: "https://i.ytimg.com/vi/oSd0Lph4luY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDUSdlW64Vrr23hmhIBXoXWA5UuhQ",
@ -3004,7 +3004,7 @@ Playlist(
VideoItem( VideoItem(
id: "oq0rrYrufYU", id: "oq0rrYrufYU",
name: "JORIS - Herz über Kopf (Official Video)", name: "JORIS - Herz über Kopf (Official Video)",
length: Some(209), duration: Some(209),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/oq0rrYrufYU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYbbtDe_9DmmmA3qpRrk3NphV69Q", url: "https://i.ytimg.com/vi/oq0rrYrufYU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYbbtDe_9DmmmA3qpRrk3NphV69Q",
@ -3045,7 +3045,7 @@ Playlist(
VideoItem( VideoItem(
id: "0-P_YkS0z8s", id: "0-P_YkS0z8s",
name: "KC Rebell feat. Summer Cem ► AUGENBLICK ◄ [ official Video ] 4K", name: "KC Rebell feat. Summer Cem ► AUGENBLICK ◄ [ official Video ] 4K",
length: Some(208), duration: Some(208),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0-P_YkS0z8s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBo7ZebER3EyU-cxcGJKMYdTZqVXA", url: "https://i.ytimg.com/vi/0-P_YkS0z8s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBo7ZebER3EyU-cxcGJKMYdTZqVXA",
@ -3086,7 +3086,7 @@ Playlist(
VideoItem( VideoItem(
id: "4BAKb2p450Q", id: "4BAKb2p450Q",
name: "Tim Bendzko - Nur Noch Kurz Die Welt Retten (Offizielles Video)", name: "Tim Bendzko - Nur Noch Kurz Die Welt Retten (Offizielles Video)",
length: Some(191), duration: Some(191),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4BAKb2p450Q/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-DoACuAiKAgwIABABGGUgXChJMA8=&rs=AOn4CLBQz7BrG-FtU-G_9vRd8aUdskRrVQ", url: "https://i.ytimg.com/vi/4BAKb2p450Q/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-DoACuAiKAgwIABABGGUgXChJMA8=&rs=AOn4CLBQz7BrG-FtU-G_9vRd8aUdskRrVQ",
@ -3127,7 +3127,7 @@ Playlist(
VideoItem( VideoItem(
id: "yqObMM_QzVQ", id: "yqObMM_QzVQ",
name: "Casper - Im Ascheregen", name: "Casper - Im Ascheregen",
length: Some(303), duration: Some(303),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yqObMM_QzVQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEsgZShZMA8=&rs=AOn4CLBoJTeRO6ARhLifQ_JSzkMpJsbfXA", url: "https://i.ytimg.com/vi/yqObMM_QzVQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEsgZShZMA8=&rs=AOn4CLBoJTeRO6ARhLifQ_JSzkMpJsbfXA",
@ -3168,7 +3168,7 @@ Playlist(
VideoItem( VideoItem(
id: "dlvStoOyEzE", id: "dlvStoOyEzE",
name: "Alligatoah - Du bist schön (Official Video)", name: "Alligatoah - Du bist schön (Official Video)",
length: Some(246), duration: Some(246),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dlvStoOyEzE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCfTATo6sXEoKHxikJD9t9Hg3E01g", url: "https://i.ytimg.com/vi/dlvStoOyEzE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCfTATo6sXEoKHxikJD9t9Hg3E01g",
@ -3209,7 +3209,7 @@ Playlist(
VideoItem( VideoItem(
id: "VNttGAaek2U", id: "VNttGAaek2U",
name: "Revolverheld - Lass Uns Gehen (Offizielles Musikvideo)", name: "Revolverheld - Lass Uns Gehen (Offizielles Musikvideo)",
length: Some(214), duration: Some(214),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/VNttGAaek2U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCwcuHMTixpi0vJg-4G20w5fbqI4w", url: "https://i.ytimg.com/vi/VNttGAaek2U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCwcuHMTixpi0vJg-4G20w5fbqI4w",
@ -3250,7 +3250,7 @@ Playlist(
VideoItem( VideoItem(
id: "TxZMfufRJfo", id: "TxZMfufRJfo",
name: "Oft Gefragt - AnnenMayKantereit (Official Video)", name: "Oft Gefragt - AnnenMayKantereit (Official Video)",
length: Some(189), duration: Some(189),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/TxZMfufRJfo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBhWEPjvLiv1Khiuod09arTjc8g7A", url: "https://i.ytimg.com/vi/TxZMfufRJfo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBhWEPjvLiv1Khiuod09arTjc8g7A",
@ -3291,7 +3291,7 @@ Playlist(
VideoItem( VideoItem(
id: "6agT2asF4as", id: "6agT2asF4as",
name: "CAPO - MON CHÉRI ft. NIMO (prod. von Zeeko & Veteran) [Official Audio]", name: "CAPO - MON CHÉRI ft. NIMO (prod. von Zeeko & Veteran) [Official Audio]",
length: Some(230), duration: Some(230),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6agT2asF4as/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gGyhXMA8=&rs=AOn4CLBJHfWuSafCA1Ps5tkucBNXDZ47SQ", url: "https://i.ytimg.com/vi/6agT2asF4as/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gGyhXMA8=&rs=AOn4CLBJHfWuSafCA1Ps5tkucBNXDZ47SQ",
@ -3332,7 +3332,7 @@ Playlist(
VideoItem( VideoItem(
id: "EcW0n83La5A", id: "EcW0n83La5A",
name: "DIE LOCHIS - LIEBLINGSLIED (Offizielles Video) | BEREIT FÜR @YouAreHero ?", name: "DIE LOCHIS - LIEBLINGSLIED (Offizielles Video) | BEREIT FÜR @YouAreHero ?",
length: Some(212), duration: Some(212),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EcW0n83La5A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfc1-Y5K_6Jjjs4e7wJRasjkAvqg", url: "https://i.ytimg.com/vi/EcW0n83La5A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfc1-Y5K_6Jjjs4e7wJRasjkAvqg",
@ -3373,7 +3373,7 @@ Playlist(
VideoItem( VideoItem(
id: "_b61hg8UlZM", id: "_b61hg8UlZM",
name: "CAPO Lambo Diablo GT feat. Nimo (prod. Von SOTT & Veteran & Zeeko) [Official Audio]", name: "CAPO Lambo Diablo GT feat. Nimo (prod. Von SOTT & Veteran & Zeeko) [Official Audio]",
length: Some(285), duration: Some(285),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_b61hg8UlZM/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gEygWMA8=&rs=AOn4CLDKZqTZ1RolhUZ6N1TBH_xHISnWGg", url: "https://i.ytimg.com/vi/_b61hg8UlZM/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gEygWMA8=&rs=AOn4CLDKZqTZ1RolhUZ6N1TBH_xHISnWGg",
@ -3414,7 +3414,7 @@ Playlist(
VideoItem( VideoItem(
id: "kDMFranvFuQ", id: "kDMFranvFuQ",
name: "Joel Brandenstein - Diese Liebe (Offizielles Musikvideo)", name: "Joel Brandenstein - Diese Liebe (Offizielles Musikvideo)",
length: Some(359), duration: Some(359),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/kDMFranvFuQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBVFYsYNdvEy9fuONolAtBkZRvc9A", url: "https://i.ytimg.com/vi/kDMFranvFuQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBVFYsYNdvEy9fuONolAtBkZRvc9A",
@ -3455,7 +3455,7 @@ Playlist(
VideoItem( VideoItem(
id: "1apku0pVDeE", id: "1apku0pVDeE",
name: "Wincent Weiss - Feuerwerk (Official Video)", name: "Wincent Weiss - Feuerwerk (Official Video)",
length: Some(213), duration: Some(213),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1apku0pVDeE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgkN2roTs3SdVc46CRRd4BIi4k7Q", url: "https://i.ytimg.com/vi/1apku0pVDeE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgkN2roTs3SdVc46CRRd4BIi4k7Q",
@ -3496,7 +3496,7 @@ Playlist(
VideoItem( VideoItem(
id: "g6JYzOjglBs", id: "g6JYzOjglBs",
name: "Seeed - Aufstehn (official Video)", name: "Seeed - Aufstehn (official Video)",
length: Some(231), duration: Some(231),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/g6JYzOjglBs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCkmBTXk2YaRyjaTgjq4bwcpzWWGA", url: "https://i.ytimg.com/vi/g6JYzOjglBs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCkmBTXk2YaRyjaTgjq4bwcpzWWGA",
@ -3537,7 +3537,7 @@ Playlist(
VideoItem( VideoItem(
id: "GYK-NfOo7b4", id: "GYK-NfOo7b4",
name: "Seeed - Dickes B (official Video)", name: "Seeed - Dickes B (official Video)",
length: Some(240), duration: Some(240),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/GYK-NfOo7b4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAavUCF3vlRnCAL2QsfDgMOh5aHaQ", url: "https://i.ytimg.com/vi/GYK-NfOo7b4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAavUCF3vlRnCAL2QsfDgMOh5aHaQ",
@ -3578,7 +3578,7 @@ Playlist(
VideoItem( VideoItem(
id: "omUuR45iU0g", id: "omUuR45iU0g",
name: "KC Rebell feat. Summer Cem: \"HAYVAN\" [official Video]", name: "KC Rebell feat. Summer Cem: \"HAYVAN\" [official Video]",
length: Some(291), duration: Some(291),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/omUuR45iU0g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBNyuNT14kxJH-TQe-PUes0vkP2bw", url: "https://i.ytimg.com/vi/omUuR45iU0g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBNyuNT14kxJH-TQe-PUes0vkP2bw",
@ -3619,7 +3619,7 @@ Playlist(
VideoItem( VideoItem(
id: "w7BE3inS-NM", id: "w7BE3inS-NM",
name: "Adel Tawil - Bis hier und noch weiter (Official Video) ft. KC Rebell, Summer Cem", name: "Adel Tawil - Bis hier und noch weiter (Official Video) ft. KC Rebell, Summer Cem",
length: Some(228), duration: Some(228),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/w7BE3inS-NM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAe887jFMndrO7vV9mifoa6a1Ectg", url: "https://i.ytimg.com/vi/w7BE3inS-NM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAe887jFMndrO7vV9mifoa6a1Ectg",
@ -3660,7 +3660,7 @@ Playlist(
VideoItem( VideoItem(
id: "FM-5BPMnhm0", id: "FM-5BPMnhm0",
name: "SDP feat. Weekend - Tanz aus der Reihe!", name: "SDP feat. Weekend - Tanz aus der Reihe!",
length: Some(234), duration: Some(234),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/FM-5BPMnhm0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUFO3IacA956tmnSO4Tkq_5bJJDg", url: "https://i.ytimg.com/vi/FM-5BPMnhm0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUFO3IacA956tmnSO4Tkq_5bJJDg",
@ -3701,7 +3701,7 @@ Playlist(
VideoItem( VideoItem(
id: "MnNZNfixTOw", id: "MnNZNfixTOw",
name: "Philipp Poisel - Wie soll ein Mensch das ertragen", name: "Philipp Poisel - Wie soll ein Mensch das ertragen",
length: Some(278), duration: Some(278),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/MnNZNfixTOw/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AHUBoAC4AOKAgwIABABGGUgWShHMA8=&rs=AOn4CLCuEjvonMHcDqcShO6UJbDrzshyDg", url: "https://i.ytimg.com/vi/MnNZNfixTOw/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AHUBoAC4AOKAgwIABABGGUgWShHMA8=&rs=AOn4CLCuEjvonMHcDqcShO6UJbDrzshyDg",
@ -3742,7 +3742,7 @@ Playlist(
VideoItem( VideoItem(
id: "qe80EeU8cT8", id: "qe80EeU8cT8",
name: "Xavier Naidoo - Wann (feat. Cassandra Steen) [Official Video]", name: "Xavier Naidoo - Wann (feat. Cassandra Steen) [Official Video]",
length: Some(327), duration: Some(327),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qe80EeU8cT8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLATTKLPexjqGruzgsU7M3Kldk0J2w", url: "https://i.ytimg.com/vi/qe80EeU8cT8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLATTKLPexjqGruzgsU7M3Kldk0J2w",
@ -3783,7 +3783,7 @@ Playlist(
VideoItem( VideoItem(
id: "-s2-6KYgqpQ", id: "-s2-6KYgqpQ",
name: "Alligatoah - Narben (Official Video)", name: "Alligatoah - Narben (Official Video)",
length: Some(264), duration: Some(264),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/-s2-6KYgqpQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDWniVg-b300HVTRYrQGrrSK1G8uw", url: "https://i.ytimg.com/vi/-s2-6KYgqpQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDWniVg-b300HVTRYrQGrrSK1G8uw",
@ -3824,7 +3824,7 @@ Playlist(
VideoItem( VideoItem(
id: "RSlp874hESE", id: "RSlp874hESE",
name: "Kollegah & Farid Bang - \"ZIEH DEN RUCKSACK AUS\" [ official Video ]", name: "Kollegah & Farid Bang - \"ZIEH DEN RUCKSACK AUS\" [ official Video ]",
length: Some(162), duration: Some(162),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RSlp874hESE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAU7YZ5dh9VaC9R5wfTKYMChxTplQ", url: "https://i.ytimg.com/vi/RSlp874hESE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAU7YZ5dh9VaC9R5wfTKYMChxTplQ",
@ -3865,7 +3865,7 @@ Playlist(
VideoItem( VideoItem(
id: "oTI3tRQ_-3k", id: "oTI3tRQ_-3k",
name: "SDP - Wenn ich groß bin", name: "SDP - Wenn ich groß bin",
length: Some(225), duration: Some(225),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/oTI3tRQ_-3k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDkk0a9nwy9qYSc-V0ZRSIGS_Wttg", url: "https://i.ytimg.com/vi/oTI3tRQ_-3k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDkk0a9nwy9qYSc-V0ZRSIGS_Wttg",
@ -3906,7 +3906,7 @@ Playlist(
VideoItem( VideoItem(
id: "_okA84gaEJw", id: "_okA84gaEJw",
name: "SXTN - Von Party zu Party (Official Video)", name: "SXTN - Von Party zu Party (Official Video)",
length: Some(221), duration: Some(221),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_okA84gaEJw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDA6bykIGVF3WqUx3emOpgnuapb0w", url: "https://i.ytimg.com/vi/_okA84gaEJw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDA6bykIGVF3WqUx3emOpgnuapb0w",
@ -3947,7 +3947,7 @@ Playlist(
VideoItem( VideoItem(
id: "pLHnnJRaP7Q", id: "pLHnnJRaP7Q",
name: "House Rockerz - HerzRasen (Official Video HD)", name: "House Rockerz - HerzRasen (Official Video HD)",
length: Some(207), duration: Some(207),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pLHnnJRaP7Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFElTxgC4PWAel2yN43ku_gWpLtw", url: "https://i.ytimg.com/vi/pLHnnJRaP7Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFElTxgC4PWAel2yN43ku_gWpLtw",
@ -3988,7 +3988,7 @@ Playlist(
VideoItem( VideoItem(
id: "H2hGrsExuyc", id: "H2hGrsExuyc",
name: "GZUZ \"Was Hast Du Gedacht\" (WSHH Exclusive - Official Music Video)", name: "GZUZ \"Was Hast Du Gedacht\" (WSHH Exclusive - Official Music Video)",
length: Some(188), duration: Some(188),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/H2hGrsExuyc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_OAq5Mb2xjIZW5dNyKZRWJ7PLsA", url: "https://i.ytimg.com/vi/H2hGrsExuyc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_OAq5Mb2xjIZW5dNyKZRWJ7PLsA",
@ -4029,7 +4029,7 @@ Playlist(
VideoItem( VideoItem(
id: "RsZvjqG2lec", id: "RsZvjqG2lec",
name: "Tim Bendzko - Wenn Worte meine Sprache wären (Offizielles Video)", name: "Tim Bendzko - Wenn Worte meine Sprache wären (Offizielles Video)",
length: Some(196), duration: Some(196),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RsZvjqG2lec/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBh5wlp7smaJJU4TQy1iKD1U2sqQQ", url: "https://i.ytimg.com/vi/RsZvjqG2lec/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBh5wlp7smaJJU4TQy1iKD1U2sqQQ",
@ -4070,7 +4070,7 @@ Playlist(
VideoItem( VideoItem(
id: "qYRCiQ6d35w", id: "qYRCiQ6d35w",
name: "BONEZ MC & RAF CAMORA feat GZUZ - MÖRDER", name: "BONEZ MC & RAF CAMORA feat GZUZ - MÖRDER",
length: Some(240), duration: Some(240),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qYRCiQ6d35w/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWShVMA8=&rs=AOn4CLC2U3dzqvzsZhxZKif1rwtE6vQ8Vg", url: "https://i.ytimg.com/vi/qYRCiQ6d35w/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWShVMA8=&rs=AOn4CLC2U3dzqvzsZhxZKif1rwtE6vQ8Vg",

View file

@ -11,7 +11,7 @@ Playlist(
VideoItem( VideoItem(
id: "X82TrticM4A", id: "X82TrticM4A",
name: "Minecraft SHINE (Trailer)", name: "Minecraft SHINE (Trailer)",
length: Some(80), duration: Some(80),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/X82TrticM4A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDaqqikBYqqsuVR1SPVW1HPS7a0sA", url: "https://i.ytimg.com/vi/X82TrticM4A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDaqqikBYqqsuVR1SPVW1HPS7a0sA",
@ -52,7 +52,7 @@ Playlist(
VideoItem( VideoItem(
id: "RPGLMuxkLCs", id: "RPGLMuxkLCs",
name: "DAS LAGERFEUERLIED - Minecraft SHINE #001 [Deutsch/HD]", name: "DAS LAGERFEUERLIED - Minecraft SHINE #001 [Deutsch/HD]",
length: Some(1356), duration: Some(1356),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RPGLMuxkLCs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLYpK285ZyD2y-ipNU2fC_HzhiRg", url: "https://i.ytimg.com/vi/RPGLMuxkLCs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLYpK285ZyD2y-ipNU2fC_HzhiRg",
@ -93,7 +93,7 @@ Playlist(
VideoItem( VideoItem(
id: "z-ALpnnQLrk", id: "z-ALpnnQLrk",
name: "MAGISCHES FURZMONSTER - Minecraft SHINE #002 [Deutsch/HD]", name: "MAGISCHES FURZMONSTER - Minecraft SHINE #002 [Deutsch/HD]",
length: Some(1039), duration: Some(1039),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/z-ALpnnQLrk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBLDDABxzfLeE-dQaBBNKG0CJdOWw", url: "https://i.ytimg.com/vi/z-ALpnnQLrk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBLDDABxzfLeE-dQaBBNKG0CJdOWw",
@ -134,7 +134,7 @@ Playlist(
VideoItem( VideoItem(
id: "_rrbTTv8zcQ", id: "_rrbTTv8zcQ",
name: "UNTERIRDISCHE RIESENPILZHÖHLEN - Minecraft SHINE #003 [Deutsch/HD]", name: "UNTERIRDISCHE RIESENPILZHÖHLEN - Minecraft SHINE #003 [Deutsch/HD]",
length: Some(1447), duration: Some(1447),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_rrbTTv8zcQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD0Br8sAmhv9UlFtwHaK6y3PlxIpQ", url: "https://i.ytimg.com/vi/_rrbTTv8zcQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD0Br8sAmhv9UlFtwHaK6y3PlxIpQ",
@ -175,7 +175,7 @@ Playlist(
VideoItem( VideoItem(
id: "JE16OKTawLw", id: "JE16OKTawLw",
name: "BESTE AXT IM SPIEL GEFUNDEN?! - Minecraft SHINE #004 [Deutsch/HD]", name: "BESTE AXT IM SPIEL GEFUNDEN?! - Minecraft SHINE #004 [Deutsch/HD]",
length: Some(1238), duration: Some(1238),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/JE16OKTawLw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRk4X8dtihNq68ay7rpARzN9peiQ", url: "https://i.ytimg.com/vi/JE16OKTawLw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRk4X8dtihNq68ay7rpARzN9peiQ",
@ -216,7 +216,7 @@ Playlist(
VideoItem( VideoItem(
id: "RQNY0Wzm7DQ", id: "RQNY0Wzm7DQ",
name: "ERZERAUSCH IM MINENSCHACHT - Minecraft SHINE #005 [Deutsch/HD]", name: "ERZERAUSCH IM MINENSCHACHT - Minecraft SHINE #005 [Deutsch/HD]",
length: Some(1405), duration: Some(1405),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RQNY0Wzm7DQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMKr2vJvhKw6bxFVsgfR9p5kRuCQ", url: "https://i.ytimg.com/vi/RQNY0Wzm7DQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMKr2vJvhKw6bxFVsgfR9p5kRuCQ",
@ -257,7 +257,7 @@ Playlist(
VideoItem( VideoItem(
id: "uhy24PKBkd0", id: "uhy24PKBkd0",
name: "FUSIONSOFEN & ERSTER IM NETHER?! - Minecraft SHINE #006 [Deutsch/HD]", name: "FUSIONSOFEN & ERSTER IM NETHER?! - Minecraft SHINE #006 [Deutsch/HD]",
length: Some(1569), duration: Some(1569),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/uhy24PKBkd0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA-pynU_AAsgCDh38L8QmHXXryZfg", url: "https://i.ytimg.com/vi/uhy24PKBkd0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA-pynU_AAsgCDh38L8QmHXXryZfg",
@ -298,7 +298,7 @@ Playlist(
VideoItem( VideoItem(
id: "OL1hQadBHfs", id: "OL1hQadBHfs",
name: "EPISCHER ROGUEDUNGEON - Minecraft SHINE #007 [Deutsch/HD]", name: "EPISCHER ROGUEDUNGEON - Minecraft SHINE #007 [Deutsch/HD]",
length: Some(1534), duration: Some(1534),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/OL1hQadBHfs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBeyicluHNPCNdAKEUTLrHE9Rfmtg", url: "https://i.ytimg.com/vi/OL1hQadBHfs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBeyicluHNPCNdAKEUTLrHE9Rfmtg",
@ -339,7 +339,7 @@ Playlist(
VideoItem( VideoItem(
id: "Zge_SUfk0r8", id: "Zge_SUfk0r8",
name: "DIAMANTZOMBIES auf NETHEREBENE - Minecraft SHINE #008 [Deutsch/HD]", name: "DIAMANTZOMBIES auf NETHEREBENE - Minecraft SHINE #008 [Deutsch/HD]",
length: Some(1726), duration: Some(1726),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Zge_SUfk0r8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9jHtok-baqRLQPZowWsXeVQBA6Q", url: "https://i.ytimg.com/vi/Zge_SUfk0r8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9jHtok-baqRLQPZowWsXeVQBA6Q",
@ -380,7 +380,7 @@ Playlist(
VideoItem( VideoItem(
id: "yFGIeU_IDE4", id: "yFGIeU_IDE4",
name: "HÖLLISCHE SCHLACHT um 2 DIAMANTBLÖCKE - Minecraft SHINE #009 [Deutsch/HD]", name: "HÖLLISCHE SCHLACHT um 2 DIAMANTBLÖCKE - Minecraft SHINE #009 [Deutsch/HD]",
length: Some(1669), duration: Some(1669),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yFGIeU_IDE4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCx02JGJneEQtn_YD7K8KOt3vC26w", url: "https://i.ytimg.com/vi/yFGIeU_IDE4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCx02JGJneEQtn_YD7K8KOt3vC26w",
@ -421,7 +421,7 @@ Playlist(
VideoItem( VideoItem(
id: "P6MVqfQzPIg", id: "P6MVqfQzPIg",
name: "MAGISCHER OBSIDIANTOTEM?! - Minecraft SHINE #010 [Deutsch/HD]", name: "MAGISCHER OBSIDIANTOTEM?! - Minecraft SHINE #010 [Deutsch/HD]",
length: Some(1526), duration: Some(1526),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/P6MVqfQzPIg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLRzxVNwZaMeOU1ls17wlYDsnvZA", url: "https://i.ytimg.com/vi/P6MVqfQzPIg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLRzxVNwZaMeOU1ls17wlYDsnvZA",
@ -462,7 +462,7 @@ Playlist(
VideoItem( VideoItem(
id: "9n0pLDn8Z_I", id: "9n0pLDn8Z_I",
name: "GRÜNER FEUEROGER & WITHERWARZEN - Minecraft SHINE #011 [Deutsch/HD]", name: "GRÜNER FEUEROGER & WITHERWARZEN - Minecraft SHINE #011 [Deutsch/HD]",
length: Some(1482), duration: Some(1482),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9n0pLDn8Z_I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBq9_4Ov8kvuTP3uuI7ie8kSCySyw", url: "https://i.ytimg.com/vi/9n0pLDn8Z_I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBq9_4Ov8kvuTP3uuI7ie8kSCySyw",
@ -503,7 +503,7 @@ Playlist(
VideoItem( VideoItem(
id: "oXbx2YtIkeQ", id: "oXbx2YtIkeQ",
name: "MYSTERIÖSES Grab & ONYX ohne ENDE!! - Minecraft SHINE #012 [Deutsch/HD]", name: "MYSTERIÖSES Grab & ONYX ohne ENDE!! - Minecraft SHINE #012 [Deutsch/HD]",
length: Some(1518), duration: Some(1518),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/oXbx2YtIkeQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBaTkueS0xkMnM6mdCK7vVmH0C-XQ", url: "https://i.ytimg.com/vi/oXbx2YtIkeQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBaTkueS0xkMnM6mdCK7vVmH0C-XQ",
@ -544,7 +544,7 @@ Playlist(
VideoItem( VideoItem(
id: "pfBBTTwxo8Q", id: "pfBBTTwxo8Q",
name: "ATLANTIS ENTDECKT!! - Minecraft SHINE #013 [Deutsch/HD]", name: "ATLANTIS ENTDECKT!! - Minecraft SHINE #013 [Deutsch/HD]",
length: Some(1479), duration: Some(1479),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pfBBTTwxo8Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCAyzmwdAwcL_ryhGWUi1AB59h8lA", url: "https://i.ytimg.com/vi/pfBBTTwxo8Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCAyzmwdAwcL_ryhGWUi1AB59h8lA",
@ -585,7 +585,7 @@ Playlist(
VideoItem( VideoItem(
id: "WxtRqzxSAh0", id: "WxtRqzxSAh0",
name: "ZUSAMMENFASSUNG & Nodop\'s ANGRIFF - Minecraft SHINE #014 [Deutsch/HD]", name: "ZUSAMMENFASSUNG & Nodop\'s ANGRIFF - Minecraft SHINE #014 [Deutsch/HD]",
length: Some(1902), duration: Some(1902),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WxtRqzxSAh0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBqT5FSFwps0oUUjwVYqrDMYhC5Nw", url: "https://i.ytimg.com/vi/WxtRqzxSAh0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBqT5FSFwps0oUUjwVYqrDMYhC5Nw",
@ -626,7 +626,7 @@ Playlist(
VideoItem( VideoItem(
id: "ianUckvxtLw", id: "ianUckvxtLw",
name: "FRIEDHOFDUNGEON mit NODÖPCHEN - Minecraft SHINE #016 [Deutsch/HD]", name: "FRIEDHOFDUNGEON mit NODÖPCHEN - Minecraft SHINE #016 [Deutsch/HD]",
length: Some(1766), duration: Some(1766),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ianUckvxtLw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIR3LJOBV1CWi3qKugn4d_x8lAEg", url: "https://i.ytimg.com/vi/ianUckvxtLw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIR3LJOBV1CWi3qKugn4d_x8lAEg",
@ -667,7 +667,7 @@ Playlist(
VideoItem( VideoItem(
id: "eb2Ghj1g1ic", id: "eb2Ghj1g1ic",
name: "Die BESTE FALLE aller ZEITEN!! - Minecraft SHINE #015 [Deutsch/HD]", name: "Die BESTE FALLE aller ZEITEN!! - Minecraft SHINE #015 [Deutsch/HD]",
length: Some(1324), duration: Some(1324),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/eb2Ghj1g1ic/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDiXr6emf5xDnVWPBJvi3lVWa_Khg", url: "https://i.ytimg.com/vi/eb2Ghj1g1ic/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDiXr6emf5xDnVWPBJvi3lVWa_Khg",
@ -708,7 +708,7 @@ Playlist(
VideoItem( VideoItem(
id: "8TpEsyVtCog", id: "8TpEsyVtCog",
name: "MEGAGEMETZEL zu FÜNFT - Minecraft SHINE #017 [Deutsch/HD]", name: "MEGAGEMETZEL zu FÜNFT - Minecraft SHINE #017 [Deutsch/HD]",
length: Some(1629), duration: Some(1629),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8TpEsyVtCog/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAclomWqvh1OIkMf0TxPEhjNVrSNQ", url: "https://i.ytimg.com/vi/8TpEsyVtCog/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAclomWqvh1OIkMf0TxPEhjNVrSNQ",
@ -749,7 +749,7 @@ Playlist(
VideoItem( VideoItem(
id: "KD_WAei4LMg", id: "KD_WAei4LMg",
name: "WITHER BOSSFIGHT - Minecraft SHINE #018 [Deutsch/HD]", name: "WITHER BOSSFIGHT - Minecraft SHINE #018 [Deutsch/HD]",
length: Some(1645), duration: Some(1645),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KD_WAei4LMg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAEQDBO22V46yEk4yBwkE0IuVjEVA", url: "https://i.ytimg.com/vi/KD_WAei4LMg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAEQDBO22V46yEk4yBwkE0IuVjEVA",
@ -790,7 +790,7 @@ Playlist(
VideoItem( VideoItem(
id: "qfpOCrtweKk", id: "qfpOCrtweKk",
name: "LABERSTUNDE mit ArazhulHD - Minecraft SHINE #019 [Deutsch/HD]", name: "LABERSTUNDE mit ArazhulHD - Minecraft SHINE #019 [Deutsch/HD]",
length: Some(1052), duration: Some(1052),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qfpOCrtweKk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC9xRR01wPaSTq0vL4_L6G-CS5KVw", url: "https://i.ytimg.com/vi/qfpOCrtweKk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC9xRR01wPaSTq0vL4_L6G-CS5KVw",
@ -831,7 +831,7 @@ Playlist(
VideoItem( VideoItem(
id: "6gv3nrOA_bQ", id: "6gv3nrOA_bQ",
name: "BUSRITUALE & Seltsame LEHRER - Minecraft SHINE #021 [Deutsch/HD]", name: "BUSRITUALE & Seltsame LEHRER - Minecraft SHINE #021 [Deutsch/HD]",
length: Some(1769), duration: Some(1769),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6gv3nrOA_bQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB43mXOVwQ4mRzqakDHn0kHKoY0qA", url: "https://i.ytimg.com/vi/6gv3nrOA_bQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB43mXOVwQ4mRzqakDHn0kHKoY0qA",
@ -872,7 +872,7 @@ Playlist(
VideoItem( VideoItem(
id: "waaic6UnkU8", id: "waaic6UnkU8",
name: "LEHM, LEHM und mehr LEEEHM!! - Minecraft SHINE #022 [Deutsch/HD]", name: "LEHM, LEHM und mehr LEEEHM!! - Minecraft SHINE #022 [Deutsch/HD]",
length: Some(1081), duration: Some(1081),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/waaic6UnkU8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1k7ynTJNnCRrfImHqEBaTTi85Kw", url: "https://i.ytimg.com/vi/waaic6UnkU8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1k7ynTJNnCRrfImHqEBaTTi85Kw",
@ -913,7 +913,7 @@ Playlist(
VideoItem( VideoItem(
id: "lSy4MLC_uV4", id: "lSy4MLC_uV4",
name: "Neue DIMENSIONEN?? - Minecraft SHINE #023 [Deutsch/HD]", name: "Neue DIMENSIONEN?? - Minecraft SHINE #023 [Deutsch/HD]",
length: Some(1682), duration: Some(1682),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/lSy4MLC_uV4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2wug5u6lgdChlnqxRHcqFN7l0LA", url: "https://i.ytimg.com/vi/lSy4MLC_uV4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2wug5u6lgdChlnqxRHcqFN7l0LA",
@ -954,7 +954,7 @@ Playlist(
VideoItem( VideoItem(
id: "BuN8-U_quok", id: "BuN8-U_quok",
name: "DUNGEONSTATUEN - Minecraft SHINE #024 [Deutsch/HD]", name: "DUNGEONSTATUEN - Minecraft SHINE #024 [Deutsch/HD]",
length: Some(1597), duration: Some(1597),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BuN8-U_quok/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAJe8jzy_ccxC-Z-k4-rVVTLT4HOw", url: "https://i.ytimg.com/vi/BuN8-U_quok/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAJe8jzy_ccxC-Z-k4-rVVTLT4HOw",
@ -995,7 +995,7 @@ Playlist(
VideoItem( VideoItem(
id: "g_UTG10nzaQ", id: "g_UTG10nzaQ",
name: "THYRIUMBOGEN & Dimensional DOORS - Minecraft SHINE #025 [Deutsch/HD]", name: "THYRIUMBOGEN & Dimensional DOORS - Minecraft SHINE #025 [Deutsch/HD]",
length: Some(1852), duration: Some(1852),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/g_UTG10nzaQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB90DMVKNRWSPO51zupoYxPoFmI8Q", url: "https://i.ytimg.com/vi/g_UTG10nzaQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB90DMVKNRWSPO51zupoYxPoFmI8Q",
@ -1036,7 +1036,7 @@ Playlist(
VideoItem( VideoItem(
id: "kNykFWaDbGw", id: "kNykFWaDbGw",
name: "MEIN ERSTER PVP KILL?! - Minecraft SHINE #026 [Deutsch/HD]", name: "MEIN ERSTER PVP KILL?! - Minecraft SHINE #026 [Deutsch/HD]",
length: Some(1869), duration: Some(1869),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/kNykFWaDbGw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA9gJtMx-vjG3LDYC6Mog9JJ62EYw", url: "https://i.ytimg.com/vi/kNykFWaDbGw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA9gJtMx-vjG3LDYC6Mog9JJ62EYw",
@ -1077,7 +1077,7 @@ Playlist(
VideoItem( VideoItem(
id: "gJF7vxCYTgY", id: "gJF7vxCYTgY",
name: "SPELLBOUND FARM - Minecraft SHINE #027 [Deutsch/HD]", name: "SPELLBOUND FARM - Minecraft SHINE #027 [Deutsch/HD]",
length: Some(2161), duration: Some(2161),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gJF7vxCYTgY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBKzKHEYjsk4GnAxw1jhzHI_opNEQ", url: "https://i.ytimg.com/vi/gJF7vxCYTgY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBKzKHEYjsk4GnAxw1jhzHI_opNEQ",
@ -1118,7 +1118,7 @@ Playlist(
VideoItem( VideoItem(
id: "CodZMQ_Anc0", id: "CodZMQ_Anc0",
name: "VIEEELE bunte ZAUBERPILZE - Minecraft SHINE #028 [Deutsch/HD]", name: "VIEEELE bunte ZAUBERPILZE - Minecraft SHINE #028 [Deutsch/HD]",
length: Some(1768), duration: Some(1768),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CodZMQ_Anc0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDNdgtoMcy-lYPmsnYVOcxJnCck8g", url: "https://i.ytimg.com/vi/CodZMQ_Anc0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDNdgtoMcy-lYPmsnYVOcxJnCck8g",
@ -1159,7 +1159,7 @@ Playlist(
VideoItem( VideoItem(
id: "oKHMTKJdZ_M", id: "oKHMTKJdZ_M",
name: "STREAMUPDATE & BIOMREISE - Minecraft SHINE #029 [Deutsch/HD]", name: "STREAMUPDATE & BIOMREISE - Minecraft SHINE #029 [Deutsch/HD]",
length: Some(1771), duration: Some(1771),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/oKHMTKJdZ_M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDlNghAFoCRrLzfippQtyfBiDtG-A", url: "https://i.ytimg.com/vi/oKHMTKJdZ_M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDlNghAFoCRrLzfippQtyfBiDtG-A",
@ -1200,7 +1200,7 @@ Playlist(
VideoItem( VideoItem(
id: "--O_Eyok_eE", id: "--O_Eyok_eE",
name: "AUF NACH TROPICRAFT - Minecraft SHINE #030 [Deutsch/HD]", name: "AUF NACH TROPICRAFT - Minecraft SHINE #030 [Deutsch/HD]",
length: Some(1661), duration: Some(1661),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/--O_Eyok_eE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjgm528b0H8-NGsHGFQSh0AA4GVw", url: "https://i.ytimg.com/vi/--O_Eyok_eE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjgm528b0H8-NGsHGFQSh0AA4GVw",
@ -1241,7 +1241,7 @@ Playlist(
VideoItem( VideoItem(
id: "2bT3ljKMSo8", id: "2bT3ljKMSo8",
name: "SCHATZTRUHE GEFUNDEN!! - Minecraft SHINE #031 [Deutsch/HD]", name: "SCHATZTRUHE GEFUNDEN!! - Minecraft SHINE #031 [Deutsch/HD]",
length: Some(1429), duration: Some(1429),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2bT3ljKMSo8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_TanSk3-kj26i-m-433iBP893TA", url: "https://i.ytimg.com/vi/2bT3ljKMSo8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_TanSk3-kj26i-m-433iBP893TA",
@ -1282,7 +1282,7 @@ Playlist(
VideoItem( VideoItem(
id: "YRAX_slrbsI", id: "YRAX_slrbsI",
name: "ZAUBERWALD und TROPISCHER DSCHUNGEL - Minecraft SHINE #032 [Deutsch/HD]", name: "ZAUBERWALD und TROPISCHER DSCHUNGEL - Minecraft SHINE #032 [Deutsch/HD]",
length: Some(1257), duration: Some(1257),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YRAX_slrbsI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQenXFcDnthdi95vSgMUNontlYhA", url: "https://i.ytimg.com/vi/YRAX_slrbsI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQenXFcDnthdi95vSgMUNontlYhA",
@ -1323,7 +1323,7 @@ Playlist(
VideoItem( VideoItem(
id: "aRRbCEwUSuw", id: "aRRbCEwUSuw",
name: "MESABIOM & JOUSTS - Minecraft SHINE #033 [Deutsch/HD]", name: "MESABIOM & JOUSTS - Minecraft SHINE #033 [Deutsch/HD]",
length: Some(1131), duration: Some(1131),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/aRRbCEwUSuw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDxqJBg6ejA-m-emBnzhKuSw7PH0w", url: "https://i.ytimg.com/vi/aRRbCEwUSuw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDxqJBg6ejA-m-emBnzhKuSw7PH0w",
@ -1364,7 +1364,7 @@ Playlist(
VideoItem( VideoItem(
id: "5sV8SzTbJS8", id: "5sV8SzTbJS8",
name: "Komplette SMELTERY GEFUNDEN!! - Minecraft SHINE #034 [Deutsch/HD]", name: "Komplette SMELTERY GEFUNDEN!! - Minecraft SHINE #034 [Deutsch/HD]",
length: Some(1405), duration: Some(1405),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5sV8SzTbJS8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQvHJJ0CEAzp9ZOT2Wt84vEFNg8A", url: "https://i.ytimg.com/vi/5sV8SzTbJS8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQvHJJ0CEAzp9ZOT2Wt84vEFNg8A",
@ -1405,7 +1405,7 @@ Playlist(
VideoItem( VideoItem(
id: "ZxxZlU2o1TE", id: "ZxxZlU2o1TE",
name: "ROGUEDUNGEON EXTREME - Minecraft SHINE #035 [Deutsch/HD]", name: "ROGUEDUNGEON EXTREME - Minecraft SHINE #035 [Deutsch/HD]",
length: Some(1555), duration: Some(1555),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ZxxZlU2o1TE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD5Ol6GW-ybn_4pkMWAKhy0ALAMXA", url: "https://i.ytimg.com/vi/ZxxZlU2o1TE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD5Ol6GW-ybn_4pkMWAKhy0ALAMXA",
@ -1446,7 +1446,7 @@ Playlist(
VideoItem( VideoItem(
id: "gIjo5at4AxE", id: "gIjo5at4AxE",
name: "LEGENDÄRER LOOT - Minecraft SHINE #036 [Deutsch/HD]", name: "LEGENDÄRER LOOT - Minecraft SHINE #036 [Deutsch/HD]",
length: Some(1405), duration: Some(1405),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gIjo5at4AxE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCBinkghbbcWN5isNzwxekTYfpABQ", url: "https://i.ytimg.com/vi/gIjo5at4AxE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCBinkghbbcWN5isNzwxekTYfpABQ",
@ -1487,7 +1487,7 @@ Playlist(
VideoItem( VideoItem(
id: "NSGk7-kyeEU", id: "NSGk7-kyeEU",
name: "I BELIEVE I CAN FLY - Minecraft SHINE #037 [Deutsch/HD]", name: "I BELIEVE I CAN FLY - Minecraft SHINE #037 [Deutsch/HD]",
length: Some(829), duration: Some(829),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NSGk7-kyeEU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzQVO8fGvLFYxX31s1x14XsR2YAw", url: "https://i.ytimg.com/vi/NSGk7-kyeEU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzQVO8fGvLFYxX31s1x14XsR2YAw",
@ -1528,7 +1528,7 @@ Playlist(
VideoItem( VideoItem(
id: "cgJtZ7Otc4Y", id: "cgJtZ7Otc4Y",
name: "ROGUEFRIEDHOF mit WITHERBOSS - Minecraft SHINE #038 [Deutsch/HD]", name: "ROGUEFRIEDHOF mit WITHERBOSS - Minecraft SHINE #038 [Deutsch/HD]",
length: Some(1392), duration: Some(1392),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cgJtZ7Otc4Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDK12gzYlhFnRvOaKPfBwCe3ShVCA", url: "https://i.ytimg.com/vi/cgJtZ7Otc4Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDK12gzYlhFnRvOaKPfBwCe3ShVCA",
@ -1569,7 +1569,7 @@ Playlist(
VideoItem( VideoItem(
id: "l5LQu3Q0nWY", id: "l5LQu3Q0nWY",
name: "MONSTERCALYPSE & RETTUNGSAKTION - Minecraft SHINE #039 [Deutsch/HD]", name: "MONSTERCALYPSE & RETTUNGSAKTION - Minecraft SHINE #039 [Deutsch/HD]",
length: Some(1580), duration: Some(1580),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/l5LQu3Q0nWY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAp9sggZ7r8Drcdso3H8mja_pPjOg", url: "https://i.ytimg.com/vi/l5LQu3Q0nWY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAp9sggZ7r8Drcdso3H8mja_pPjOg",
@ -1610,7 +1610,7 @@ Playlist(
VideoItem( VideoItem(
id: "YX4Z3ZlWUFc", id: "YX4Z3ZlWUFc",
name: "HINTERHALT von GEGNERN!! - Minecraft SHINE #040 [Deutsch/HD]", name: "HINTERHALT von GEGNERN!! - Minecraft SHINE #040 [Deutsch/HD]",
length: Some(1847), duration: Some(1847),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YX4Z3ZlWUFc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCiPRQyCDwv4Hg1TOyAx_JQbhgYZA", url: "https://i.ytimg.com/vi/YX4Z3ZlWUFc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCiPRQyCDwv4Hg1TOyAx_JQbhgYZA",
@ -1651,7 +1651,7 @@ Playlist(
VideoItem( VideoItem(
id: "LoyvqR41lKw", id: "LoyvqR41lKw",
name: "CARPENTER\'s BLOCKS - Minecraft SHINE #041 [Deutsch/HD]", name: "CARPENTER\'s BLOCKS - Minecraft SHINE #041 [Deutsch/HD]",
length: Some(1524), duration: Some(1524),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/LoyvqR41lKw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDwYtpWH35Zh5fLrJeDYW0A1GlJUg", url: "https://i.ytimg.com/vi/LoyvqR41lKw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDwYtpWH35Zh5fLrJeDYW0A1GlJUg",
@ -1692,7 +1692,7 @@ Playlist(
VideoItem( VideoItem(
id: "HbQtMZbtx_Q", id: "HbQtMZbtx_Q",
name: "DER ETERNAL FROST!! - Minecraft SHINE #043 [Deutsch/HD]", name: "DER ETERNAL FROST!! - Minecraft SHINE #043 [Deutsch/HD]",
length: Some(1514), duration: Some(1514),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/HbQtMZbtx_Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLByqCDZ6hojgwcvO8ykf1EKOCAyMw", url: "https://i.ytimg.com/vi/HbQtMZbtx_Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLByqCDZ6hojgwcvO8ykf1EKOCAyMw",
@ -1733,7 +1733,7 @@ Playlist(
VideoItem( VideoItem(
id: "0DHRbP9ecgw", id: "0DHRbP9ecgw",
name: "FROSTDUNGEONS in der OVERWORLD!! - Minecraft SHINE #044 [Deutsch/HD]", name: "FROSTDUNGEONS in der OVERWORLD!! - Minecraft SHINE #044 [Deutsch/HD]",
length: Some(1567), duration: Some(1567),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0DHRbP9ecgw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9v_vTHy1VOEM3VGQ30lhEJLfmvw", url: "https://i.ytimg.com/vi/0DHRbP9ecgw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9v_vTHy1VOEM3VGQ30lhEJLfmvw",
@ -1774,7 +1774,7 @@ Playlist(
VideoItem( VideoItem(
id: "rFOFkvk-xus", id: "rFOFkvk-xus",
name: "BOSSRÜSTUNG XXL - Minecraft SHINE #045 [Deutsch/HD]", name: "BOSSRÜSTUNG XXL - Minecraft SHINE #045 [Deutsch/HD]",
length: Some(2050), duration: Some(2050),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rFOFkvk-xus/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOHW34k4C5B4IDkKsphKd7RpKJEw", url: "https://i.ytimg.com/vi/rFOFkvk-xus/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOHW34k4C5B4IDkKsphKd7RpKJEw",
@ -1815,7 +1815,7 @@ Playlist(
VideoItem( VideoItem(
id: "P8zxnSihJ_8", id: "P8zxnSihJ_8",
name: "ZAUBERN & TROLLEN mit Nodop - Minecraft SHINE #046 [Deutsch/HD]", name: "ZAUBERN & TROLLEN mit Nodop - Minecraft SHINE #046 [Deutsch/HD]",
length: Some(1828), duration: Some(1828),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/P8zxnSihJ_8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDKgLUdVybxHwVoOxNFvVBz2QI0aQ", url: "https://i.ytimg.com/vi/P8zxnSihJ_8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDKgLUdVybxHwVoOxNFvVBz2QI0aQ",
@ -1856,7 +1856,7 @@ Playlist(
VideoItem( VideoItem(
id: "RWgeHl9XkCY", id: "RWgeHl9XkCY",
name: "NACHHILFE für BALUI - Minecraft SHINE #047 [Deutsch/HD]", name: "NACHHILFE für BALUI - Minecraft SHINE #047 [Deutsch/HD]",
length: Some(1926), duration: Some(1926),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RWgeHl9XkCY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBktMkUzztN_VwIMmZ-icbRUrED3w", url: "https://i.ytimg.com/vi/RWgeHl9XkCY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBktMkUzztN_VwIMmZ-icbRUrED3w",
@ -1897,7 +1897,7 @@ Playlist(
VideoItem( VideoItem(
id: "I1n539enNNY", id: "I1n539enNNY",
name: "SPIELER GETÖTET!! - Minecraft SHINE #048 [Deutsch/HD]", name: "SPIELER GETÖTET!! - Minecraft SHINE #048 [Deutsch/HD]",
length: Some(1836), duration: Some(1836),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/I1n539enNNY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA6GMQFFds97Lr4obHmFRuKi5pscQ", url: "https://i.ytimg.com/vi/I1n539enNNY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA6GMQFFds97Lr4obHmFRuKi5pscQ",
@ -1938,7 +1938,7 @@ Playlist(
VideoItem( VideoItem(
id: "70VKekyZz5g", id: "70VKekyZz5g",
name: "VORBEREITUNG auf den DRACHEN - Minecraft SHINE #049 [Deutsch/HD]", name: "VORBEREITUNG auf den DRACHEN - Minecraft SHINE #049 [Deutsch/HD]",
length: Some(1916), duration: Some(1916),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/70VKekyZz5g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD7nTUSM_8kz82LsnWCRNjPRv3fvA", url: "https://i.ytimg.com/vi/70VKekyZz5g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD7nTUSM_8kz82LsnWCRNjPRv3fvA",
@ -1979,7 +1979,7 @@ Playlist(
VideoItem( VideoItem(
id: "2OWJ1bwFu6Y", id: "2OWJ1bwFu6Y",
name: "Donnernder ENDERDRACHENKAMPF - Minecraft SHINE #050 [Deutsch/HD]", name: "Donnernder ENDERDRACHENKAMPF - Minecraft SHINE #050 [Deutsch/HD]",
length: Some(1718), duration: Some(1718),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2OWJ1bwFu6Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDj9YAqHRFD2Zwi9Kvr69EjDnVEBw", url: "https://i.ytimg.com/vi/2OWJ1bwFu6Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDj9YAqHRFD2Zwi9Kvr69EjDnVEBw",
@ -2020,7 +2020,7 @@ Playlist(
VideoItem( VideoItem(
id: "zLiSA2i-niw", id: "zLiSA2i-niw",
name: "Superspitzhacke & Necrotic Bones - Minecraft SHINE #051 [Deutsch/HD]", name: "Superspitzhacke & Necrotic Bones - Minecraft SHINE #051 [Deutsch/HD]",
length: Some(1253), duration: Some(1253),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zLiSA2i-niw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1WmiMQp3vCS3mPRS5LfmHhDlPpw", url: "https://i.ytimg.com/vi/zLiSA2i-niw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1WmiMQp3vCS3mPRS5LfmHhDlPpw",
@ -2061,7 +2061,7 @@ Playlist(
VideoItem( VideoItem(
id: "wyXlw7nMpko", id: "wyXlw7nMpko",
name: "TREMEP, das ENDERAUGE!! - Minecraft SHINE #052 [Deutsch/HD]", name: "TREMEP, das ENDERAUGE!! - Minecraft SHINE #052 [Deutsch/HD]",
length: Some(1924), duration: Some(1924),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/wyXlw7nMpko/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCplxVSv6_-SIcPEPqgudEk5q30A", url: "https://i.ytimg.com/vi/wyXlw7nMpko/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCplxVSv6_-SIcPEPqgudEk5q30A",
@ -2102,7 +2102,7 @@ Playlist(
VideoItem( VideoItem(
id: "NrU4fhzvFpA", id: "NrU4fhzvFpA",
name: "TORNADO & ENDERPOKALYPSE!! - Minecraft SHINE #053 [Deutsch/HD]", name: "TORNADO & ENDERPOKALYPSE!! - Minecraft SHINE #053 [Deutsch/HD]",
length: Some(1654), duration: Some(1654),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NrU4fhzvFpA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDur1k61uW8f9d8UOA6yqSdCNWvfg", url: "https://i.ytimg.com/vi/NrU4fhzvFpA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDur1k61uW8f9d8UOA6yqSdCNWvfg",
@ -2143,7 +2143,7 @@ Playlist(
VideoItem( VideoItem(
id: "1xhKegaA1hQ", id: "1xhKegaA1hQ",
name: "RIESIGE SMELTERY - Minecraft SHINE #054 [Deutsch/HD]", name: "RIESIGE SMELTERY - Minecraft SHINE #054 [Deutsch/HD]",
length: Some(1796), duration: Some(1796),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1xhKegaA1hQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCM_UOeSqAu0ykS6gTds3NJ901u8Q", url: "https://i.ytimg.com/vi/1xhKegaA1hQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCM_UOeSqAu0ykS6gTds3NJ901u8Q",
@ -2184,7 +2184,7 @@ Playlist(
VideoItem( VideoItem(
id: "9F4lZ8psBtg", id: "9F4lZ8psBtg",
name: "TINKER\'s CONSTRUCT - Minecraft SHINE #055 [Deutsch/HD]", name: "TINKER\'s CONSTRUCT - Minecraft SHINE #055 [Deutsch/HD]",
length: Some(1514), duration: Some(1514),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9F4lZ8psBtg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGmpBmXNSZP0X0rQSKWFzlM7DGMw", url: "https://i.ytimg.com/vi/9F4lZ8psBtg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGmpBmXNSZP0X0rQSKWFzlM7DGMw",
@ -2225,7 +2225,7 @@ Playlist(
VideoItem( VideoItem(
id: "G3uUtejX9to", id: "G3uUtejX9to",
name: "CUTLASS und HAMMERACTION - Minecraft SHINE #056 [Deutsch/HD]", name: "CUTLASS und HAMMERACTION - Minecraft SHINE #056 [Deutsch/HD]",
length: Some(1615), duration: Some(1615),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/G3uUtejX9to/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrz9L2HWwY3_6J01GwQWs-sivnNw", url: "https://i.ytimg.com/vi/G3uUtejX9to/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrz9L2HWwY3_6J01GwQWs-sivnNw",
@ -2266,7 +2266,7 @@ Playlist(
VideoItem( VideoItem(
id: "-0Xn5pViCss", id: "-0Xn5pViCss",
name: "QUARZFESTIVAL - Minecraft SHINE #057 [Deutsch/HD]", name: "QUARZFESTIVAL - Minecraft SHINE #057 [Deutsch/HD]",
length: Some(1353), duration: Some(1353),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/-0Xn5pViCss/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC-QHkwmzqNW4mhuE7oJslYUtReRQ", url: "https://i.ytimg.com/vi/-0Xn5pViCss/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC-QHkwmzqNW4mhuE7oJslYUtReRQ",
@ -2307,7 +2307,7 @@ Playlist(
VideoItem( VideoItem(
id: "a7u71Fco99I", id: "a7u71Fco99I",
name: "DUALWITHERKAMPF & EXOSUIT - Minecraft SHINE #058 [Deutsch/HD]", name: "DUALWITHERKAMPF & EXOSUIT - Minecraft SHINE #058 [Deutsch/HD]",
length: Some(1377), duration: Some(1377),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/a7u71Fco99I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1iNJdmqZHK-ZHSre6MiBKzuPMMw", url: "https://i.ytimg.com/vi/a7u71Fco99I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1iNJdmqZHK-ZHSre6MiBKzuPMMw",
@ -2348,7 +2348,7 @@ Playlist(
VideoItem( VideoItem(
id: "H6uUbvcgKdk", id: "H6uUbvcgKdk",
name: "ALLE GETROLLT?! 1. APRIL!! - Minecraft SHINE #060 [Deutsch/HD]", name: "ALLE GETROLLT?! 1. APRIL!! - Minecraft SHINE #060 [Deutsch/HD]",
length: Some(1751), duration: Some(1751),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/H6uUbvcgKdk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBzSJjNn7zgtAF2kMOHcyBsbS1l-Q", url: "https://i.ytimg.com/vi/H6uUbvcgKdk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBzSJjNn7zgtAF2kMOHcyBsbS1l-Q",
@ -2389,7 +2389,7 @@ Playlist(
VideoItem( VideoItem(
id: "tPRTCauHtkw", id: "tPRTCauHtkw",
name: "THAUMELONE - Minecraft SHINE #061 [Deutsch/HD]", name: "THAUMELONE - Minecraft SHINE #061 [Deutsch/HD]",
length: Some(1604), duration: Some(1604),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/tPRTCauHtkw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCbTexd_3GA4grOauyJYk_HY9OQ8Q", url: "https://i.ytimg.com/vi/tPRTCauHtkw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCbTexd_3GA4grOauyJYk_HY9OQ8Q",
@ -2430,7 +2430,7 @@ Playlist(
VideoItem( VideoItem(
id: "pMKAQExcarM", id: "pMKAQExcarM",
name: "ICH BIN EIN MAGIER!! - Minecraft SHINE #062 [Deutsch/HD]", name: "ICH BIN EIN MAGIER!! - Minecraft SHINE #062 [Deutsch/HD]",
length: Some(1202), duration: Some(1202),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pMKAQExcarM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDd_6WaCpRHtqRugrmQn7gFNo9_LQ", url: "https://i.ytimg.com/vi/pMKAQExcarM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDd_6WaCpRHtqRugrmQn7gFNo9_LQ",
@ -2471,7 +2471,7 @@ Playlist(
VideoItem( VideoItem(
id: "7E-z-7KCdBI", id: "7E-z-7KCdBI",
name: "ENDER PORTER und SPELLBOUND - Minecraft SHINE #063 [Deutsch/HD]", name: "ENDER PORTER und SPELLBOUND - Minecraft SHINE #063 [Deutsch/HD]",
length: Some(1715), duration: Some(1715),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7E-z-7KCdBI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGUzE-YGbouV7fglH5XM9xIFS5mA", url: "https://i.ytimg.com/vi/7E-z-7KCdBI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGUzE-YGbouV7fglH5XM9xIFS5mA",
@ -2512,7 +2512,7 @@ Playlist(
VideoItem( VideoItem(
id: "EPtbC0ZVddo", id: "EPtbC0ZVddo",
name: "PORTABLE HOLE & Melonenstatuen - Minecraft SHINE #064 [Deutsch/HD]", name: "PORTABLE HOLE & Melonenstatuen - Minecraft SHINE #064 [Deutsch/HD]",
length: Some(1696), duration: Some(1696),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EPtbC0ZVddo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDGPl3HlQLwqnYRjxskV1EFD3pAvA", url: "https://i.ytimg.com/vi/EPtbC0ZVddo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDGPl3HlQLwqnYRjxskV1EFD3pAvA",
@ -2553,7 +2553,7 @@ Playlist(
VideoItem( VideoItem(
id: "TpPHng0eGJs", id: "TpPHng0eGJs",
name: "ZUKUNFT des PROJEKTS - Minecraft SHINE #065 [Deutsch/HD]", name: "ZUKUNFT des PROJEKTS - Minecraft SHINE #065 [Deutsch/HD]",
length: Some(1215), duration: Some(1215),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/TpPHng0eGJs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrapGS714wjdb3XLYg9KsMQBQwig", url: "https://i.ytimg.com/vi/TpPHng0eGJs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrapGS714wjdb3XLYg9KsMQBQwig",
@ -2594,7 +2594,7 @@ Playlist(
VideoItem( VideoItem(
id: "rt2QFQwJYcs", id: "rt2QFQwJYcs",
name: "GIGANTISCHER METEOR!! - Minecraft SHINE #066 [Deutsch/HD]", name: "GIGANTISCHER METEOR!! - Minecraft SHINE #066 [Deutsch/HD]",
length: Some(1593), duration: Some(1593),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rt2QFQwJYcs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBf_L_ob5qiPVaGJdyQFyoFEwIstg", url: "https://i.ytimg.com/vi/rt2QFQwJYcs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBf_L_ob5qiPVaGJdyQFyoFEwIstg",
@ -2635,7 +2635,7 @@ Playlist(
VideoItem( VideoItem(
id: "WPyfaztFDQ4", id: "WPyfaztFDQ4",
name: "Der EREBUS und die GHAST QUEEN - Minecraft SHINE #067 [Deutsch/HD]", name: "Der EREBUS und die GHAST QUEEN - Minecraft SHINE #067 [Deutsch/HD]",
length: Some(1687), duration: Some(1687),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WPyfaztFDQ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAeaQHeQX9MUHyne6tlJW9JeycB3A", url: "https://i.ytimg.com/vi/WPyfaztFDQ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAeaQHeQX9MUHyne6tlJW9JeycB3A",
@ -2676,7 +2676,7 @@ Playlist(
VideoItem( VideoItem(
id: "5lmumP0DaUw", id: "5lmumP0DaUw",
name: "MINI-BEST OF und KABOOM!! - Minecraft SHINE #069 (Finale) [Deutsch/HD]", name: "MINI-BEST OF und KABOOM!! - Minecraft SHINE #069 (Finale) [Deutsch/HD]",
length: Some(1044), duration: Some(1044),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5lmumP0DaUw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDys9BQ_BHV7BhDkYphDT72uJBebQ", url: "https://i.ytimg.com/vi/5lmumP0DaUw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDys9BQ_BHV7BhDkYphDT72uJBebQ",

View file

@ -11,7 +11,7 @@ Playlist(
VideoItem( VideoItem(
id: "nBZlrbrBO1I", id: "nBZlrbrBO1I",
name: "Lewis Capaldi - Forget Me (Official Video)", name: "Lewis Capaldi - Forget Me (Official Video)",
length: Some(257), duration: Some(257),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/nBZlrbrBO1I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDYE-KokyXCncPHIweXZd3jO0FtCg", url: "https://i.ytimg.com/vi/nBZlrbrBO1I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDYE-KokyXCncPHIweXZd3jO0FtCg",
@ -52,7 +52,7 @@ Playlist(
VideoItem( VideoItem(
id: "k6ZoE4RrcDs", id: "k6ZoE4RrcDs",
name: "Ed Sheeran - Overpass Graffiti [Official Video]", name: "Ed Sheeran - Overpass Graffiti [Official Video]",
length: Some(287), duration: Some(287),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/k6ZoE4RrcDs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClylvwlo7lJP-guD59zx46AJ-FhA", url: "https://i.ytimg.com/vi/k6ZoE4RrcDs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClylvwlo7lJP-guD59zx46AJ-FhA",
@ -93,7 +93,7 @@ Playlist(
VideoItem( VideoItem(
id: "_JGGLJMpVks", id: "_JGGLJMpVks",
name: "Billie Eilish - TV (Official Lyric Video)", name: "Billie Eilish - TV (Official Lyric Video)",
length: Some(282), duration: Some(282),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_JGGLJMpVks/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2M9JavMUXxkoqzNoTG-W4y8f6ng", url: "https://i.ytimg.com/vi/_JGGLJMpVks/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2M9JavMUXxkoqzNoTG-W4y8f6ng",
@ -134,7 +134,7 @@ Playlist(
VideoItem( VideoItem(
id: "2n5GKLdrTfk", id: "2n5GKLdrTfk",
name: "Benson Boone - In the Stars (Official Lyric Video)", name: "Benson Boone - In the Stars (Official Lyric Video)",
length: Some(217), duration: Some(217),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2n5GKLdrTfk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBgZfqXCaEvs5iiS7Uf8_th3FHi0Q", url: "https://i.ytimg.com/vi/2n5GKLdrTfk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBgZfqXCaEvs5iiS7Uf8_th3FHi0Q",
@ -175,7 +175,7 @@ Playlist(
VideoItem( VideoItem(
id: "psuRGfAaju4", id: "psuRGfAaju4",
name: "Owl City - Fireflies (Official Music Video)", name: "Owl City - Fireflies (Official Music Video)",
length: Some(233), duration: Some(233),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/psuRGfAaju4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9bUyhPoTTV2wN8BSQ1GCiZfEHRg", url: "https://i.ytimg.com/vi/psuRGfAaju4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9bUyhPoTTV2wN8BSQ1GCiZfEHRg",
@ -216,7 +216,7 @@ Playlist(
VideoItem( VideoItem(
id: "AcTDlsUej2w", id: "AcTDlsUej2w",
name: "Sofia Carson - Come Back Home (From \"Purple Hearts\")", name: "Sofia Carson - Come Back Home (From \"Purple Hearts\")",
length: Some(204), duration: Some(204),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/AcTDlsUej2w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBZ4neL2CBKzCLMIK_-dU9jcjgU7g", url: "https://i.ytimg.com/vi/AcTDlsUej2w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBZ4neL2CBKzCLMIK_-dU9jcjgU7g",
@ -257,7 +257,7 @@ Playlist(
VideoItem( VideoItem(
id: "ospQ06jJe-I", id: "ospQ06jJe-I",
name: "Rihanna - Lift Me Up (Visualizer)", name: "Rihanna - Lift Me Up (Visualizer)",
length: Some(197), duration: Some(197),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ospQ06jJe-I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDP9VhXSsZyfokzYMG-bPeAtvwPYQ", url: "https://i.ytimg.com/vi/ospQ06jJe-I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDP9VhXSsZyfokzYMG-bPeAtvwPYQ",
@ -298,7 +298,7 @@ Playlist(
VideoItem( VideoItem(
id: "mqiH0ZSkM9I", id: "mqiH0ZSkM9I",
name: "James Bay - Hold Back The River", name: "James Bay - Hold Back The River",
length: Some(247), duration: Some(247),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mqiH0ZSkM9I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDL1DI86uhS0N-7Iln6wBSdwxzSTw", url: "https://i.ytimg.com/vi/mqiH0ZSkM9I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDL1DI86uhS0N-7Iln6wBSdwxzSTw",
@ -339,7 +339,7 @@ Playlist(
VideoItem( VideoItem(
id: "UAWcs5H-qgQ", id: "UAWcs5H-qgQ",
name: "Ed Sheeran - The A Team [Official Music Video]", name: "Ed Sheeran - The A Team [Official Music Video]",
length: Some(290), duration: Some(290),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/UAWcs5H-qgQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQe32l8lKUCEYlEu3qvN61HJfhZQ", url: "https://i.ytimg.com/vi/UAWcs5H-qgQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQe32l8lKUCEYlEu3qvN61HJfhZQ",
@ -380,7 +380,7 @@ Playlist(
VideoItem( VideoItem(
id: "c4BLVznuWnU", id: "c4BLVznuWnU",
name: "Ed Sheeran - Lego House [Official Music Video]", name: "Ed Sheeran - Lego House [Official Music Video]",
length: Some(246), duration: Some(246),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/c4BLVznuWnU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCGv3Z17ZP7qUJBjyKS6XqEfd6vFA", url: "https://i.ytimg.com/vi/c4BLVznuWnU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCGv3Z17ZP7qUJBjyKS6XqEfd6vFA",
@ -421,7 +421,7 @@ Playlist(
VideoItem( VideoItem(
id: "ouEezpuPc3A", id: "ouEezpuPc3A",
name: "Andy Grammer - \"Don\'t Give Up On Me\" [Official Video from the Five Feet Apart Film]", name: "Andy Grammer - \"Don\'t Give Up On Me\" [Official Video from the Five Feet Apart Film]",
length: Some(216), duration: Some(216),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ouEezpuPc3A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLATK7bjvuTcCR3tLGpTByugeeApBw", url: "https://i.ytimg.com/vi/ouEezpuPc3A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLATK7bjvuTcCR3tLGpTByugeeApBw",
@ -462,7 +462,7 @@ Playlist(
VideoItem( VideoItem(
id: "i-qT5n_5Mys", id: "i-qT5n_5Mys",
name: "Jaymes Young - Happiest Year [Official Music Video]", name: "Jaymes Young - Happiest Year [Official Music Video]",
length: Some(278), duration: Some(278),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/i-qT5n_5Mys/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBVoIW7CvV2T6J4lKS4ke0oG5T76Q", url: "https://i.ytimg.com/vi/i-qT5n_5Mys/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBVoIW7CvV2T6J4lKS4ke0oG5T76Q",
@ -503,7 +503,7 @@ Playlist(
VideoItem( VideoItem(
id: "bqO3Y5e4Dow", id: "bqO3Y5e4Dow",
name: "Michele Morrone - Hard For Me (Official Music Video)", name: "Michele Morrone - Hard For Me (Official Music Video)",
length: Some(173), duration: Some(173),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bqO3Y5e4Dow/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCP6Zgm-3gvaYxZkCT5OS3GjJM2vQ", url: "https://i.ytimg.com/vi/bqO3Y5e4Dow/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCP6Zgm-3gvaYxZkCT5OS3GjJM2vQ",
@ -544,7 +544,7 @@ Playlist(
VideoItem( VideoItem(
id: "VqXYVrsMGnk", id: "VqXYVrsMGnk",
name: "Cian Ducrot - I\'ll Be Waiting (Official Video)", name: "Cian Ducrot - I\'ll Be Waiting (Official Video)",
length: Some(186), duration: Some(186),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/VqXYVrsMGnk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBewlDTtOME4lW9VOPol71lN1frvw", url: "https://i.ytimg.com/vi/VqXYVrsMGnk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBewlDTtOME4lW9VOPol71lN1frvw",
@ -585,7 +585,7 @@ Playlist(
VideoItem( VideoItem(
id: "qHm9MG9xw1o", id: "qHm9MG9xw1o",
name: "OneRepublic - Secrets (Official Music Video)", name: "OneRepublic - Secrets (Official Music Video)",
length: Some(233), duration: Some(233),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qHm9MG9xw1o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAEc7ChL1aU4sWnM23BEdbqUfYpoA", url: "https://i.ytimg.com/vi/qHm9MG9xw1o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAEc7ChL1aU4sWnM23BEdbqUfYpoA",
@ -626,7 +626,7 @@ Playlist(
VideoItem( VideoItem(
id: "-oqAU5VxFWs", id: "-oqAU5VxFWs",
name: "Counting Crows - Mr. Jones (Official Music Video)", name: "Counting Crows - Mr. Jones (Official Music Video)",
length: Some(270), duration: Some(270),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/-oqAU5VxFWs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOiV1ty7HPrBwp-3zZq3x_VY9YbQ", url: "https://i.ytimg.com/vi/-oqAU5VxFWs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOiV1ty7HPrBwp-3zZq3x_VY9YbQ",
@ -667,7 +667,7 @@ Playlist(
VideoItem( VideoItem(
id: "XPpTgCho5ZA", id: "XPpTgCho5ZA",
name: "Maroon 5 - This Love (Official Music Video)", name: "Maroon 5 - This Love (Official Music Video)",
length: Some(206), duration: Some(206),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XPpTgCho5ZA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAJLr7-wCPWd1_-QSELXsmZxsuUQA", url: "https://i.ytimg.com/vi/XPpTgCho5ZA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAJLr7-wCPWd1_-QSELXsmZxsuUQA",
@ -708,7 +708,7 @@ Playlist(
VideoItem( VideoItem(
id: "PMGY8fLwess", id: "PMGY8fLwess",
name: "James Arthur - Falling Like The Stars", name: "James Arthur - Falling Like The Stars",
length: Some(256), duration: Some(256),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PMGY8fLwess/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCET20Nd4_3twDEy-t_LBeJFI5Lng", url: "https://i.ytimg.com/vi/PMGY8fLwess/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCET20Nd4_3twDEy-t_LBeJFI5Lng",
@ -749,7 +749,7 @@ Playlist(
VideoItem( VideoItem(
id: "vNfgVjZF8_4", id: "vNfgVjZF8_4",
name: "OneRepublic - Someday (Official Music Video)", name: "OneRepublic - Someday (Official Music Video)",
length: Some(192), duration: Some(192),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vNfgVjZF8_4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAiolwWxGplthlYKy2jJkAxw_-u2Q", url: "https://i.ytimg.com/vi/vNfgVjZF8_4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAiolwWxGplthlYKy2jJkAxw_-u2Q",
@ -790,7 +790,7 @@ Playlist(
VideoItem( VideoItem(
id: "aNzCDt2eidg", id: "aNzCDt2eidg",
name: "Birdy - Skinny Love (Official Music Video)", name: "Birdy - Skinny Love (Official Music Video)",
length: Some(214), duration: Some(214),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/aNzCDt2eidg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB33o_fslw86LZxcC1Jf8Oy8X94tg", url: "https://i.ytimg.com/vi/aNzCDt2eidg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB33o_fslw86LZxcC1Jf8Oy8X94tg",
@ -831,7 +831,7 @@ Playlist(
VideoItem( VideoItem(
id: "1YUBbF24H44", id: "1YUBbF24H44",
name: "Sabrina Carpenter - because i liked a boy (Official Video)", name: "Sabrina Carpenter - because i liked a boy (Official Video)",
length: Some(206), duration: Some(206),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1YUBbF24H44/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_FDT3RYF6Db3q5vW9KsL9RCIcUA", url: "https://i.ytimg.com/vi/1YUBbF24H44/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_FDT3RYF6Db3q5vW9KsL9RCIcUA",
@ -872,7 +872,7 @@ Playlist(
VideoItem( VideoItem(
id: "A48hOToMuRE", id: "A48hOToMuRE",
name: "Dermot Kennedy - Outnumbered (Official Music Video)", name: "Dermot Kennedy - Outnumbered (Official Music Video)",
length: Some(247), duration: Some(247),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/A48hOToMuRE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD331J7kou1P60yR_eWHyDtzD6ATQ", url: "https://i.ytimg.com/vi/A48hOToMuRE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD331J7kou1P60yR_eWHyDtzD6ATQ",
@ -913,7 +913,7 @@ Playlist(
VideoItem( VideoItem(
id: "c0wUKCekI34", id: "c0wUKCekI34",
name: "Michele Morrone - Another Day (Official Music Video)", name: "Michele Morrone - Another Day (Official Music Video)",
length: Some(188), duration: Some(188),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/c0wUKCekI34/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnIgpAY_IWghMmR2H5lMfpPJhhKQ", url: "https://i.ytimg.com/vi/c0wUKCekI34/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnIgpAY_IWghMmR2H5lMfpPJhhKQ",
@ -954,7 +954,7 @@ Playlist(
VideoItem( VideoItem(
id: "CA1VHbdq5hY", id: "CA1VHbdq5hY",
name: "Giveon - Lie Again (Official Music Video)", name: "Giveon - Lie Again (Official Music Video)",
length: Some(236), duration: Some(236),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CA1VHbdq5hY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDxIcgCqYhMN-NtLCF7P9SvaZF5ag", url: "https://i.ytimg.com/vi/CA1VHbdq5hY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDxIcgCqYhMN-NtLCF7P9SvaZF5ag",
@ -995,7 +995,7 @@ Playlist(
VideoItem( VideoItem(
id: "ljXSjIph5ZM", id: "ljXSjIph5ZM",
name: "Niall Horan - Too Much To Ask (Official Video)", name: "Niall Horan - Too Much To Ask (Official Video)",
length: Some(226), duration: Some(226),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ljXSjIph5ZM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBswSaH9Elc6hO18X9NQnbcnCTTrw", url: "https://i.ytimg.com/vi/ljXSjIph5ZM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBswSaH9Elc6hO18X9NQnbcnCTTrw",
@ -1036,7 +1036,7 @@ Playlist(
VideoItem( VideoItem(
id: "HUAvAYcDBos", id: "HUAvAYcDBos",
name: "Jessie Murph - How Could You (Official Video)", name: "Jessie Murph - How Could You (Official Video)",
length: Some(188), duration: Some(188),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/HUAvAYcDBos/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMs-vI_VZV6deBCj4gwoQTvwyflg", url: "https://i.ytimg.com/vi/HUAvAYcDBos/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMs-vI_VZV6deBCj4gwoQTvwyflg",
@ -1077,7 +1077,7 @@ Playlist(
VideoItem( VideoItem(
id: "P0N0h_EOS-c", id: "P0N0h_EOS-c",
name: "Jess Glynne - Take Me Home [One Shot]", name: "Jess Glynne - Take Me Home [One Shot]",
length: Some(276), duration: Some(276),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/P0N0h_EOS-c/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgTShXMA8=&rs=AOn4CLDkdQ5y1KrQH72YrAe3H3Azl2nrNw", url: "https://i.ytimg.com/vi/P0N0h_EOS-c/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgTShXMA8=&rs=AOn4CLDkdQ5y1KrQH72YrAe3H3Azl2nrNw",
@ -1118,7 +1118,7 @@ Playlist(
VideoItem( VideoItem(
id: "goqqohUitmw", id: "goqqohUitmw",
name: "Conan Gray - People Watching (Official Video)", name: "Conan Gray - People Watching (Official Video)",
length: Some(210), duration: Some(210),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/goqqohUitmw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBctikDTiHTYFwrnwU3twVrMoMg0w", url: "https://i.ytimg.com/vi/goqqohUitmw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBctikDTiHTYFwrnwU3twVrMoMg0w",
@ -1159,7 +1159,7 @@ Playlist(
VideoItem( VideoItem(
id: "EptPhiK_q0E", id: "EptPhiK_q0E",
name: "Coldplay X Selena Gomez - Let Somebody Go (Official Lyric Video)", name: "Coldplay X Selena Gomez - Let Somebody Go (Official Lyric Video)",
length: Some(242), duration: Some(242),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EptPhiK_q0E/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGBMgUSh_MA8=&rs=AOn4CLCOd0ATwH2KxF7cfK-rWosCNT3IBA", url: "https://i.ytimg.com/vi/EptPhiK_q0E/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGBMgUSh_MA8=&rs=AOn4CLCOd0ATwH2KxF7cfK-rWosCNT3IBA",
@ -1200,7 +1200,7 @@ Playlist(
VideoItem( VideoItem(
id: "74NhLkjIeMs", id: "74NhLkjIeMs",
name: "Conan Gray - Yours", name: "Conan Gray - Yours",
length: Some(201), duration: Some(201),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/74NhLkjIeMs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2yej0cyHG33At8O7nYsh0W0CjWQ", url: "https://i.ytimg.com/vi/74NhLkjIeMs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2yej0cyHG33At8O7nYsh0W0CjWQ",
@ -1241,7 +1241,7 @@ Playlist(
VideoItem( VideoItem(
id: "DJFMRLIe-0o", id: "DJFMRLIe-0o",
name: "Tate McRae x Ali Gatie - lie to me", name: "Tate McRae x Ali Gatie - lie to me",
length: Some(191), duration: Some(191),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DJFMRLIe-0o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxB2LhvsmbZFj8u3HHpZqw_QLQYQ", url: "https://i.ytimg.com/vi/DJFMRLIe-0o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxB2LhvsmbZFj8u3HHpZqw_QLQYQ",
@ -1282,7 +1282,7 @@ Playlist(
VideoItem( VideoItem(
id: "26PAgklYYvo", id: "26PAgklYYvo",
name: "James Morrison - Broken Strings ft. Nelly Furtado (Official Video)", name: "James Morrison - Broken Strings ft. Nelly Furtado (Official Video)",
length: Some(261), duration: Some(261),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/26PAgklYYvo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBWaF5iUZuRhd5CXJczxE_uIhvuQ", url: "https://i.ytimg.com/vi/26PAgklYYvo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBWaF5iUZuRhd5CXJczxE_uIhvuQ",
@ -1323,7 +1323,7 @@ Playlist(
VideoItem( VideoItem(
id: "_LwX7GCE5rI", id: "_LwX7GCE5rI",
name: "Miley Cyrus - Slide Away (Audio)", name: "Miley Cyrus - Slide Away (Audio)",
length: Some(236), duration: Some(236),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_LwX7GCE5rI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDARZ6g8GJ5ZQJKLBn_f7EUz5zQbw", url: "https://i.ytimg.com/vi/_LwX7GCE5rI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDARZ6g8GJ5ZQJKLBn_f7EUz5zQbw",
@ -1364,7 +1364,7 @@ Playlist(
VideoItem( VideoItem(
id: "bO3S8CKafbE", id: "bO3S8CKafbE",
name: "Niall Horan - Put A Little Love On Me (Official Video)", name: "Niall Horan - Put A Little Love On Me (Official Video)",
length: Some(235), duration: Some(235),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bO3S8CKafbE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBkGMciyWKUevmBLwdIEfdyEUGtLQ", url: "https://i.ytimg.com/vi/bO3S8CKafbE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBkGMciyWKUevmBLwdIEfdyEUGtLQ",
@ -1405,7 +1405,7 @@ Playlist(
VideoItem( VideoItem(
id: "HtNS1afUOnE", id: "HtNS1afUOnE",
name: "OneRepublic - Stop And Stare (Official Music Video)", name: "OneRepublic - Stop And Stare (Official Music Video)",
length: Some(295), duration: Some(295),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/HtNS1afUOnE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAxlKe00QtM12L4lSRNPFQwpSMyVA", url: "https://i.ytimg.com/vi/HtNS1afUOnE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAxlKe00QtM12L4lSRNPFQwpSMyVA",
@ -1446,7 +1446,7 @@ Playlist(
VideoItem( VideoItem(
id: "tMsbeyeTtpk", id: "tMsbeyeTtpk",
name: "Michael Bublé - I\'ll Never Not Love You (Official Music Video)", name: "Michael Bublé - I\'ll Never Not Love You (Official Music Video)",
length: Some(245), duration: Some(245),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/tMsbeyeTtpk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAr49jYgSm566rAeQY2EDCJf8TiA", url: "https://i.ytimg.com/vi/tMsbeyeTtpk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAr49jYgSm566rAeQY2EDCJf8TiA",
@ -1487,7 +1487,7 @@ Playlist(
VideoItem( VideoItem(
id: "K9qu2QMBguw", id: "K9qu2QMBguw",
name: "I See Fire (From \"The Hobbit - The Desolation Of Smaug\")", name: "I See Fire (From \"The Hobbit - The Desolation Of Smaug\")",
length: Some(301), duration: Some(301),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/K9qu2QMBguw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCws9zOceVajoYy1goACyhUMpUp0A", url: "https://i.ytimg.com/vi/K9qu2QMBguw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCws9zOceVajoYy1goACyhUMpUp0A",
@ -1528,7 +1528,7 @@ Playlist(
VideoItem( VideoItem(
id: "uWeqeQkjLto", id: "uWeqeQkjLto",
name: "James Blunt - 1973 (Official Music Video)", name: "James Blunt - 1973 (Official Music Video)",
length: Some(234), duration: Some(234),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/uWeqeQkjLto/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGFQgZShhMA8=&rs=AOn4CLAs8gUVPdNh55dqwd900xx-5wDFZg", url: "https://i.ytimg.com/vi/uWeqeQkjLto/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGFQgZShhMA8=&rs=AOn4CLAs8gUVPdNh55dqwd900xx-5wDFZg",
@ -1569,7 +1569,7 @@ Playlist(
VideoItem( VideoItem(
id: "44u7_wQ1s0g", id: "44u7_wQ1s0g",
name: "John Legend - Wonder Woman (Official Music Video)", name: "John Legend - Wonder Woman (Official Music Video)",
length: Some(167), duration: Some(167),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/44u7_wQ1s0g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBkfXiCxIPRshRfnR2iyQwi4ygCvw", url: "https://i.ytimg.com/vi/44u7_wQ1s0g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBkfXiCxIPRshRfnR2iyQwi4ygCvw",
@ -1610,7 +1610,7 @@ Playlist(
VideoItem( VideoItem(
id: "7TCncxWNcPU", id: "7TCncxWNcPU",
name: "David Kushner - Mr. Forgettable [Official Music Video]", name: "David Kushner - Mr. Forgettable [Official Music Video]",
length: Some(188), duration: Some(188),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7TCncxWNcPU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUjrfYGwMuSGUQXZ8S5NpzULk04A", url: "https://i.ytimg.com/vi/7TCncxWNcPU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUjrfYGwMuSGUQXZ8S5NpzULk04A",
@ -1651,7 +1651,7 @@ Playlist(
VideoItem( VideoItem(
id: "7Lna4Hu4-AQ", id: "7Lna4Hu4-AQ",
name: "MAX & Ali Gatie - Butterflies (Official Music Video)", name: "MAX & Ali Gatie - Butterflies (Official Music Video)",
length: Some(195), duration: Some(195),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7Lna4Hu4-AQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCwk82yvmb0b2bT2LQdLDCm7AdPVw", url: "https://i.ytimg.com/vi/7Lna4Hu4-AQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCwk82yvmb0b2bT2LQdLDCm7AdPVw",
@ -1692,7 +1692,7 @@ Playlist(
VideoItem( VideoItem(
id: "mHeK0Cwr9sg", id: "mHeK0Cwr9sg",
name: "Family of the Year - Hero (Official Music Video)", name: "Family of the Year - Hero (Official Music Video)",
length: Some(197), duration: Some(197),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mHeK0Cwr9sg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBNQKaAvQ3wiH3m5VvXJqLq7evrcw", url: "https://i.ytimg.com/vi/mHeK0Cwr9sg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBNQKaAvQ3wiH3m5VvXJqLq7evrcw",
@ -1733,7 +1733,7 @@ Playlist(
VideoItem( VideoItem(
id: "0Bf3CJZ4hvg", id: "0Bf3CJZ4hvg",
name: "James TW - When You Love Someone (Official Video)", name: "James TW - When You Love Someone (Official Video)",
length: Some(227), duration: Some(227),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0Bf3CJZ4hvg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcZtU4lYU7SoyX-KWmY83qSZpKNA", url: "https://i.ytimg.com/vi/0Bf3CJZ4hvg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcZtU4lYU7SoyX-KWmY83qSZpKNA",
@ -1774,7 +1774,7 @@ Playlist(
VideoItem( VideoItem(
id: "PxNYvk_0Onw", id: "PxNYvk_0Onw",
name: "Gabrielle Aplin - Please Don\'t Say You Love Me (Official Video)", name: "Gabrielle Aplin - Please Don\'t Say You Love Me (Official Video)",
length: Some(208), duration: Some(208),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PxNYvk_0Onw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzBncBZkxQA-sIftjEl-so3MFXDQ", url: "https://i.ytimg.com/vi/PxNYvk_0Onw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzBncBZkxQA-sIftjEl-so3MFXDQ",
@ -1815,7 +1815,7 @@ Playlist(
VideoItem( VideoItem(
id: "E0WRQpjckYg", id: "E0WRQpjckYg",
name: "5 Seconds of Summer - Older (feat. Sierra Deaton) [Official Music Video]", name: "5 Seconds of Summer - Older (feat. Sierra Deaton) [Official Music Video]",
length: Some(197), duration: Some(197),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/E0WRQpjckYg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBqsOulvLGwgBYkEMsWZrn9t5z5Q", url: "https://i.ytimg.com/vi/E0WRQpjckYg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBqsOulvLGwgBYkEMsWZrn9t5z5Q",
@ -1856,7 +1856,7 @@ Playlist(
VideoItem( VideoItem(
id: "X_ZOGHUWwqE", id: "X_ZOGHUWwqE",
name: "Sam Smith - Kids Again (Official Music Video)", name: "Sam Smith - Kids Again (Official Music Video)",
length: Some(214), duration: Some(214),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/X_ZOGHUWwqE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA07XEXQDNHBEgYBzrUaFeuuOhgYw", url: "https://i.ytimg.com/vi/X_ZOGHUWwqE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA07XEXQDNHBEgYBzrUaFeuuOhgYw",
@ -1897,7 +1897,7 @@ Playlist(
VideoItem( VideoItem(
id: "fvXn3rmhdc4", id: "fvXn3rmhdc4",
name: "Benson Boone - Better Alone (Official Music Video)", name: "Benson Boone - Better Alone (Official Music Video)",
length: Some(209), duration: Some(209),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fvXn3rmhdc4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXyC7NRsIpcSf-3xM6lJpRjufFBg", url: "https://i.ytimg.com/vi/fvXn3rmhdc4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXyC7NRsIpcSf-3xM6lJpRjufFBg",
@ -1938,7 +1938,7 @@ Playlist(
VideoItem( VideoItem(
id: "WLoWBe9BRP4", id: "WLoWBe9BRP4",
name: "Mimi Webb - Good Without (Official Music Video)", name: "Mimi Webb - Good Without (Official Music Video)",
length: Some(187), duration: Some(187),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WLoWBe9BRP4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCXfMk1yjQeGOIv-JWTLz_Sv-fneA", url: "https://i.ytimg.com/vi/WLoWBe9BRP4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCXfMk1yjQeGOIv-JWTLz_Sv-fneA",
@ -1979,7 +1979,7 @@ Playlist(
VideoItem( VideoItem(
id: "1XYLKoEETVA", id: "1XYLKoEETVA",
name: "Zoe Wees - Hold Me Like You Used To", name: "Zoe Wees - Hold Me Like You Used To",
length: Some(193), duration: Some(193),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1XYLKoEETVA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA1vOD1X-dWXRvJME8Rbamezkj3zQ", url: "https://i.ytimg.com/vi/1XYLKoEETVA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA1vOD1X-dWXRvJME8Rbamezkj3zQ",
@ -2020,7 +2020,7 @@ Playlist(
VideoItem( VideoItem(
id: "7aF4epqLMPs", id: "7aF4epqLMPs",
name: "Dermot Kennedy - One Life (Sonder Lyric Video)", name: "Dermot Kennedy - One Life (Sonder Lyric Video)",
length: Some(238), duration: Some(238),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7aF4epqLMPs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDZepQgbOdk9xu0Umpn8ydSn92qeQ", url: "https://i.ytimg.com/vi/7aF4epqLMPs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDZepQgbOdk9xu0Umpn8ydSn92qeQ",
@ -2061,7 +2061,7 @@ Playlist(
VideoItem( VideoItem(
id: "ufbDvPaVrzs", id: "ufbDvPaVrzs",
name: "Dermot Kennedy - Innocence and Sadness (Live From Mission Sound Studios, Brooklyn)", name: "Dermot Kennedy - Innocence and Sadness (Live From Mission Sound Studios, Brooklyn)",
length: Some(252), duration: Some(252),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ufbDvPaVrzs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMZEWQx_Mzyg0dDRx35B8WBh7rWQ", url: "https://i.ytimg.com/vi/ufbDvPaVrzs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMZEWQx_Mzyg0dDRx35B8WBh7rWQ",
@ -2102,7 +2102,7 @@ Playlist(
VideoItem( VideoItem(
id: "Ghl_vkEV3tc", id: "Ghl_vkEV3tc",
name: "Noah Cyrus - Mr. Percocet (Official Video)", name: "Noah Cyrus - Mr. Percocet (Official Video)",
length: Some(193), duration: Some(193),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Ghl_vkEV3tc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDoZ_f8kKEnHOjHUaQOuGK_2rFEzA", url: "https://i.ytimg.com/vi/Ghl_vkEV3tc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDoZ_f8kKEnHOjHUaQOuGK_2rFEzA",
@ -2143,7 +2143,7 @@ Playlist(
VideoItem( VideoItem(
id: "hCjcgoubkPM", id: "hCjcgoubkPM",
name: "Amy Shark - Mess Her Up (Official Video)", name: "Amy Shark - Mess Her Up (Official Video)",
length: Some(226), duration: Some(226),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/hCjcgoubkPM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCJ7TmHDCPS_O4TuOcjvPGrH9uQig", url: "https://i.ytimg.com/vi/hCjcgoubkPM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCJ7TmHDCPS_O4TuOcjvPGrH9uQig",
@ -2184,7 +2184,7 @@ Playlist(
VideoItem( VideoItem(
id: "5qHRMFQ0pLg", id: "5qHRMFQ0pLg",
name: "Dermot Kennedy - Dreamer", name: "Dermot Kennedy - Dreamer",
length: Some(182), duration: Some(182),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5qHRMFQ0pLg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA0CeUiMuMAYUlwd6OSvfGbV2fiyA", url: "https://i.ytimg.com/vi/5qHRMFQ0pLg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA0CeUiMuMAYUlwd6OSvfGbV2fiyA",
@ -2225,7 +2225,7 @@ Playlist(
VideoItem( VideoItem(
id: "nwXlRq_QyTI", id: "nwXlRq_QyTI",
name: "JP Saxe - A Little Bit Yours (Official Music Video)", name: "JP Saxe - A Little Bit Yours (Official Music Video)",
length: Some(246), duration: Some(246),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/nwXlRq_QyTI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAeMKBjb-xLVknOBO0jnBI0nKGRrw", url: "https://i.ytimg.com/vi/nwXlRq_QyTI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAeMKBjb-xLVknOBO0jnBI0nKGRrw",
@ -2266,7 +2266,7 @@ Playlist(
VideoItem( VideoItem(
id: "7KHPC-kEQOA", id: "7KHPC-kEQOA",
name: "Rosa Linn, Duncan Laurence - WDIA (Would Do It Again) (Official Lyric Video)", name: "Rosa Linn, Duncan Laurence - WDIA (Would Do It Again) (Official Lyric Video)",
length: Some(193), duration: Some(193),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7KHPC-kEQOA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLChepS9Al_mePp9OUSvU3KCfiqT-Q", url: "https://i.ytimg.com/vi/7KHPC-kEQOA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLChepS9Al_mePp9OUSvU3KCfiqT-Q",
@ -2307,7 +2307,7 @@ Playlist(
VideoItem( VideoItem(
id: "ZdsER1S3t8k", id: "ZdsER1S3t8k",
name: "Noah Kahan - Hurt Somebody (Official Video)", name: "Noah Kahan - Hurt Somebody (Official Video)",
length: Some(175), duration: Some(175),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ZdsER1S3t8k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMXZbK3xM4AVAHT-1INttn80orFg", url: "https://i.ytimg.com/vi/ZdsER1S3t8k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMXZbK3xM4AVAHT-1INttn80orFg",
@ -2348,7 +2348,7 @@ Playlist(
VideoItem( VideoItem(
id: "fyrsExw_LUg", id: "fyrsExw_LUg",
name: "James Bay - Bad", name: "James Bay - Bad",
length: Some(243), duration: Some(243),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fyrsExw_LUg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAIYoOZeb6YLJs-k7q7gUYDyEw5hQ", url: "https://i.ytimg.com/vi/fyrsExw_LUg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAIYoOZeb6YLJs-k7q7gUYDyEw5hQ",
@ -2389,7 +2389,7 @@ Playlist(
VideoItem( VideoItem(
id: "X-vispdELDo", id: "X-vispdELDo",
name: "Ashley Kutcher - Survive My Own Mind (Official Music Video)", name: "Ashley Kutcher - Survive My Own Mind (Official Music Video)",
length: Some(199), duration: Some(199),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/X-vispdELDo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCNjK3LA0b0HcekazbiyJw79ZV0zQ", url: "https://i.ytimg.com/vi/X-vispdELDo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCNjK3LA0b0HcekazbiyJw79ZV0zQ",
@ -2430,7 +2430,7 @@ Playlist(
VideoItem( VideoItem(
id: "2p4n7JgdCsc", id: "2p4n7JgdCsc",
name: "a-ha - As If (Official Video)", name: "a-ha - As If (Official Video)",
length: Some(336), duration: Some(336),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2p4n7JgdCsc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClrUza7VFr3E5Vm_N3l-8uXzlTwg", url: "https://i.ytimg.com/vi/2p4n7JgdCsc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClrUza7VFr3E5Vm_N3l-8uXzlTwg",
@ -2471,7 +2471,7 @@ Playlist(
VideoItem( VideoItem(
id: "BS4t017LSoA", id: "BS4t017LSoA",
name: "Bad Habits (Acoustic Version)", name: "Bad Habits (Acoustic Version)",
length: Some(233), duration: Some(233),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BS4t017LSoA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAoxqVY-e_4hIjPTQ2FLvQTy2e5KQ", url: "https://i.ytimg.com/vi/BS4t017LSoA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAoxqVY-e_4hIjPTQ2FLvQTy2e5KQ",
@ -2512,7 +2512,7 @@ Playlist(
VideoItem( VideoItem(
id: "0AYzzzBaPBI", id: "0AYzzzBaPBI",
name: "flora cash - They Own This Town (Official Video)", name: "flora cash - They Own This Town (Official Video)",
length: Some(246), duration: Some(246),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0AYzzzBaPBI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDw2F7ryxqDLcERqtiIuz0pokrhcQ", url: "https://i.ytimg.com/vi/0AYzzzBaPBI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDw2F7ryxqDLcERqtiIuz0pokrhcQ",
@ -2553,7 +2553,7 @@ Playlist(
VideoItem( VideoItem(
id: "zM0K3LC7Aak", id: "zM0K3LC7Aak",
name: "James Arthur - Avalanche (Live Session)", name: "James Arthur - Avalanche (Live Session)",
length: Some(220), duration: Some(220),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zM0K3LC7Aak/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLACABCozlS3B9tiR0oHa3A13tsKzg", url: "https://i.ytimg.com/vi/zM0K3LC7Aak/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLACABCozlS3B9tiR0oHa3A13tsKzg",
@ -2594,7 +2594,7 @@ Playlist(
VideoItem( VideoItem(
id: "-uxeu0MbNR0", id: "-uxeu0MbNR0",
name: "Jeremy Zucker - oh, mexico (Official Lyric Video)", name: "Jeremy Zucker - oh, mexico (Official Lyric Video)",
length: Some(191), duration: Some(191),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/-uxeu0MbNR0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAh2ApdiwlYs3vSs_rNVURKcwVjOw", url: "https://i.ytimg.com/vi/-uxeu0MbNR0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAh2ApdiwlYs3vSs_rNVURKcwVjOw",
@ -2635,7 +2635,7 @@ Playlist(
VideoItem( VideoItem(
id: "ELD3aRzbVQg", id: "ELD3aRzbVQg",
name: "Tom Gregory - Run To You (Official Video HD)", name: "Tom Gregory - Run To You (Official Video HD)",
length: Some(201), duration: Some(201),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ELD3aRzbVQg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA9S7vhfJ0vZ9jFNIPnuhZ47IV5VA", url: "https://i.ytimg.com/vi/ELD3aRzbVQg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA9S7vhfJ0vZ9jFNIPnuhZ47IV5VA",
@ -2676,7 +2676,7 @@ Playlist(
VideoItem( VideoItem(
id: "RdFaKz71-5M", id: "RdFaKz71-5M",
name: "Ruel - LET THE GRASS GROW (Visualizer)", name: "Ruel - LET THE GRASS GROW (Visualizer)",
length: Some(181), duration: Some(181),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RdFaKz71-5M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2vXg0jRY42m1wZOLaDw8uhUIUvQ", url: "https://i.ytimg.com/vi/RdFaKz71-5M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2vXg0jRY42m1wZOLaDw8uhUIUvQ",
@ -2717,7 +2717,7 @@ Playlist(
VideoItem( VideoItem(
id: "H1_icnjg6MY", id: "H1_icnjg6MY",
name: "Sigrid - Blue (Official Audio)", name: "Sigrid - Blue (Official Audio)",
length: Some(207), duration: Some(207),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/H1_icnjg6MY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgSSgkMA8=&rs=AOn4CLB6_p8MIO4i6qW1jroGhnYOm859MQ", url: "https://i.ytimg.com/vi/H1_icnjg6MY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgSSgkMA8=&rs=AOn4CLB6_p8MIO4i6qW1jroGhnYOm859MQ",
@ -2758,7 +2758,7 @@ Playlist(
VideoItem( VideoItem(
id: "il_L6c_fOvs", id: "il_L6c_fOvs",
name: "amnesia - Camylio (Visualizer)", name: "amnesia - Camylio (Visualizer)",
length: Some(173), duration: Some(173),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/il_L6c_fOvs/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLAyT-vzu4WOeAaDksDfPYhIZro4Gg", url: "https://i.ytimg.com/vi/il_L6c_fOvs/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLAyT-vzu4WOeAaDksDfPYhIZro4Gg",
@ -2799,7 +2799,7 @@ Playlist(
VideoItem( VideoItem(
id: "R3Wo_4tMlhQ", id: "R3Wo_4tMlhQ",
name: "Dean Lewis - All For You (Official Lyric Video)", name: "Dean Lewis - All For You (Official Lyric Video)",
length: Some(226), duration: Some(226),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/R3Wo_4tMlhQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAtJ6woo9TtO2c8S5_3-3Aml0fQug", url: "https://i.ytimg.com/vi/R3Wo_4tMlhQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAtJ6woo9TtO2c8S5_3-3Aml0fQug",
@ -2840,7 +2840,7 @@ Playlist(
VideoItem( VideoItem(
id: "1le0xDbrVj8", id: "1le0xDbrVj8",
name: "Oh Wonder - True Romance", name: "Oh Wonder - True Romance",
length: Some(244), duration: Some(244),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1le0xDbrVj8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLACfT_oOjcoB51P7qdJBdRJqMk6Bg", url: "https://i.ytimg.com/vi/1le0xDbrVj8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLACfT_oOjcoB51P7qdJBdRJqMk6Bg",
@ -2881,7 +2881,7 @@ Playlist(
VideoItem( VideoItem(
id: "35VK8yonvsc", id: "35VK8yonvsc",
name: "James Bay - Everybody Needs Someone (Official Lyric Video)", name: "James Bay - Everybody Needs Someone (Official Lyric Video)",
length: Some(216), duration: Some(216),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/35VK8yonvsc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBm5zTCEBdVI4kL94VNJsrVw_D7Sg", url: "https://i.ytimg.com/vi/35VK8yonvsc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBm5zTCEBdVI4kL94VNJsrVw_D7Sg",
@ -2922,7 +2922,7 @@ Playlist(
VideoItem( VideoItem(
id: "T05TN5RYvLk", id: "T05TN5RYvLk",
name: "Jessica Darrow - A Little More", name: "Jessica Darrow - A Little More",
length: Some(185), duration: Some(185),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/T05TN5RYvLk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnYNLEBPA_1w-VjM6VQ64WSpoRew", url: "https://i.ytimg.com/vi/T05TN5RYvLk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnYNLEBPA_1w-VjM6VQ64WSpoRew",
@ -2963,7 +2963,7 @@ Playlist(
VideoItem( VideoItem(
id: "NjW1S0WIiJw", id: "NjW1S0WIiJw",
name: "John Legend - Free (Official Lyric Video)", name: "John Legend - Free (Official Lyric Video)",
length: Some(223), duration: Some(223),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NjW1S0WIiJw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCoe2g-AJhPWV6uGi_Cb5BgOA9ggA", url: "https://i.ytimg.com/vi/NjW1S0WIiJw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCoe2g-AJhPWV6uGi_Cb5BgOA9ggA",
@ -3004,7 +3004,7 @@ Playlist(
VideoItem( VideoItem(
id: "KUKt_LbaBnM", id: "KUKt_LbaBnM",
name: "Oh Wonder - Better Now (Official Audio)", name: "Oh Wonder - Better Now (Official Audio)",
length: Some(200), duration: Some(200),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KUKt_LbaBnM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBqi7ONpAild4T_KUgenSVpZnINJQ", url: "https://i.ytimg.com/vi/KUKt_LbaBnM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBqi7ONpAild4T_KUgenSVpZnINJQ",
@ -3045,7 +3045,7 @@ Playlist(
VideoItem( VideoItem(
id: "BxqtS-7GxFM", id: "BxqtS-7GxFM",
name: "TONES AND I - NEVER SEEN THE RAIN (ALTERNATE VERSION)", name: "TONES AND I - NEVER SEEN THE RAIN (ALTERNATE VERSION)",
length: Some(296), duration: Some(296),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BxqtS-7GxFM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzNbc2LI1u0U7MJeDbYJ7CGcRsOg", url: "https://i.ytimg.com/vi/BxqtS-7GxFM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzNbc2LI1u0U7MJeDbYJ7CGcRsOg",
@ -3086,7 +3086,7 @@ Playlist(
VideoItem( VideoItem(
id: "BD7HwXv18aU", id: "BD7HwXv18aU",
name: "Blue - Magnetic (packshot video)", name: "Blue - Magnetic (packshot video)",
length: Some(192), duration: Some(192),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BD7HwXv18aU/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLAm0onEcUfS8OL06MztPxxW0haT9Q", url: "https://i.ytimg.com/vi/BD7HwXv18aU/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLAm0onEcUfS8OL06MztPxxW0haT9Q",
@ -3127,7 +3127,7 @@ Playlist(
VideoItem( VideoItem(
id: "WJJLfUwIVR4", id: "WJJLfUwIVR4",
name: "christina perri - home [official audio]", name: "christina perri - home [official audio]",
length: Some(219), duration: Some(219),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WJJLfUwIVR4/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGFogNyh_MA8=&rs=AOn4CLAHxpiqOgT9nMZImsynQmXC57ccrw", url: "https://i.ytimg.com/vi/WJJLfUwIVR4/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGFogNyh_MA8=&rs=AOn4CLAHxpiqOgT9nMZImsynQmXC57ccrw",
@ -3168,7 +3168,7 @@ Playlist(
VideoItem( VideoItem(
id: "bhL7A8k6kU8", id: "bhL7A8k6kU8",
name: "Anderson East - Madelyn (Official Video)", name: "Anderson East - Madelyn (Official Video)",
length: Some(203), duration: Some(203),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bhL7A8k6kU8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjFwOL3uhYgUyn9Y_lCG9Obu_VLw", url: "https://i.ytimg.com/vi/bhL7A8k6kU8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjFwOL3uhYgUyn9Y_lCG9Obu_VLw",
@ -3209,7 +3209,7 @@ Playlist(
VideoItem( VideoItem(
id: "-4szr0EMrgk", id: "-4szr0EMrgk",
name: "Låpsley - 32 Floors (Official Audio)", name: "Låpsley - 32 Floors (Official Audio)",
length: Some(185), duration: Some(185),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/-4szr0EMrgk/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGE0gRyhZMA8=&rs=AOn4CLC8esxHISkHu2sudY4BhImbxCCF9A", url: "https://i.ytimg.com/vi/-4szr0EMrgk/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGE0gRyhZMA8=&rs=AOn4CLC8esxHISkHu2sudY4BhImbxCCF9A",
@ -3250,7 +3250,7 @@ Playlist(
VideoItem( VideoItem(
id: "mUN36hFtazE", id: "mUN36hFtazE",
name: "LÉON All My Heroes (Official Audio)", name: "LÉON All My Heroes (Official Audio)",
length: Some(206), duration: Some(206),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mUN36hFtazE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYACzgWKAgwIABABGH8gLigsMA8=&rs=AOn4CLAY7-0ugMLVK_gKfpJNSIWx81o0aQ", url: "https://i.ytimg.com/vi/mUN36hFtazE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYACzgWKAgwIABABGH8gLigsMA8=&rs=AOn4CLAY7-0ugMLVK_gKfpJNSIWx81o0aQ",
@ -3291,7 +3291,7 @@ Playlist(
VideoItem( VideoItem(
id: "dcBZP_pt0uY", id: "dcBZP_pt0uY",
name: "Tom Grennan - Little Bit Of Love (Strings) [Audio]", name: "Tom Grennan - Little Bit Of Love (Strings) [Audio]",
length: Some(231), duration: Some(231),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dcBZP_pt0uY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCkKdl0vdveGOQRTVcDQSjM39eaNA", url: "https://i.ytimg.com/vi/dcBZP_pt0uY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCkKdl0vdveGOQRTVcDQSjM39eaNA",
@ -3332,7 +3332,7 @@ Playlist(
VideoItem( VideoItem(
id: "m342B1Vv3tM", id: "m342B1Vv3tM",
name: "Matt Simons ft. Betty Who - Dust (Official Lyric Video)", name: "Matt Simons ft. Betty Who - Dust (Official Lyric Video)",
length: Some(202), duration: Some(202),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/m342B1Vv3tM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCtlnYdNrjQmFoSByaqszmoizosdw", url: "https://i.ytimg.com/vi/m342B1Vv3tM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCtlnYdNrjQmFoSByaqszmoizosdw",
@ -3373,7 +3373,7 @@ Playlist(
VideoItem( VideoItem(
id: "N_5RiRBvPSk", id: "N_5RiRBvPSk",
name: "SHIVERS (image of you)", name: "SHIVERS (image of you)",
length: Some(178), duration: Some(178),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/N_5RiRBvPSk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCHvtumFR7-GUGlU31AlGM0NA775A", url: "https://i.ytimg.com/vi/N_5RiRBvPSk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCHvtumFR7-GUGlU31AlGM0NA775A",
@ -3414,7 +3414,7 @@ Playlist(
VideoItem( VideoItem(
id: "iOZj0Y8bAb8", id: "iOZj0Y8bAb8",
name: "Rhys Lewis - The Middle", name: "Rhys Lewis - The Middle",
length: Some(196), duration: Some(196),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/iOZj0Y8bAb8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxyTmcXXOFV5zDI-K8PTF7DbZqqg", url: "https://i.ytimg.com/vi/iOZj0Y8bAb8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxyTmcXXOFV5zDI-K8PTF7DbZqqg",
@ -3455,7 +3455,7 @@ Playlist(
VideoItem( VideoItem(
id: "7OfB_8rrtug", id: "7OfB_8rrtug",
name: "Grace (We All Try)", name: "Grace (We All Try)",
length: Some(206), duration: Some(206),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7OfB_8rrtug/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC007M9IO9aWRv-SNVJkBxaGXzm-w", url: "https://i.ytimg.com/vi/7OfB_8rrtug/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC007M9IO9aWRv-SNVJkBxaGXzm-w",
@ -3496,7 +3496,7 @@ Playlist(
VideoItem( VideoItem(
id: "ufxjiU7BgR4", id: "ufxjiU7BgR4",
name: "Fall Into Me", name: "Fall Into Me",
length: Some(225), duration: Some(225),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ufxjiU7BgR4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCukjpfKjBu1BlRU6okhJcCeO33vQ", url: "https://i.ytimg.com/vi/ufxjiU7BgR4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCukjpfKjBu1BlRU6okhJcCeO33vQ",
@ -3537,7 +3537,7 @@ Playlist(
VideoItem( VideoItem(
id: "QDULTFB8gSY", id: "QDULTFB8gSY",
name: "Words as Weapons", name: "Words as Weapons",
length: Some(199), duration: Some(199),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/QDULTFB8gSY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCfNJGl46bsXtx8TaG9S1dGBP5CSg", url: "https://i.ytimg.com/vi/QDULTFB8gSY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCfNJGl46bsXtx8TaG9S1dGBP5CSg",
@ -3578,7 +3578,7 @@ Playlist(
VideoItem( VideoItem(
id: "Q5kH0wg_sKo", id: "Q5kH0wg_sKo",
name: "Will You Love Me Tomorrow", name: "Will You Love Me Tomorrow",
length: Some(173), duration: Some(173),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Q5kH0wg_sKo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBqza1PqIiUCIgWRUkjX6LwsWdlBA", url: "https://i.ytimg.com/vi/Q5kH0wg_sKo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBqza1PqIiUCIgWRUkjX6LwsWdlBA",

View file

@ -29,7 +29,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "1VW7iXRIrc8", id: "1VW7iXRIrc8",
name: "Alone, in the City of Love", name: "Alone, in the City of Love",
length: Some(1875), duration: Some(1875),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1VW7iXRIrc8/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBdlRr8SU9QxUy0_CXzgn5PYD9E5Q", url: "https://i.ytimg.com/vi/1VW7iXRIrc8/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBdlRr8SU9QxUy0_CXzgn5PYD9E5Q",
@ -66,7 +66,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "9NuhKCv3crg", id: "9NuhKCv3crg",
name: "the end.", name: "the end.",
length: Some(982), duration: Some(982),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9NuhKCv3crg/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB3RO6rSdCdoNvVoOIuXHuQLMAhjg", url: "https://i.ytimg.com/vi/9NuhKCv3crg/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB3RO6rSdCdoNvVoOIuXHuQLMAhjg",
@ -103,7 +103,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "hGbQ2WM9nOo", id: "hGbQ2WM9nOo",
name: "Why does everything bad for you taste good ㅣ CHILI OIL RAMEN", name: "Why does everything bad for you taste good ㅣ CHILI OIL RAMEN",
length: Some(428), duration: Some(428),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/hGbQ2WM9nOo/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAOyCCH9z6eP1GgeAkYz8w-63YPKA", url: "https://i.ytimg.com/vi/hGbQ2WM9nOo/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAOyCCH9z6eP1GgeAkYz8w-63YPKA",
@ -140,7 +140,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "PxGmP4v_A38", id: "PxGmP4v_A38",
name: "Alone and Thriving l late night korean convenience store, muji kitchenware haul, spring cleaning!", name: "Alone and Thriving l late night korean convenience store, muji kitchenware haul, spring cleaning!",
length: Some(1437), duration: Some(1437),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PxGmP4v_A38/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAcoPhpadTc4MxMtIo_nT0sbVqQ_w", url: "https://i.ytimg.com/vi/PxGmP4v_A38/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAcoPhpadTc4MxMtIo_nT0sbVqQ_w",
@ -177,7 +177,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "38Gd6TdmNVs", id: "38Gd6TdmNVs",
name: "KOREAN BARBECUE l doob gourmand ep.3", name: "KOREAN BARBECUE l doob gourmand ep.3",
length: Some(525), duration: Some(525),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/38Gd6TdmNVs/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDsNWReQCqk65JFrXXAd6rxMUI_Bw", url: "https://i.ytimg.com/vi/38Gd6TdmNVs/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDsNWReQCqk65JFrXXAd6rxMUI_Bw",
@ -214,7 +214,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "CutR_1SDDzY", id: "CutR_1SDDzY",
name: "feels good to be back", name: "feels good to be back",
length: Some(1159), duration: Some(1159),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CutR_1SDDzY/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLActl8nkhmxksu9VFzaIinmds9zvQ", url: "https://i.ytimg.com/vi/CutR_1SDDzY/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLActl8nkhmxksu9VFzaIinmds9zvQ",
@ -251,7 +251,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "pRVSdUxdsVw", id: "pRVSdUxdsVw",
name: "Repairing...", name: "Repairing...",
length: Some(965), duration: Some(965),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pRVSdUxdsVw/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDjxOs7PhXWFUYxRlk8H0iePAG4Pw", url: "https://i.ytimg.com/vi/pRVSdUxdsVw/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDjxOs7PhXWFUYxRlk8H0iePAG4Pw",
@ -288,7 +288,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "KUz7oArksR4", id: "KUz7oArksR4",
name: "running away", name: "running away",
length: Some(1023), duration: Some(1023),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KUz7oArksR4/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBvRKSTlrOAc272yvOsjQ1caVy0dA", url: "https://i.ytimg.com/vi/KUz7oArksR4/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBvRKSTlrOAc272yvOsjQ1caVy0dA",
@ -325,7 +325,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "sPb2gyN-hnE", id: "sPb2gyN-hnE",
name: "worth fighting for", name: "worth fighting for",
length: Some(1232), duration: Some(1232),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/sPb2gyN-hnE/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCXfFs1qOH7gsqSVzQSIeP_67Gq6w", url: "https://i.ytimg.com/vi/sPb2gyN-hnE/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCXfFs1qOH7gsqSVzQSIeP_67Gq6w",
@ -362,7 +362,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "rriwHj8U664", id: "rriwHj8U664",
name: "my seoul apartment tour", name: "my seoul apartment tour",
length: Some(721), duration: Some(721),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rriwHj8U664/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDa_ru_rgqDr335K9nP7qBEIEeWjA", url: "https://i.ytimg.com/vi/rriwHj8U664/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDa_ru_rgqDr335K9nP7qBEIEeWjA",
@ -399,7 +399,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "PXsK9-CFoH4", id: "PXsK9-CFoH4",
name: "waiting...", name: "waiting...",
length: Some(1455), duration: Some(1455),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PXsK9-CFoH4/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDFtuK-YLnwmTSGBRv1GtqpR5Nuzw", url: "https://i.ytimg.com/vi/PXsK9-CFoH4/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDFtuK-YLnwmTSGBRv1GtqpR5Nuzw",
@ -436,7 +436,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "bXbmYelTnhw", id: "bXbmYelTnhw",
name: "Doobydobap rates British desserts!", name: "Doobydobap rates British desserts!",
length: Some(865), duration: Some(865),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bXbmYelTnhw/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAOc_H4uGBccduXeIp86h5chvyvsw", url: "https://i.ytimg.com/vi/bXbmYelTnhw/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAOc_H4uGBccduXeIp86h5chvyvsw",
@ -473,7 +473,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "0onVbAuBGWI", id: "0onVbAuBGWI",
name: "Out of Control", name: "Out of Control",
length: Some(1125), duration: Some(1125),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0onVbAuBGWI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCAHfsahg69zS8R10N6NZcTn2Aibw", url: "https://i.ytimg.com/vi/0onVbAuBGWI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCAHfsahg69zS8R10N6NZcTn2Aibw",
@ -510,7 +510,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "FKJtrUeol3o", id: "FKJtrUeol3o",
name: "with quantity comes quality", name: "with quantity comes quality",
length: Some(1140), duration: Some(1140),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/FKJtrUeol3o/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD9BLc2eY9aOByv7rTBF4hnVrK-Ww", url: "https://i.ytimg.com/vi/FKJtrUeol3o/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD9BLc2eY9aOByv7rTBF4hnVrK-Ww",
@ -547,7 +547,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "dkMtSrjDLO0", id: "dkMtSrjDLO0",
name: "How to make Naruto\'s favorite ramen", name: "How to make Naruto\'s favorite ramen",
length: Some(802), duration: Some(802),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dkMtSrjDLO0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB5ZCCaLPq5uWkYWwLDCezSjm6V0A", url: "https://i.ytimg.com/vi/dkMtSrjDLO0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB5ZCCaLPq5uWkYWwLDCezSjm6V0A",
@ -584,7 +584,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "r2ye6zW0nbM", id: "r2ye6zW0nbM",
name: "a wedding", name: "a wedding",
length: Some(1207), duration: Some(1207),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/r2ye6zW0nbM/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAkTW6MZa4f7I1Q8JDN6gswxbZLMA", url: "https://i.ytimg.com/vi/r2ye6zW0nbM/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAkTW6MZa4f7I1Q8JDN6gswxbZLMA",
@ -621,7 +621,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "NudTbo2CJMY", id: "NudTbo2CJMY",
name: "Flying to London", name: "Flying to London",
length: Some(1078), duration: Some(1078),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NudTbo2CJMY/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDLD0fdpkRaLvP-wJLtDJKt3QPiTQ", url: "https://i.ytimg.com/vi/NudTbo2CJMY/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDLD0fdpkRaLvP-wJLtDJKt3QPiTQ",
@ -658,7 +658,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "gK-jLnvVsb0", id: "gK-jLnvVsb0",
name: "Contradicting myself", name: "Contradicting myself",
length: Some(1381), duration: Some(1381),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gK-jLnvVsb0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAuF_YftS_qXHPsyZC38Ghdif_L-A", url: "https://i.ytimg.com/vi/gK-jLnvVsb0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAuF_YftS_qXHPsyZC38Ghdif_L-A",
@ -695,7 +695,7 @@ SearchResult(
Video(VideoItem( Video(VideoItem(
id: "fAFFTOpUNWo", id: "fAFFTOpUNWo",
name: "Come Grocery Shopping with Me", name: "Come Grocery Shopping with Me",
length: Some(1126), duration: Some(1126),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fAFFTOpUNWo/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD1YGxKpUH8Jt18Oz_YpSZHzY2_ng", url: "https://i.ytimg.com/vi/fAFFTOpUNWo/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD1YGxKpUH8Jt18Oz_YpSZHzY2_ng",

View file

@ -8,7 +8,7 @@ Paginator(
VideoItem( VideoItem(
id: "_cyJhGsXDDM", id: "_cyJhGsXDDM",
name: "Ultimate Criminal Canal Found Magnet Fishing! Police on the Hunt", name: "Ultimate Criminal Canal Found Magnet Fishing! Police on the Hunt",
length: Some(1096), duration: Some(1096),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_cyJhGsXDDM/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBBz_ErMMfhKLRZRfcAPTlMTujziw", url: "https://i.ytimg.com/vi/_cyJhGsXDDM/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBBz_ErMMfhKLRZRfcAPTlMTujziw",
@ -45,7 +45,7 @@ Paginator(
VideoItem( VideoItem(
id: "36YnV9STBqc", id: "36YnV9STBqc",
name: "The Good Life Radio\u{a0}•\u{a0}24/7 Live Radio | Best Relax House, Chillout, Study, Running, Gym, Happy Music", name: "The Good Life Radio\u{a0}•\u{a0}24/7 Live Radio | Best Relax House, Chillout, Study, Running, Gym, Happy Music",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/36YnV9STBqc/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLASUZkzmRJDiyIJmcsAdcDGan805Q", url: "https://i.ytimg.com/vi/36YnV9STBqc/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLASUZkzmRJDiyIJmcsAdcDGan805Q",
@ -82,7 +82,7 @@ Paginator(
VideoItem( VideoItem(
id: "YYD1qgH5qC4", id: "YYD1qgH5qC4",
name: "چند شنبه با سینــا | فصل چهـارم | قسمت 5 | با حضور نازنین انصاری مدیر روزنامه کیهان لندن", name: "چند شنبه با سینــا | فصل چهـارم | قسمت 5 | با حضور نازنین انصاری مدیر روزنامه کیهان لندن",
length: Some(3261), duration: Some(3261),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YYD1qgH5qC4/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBkvD-kVL12hteMVVLRZvJHOdlPzQ", url: "https://i.ytimg.com/vi/YYD1qgH5qC4/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBkvD-kVL12hteMVVLRZvJHOdlPzQ",
@ -119,7 +119,7 @@ Paginator(
VideoItem( VideoItem(
id: "BeJqgI6rw9k", id: "BeJqgI6rw9k",
name: "your city is full of fake buildings, here\'s why", name: "your city is full of fake buildings, here\'s why",
length: Some(725), duration: Some(725),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BeJqgI6rw9k/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAvkJGHa6h2vzXrG1ueGQA8JysqEg", url: "https://i.ytimg.com/vi/BeJqgI6rw9k/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAvkJGHa6h2vzXrG1ueGQA8JysqEg",
@ -156,7 +156,7 @@ Paginator(
VideoItem( VideoItem(
id: "ma28eWd1oyA", id: "ma28eWd1oyA",
name: "Post Malone, Maroon 5, Adele, Taylor Swift, Ed Sheeran, Shawn Mendes, Pop Hits 2020 Part 6", name: "Post Malone, Maroon 5, Adele, Taylor Swift, Ed Sheeran, Shawn Mendes, Pop Hits 2020 Part 6",
length: Some(29989), duration: Some(29989),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ma28eWd1oyA/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCznoPDMo_F1NCRBWoD4Ps5IjctxQ", url: "https://i.ytimg.com/vi/ma28eWd1oyA/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCznoPDMo_F1NCRBWoD4Ps5IjctxQ",
@ -188,7 +188,7 @@ Paginator(
VideoItem( VideoItem(
id: "mL2LBRM5GBI", id: "mL2LBRM5GBI",
name: "Salahs 6-Minuten-Hattrick & Firmino-Gala: Rangers - FC Liverpool 1:7 | UEFA Champions League | DAZN", name: "Salahs 6-Minuten-Hattrick & Firmino-Gala: Rangers - FC Liverpool 1:7 | UEFA Champions League | DAZN",
length: Some(355), duration: Some(355),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mL2LBRM5GBI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBhsDaEALJodPurmS3DywUoRRwzwg", url: "https://i.ytimg.com/vi/mL2LBRM5GBI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBhsDaEALJodPurmS3DywUoRRwzwg",
@ -225,7 +225,7 @@ Paginator(
VideoItem( VideoItem(
id: "Ang18qz2IeQ", id: "Ang18qz2IeQ",
name: "Satisfying Videos of Workers Doing Their Job Perfectly", name: "Satisfying Videos of Workers Doing Their Job Perfectly",
length: Some(1186), duration: Some(1186),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Ang18qz2IeQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA3Cd49wYUuSEXz2MwhO2aqCMq5ZA", url: "https://i.ytimg.com/vi/Ang18qz2IeQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA3Cd49wYUuSEXz2MwhO2aqCMq5ZA",
@ -262,7 +262,7 @@ Paginator(
VideoItem( VideoItem(
id: "fjHN4jsJnEU", id: "fjHN4jsJnEU",
name: "I Made 200 Players Simulate Survival Island in Minecraft...", name: "I Made 200 Players Simulate Survival Island in Minecraft...",
length: Some(2361), duration: Some(2361),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fjHN4jsJnEU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDwTosIfmAhNHIzU1sSXrTKT8vjNQ", url: "https://i.ytimg.com/vi/fjHN4jsJnEU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDwTosIfmAhNHIzU1sSXrTKT8vjNQ",
@ -299,7 +299,7 @@ Paginator(
VideoItem( VideoItem(
id: "FI1XrdBJIUI", id: "FI1XrdBJIUI",
name: "Epic Construction Fails | Expensive Fails Compilation | FailArmy", name: "Epic Construction Fails | Expensive Fails Compilation | FailArmy",
length: Some(631), duration: Some(631),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/FI1XrdBJIUI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBe2jCnLhTsXmZQefyAe-WqImk6-g", url: "https://i.ytimg.com/vi/FI1XrdBJIUI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBe2jCnLhTsXmZQefyAe-WqImk6-g",
@ -336,7 +336,7 @@ Paginator(
VideoItem( VideoItem(
id: "MXdplejK8vU", id: "MXdplejK8vU",
name: "Chilly autumn Jazz ☕ Smooth September Jazz & Bossa Nova for a great relaxing weekend", name: "Chilly autumn Jazz ☕ Smooth September Jazz & Bossa Nova for a great relaxing weekend",
length: Some(86403), duration: Some(86403),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/MXdplejK8vU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAIOe93l-1elIK0DfMLk0f3nDWgSA", url: "https://i.ytimg.com/vi/MXdplejK8vU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAIOe93l-1elIK0DfMLk0f3nDWgSA",
@ -373,7 +373,7 @@ Paginator(
VideoItem( VideoItem(
id: "Jri4_9vBFiQ", id: "Jri4_9vBFiQ",
name: "Top 100 Best Classic Rock Songs Of All Time 🔥 R.E.M, Queen, Metallica,Guns N Roses,Bon Jovi, U2,CCR", name: "Top 100 Best Classic Rock Songs Of All Time 🔥 R.E.M, Queen, Metallica,Guns N Roses,Bon Jovi, U2,CCR",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Jri4_9vBFiQ/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA1ZqDfSLi3Mf5qvpUFSYyDIODNQw", url: "https://i.ytimg.com/vi/Jri4_9vBFiQ/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA1ZqDfSLi3Mf5qvpUFSYyDIODNQw",
@ -410,7 +410,7 @@ Paginator(
VideoItem( VideoItem(
id: "ll4d5Lt-Ie8", id: "ll4d5Lt-Ie8",
name: "Relaxing Music Healing Stress, Anxiety and Depressive States Heal Mind, Body and Soul | Sleep music", name: "Relaxing Music Healing Stress, Anxiety and Depressive States Heal Mind, Body and Soul | Sleep music",
length: Some(42896), duration: Some(42896),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ll4d5Lt-Ie8/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAqdY2bQaQ3JHl5FYoTPuZFxXRKIQ", url: "https://i.ytimg.com/vi/ll4d5Lt-Ie8/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAqdY2bQaQ3JHl5FYoTPuZFxXRKIQ",
@ -447,7 +447,7 @@ Paginator(
VideoItem( VideoItem(
id: "Dx2wbKLokuQ", id: "Dx2wbKLokuQ",
name: "W. Putin: Die Sehnsucht nach dem Imperium | Mit offenen Karten | ARTE", name: "W. Putin: Die Sehnsucht nach dem Imperium | Mit offenen Karten | ARTE",
length: Some(729), duration: Some(729),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Dx2wbKLokuQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBHQXnaEYo6frjkJ3FFuAPkAyOCKQ", url: "https://i.ytimg.com/vi/Dx2wbKLokuQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBHQXnaEYo6frjkJ3FFuAPkAyOCKQ",
@ -484,7 +484,7 @@ Paginator(
VideoItem( VideoItem(
id: "jfKfPfyJRdk", id: "jfKfPfyJRdk",
name: "lofi hip hop radio - beats to relax/study to", name: "lofi hip hop radio - beats to relax/study to",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/jfKfPfyJRdk/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCR-bHqcvOP14sSUsNt9PTuf3ZI4Q", url: "https://i.ytimg.com/vi/jfKfPfyJRdk/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCR-bHqcvOP14sSUsNt9PTuf3ZI4Q",
@ -521,7 +521,7 @@ Paginator(
VideoItem( VideoItem(
id: "qmrzTUmZ4UU", id: "qmrzTUmZ4UU",
name: "850€ für den Verrat am System - UCS AT-AT LEGO® Star Wars 75313", name: "850€ für den Verrat am System - UCS AT-AT LEGO® Star Wars 75313",
length: Some(2043), duration: Some(2043),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qmrzTUmZ4UU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAsI3VS-wxnt1s_zS4M_YbVrV1pAg", url: "https://i.ytimg.com/vi/qmrzTUmZ4UU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAsI3VS-wxnt1s_zS4M_YbVrV1pAg",
@ -558,7 +558,7 @@ Paginator(
VideoItem( VideoItem(
id: "t0Q2otsqC4I", id: "t0Q2otsqC4I",
name: "Tom & Jerry | Tom & Jerry in Full Screen | Classic Cartoon Compilation | WB Kids", name: "Tom & Jerry | Tom & Jerry in Full Screen | Classic Cartoon Compilation | WB Kids",
length: Some(1298), duration: Some(1298),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/t0Q2otsqC4I/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCFcrz2zM6mPUmJiCsC7c7suOzSug", url: "https://i.ytimg.com/vi/t0Q2otsqC4I/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCFcrz2zM6mPUmJiCsC7c7suOzSug",
@ -595,7 +595,7 @@ Paginator(
VideoItem( VideoItem(
id: "zE-a5eqvlv8", id: "zE-a5eqvlv8",
name: "Dua Lipa, Coldplay, Martin Garrix & Kygo, The Chainsmokers Style - Feeling Me", name: "Dua Lipa, Coldplay, Martin Garrix & Kygo, The Chainsmokers Style - Feeling Me",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zE-a5eqvlv8/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCDyvujcpz62sEsL9Ke4ADBpXWqOA", url: "https://i.ytimg.com/vi/zE-a5eqvlv8/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCDyvujcpz62sEsL9Ke4ADBpXWqOA",
@ -632,7 +632,7 @@ Paginator(
VideoItem( VideoItem(
id: "HxCcKzRAGWk", id: "HxCcKzRAGWk",
name: "(Music for Man ) Relaxing Whiskey Blues Music - Modern Electric Guitar Blues - JAZZ & BLUES", name: "(Music for Man ) Relaxing Whiskey Blues Music - Modern Electric Guitar Blues - JAZZ & BLUES",
length: Some(42899), duration: Some(42899),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/HxCcKzRAGWk/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD5CNX5XaQAKrLpPq0nxmyUjP5yUw", url: "https://i.ytimg.com/vi/HxCcKzRAGWk/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD5CNX5XaQAKrLpPq0nxmyUjP5yUw",
@ -669,7 +669,7 @@ Paginator(
VideoItem( VideoItem(
id: "HlHYOdZePSE", id: "HlHYOdZePSE",
name: "Healing Music for Anxiety Disorders, Fears, Depression and Eliminate Negative Thoughts", name: "Healing Music for Anxiety Disorders, Fears, Depression and Eliminate Negative Thoughts",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/HlHYOdZePSE/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBeqmmnli6rVdK1k7vcHlwE3kiNaw", url: "https://i.ytimg.com/vi/HlHYOdZePSE/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBeqmmnli6rVdK1k7vcHlwE3kiNaw",
@ -706,7 +706,7 @@ Paginator(
VideoItem( VideoItem(
id: "CJ2AH3LJeic", id: "CJ2AH3LJeic",
name: "Coldplay Greatest Hits Full Album 2022 New Songs of Coldplay 2022", name: "Coldplay Greatest Hits Full Album 2022 New Songs of Coldplay 2022",
length: Some(7781), duration: Some(7781),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CJ2AH3LJeic/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC3A9sBlWQZmFUI9BYe5KzvATqiqw", url: "https://i.ytimg.com/vi/CJ2AH3LJeic/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC3A9sBlWQZmFUI9BYe5KzvATqiqw",
@ -743,7 +743,7 @@ Paginator(
VideoItem( VideoItem(
id: "KJwzKxQ81iA", id: "KJwzKxQ81iA",
name: "Handmade Candy Making Collection / 수제 사탕 만들기 모음 / Korean Candy Store", name: "Handmade Candy Making Collection / 수제 사탕 만들기 모음 / Korean Candy Store",
length: Some(3152), duration: Some(3152),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KJwzKxQ81iA/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCtm3YNbp3mK6RjsACZuz7fs-TUYA", url: "https://i.ytimg.com/vi/KJwzKxQ81iA/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCtm3YNbp3mK6RjsACZuz7fs-TUYA",

View file

@ -6,7 +6,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "OLcdyDte2e8", id: "OLcdyDte2e8",
name: "THE EQUALIZER 3 Trailer German Deutsch (2023)", name: "THE EQUALIZER 3 Trailer German Deutsch (2023)",
length: Some(159), duration: Some(159),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/OLcdyDte2e8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDSQWUCHxZpKpiaN87tETWCmwq3Gw", url: "https://i.ytimg.com/vi/OLcdyDte2e8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDSQWUCHxZpKpiaN87tETWCmwq3Gw",
@ -48,7 +48,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "bV031nK_ipg", id: "bV031nK_ipg",
name: "Yalı Çapkını 30. Bölüm 1. Fragmanı | Olacaklara Hazır Ol!", name: "Yalı Çapkını 30. Bölüm 1. Fragmanı | Olacaklara Hazır Ol!",
length: Some(48), duration: Some(48),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bV031nK_ipg/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCst780fpKDVMFjc1199-x0du0ySA", url: "https://i.ytimg.com/vi/bV031nK_ipg/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCst780fpKDVMFjc1199-x0du0ySA",
@ -90,7 +90,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "Mk4vH7xWBKs", id: "Mk4vH7xWBKs",
name: "\u{200b}Kızılcık Şerbeti 24. Bölüm 1. Fragman | \"Hayatımın o karanlık dönemi sona erdi...\"", name: "\u{200b}Kızılcık Şerbeti 24. Bölüm 1. Fragman | \"Hayatımın o karanlık dönemi sona erdi...\"",
length: Some(55), duration: Some(55),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Mk4vH7xWBKs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDwAUm72bW_iLbmchMYfmhVyRodSw", url: "https://i.ytimg.com/vi/Mk4vH7xWBKs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDwAUm72bW_iLbmchMYfmhVyRodSw",
@ -132,7 +132,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "WonRyXzq89w", id: "WonRyXzq89w",
name: "Camdaki Kız 77. Bölüm Fragmanı | Bittim Artık Ben!", name: "Camdaki Kız 77. Bölüm Fragmanı | Bittim Artık Ben!",
length: Some(43), duration: Some(43),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WonRyXzq89w/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAkp3CwjmEyEZdqthocRMQXyBIicg", url: "https://i.ytimg.com/vi/WonRyXzq89w/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAkp3CwjmEyEZdqthocRMQXyBIicg",
@ -174,7 +174,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "2_OBxvKRYns", id: "2_OBxvKRYns",
name: "Gülcemal 5. Bölüm 1. Fragmanı", name: "Gülcemal 5. Bölüm 1. Fragmanı",
length: Some(55), duration: Some(55),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2_OBxvKRYns/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC4O5boUqlYlIsDZwbo6fnsanCl7Q", url: "https://i.ytimg.com/vi/2_OBxvKRYns/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC4O5boUqlYlIsDZwbo6fnsanCl7Q",
@ -216,7 +216,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "EUlC8ue8NFI", id: "EUlC8ue8NFI",
name: "The Witcher: Season 3 | Official Teaser | Netflix", name: "The Witcher: Season 3 | Official Teaser | Netflix",
length: Some(72), duration: Some(72),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EUlC8ue8NFI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4D9fynrZqM2a13VlyRgsiuok4iw", url: "https://i.ytimg.com/vi/EUlC8ue8NFI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4D9fynrZqM2a13VlyRgsiuok4iw",
@ -258,7 +258,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "RDE6Uz73A7g", id: "RDE6Uz73A7g",
name: "The Hunger Games: The Ballad of Songbirds & Snakes (2023) Official Trailer", name: "The Hunger Games: The Ballad of Songbirds & Snakes (2023) Official Trailer",
length: Some(169), duration: Some(169),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RDE6Uz73A7g/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfw5gszhsKfBDVKANGxvbjYqUrMA", url: "https://i.ytimg.com/vi/RDE6Uz73A7g/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfw5gszhsKfBDVKANGxvbjYqUrMA",
@ -300,7 +300,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "W-h9kvKG2KA", id: "W-h9kvKG2KA",
name: "Aile 9. Bölüm 2. Fragman", name: "Aile 9. Bölüm 2. Fragman",
length: Some(87), duration: Some(87),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/W-h9kvKG2KA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxWt_mjWojiOncMWNHGatqWikccQ", url: "https://i.ytimg.com/vi/W-h9kvKG2KA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxWt_mjWojiOncMWNHGatqWikccQ",
@ -342,7 +342,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "wvijjwnljVU", id: "wvijjwnljVU",
name: "Yargı 63. Bölüm Fragman (Sezon Finali)", name: "Yargı 63. Bölüm Fragman (Sezon Finali)",
length: Some(64), duration: Some(64),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/wvijjwnljVU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBOq9xG0GL3g1KrGSPG4aMtl8X-aA", url: "https://i.ytimg.com/vi/wvijjwnljVU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBOq9xG0GL3g1KrGSPG4aMtl8X-aA",
@ -384,7 +384,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "vMYWPpJAbvc", id: "vMYWPpJAbvc",
name: "Gülcemal 5. Bölüm 1. Fragmanı | Kimse Gülcemal\'i Aptal Yerine Koyamaz!", name: "Gülcemal 5. Bölüm 1. Fragmanı | Kimse Gülcemal\'i Aptal Yerine Koyamaz!",
length: Some(40), duration: Some(40),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vMYWPpJAbvc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2g7wt5xFM0vB8U3rMGAabwrYlNg", url: "https://i.ytimg.com/vi/vMYWPpJAbvc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2g7wt5xFM0vB8U3rMGAabwrYlNg",
@ -426,7 +426,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "PdhjMlyPjCU", id: "PdhjMlyPjCU",
name: "Kuruluş Osman 124.Bölüm Fragmanı", name: "Kuruluş Osman 124.Bölüm Fragmanı",
length: Some(48), duration: Some(48),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PdhjMlyPjCU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_lGSiNFJ8e8e_Ch0yeeuWiCoBXQ", url: "https://i.ytimg.com/vi/PdhjMlyPjCU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_lGSiNFJ8e8e_Ch0yeeuWiCoBXQ",
@ -468,7 +468,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "19ikl8vy4zs", id: "19ikl8vy4zs",
name: "THE EQUALIZER 3 - Official Red Band Trailer (HD)", name: "THE EQUALIZER 3 - Official Red Band Trailer (HD)",
length: Some(183), duration: Some(183),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/19ikl8vy4zs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAu8SQ-1bqOwsfayIuxkXoAgIXCpQ", url: "https://i.ytimg.com/vi/19ikl8vy4zs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAu8SQ-1bqOwsfayIuxkXoAgIXCpQ",
@ -510,7 +510,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "HnzNZ0Mdx4I", id: "HnzNZ0Mdx4I",
name: "Ahsoka | Teaser Trailer | Disney+", name: "Ahsoka | Teaser Trailer | Disney+",
length: Some(112), duration: Some(112),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/HnzNZ0Mdx4I/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBtihmDSlK3fAkKe_XDCkc45aGLbw", url: "https://i.ytimg.com/vi/HnzNZ0Mdx4I/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBtihmDSlK3fAkKe_XDCkc45aGLbw",
@ -552,7 +552,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "Qz_yH-06Yi8", id: "Qz_yH-06Yi8",
name: "Gönül Dağı 96. Bölüm Fragmanı", name: "Gönül Dağı 96. Bölüm Fragmanı",
length: Some(50), duration: Some(50),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Qz_yH-06Yi8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARf_E6GKdpN8mKH5Zlx_CB46hsbw", url: "https://i.ytimg.com/vi/Qz_yH-06Yi8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARf_E6GKdpN8mKH5Zlx_CB46hsbw",
@ -594,7 +594,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "c9YhvwuFZyk", id: "c9YhvwuFZyk",
name: "DUNE: PART TWO First Trailer (2023) Warner Bros. Pictures & Max", name: "DUNE: PART TWO First Trailer (2023) Warner Bros. Pictures & Max",
length: Some(82), duration: Some(82),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/c9YhvwuFZyk/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDS3E7kp_6wZ0s6nQmaMzt4AbWrsA", url: "https://i.ytimg.com/vi/c9YhvwuFZyk/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDS3E7kp_6wZ0s6nQmaMzt4AbWrsA",
@ -636,7 +636,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "iuk77TjvfmE", id: "iuk77TjvfmE",
name: "Marvel Studios The Marvels | Teaser Trailer", name: "Marvel Studios The Marvels | Teaser Trailer",
length: Some(117), duration: Some(117),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/iuk77TjvfmE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANzHhP5yCjp4Vi6_sbR7eUIJSxQg", url: "https://i.ytimg.com/vi/iuk77TjvfmE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANzHhP5yCjp4Vi6_sbR7eUIJSxQg",
@ -678,7 +678,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "itnqEauWQZM", id: "itnqEauWQZM",
name: "Transformers: Rise of the Beasts | Official Trailer (2023 Movie)", name: "Transformers: Rise of the Beasts | Official Trailer (2023 Movie)",
length: Some(153), duration: Some(153),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/itnqEauWQZM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBq7T9kux2hDE86LXKo0CVuOOvRXQ", url: "https://i.ytimg.com/vi/itnqEauWQZM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBq7T9kux2hDE86LXKo0CVuOOvRXQ",
@ -720,7 +720,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "0RPBk5awAIg", id: "0RPBk5awAIg",
name: "Ben Bu Cihana Sığmazam 28. Bölüm Fragmanı | \'\'Kurbanı takip edeceksin...\'\' @atvturkiye", name: "Ben Bu Cihana Sığmazam 28. Bölüm Fragmanı | \'\'Kurbanı takip edeceksin...\'\' @atvturkiye",
length: Some(51), duration: Some(51),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0RPBk5awAIg/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrlh_mZMpdQNJu3agq1lq7NqrT5Q", url: "https://i.ytimg.com/vi/0RPBk5awAIg/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrlh_mZMpdQNJu3agq1lq7NqrT5Q",
@ -762,7 +762,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "_Hz5t58ePKs", id: "_Hz5t58ePKs",
name: "Üç Kız Kardeş 48. Bölüm Fragmanı | Türkan, gerçekleri Somer\'in yüzüne vuruyor!", name: "Üç Kız Kardeş 48. Bölüm Fragmanı | Türkan, gerçekleri Somer\'in yüzüne vuruyor!",
length: Some(56), duration: Some(56),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_Hz5t58ePKs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAlr1DQooJjngcDHKtrnc5O3cGjfg", url: "https://i.ytimg.com/vi/_Hz5t58ePKs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAlr1DQooJjngcDHKtrnc5O3cGjfg",
@ -804,7 +804,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "lLMEejtqb0Q", id: "lLMEejtqb0Q",
name: "Kuruluş Osman 124. Bölüm Fragmanı | \"Yenişehir\'e saldıracak\" @atvturkiye", name: "Kuruluş Osman 124. Bölüm Fragmanı | \"Yenişehir\'e saldıracak\" @atvturkiye",
length: Some(67), duration: Some(67),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/lLMEejtqb0Q/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBw4qDswxhGwWZThSUiFGXbbDOltQ", url: "https://i.ytimg.com/vi/lLMEejtqb0Q/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBw4qDswxhGwWZThSUiFGXbbDOltQ",
@ -846,7 +846,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "ZsrahE6znRA", id: "ZsrahE6znRA",
name: "THE EQUALIZER 3 Official Trailer (2023)", name: "THE EQUALIZER 3 Official Trailer (2023)",
length: Some(200), duration: Some(200),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ZsrahE6znRA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLASkb818kKUEwexK0a_Jk6l3kYLQA", url: "https://i.ytimg.com/vi/ZsrahE6znRA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLASkb818kKUEwexK0a_Jk6l3kYLQA",
@ -888,7 +888,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "GRyt3Ov4zz0", id: "GRyt3Ov4zz0",
name: "Barbie | Teaser Trailer 2", name: "Barbie | Teaser Trailer 2",
length: Some(105), duration: Some(105),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/GRyt3Ov4zz0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnUrsc1AVHZ-RebWj2AQY_5EJx6g", url: "https://i.ytimg.com/vi/GRyt3Ov4zz0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnUrsc1AVHZ-RebWj2AQY_5EJx6g",
@ -930,7 +930,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "-fjqPyZPNB4", id: "-fjqPyZPNB4",
name: "Kraliçe 6. Bölüm 2. Fragmanı | Artık Kolay Kurtulamazsın", name: "Kraliçe 6. Bölüm 2. Fragmanı | Artık Kolay Kurtulamazsın",
length: Some(41), duration: Some(41),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/-fjqPyZPNB4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYi8YOTivyUau0HXZhD7z8V_807g", url: "https://i.ytimg.com/vi/-fjqPyZPNB4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYi8YOTivyUau0HXZhD7z8V_807g",
@ -972,7 +972,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "qUsGi4CSy-I", id: "qUsGi4CSy-I",
name: "Ömer 14. Bölüm 1. Fragmanı | Beni Sevdiğini Biliyorum!", name: "Ömer 14. Bölüm 1. Fragmanı | Beni Sevdiğini Biliyorum!",
length: Some(54), duration: Some(54),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qUsGi4CSy-I/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-yc6Yw6YsqqMsfPnd1pd1c-PqYQ", url: "https://i.ytimg.com/vi/qUsGi4CSy-I/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-yc6Yw6YsqqMsfPnd1pd1c-PqYQ",
@ -1014,7 +1014,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "cDPY7R2Hfrs", id: "cDPY7R2Hfrs",
name: "Yalı Çapkını 31. Bölüm Fragmanı | \"Seyran\'ı Yıkan Haber\"", name: "Yalı Çapkını 31. Bölüm Fragmanı | \"Seyran\'ı Yıkan Haber\"",
length: Some(61), duration: Some(61),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cDPY7R2Hfrs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClKfy6N0I_csMaicmSRIhLYdn4Hg", url: "https://i.ytimg.com/vi/cDPY7R2Hfrs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClKfy6N0I_csMaicmSRIhLYdn4Hg",
@ -1056,7 +1056,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "RJbR1MzR3k8", id: "RJbR1MzR3k8",
name: "Ömer 15. Bölüm 2. Fragman", name: "Ömer 15. Bölüm 2. Fragman",
length: Some(56), duration: Some(56),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RJbR1MzR3k8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQ1TQ81aBzwvebUorA_ePbHx-G7Q", url: "https://i.ytimg.com/vi/RJbR1MzR3k8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQ1TQ81aBzwvebUorA_ePbHx-G7Q",
@ -1098,7 +1098,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "iv6Bx_JwY_k", id: "iv6Bx_JwY_k",
name: "Aldatmak 28. Bölüm Fragmanı | \'\'Ben boşanmak istemiyorum, Güzide affet beni\"", name: "Aldatmak 28. Bölüm Fragmanı | \'\'Ben boşanmak istemiyorum, Güzide affet beni\"",
length: Some(51), duration: Some(51),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/iv6Bx_JwY_k/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC6diXarynpK0dUNRN2SbykWjavLA", url: "https://i.ytimg.com/vi/iv6Bx_JwY_k/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC6diXarynpK0dUNRN2SbykWjavLA",
@ -1140,7 +1140,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "vrK13rVnVa8", id: "vrK13rVnVa8",
name: "Aile 9. Bölüm 1. Fragman | “İlyas Koruzade oğlunu öldürdüğümüzü öğrenirse…”", name: "Aile 9. Bölüm 1. Fragman | “İlyas Koruzade oğlunu öldürdüğümüzü öğrenirse…”",
length: Some(68), duration: Some(68),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vrK13rVnVa8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD6SVQaSpsjHzT0I8-3gPxvvH4Zvw", url: "https://i.ytimg.com/vi/vrK13rVnVa8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD6SVQaSpsjHzT0I8-3gPxvvH4Zvw",
@ -1182,7 +1182,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "iOG94aAeh9U", id: "iOG94aAeh9U",
name: "Çöp Adam 18. Bölüm 2. Fragmanı | Kapat Beni!", name: "Çöp Adam 18. Bölüm 2. Fragmanı | Kapat Beni!",
length: Some(63), duration: Some(63),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/iOG94aAeh9U/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBr6zymASMNB8xszHbQwt2b1bMY_g", url: "https://i.ytimg.com/vi/iOG94aAeh9U/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBr6zymASMNB8xszHbQwt2b1bMY_g",
@ -1224,7 +1224,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "7cuBIM5culc", id: "7cuBIM5culc",
name: "Tetikçinin Oğlu 4. Bölüm Fragmanı | \"Cenazeden Sonra Başlatırız...\"", name: "Tetikçinin Oğlu 4. Bölüm Fragmanı | \"Cenazeden Sonra Başlatırız...\"",
length: Some(54), duration: Some(54),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7cuBIM5culc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZCNzleOQsQFHIi-vGQr_x4p5ltw", url: "https://i.ytimg.com/vi/7cuBIM5culc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZCNzleOQsQFHIi-vGQr_x4p5ltw",

View file

@ -6,7 +6,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "6T67I2w1G2U", id: "6T67I2w1G2U",
name: "Extreme $1,000,000 Minecraft Challenge!", name: "Extreme $1,000,000 Minecraft Challenge!",
length: Some(643), duration: Some(643),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6T67I2w1G2U/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3pX_5AAn1wpsBoaAOycfn0VTKFw", url: "https://i.ytimg.com/vi/6T67I2w1G2U/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3pX_5AAn1wpsBoaAOycfn0VTKFw",
@ -48,7 +48,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "8TzH0ayIcdo", id: "8TzH0ayIcdo",
name: "The Darkest Story I\'ve Ever Read", name: "The Darkest Story I\'ve Ever Read",
length: Some(4383), duration: Some(4383),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8TzH0ayIcdo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCA_OSaK05YpZIF5EdSLzLT0YU58g", url: "https://i.ytimg.com/vi/8TzH0ayIcdo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCA_OSaK05YpZIF5EdSLzLT0YU58g",
@ -90,7 +90,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "s9PzYuVwCSE", id: "s9PzYuVwCSE",
name: "Lil Yachty - Poland (Directed by Cole Bennett)", name: "Lil Yachty - Poland (Directed by Cole Bennett)",
length: Some(89), duration: Some(89),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/s9PzYuVwCSE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBAAmFE81Aur-4JT0tewcUo2_9I8g", url: "https://i.ytimg.com/vi/s9PzYuVwCSE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBAAmFE81Aur-4JT0tewcUo2_9I8g",
@ -132,7 +132,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "y8qhSduN6sk", id: "y8qhSduN6sk",
name: "PC Games on Console - Scott The Woz", name: "PC Games on Console - Scott The Woz",
length: Some(1912), duration: Some(1912),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/y8qhSduN6sk/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKr5KTGdpoHjcP4E_wswYN46eDFA", url: "https://i.ytimg.com/vi/y8qhSduN6sk/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKr5KTGdpoHjcP4E_wswYN46eDFA",
@ -174,7 +174,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "U9HAaHc3wnc", id: "U9HAaHc3wnc",
name: "Guess Ionos Partner Pokémon! 🤔 | Pokémon Scarlet and Pokémon Violet", name: "Guess Ionos Partner Pokémon! 🤔 | Pokémon Scarlet and Pokémon Violet",
length: Some(211), duration: Some(211),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/U9HAaHc3wnc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBN7eQhGDi_EFbN4jlcxln2ZM_lFw", url: "https://i.ytimg.com/vi/U9HAaHc3wnc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBN7eQhGDi_EFbN4jlcxln2ZM_lFw",
@ -216,7 +216,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "MBzi6hRrkww", id: "MBzi6hRrkww",
name: "Celebrating Tito Puente", name: "Celebrating Tito Puente",
length: Some(65), duration: Some(65),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/MBzi6hRrkww/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCHXUw09LPtzYbP4SesBrr18DapJA", url: "https://i.ytimg.com/vi/MBzi6hRrkww/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCHXUw09LPtzYbP4SesBrr18DapJA",
@ -258,7 +258,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "DvkTX-AquQo", id: "DvkTX-AquQo",
name: "Impossible 0.00001% Odds!", name: "Impossible 0.00001% Odds!",
length: Some(481), duration: Some(481),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DvkTX-AquQo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBDyzgTEw_hcJsgbdkES1jpVf5JRQ", url: "https://i.ytimg.com/vi/DvkTX-AquQo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBDyzgTEw_hcJsgbdkES1jpVf5JRQ",
@ -300,7 +300,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "T-8fCPT-ZKI", id: "T-8fCPT-ZKI",
name: "DDG - Bulletproof Maybach (Official Music Video) ft. Offset", name: "DDG - Bulletproof Maybach (Official Music Video) ft. Offset",
length: Some(189), duration: Some(189),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/T-8fCPT-ZKI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDDUSR0YqD6Z3cqOnGQQ-BOToWQYg", url: "https://i.ytimg.com/vi/T-8fCPT-ZKI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDDUSR0YqD6Z3cqOnGQQ-BOToWQYg",
@ -342,7 +342,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "dFlDRhvM4L0", id: "dFlDRhvM4L0",
name: "『チェンソーマン』ノンクレジットオープニング / CHAINSAW MAN Opening│米津玄師 「KICK BACK」", name: "『チェンソーマン』ノンクレジットオープニング / CHAINSAW MAN Opening│米津玄師 「KICK BACK」",
length: Some(90), duration: Some(90),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dFlDRhvM4L0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBEBYFDdOM1Ozmr3W9LOopJxN_P0A", url: "https://i.ytimg.com/vi/dFlDRhvM4L0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBEBYFDdOM1Ozmr3W9LOopJxN_P0A",
@ -384,7 +384,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "G9W8CSckzAc", id: "G9W8CSckzAc",
name: "why I disappeared", name: "why I disappeared",
length: Some(461), duration: Some(461),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/G9W8CSckzAc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDq0swwcUrhHDtJHYuMTVU8IIoQew", url: "https://i.ytimg.com/vi/G9W8CSckzAc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDq0swwcUrhHDtJHYuMTVU8IIoQew",
@ -426,7 +426,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "PuOUI2kwftA", id: "PuOUI2kwftA",
name: "Brooklyn\'s Wedding Day Vlog | Behind the Scenes", name: "Brooklyn\'s Wedding Day Vlog | Behind the Scenes",
length: Some(1265), duration: Some(1265),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PuOUI2kwftA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBmzQC0d4E9Pi1ZmpbY9bWm0IdRbA", url: "https://i.ytimg.com/vi/PuOUI2kwftA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBmzQC0d4E9Pi1ZmpbY9bWm0IdRbA",
@ -468,7 +468,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "lkOGhJX6LKU", id: "lkOGhJX6LKU",
name: "Social Security payments set for big increase; heres what you need to know", name: "Social Security payments set for big increase; heres what you need to know",
length: Some(120), duration: Some(120),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/lkOGhJX6LKU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCBjZbCrftL5Cs0RtJZSo4sWEtyCg", url: "https://i.ytimg.com/vi/lkOGhJX6LKU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCBjZbCrftL5Cs0RtJZSo4sWEtyCg",
@ -510,7 +510,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "zkvIzKwzYNc", id: "zkvIzKwzYNc",
name: "Kep1er 케플러 | We Fresh\' M/V", name: "Kep1er 케플러 | We Fresh\' M/V",
length: Some(225), duration: Some(225),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zkvIzKwzYNc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAz9DC0biWYPzEq5jaKrIKmNQQqQ", url: "https://i.ytimg.com/vi/zkvIzKwzYNc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAz9DC0biWYPzEq5jaKrIKmNQQqQ",
@ -552,7 +552,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "foMQG_Bpcag", id: "foMQG_Bpcag",
name: "*After 4* DESTROYED my last brain cell", name: "*After 4* DESTROYED my last brain cell",
length: Some(2169), duration: Some(2169),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/foMQG_Bpcag/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGs9GSfJIKNbMnAjys9wM3lHZuUg", url: "https://i.ytimg.com/vi/foMQG_Bpcag/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGs9GSfJIKNbMnAjys9wM3lHZuUg",
@ -594,7 +594,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "iquXFFSEKyE", id: "iquXFFSEKyE",
name: "NLE Choppa - Do It Again (ft. 2Rare) [HipHop Dance Musical] MEMPHIS EDITION", name: "NLE Choppa - Do It Again (ft. 2Rare) [HipHop Dance Musical] MEMPHIS EDITION",
length: Some(239), duration: Some(239),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/iquXFFSEKyE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_lsIMgQGkprvJ2XNrzzYmJwDR6A", url: "https://i.ytimg.com/vi/iquXFFSEKyE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_lsIMgQGkprvJ2XNrzzYmJwDR6A",
@ -636,7 +636,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "ijj_hheGEi0", id: "ijj_hheGEi0",
name: "Queen - Face It Alone (Official Lyric Video)", name: "Queen - Face It Alone (Official Lyric Video)",
length: Some(257), duration: Some(257),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ijj_hheGEi0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZg5Tsu_SO-83YbNiH2xZhsRcCJw", url: "https://i.ytimg.com/vi/ijj_hheGEi0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZg5Tsu_SO-83YbNiH2xZhsRcCJw",
@ -678,7 +678,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "nwMxp7mRbx4", id: "nwMxp7mRbx4",
name: "Dimension 20: Neverafter Trailer", name: "Dimension 20: Neverafter Trailer",
length: Some(154), duration: Some(154),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/nwMxp7mRbx4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDOW_yf8647tavIGT5QD2GEl4a6Pw", url: "https://i.ytimg.com/vi/nwMxp7mRbx4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDOW_yf8647tavIGT5QD2GEl4a6Pw",
@ -720,7 +720,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "7IGD5URBGZ8", id: "7IGD5URBGZ8",
name: "We Got Engaged", name: "We Got Engaged",
length: Some(1325), duration: Some(1325),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7IGD5URBGZ8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArNHqdfOCsU-_-O9g4hGna9iKODw", url: "https://i.ytimg.com/vi/7IGD5URBGZ8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArNHqdfOCsU-_-O9g4hGna9iKODw",
@ -762,7 +762,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "eKAIQDxai9Y", id: "eKAIQDxai9Y",
name: "I remade every mob into Rainbow Friends in Minecraft", name: "I remade every mob into Rainbow Friends in Minecraft",
length: Some(811), duration: Some(811),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/eKAIQDxai9Y/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDhMxh2lEFEwSprWt_yuU7hkMZM-Q", url: "https://i.ytimg.com/vi/eKAIQDxai9Y/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDhMxh2lEFEwSprWt_yuU7hkMZM-Q",
@ -804,7 +804,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "5sRVxb2wkGM", id: "5sRVxb2wkGM",
name: "We Bought Every Weird Ad We Saw", name: "We Bought Every Weird Ad We Saw",
length: Some(1602), duration: Some(1602),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5sRVxb2wkGM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAXej_beyPyWOtxMGWzPqyqZTqoTA", url: "https://i.ytimg.com/vi/5sRVxb2wkGM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAXej_beyPyWOtxMGWzPqyqZTqoTA",
@ -846,7 +846,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "9gbScp1JVN4", id: "9gbScp1JVN4",
name: "Making Renaissance Costumes IN ONE DAY[ish]", name: "Making Renaissance Costumes IN ONE DAY[ish]",
length: Some(1317), duration: Some(1317),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9gbScp1JVN4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAJBAPNoEovYX80iONt3IzuOVuA6Q", url: "https://i.ytimg.com/vi/9gbScp1JVN4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAJBAPNoEovYX80iONt3IzuOVuA6Q",
@ -888,7 +888,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "qRao6FARFRo", id: "qRao6FARFRo",
name: "TURN THE TIDES - Harbor Agent Trailer // VALORANT", name: "TURN THE TIDES - Harbor Agent Trailer // VALORANT",
length: Some(228), duration: Some(228),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qRao6FARFRo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsDWarEGRn1W9V3MLrVO7d3WY-IQ", url: "https://i.ytimg.com/vi/qRao6FARFRo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsDWarEGRn1W9V3MLrVO7d3WY-IQ",
@ -930,7 +930,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "F8sGGKxSYNM", id: "F8sGGKxSYNM",
name: "Chares Oliveira: Ill shock the world vs. Islam Makhachev at UFC 280 | ESPN MMA", name: "Chares Oliveira: Ill shock the world vs. Islam Makhachev at UFC 280 | ESPN MMA",
length: Some(231), duration: Some(231),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/F8sGGKxSYNM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDyGsylKlErNaV715pyvBrZauSkeA", url: "https://i.ytimg.com/vi/F8sGGKxSYNM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDyGsylKlErNaV715pyvBrZauSkeA",
@ -972,7 +972,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "ZnQP13rYpUY", id: "ZnQP13rYpUY",
name: "Rochy RD, Tivi Gunz , Harryson, Onguito Wa, El Perrote Wz - Lokisla (Video Oficial) @Izy Music", name: "Rochy RD, Tivi Gunz , Harryson, Onguito Wa, El Perrote Wz - Lokisla (Video Oficial) @Izy Music",
length: Some(265), duration: Some(265),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ZnQP13rYpUY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC7ChfY-IfOWPIkxa1xWoyLk0xYbg", url: "https://i.ytimg.com/vi/ZnQP13rYpUY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC7ChfY-IfOWPIkxa1xWoyLk0xYbg",
@ -1014,7 +1014,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "WArWsWRmdJw", id: "WArWsWRmdJw",
name: "I made GeoGuessr in Among Us to challenge my friends...", name: "I made GeoGuessr in Among Us to challenge my friends...",
length: Some(1340), duration: Some(1340),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WArWsWRmdJw/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYZitzXsjECJhDvadhWwuWOVwZag", url: "https://i.ytimg.com/vi/WArWsWRmdJw/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYZitzXsjECJhDvadhWwuWOVwZag",
@ -1056,7 +1056,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "wP9zsx04fWY", id: "wP9zsx04fWY",
name: "WE ARE COMING! to a city near you!", name: "WE ARE COMING! to a city near you!",
length: Some(59), duration: Some(59),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/wP9zsx04fWY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIjDcaW7ckphUnayl-n6pzlAYFjg", url: "https://i.ytimg.com/vi/wP9zsx04fWY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIjDcaW7ckphUnayl-n6pzlAYFjg",
@ -1098,7 +1098,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "Wz0Gb4_Q5rM", id: "Wz0Gb4_Q5rM",
name: "Mariners vs. Astros ALDS Game 1 Highlights (10/11/22) | MLB Highlights", name: "Mariners vs. Astros ALDS Game 1 Highlights (10/11/22) | MLB Highlights",
length: Some(584), duration: Some(584),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Wz0Gb4_Q5rM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3PeeIiEOIsG032IQ3Px9SR_jiBQ", url: "https://i.ytimg.com/vi/Wz0Gb4_Q5rM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3PeeIiEOIsG032IQ3Px9SR_jiBQ",
@ -1140,7 +1140,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "ICULY_gTngs", id: "ICULY_gTngs",
name: "The MCU Has Been Taking Us For Granted.", name: "The MCU Has Been Taking Us For Granted.",
length: Some(1025), duration: Some(1025),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ICULY_gTngs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2bUs7W_ix398D2rVgylzSIBnFGA", url: "https://i.ytimg.com/vi/ICULY_gTngs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2bUs7W_ix398D2rVgylzSIBnFGA",
@ -1182,7 +1182,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "bunhaERjxmE", id: "bunhaERjxmE",
name: "Frog Slime 🐸✨ | Ep. 11 | Minecraft Empires S2 1.19", name: "Frog Slime 🐸✨ | Ep. 11 | Minecraft Empires S2 1.19",
length: Some(608), duration: Some(608),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bunhaERjxmE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBY6YgyyGN7BI_IeutMirrxP5QUGQ", url: "https://i.ytimg.com/vi/bunhaERjxmE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBY6YgyyGN7BI_IeutMirrxP5QUGQ",
@ -1224,7 +1224,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "tDhfNCUqZDs", id: "tDhfNCUqZDs",
name: "Bandmanrill x Sha Ek - “Jiggy In Jersey Pt2” (Shot by @RARI DIGITAL)", name: "Bandmanrill x Sha Ek - “Jiggy In Jersey Pt2” (Shot by @RARI DIGITAL)",
length: Some(110), duration: Some(110),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/tDhfNCUqZDs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC6lvjmM55o1L6INcwpSPLeFCzaQQ", url: "https://i.ytimg.com/vi/tDhfNCUqZDs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC6lvjmM55o1L6INcwpSPLeFCzaQQ",
@ -1266,7 +1266,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "MEZe4chAeZA", id: "MEZe4chAeZA",
name: "Dog and Chainsaw | Chainsawman Ep 1 Reaction", name: "Dog and Chainsaw | Chainsawman Ep 1 Reaction",
length: Some(1077), duration: Some(1077),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/MEZe4chAeZA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDYfqfJ9h6UWtybU8JFDtzUXJuV5w", url: "https://i.ytimg.com/vi/MEZe4chAeZA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDYfqfJ9h6UWtybU8JFDtzUXJuV5w",
@ -1308,7 +1308,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "NMA_isZYsYQ", id: "NMA_isZYsYQ",
name: "KICK BACK", name: "KICK BACK",
length: Some(194), duration: Some(194),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NMA_isZYsYQ/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAU2OWhYt6nZn7kbdr6cs_PPjbDJQ", url: "https://i.ytimg.com/vi/NMA_isZYsYQ/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAU2OWhYt6nZn7kbdr6cs_PPjbDJQ",
@ -1350,7 +1350,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "qe6Oy8oEOhI", id: "qe6Oy8oEOhI",
name: "Top 50 Amazon Prime Day October 2022 Deals (DAY 2!) 🔥 Better Deals Than Yesterday?!", name: "Top 50 Amazon Prime Day October 2022 Deals (DAY 2!) 🔥 Better Deals Than Yesterday?!",
length: Some(752), duration: Some(752),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qe6Oy8oEOhI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDd34j8LOCJih9Fsnu-WS-M3qngVg", url: "https://i.ytimg.com/vi/qe6Oy8oEOhI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDd34j8LOCJih9Fsnu-WS-M3qngVg",
@ -1392,7 +1392,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "odWKEfp2QMY", id: "odWKEfp2QMY",
name: "Måneskin - THE LONELIEST (Official Video)", name: "Måneskin - THE LONELIEST (Official Video)",
length: Some(288), duration: Some(288),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/odWKEfp2QMY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD7SeHmB9MNWYkX8nDeCdXoAKZ6Yg", url: "https://i.ytimg.com/vi/odWKEfp2QMY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD7SeHmB9MNWYkX8nDeCdXoAKZ6Yg",
@ -1434,7 +1434,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "BRb4U99OU80", id: "BRb4U99OU80",
name: "M3GAN - official trailer", name: "M3GAN - official trailer",
length: Some(148), duration: Some(148),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BRb4U99OU80/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAw-yFnWg5tK761MdrhmJOdMuMDGQ", url: "https://i.ytimg.com/vi/BRb4U99OU80/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAw-yFnWg5tK761MdrhmJOdMuMDGQ",
@ -1476,7 +1476,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "F-7rQBY8uIQ", id: "F-7rQBY8uIQ",
name: "Lil Baby - Heyy (Official Video)", name: "Lil Baby - Heyy (Official Video)",
length: Some(193), duration: Some(193),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/F-7rQBY8uIQ/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDY7ymysPG8lRSheq3-W4MbhtRmBg", url: "https://i.ytimg.com/vi/F-7rQBY8uIQ/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDY7ymysPG8lRSheq3-W4MbhtRmBg",
@ -1518,7 +1518,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "3sPxvgrKwEg", id: "3sPxvgrKwEg",
name: "Overwatch 2 - SEASON 1 HERO TIER LIST", name: "Overwatch 2 - SEASON 1 HERO TIER LIST",
length: Some(1183), duration: Some(1183),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3sPxvgrKwEg/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA6xO6RKysWCSeACOsc3C1SBxPfA", url: "https://i.ytimg.com/vi/3sPxvgrKwEg/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA6xO6RKysWCSeACOsc3C1SBxPfA",
@ -1560,7 +1560,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "_akEYecFdyM", id: "_akEYecFdyM",
name: "Overwatch 2 is free but I still feel scammed", name: "Overwatch 2 is free but I still feel scammed",
length: Some(904), duration: Some(904),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_akEYecFdyM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBbbuGm0P2mw1kuXHeVE2F0hFx7Yg", url: "https://i.ytimg.com/vi/_akEYecFdyM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBbbuGm0P2mw1kuXHeVE2F0hFx7Yg",
@ -1602,7 +1602,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "6MKcY5wTcpY", id: "6MKcY5wTcpY",
name: "LEE CHAE YEON (이채연) - HUSH RUSH MV", name: "LEE CHAE YEON (이채연) - HUSH RUSH MV",
length: Some(221), duration: Some(221),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6MKcY5wTcpY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_0r3q7jLRcKOUvJGLeRjArMovGQ", url: "https://i.ytimg.com/vi/6MKcY5wTcpY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_0r3q7jLRcKOUvJGLeRjArMovGQ",
@ -1644,7 +1644,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "xIeYK9w03i4", id: "xIeYK9w03i4",
name: "『チェンソーマン』第1話スペシャルエンディング / CHAINSAW MAN #1 Ending│Vaundy 「CHAINSAW BLOOD」", name: "『チェンソーマン』第1話スペシャルエンディング / CHAINSAW MAN #1 Ending│Vaundy 「CHAINSAW BLOOD」",
length: Some(92), duration: Some(92),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xIeYK9w03i4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDWY5s8vA9p6_XE8aRRmVRuvHOqBw", url: "https://i.ytimg.com/vi/xIeYK9w03i4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDWY5s8vA9p6_XE8aRRmVRuvHOqBw",
@ -1686,7 +1686,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "s4y_kzpCthQ", id: "s4y_kzpCthQ",
name: "Blaqbonez - Back In Uni (Official Music Video)", name: "Blaqbonez - Back In Uni (Official Music Video)",
length: Some(209), duration: Some(209),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/s4y_kzpCthQ/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBPk5VXjRm8aE7lX1CVMAxIrWzapA", url: "https://i.ytimg.com/vi/s4y_kzpCthQ/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBPk5VXjRm8aE7lX1CVMAxIrWzapA",
@ -1728,7 +1728,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "_SKVFtLtJws", id: "_SKVFtLtJws",
name: "Charli D\'Amelio and Mark Ballas Jazz (Week 4) | Dancing With The Stars on Disney+", name: "Charli D\'Amelio and Mark Ballas Jazz (Week 4) | Dancing With The Stars on Disney+",
length: Some(92), duration: Some(92),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_SKVFtLtJws/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRpcP_LvuCOJdrLUwX8lnxrR2YmQ", url: "https://i.ytimg.com/vi/_SKVFtLtJws/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRpcP_LvuCOJdrLUwX8lnxrR2YmQ",
@ -1770,7 +1770,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "BtJPMqyhj_M", id: "BtJPMqyhj_M",
name: "Money Man - Armed & Dangerous (Official Video)", name: "Money Man - Armed & Dangerous (Official Video)",
length: Some(110), duration: Some(110),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BtJPMqyhj_M/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKQaUzq6QdywoVb9EkcReN98vaWg", url: "https://i.ytimg.com/vi/BtJPMqyhj_M/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKQaUzq6QdywoVb9EkcReN98vaWg",
@ -1812,7 +1812,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "rge0deYBVv0", id: "rge0deYBVv0",
name: "Top 50 Amazon Prime Day October 2022 Deals 🤑 (Updated Hourly!!)", name: "Top 50 Amazon Prime Day October 2022 Deals 🤑 (Updated Hourly!!)",
length: Some(780), duration: Some(780),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rge0deYBVv0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzmN2M4RTZM-dvs0bL5T4kTJ0lLg", url: "https://i.ytimg.com/vi/rge0deYBVv0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzmN2M4RTZM-dvs0bL5T4kTJ0lLg",
@ -1854,7 +1854,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "luXUJ9LJcy0", id: "luXUJ9LJcy0",
name: "Sounds from the Sideline: Week 5 at LAR | 2022", name: "Sounds from the Sideline: Week 5 at LAR | 2022",
length: Some(432), duration: Some(432),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/luXUJ9LJcy0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCCpmvZp_lVu3h3X6-6ABP1Nc-PCQ", url: "https://i.ytimg.com/vi/luXUJ9LJcy0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCCpmvZp_lVu3h3X6-6ABP1Nc-PCQ",
@ -1896,7 +1896,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "avUEfUTGbhM", id: "avUEfUTGbhM",
name: "Welding an excavator bucket and digging pond", name: "Welding an excavator bucket and digging pond",
length: Some(1756), duration: Some(1756),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/avUEfUTGbhM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANh1l5mzaeB_Y3b7VdTwMCBT3Crw", url: "https://i.ytimg.com/vi/avUEfUTGbhM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANh1l5mzaeB_Y3b7VdTwMCBT3Crw",
@ -1938,7 +1938,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "bqEgXmTU2SI", id: "bqEgXmTU2SI",
name: "NEW 5-5-5 ACE PARAGON - The Goliath Doomship! (Bloons TD 6)", name: "NEW 5-5-5 ACE PARAGON - The Goliath Doomship! (Bloons TD 6)",
length: Some(950), duration: Some(950),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bqEgXmTU2SI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDTLMyn3TvV9ujsk_FCwTb7gLmLsA", url: "https://i.ytimg.com/vi/bqEgXmTU2SI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDTLMyn3TvV9ujsk_FCwTb7gLmLsA",
@ -1980,7 +1980,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "xhYj9JJnLHM", id: "xhYj9JJnLHM",
name: "DDG 25th SURPRISE BIRTHDAY PARTY!!", name: "DDG 25th SURPRISE BIRTHDAY PARTY!!",
length: Some(3252), duration: Some(3252),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xhYj9JJnLHM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCGD3YlTctkj1ph4cwE3vVHXtb5Ag", url: "https://i.ytimg.com/vi/xhYj9JJnLHM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCGD3YlTctkj1ph4cwE3vVHXtb5Ag",
@ -2022,7 +2022,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "RlbajBvxR0M", id: "RlbajBvxR0M",
name: "Werewolf by Night - The MCU Tries to Be Creative Again", name: "Werewolf by Night - The MCU Tries to Be Creative Again",
length: Some(366), duration: Some(366),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/RlbajBvxR0M/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrKJhTwLFv537H7iODNIm-rdJAaA", url: "https://i.ytimg.com/vi/RlbajBvxR0M/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrKJhTwLFv537H7iODNIm-rdJAaA",
@ -2064,7 +2064,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "yX_DwPnkycc", id: "yX_DwPnkycc",
name: "THE BEST RESULTS I\'VE SEEN YET! (PROGRESS UPDATE)", name: "THE BEST RESULTS I\'VE SEEN YET! (PROGRESS UPDATE)",
length: Some(906), duration: Some(906),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yX_DwPnkycc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPXdY5LCTadxPxXkG17mX25xiqoA", url: "https://i.ytimg.com/vi/yX_DwPnkycc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPXdY5LCTadxPxXkG17mX25xiqoA",
@ -2106,7 +2106,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "CtpdMkKvB6U", id: "CtpdMkKvB6U",
name: "hi, I\'m Dream.", name: "hi, I\'m Dream.",
length: Some(342), duration: Some(342),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CtpdMkKvB6U/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQqAxmXw6s3xgVPE4f9--KO_vctQ", url: "https://i.ytimg.com/vi/CtpdMkKvB6U/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQqAxmXw6s3xgVPE4f9--KO_vctQ",
@ -2148,7 +2148,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "t6fIp7mMJ90", id: "t6fIp7mMJ90",
name: "what happened.", name: "what happened.",
length: Some(332), duration: Some(332),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/t6fIp7mMJ90/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAU4FUfZhmWVoLFj0XTx8S9qa40xw", url: "https://i.ytimg.com/vi/t6fIp7mMJ90/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAU4FUfZhmWVoLFj0XTx8S9qa40xw",
@ -2190,7 +2190,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "dFlDRhvM4L0", id: "dFlDRhvM4L0",
name: "『チェンソーマン』ノンクレジットオープニング / CHAINSAW MAN Opening│米津玄師 「KICK BACK」", name: "『チェンソーマン』ノンクレジットオープニング / CHAINSAW MAN Opening│米津玄師 「KICK BACK」",
length: Some(90), duration: Some(90),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dFlDRhvM4L0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBEBYFDdOM1Ozmr3W9LOopJxN_P0A", url: "https://i.ytimg.com/vi/dFlDRhvM4L0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBEBYFDdOM1Ozmr3W9LOopJxN_P0A",
@ -2232,7 +2232,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "6T67I2w1G2U", id: "6T67I2w1G2U",
name: "Extreme $1,000,000 Minecraft Challenge!", name: "Extreme $1,000,000 Minecraft Challenge!",
length: Some(643), duration: Some(643),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6T67I2w1G2U/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3pX_5AAn1wpsBoaAOycfn0VTKFw", url: "https://i.ytimg.com/vi/6T67I2w1G2U/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3pX_5AAn1wpsBoaAOycfn0VTKFw",
@ -2274,7 +2274,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "DvkTX-AquQo", id: "DvkTX-AquQo",
name: "Impossible 0.00001% Odds!", name: "Impossible 0.00001% Odds!",
length: Some(481), duration: Some(481),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DvkTX-AquQo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBDyzgTEw_hcJsgbdkES1jpVf5JRQ", url: "https://i.ytimg.com/vi/DvkTX-AquQo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBDyzgTEw_hcJsgbdkES1jpVf5JRQ",
@ -2316,7 +2316,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "F-7rQBY8uIQ", id: "F-7rQBY8uIQ",
name: "Lil Baby - Heyy (Official Video)", name: "Lil Baby - Heyy (Official Video)",
length: Some(193), duration: Some(193),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/F-7rQBY8uIQ/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDY7ymysPG8lRSheq3-W4MbhtRmBg", url: "https://i.ytimg.com/vi/F-7rQBY8uIQ/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDY7ymysPG8lRSheq3-W4MbhtRmBg",
@ -2358,7 +2358,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "atwHMKZ0SLU", id: "atwHMKZ0SLU",
name: "Boosie in the trap!", name: "Boosie in the trap!",
length: Some(9879), duration: Some(9879),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/atwHMKZ0SLU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwEo-0SV6JIHJv5C570MVj8NOF0g", url: "https://i.ytimg.com/vi/atwHMKZ0SLU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwEo-0SV6JIHJv5C570MVj8NOF0g",
@ -2400,7 +2400,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "Ut68FBnWbAI", id: "Ut68FBnWbAI",
name: "ok, let\'s talk about it. - The TryPod Ep. 181", name: "ok, let\'s talk about it. - The TryPod Ep. 181",
length: Some(4226), duration: Some(4226),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Ut68FBnWbAI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYyU_Bn4adi0X5zYDC4SiLWvbBgw", url: "https://i.ytimg.com/vi/Ut68FBnWbAI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYyU_Bn4adi0X5zYDC4SiLWvbBgw",
@ -2442,7 +2442,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "_Z3QKkl1WyM", id: "_Z3QKkl1WyM",
name: "Marvel Studios Black Panther: Wakanda Forever | Official Trailer", name: "Marvel Studios Black Panther: Wakanda Forever | Official Trailer",
length: Some(131), duration: Some(131),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/_Z3QKkl1WyM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA4FKEkGFypg_-RKBiNwaYebu2-Ag", url: "https://i.ytimg.com/vi/_Z3QKkl1WyM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA4FKEkGFypg_-RKBiNwaYebu2-Ag",
@ -2484,7 +2484,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "nMPCXuvL8EM", id: "nMPCXuvL8EM",
name: "The Super Mario Bros. Movie Direct", name: "The Super Mario Bros. Movie Direct",
length: Some(482), duration: Some(482),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/nMPCXuvL8EM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYYByVEhQgy1LwCBhwJQI0yTRt-A", url: "https://i.ytimg.com/vi/nMPCXuvL8EM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYYByVEhQgy1LwCBhwJQI0yTRt-A",
@ -2526,7 +2526,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "SS7HXxy3_2c", id: "SS7HXxy3_2c",
name: "Try Guys - SNL", name: "Try Guys - SNL",
length: Some(352), duration: Some(352),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/SS7HXxy3_2c/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD82-aIeAntzTzLV2B2r_DxDZsspw", url: "https://i.ytimg.com/vi/SS7HXxy3_2c/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD82-aIeAntzTzLV2B2r_DxDZsspw",
@ -2568,7 +2568,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "rvInpw0WGLc", id: "rvInpw0WGLc",
name: "Town Hall 15 Is Here! Clash of Clans New Update Available Now!", name: "Town Hall 15 Is Here! Clash of Clans New Update Available Now!",
length: Some(71), duration: Some(71),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rvInpw0WGLc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQvtDnFgRNeKVUdta-byfT-GB5Zg", url: "https://i.ytimg.com/vi/rvInpw0WGLc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQvtDnFgRNeKVUdta-byfT-GB5Zg",
@ -2610,7 +2610,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "etV_nxVU6l8", id: "etV_nxVU6l8",
name: "Wedding Stereotypes", name: "Wedding Stereotypes",
length: Some(676), duration: Some(676),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/etV_nxVU6l8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnKF_WbQvYdKrkG8ATtN_vXzJxYg", url: "https://i.ytimg.com/vi/etV_nxVU6l8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnKF_WbQvYdKrkG8ATtN_vXzJxYg",
@ -2652,7 +2652,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "i7ytY9Onf9o", id: "i7ytY9Onf9o",
name: "I Met Dream In Real Life", name: "I Met Dream In Real Life",
length: Some(569), duration: Some(569),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/i7ytY9Onf9o/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDBZtBV46pYtkX9iYznLGYBDV2sTg", url: "https://i.ytimg.com/vi/i7ytY9Onf9o/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDBZtBV46pYtkX9iYznLGYBDV2sTg",
@ -2694,7 +2694,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "jYSlpC6Ud2A", id: "jYSlpC6Ud2A",
name: "Stray Kids \"CASE 143\" M/V", name: "Stray Kids \"CASE 143\" M/V",
length: Some(221), duration: Some(221),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/jYSlpC6Ud2A/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2-XAcmCTxdI3vOWaftHv6XoRIjA", url: "https://i.ytimg.com/vi/jYSlpC6Ud2A/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2-XAcmCTxdI3vOWaftHv6XoRIjA",
@ -2736,7 +2736,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "XKRW1zgkCVc", id: "XKRW1zgkCVc",
name: "Where Animals\' Scientific Names Come From", name: "Where Animals\' Scientific Names Come From",
length: Some(581), duration: Some(581),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XKRW1zgkCVc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMs2hX0Ck9rFu-oRkmrL0eHM71qw", url: "https://i.ytimg.com/vi/XKRW1zgkCVc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMs2hX0Ck9rFu-oRkmrL0eHM71qw",
@ -2778,7 +2778,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "Th_O5kayAM0", id: "Th_O5kayAM0",
name: "Que Vas A Hacer - Nivel Codiciado X Jose Mejia (Video Oficial)", name: "Que Vas A Hacer - Nivel Codiciado X Jose Mejia (Video Oficial)",
length: Some(189), duration: Some(189),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Th_O5kayAM0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBgHmQpwmdauYj6wsz55dkPM39TAA", url: "https://i.ytimg.com/vi/Th_O5kayAM0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBgHmQpwmdauYj6wsz55dkPM39TAA",
@ -2820,7 +2820,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "O-mtWoF8umw", id: "O-mtWoF8umw",
name: "Yahritza Y Su Esencia & Ivan Cornejo - Inseparables (Official Video)", name: "Yahritza Y Su Esencia & Ivan Cornejo - Inseparables (Official Video)",
length: Some(178), duration: Some(178),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/O-mtWoF8umw/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCtdQW2CJyeeztP1cI0vepZg97Hig", url: "https://i.ytimg.com/vi/O-mtWoF8umw/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCtdQW2CJyeeztP1cI0vepZg97Hig",
@ -2862,7 +2862,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "rFO1iqDpMZU", id: "rFO1iqDpMZU",
name: "I Collected Every Illegal Item In Minecraft Hardcore", name: "I Collected Every Illegal Item In Minecraft Hardcore",
length: Some(1402), duration: Some(1402),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rFO1iqDpMZU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCcLAY1WamnInJO-1Nboej_DM9-6A", url: "https://i.ytimg.com/vi/rFO1iqDpMZU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCcLAY1WamnInJO-1Nboej_DM9-6A",
@ -2904,7 +2904,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "-1vsm5bhoyE", id: "-1vsm5bhoyE",
name: "Grupo Frontera - No Se Va (Letra Oficial)", name: "Grupo Frontera - No Se Va (Letra Oficial)",
length: Some(192), duration: Some(192),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/-1vsm5bhoyE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDD0Coytauq-4Xhp5W4b864_CsLpQ", url: "https://i.ytimg.com/vi/-1vsm5bhoyE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDD0Coytauq-4Xhp5W4b864_CsLpQ",
@ -2946,7 +2946,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "XQUiabixHzo", id: "XQUiabixHzo",
name: "I Speedran the $0.01 Challenge", name: "I Speedran the $0.01 Challenge",
length: Some(933), duration: Some(933),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XQUiabixHzo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKl4svV224P1eNszwLKSlbVjp5ug", url: "https://i.ytimg.com/vi/XQUiabixHzo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKl4svV224P1eNszwLKSlbVjp5ug",
@ -2988,7 +2988,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "8TzH0ayIcdo", id: "8TzH0ayIcdo",
name: "The Darkest Story I\'ve Ever Read", name: "The Darkest Story I\'ve Ever Read",
length: Some(4383), duration: Some(4383),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8TzH0ayIcdo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCA_OSaK05YpZIF5EdSLzLT0YU58g", url: "https://i.ytimg.com/vi/8TzH0ayIcdo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCA_OSaK05YpZIF5EdSLzLT0YU58g",
@ -3030,7 +3030,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "xkwc5TZmdIs", id: "xkwc5TZmdIs",
name: "GloRilla Glows Up In Every Way With Performance Of \"Tomorrow!\" & \"F.N.F.\" | Hip Hop Awards \'22", name: "GloRilla Glows Up In Every Way With Performance Of \"Tomorrow!\" & \"F.N.F.\" | Hip Hop Awards \'22",
length: Some(146), duration: Some(146),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xkwc5TZmdIs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCAvkSqlB9LUtsH5VyLSR-wRYcl6w", url: "https://i.ytimg.com/vi/xkwc5TZmdIs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCAvkSqlB9LUtsH5VyLSR-wRYcl6w",
@ -3072,7 +3072,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "eJPLiT1kCSM", id: "eJPLiT1kCSM",
name: "Museums: Last Week Tonight with John Oliver (HBO)", name: "Museums: Last Week Tonight with John Oliver (HBO)",
length: Some(2049), duration: Some(2049),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/eJPLiT1kCSM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBN3_gN9YEBvh7PwVYx3KysJjhuxg", url: "https://i.ytimg.com/vi/eJPLiT1kCSM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBN3_gN9YEBvh7PwVYx3KysJjhuxg",
@ -3114,7 +3114,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "zwa7NzNBQig", id: "zwa7NzNBQig",
name: "GloRilla, Cardi B - Tomorrow 2 (Official Music Video)", name: "GloRilla, Cardi B - Tomorrow 2 (Official Music Video)",
length: Some(214), duration: Some(214),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zwa7NzNBQig/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPmMVF2V__0t_FLFknkZ-bUtDklA", url: "https://i.ytimg.com/vi/zwa7NzNBQig/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPmMVF2V__0t_FLFknkZ-bUtDklA",
@ -3156,7 +3156,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "BHFcF0zcCgA", id: "BHFcF0zcCgA",
name: "Hurricane Ian Destroyed My Hometown!", name: "Hurricane Ian Destroyed My Hometown!",
length: Some(647), duration: Some(647),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BHFcF0zcCgA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB8rqMEm3EvFYXSRQoYAWJ_NIQCAQ", url: "https://i.ytimg.com/vi/BHFcF0zcCgA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB8rqMEm3EvFYXSRQoYAWJ_NIQCAQ",
@ -3198,7 +3198,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "xhYj9JJnLHM", id: "xhYj9JJnLHM",
name: "DDG 25th SURPRISE BIRTHDAY PARTY!!", name: "DDG 25th SURPRISE BIRTHDAY PARTY!!",
length: Some(3252), duration: Some(3252),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xhYj9JJnLHM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCGD3YlTctkj1ph4cwE3vVHXtb5Ag", url: "https://i.ytimg.com/vi/xhYj9JJnLHM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCGD3YlTctkj1ph4cwE3vVHXtb5Ag",
@ -3240,7 +3240,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "9YsEQaW0f2c", id: "9YsEQaW0f2c",
name: "Eddie Robinson Jr. goes off on Deion Sanders and Coach Prime responds", name: "Eddie Robinson Jr. goes off on Deion Sanders and Coach Prime responds",
length: Some(439), duration: Some(439),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9YsEQaW0f2c/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfutvJ5xzE0mXHpl-ND0ejlF7GSQ", url: "https://i.ytimg.com/vi/9YsEQaW0f2c/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfutvJ5xzE0mXHpl-ND0ejlF7GSQ",
@ -3282,7 +3282,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "m-SB3cpzLUU", id: "m-SB3cpzLUU",
name: "i\'m sorry.", name: "i\'m sorry.",
length: Some(322), duration: Some(322),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/m-SB3cpzLUU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLADeuenvZbbzaLfUD76EmkqoK2XqQ", url: "https://i.ytimg.com/vi/m-SB3cpzLUU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLADeuenvZbbzaLfUD76EmkqoK2XqQ",
@ -3324,7 +3324,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "TRGHIN2PGIA", id: "TRGHIN2PGIA",
name: "Christian Bale Breaks Down His Most Iconic Characters | GQ", name: "Christian Bale Breaks Down His Most Iconic Characters | GQ",
length: Some(1381), duration: Some(1381),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/TRGHIN2PGIA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDPK6QNVDxrPskvyPbELvgi5ER-9Q", url: "https://i.ytimg.com/vi/TRGHIN2PGIA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDPK6QNVDxrPskvyPbELvgi5ER-9Q",
@ -3366,7 +3366,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "U9HAaHc3wnc", id: "U9HAaHc3wnc",
name: "Guess Ionos Partner Pokémon! 🤔 | Pokémon Scarlet and Pokémon Violet", name: "Guess Ionos Partner Pokémon! 🤔 | Pokémon Scarlet and Pokémon Violet",
length: Some(211), duration: Some(211),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/U9HAaHc3wnc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBN7eQhGDi_EFbN4jlcxln2ZM_lFw", url: "https://i.ytimg.com/vi/U9HAaHc3wnc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBN7eQhGDi_EFbN4jlcxln2ZM_lFw",
@ -3408,7 +3408,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "4ywb2pXRYZI", id: "4ywb2pXRYZI",
name: "Quavo & Takeoff - To The Bone feat. YoungBoy Never Broke Again (Official visualizer)", name: "Quavo & Takeoff - To The Bone feat. YoungBoy Never Broke Again (Official visualizer)",
length: Some(284), duration: Some(284),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4ywb2pXRYZI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmcKY4axF-lri29VZdveVQ-PnhoQ", url: "https://i.ytimg.com/vi/4ywb2pXRYZI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmcKY4axF-lri29VZdveVQ-PnhoQ",
@ -3450,7 +3450,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "wP9zsx04fWY", id: "wP9zsx04fWY",
name: "WE ARE COMING! to a city near you!", name: "WE ARE COMING! to a city near you!",
length: Some(59), duration: Some(59),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/wP9zsx04fWY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIjDcaW7ckphUnayl-n6pzlAYFjg", url: "https://i.ytimg.com/vi/wP9zsx04fWY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIjDcaW7ckphUnayl-n6pzlAYFjg",
@ -3492,7 +3492,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "9acxn7qAST4", id: "9acxn7qAST4",
name: "Overwatch 2 Animated Short | “Kiriko”", name: "Overwatch 2 Animated Short | “Kiriko”",
length: Some(587), duration: Some(587),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9acxn7qAST4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdF-kdruGuT-XY8lfOvcyuHICr0g", url: "https://i.ytimg.com/vi/9acxn7qAST4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdF-kdruGuT-XY8lfOvcyuHICr0g",
@ -3534,7 +3534,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "8-tQKwB3RKw", id: "8-tQKwB3RKw",
name: "Big Boogie - Backend (Remix) Shot by @Camera Gawd", name: "Big Boogie - Backend (Remix) Shot by @Camera Gawd",
length: Some(164), duration: Some(164),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/8-tQKwB3RKw/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_ya-jo9iSbGcwaV4bcKKpnuNUcw", url: "https://i.ytimg.com/vi/8-tQKwB3RKw/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_ya-jo9iSbGcwaV4bcKKpnuNUcw",
@ -3576,7 +3576,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "5HNy7b6bz4g", id: "5HNy7b6bz4g",
name: "I Tried Out for an NBA Team and This Happened…", name: "I Tried Out for an NBA Team and This Happened…",
length: Some(805), duration: Some(805),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5HNy7b6bz4g/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFGg1F188jylbs7w7_LC1vIGmrHA", url: "https://i.ytimg.com/vi/5HNy7b6bz4g/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFGg1F188jylbs7w7_LC1vIGmrHA",
@ -3618,7 +3618,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "Uq9gPaIzbe8", id: "Uq9gPaIzbe8",
name: "Sam Smith, Kim Petras - Unholy", name: "Sam Smith, Kim Petras - Unholy",
length: Some(276), duration: Some(276),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Uq9gPaIzbe8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB20DY1i0dGRazj2X17cJ9ac2B_ZA", url: "https://i.ytimg.com/vi/Uq9gPaIzbe8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB20DY1i0dGRazj2X17cJ9ac2B_ZA",
@ -3660,7 +3660,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "78sCR9mwBV4", id: "78sCR9mwBV4",
name: "How Draymond Green Was after hitting Jordan Poole in practice", name: "How Draymond Green Was after hitting Jordan Poole in practice",
length: Some(76), duration: Some(76),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/78sCR9mwBV4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjPBTgNYle-y44-wEwqvCuR81VUw", url: "https://i.ytimg.com/vi/78sCR9mwBV4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjPBTgNYle-y44-wEwqvCuR81VUw",
@ -3702,7 +3702,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "2U9kNnHvE8o", id: "2U9kNnHvE8o",
name: "LAKERS at WARRIORS | NBA PRESEASON FULL GAME HIGHLIGHTS | October 9, 2022", name: "LAKERS at WARRIORS | NBA PRESEASON FULL GAME HIGHLIGHTS | October 9, 2022",
length: Some(585), duration: Some(585),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2U9kNnHvE8o/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAio7KicdLbL_aj4CxCaxBZ6NtYkA", url: "https://i.ytimg.com/vi/2U9kNnHvE8o/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAio7KicdLbL_aj4CxCaxBZ6NtYkA",
@ -3744,7 +3744,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "xXGFb19rLtE", id: "xXGFb19rLtE",
name: "Bray Wyatt returns to WWE: WWE Extreme Rules 2022 (WWE Network Exclusive)", name: "Bray Wyatt returns to WWE: WWE Extreme Rules 2022 (WWE Network Exclusive)",
length: Some(106), duration: Some(106),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xXGFb19rLtE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBb72TJR1vnUOrlV2LA4_bJjmi_5A", url: "https://i.ytimg.com/vi/xXGFb19rLtE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBb72TJR1vnUOrlV2LA4_bJjmi_5A",
@ -3786,7 +3786,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "7IGD5URBGZ8", id: "7IGD5URBGZ8",
name: "We Got Engaged", name: "We Got Engaged",
length: Some(1325), duration: Some(1325),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7IGD5URBGZ8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArNHqdfOCsU-_-O9g4hGna9iKODw", url: "https://i.ytimg.com/vi/7IGD5URBGZ8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArNHqdfOCsU-_-O9g4hGna9iKODw",
@ -3828,7 +3828,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "5sRVxb2wkGM", id: "5sRVxb2wkGM",
name: "We Bought Every Weird Ad We Saw", name: "We Bought Every Weird Ad We Saw",
length: Some(1602), duration: Some(1602),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5sRVxb2wkGM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAXej_beyPyWOtxMGWzPqyqZTqoTA", url: "https://i.ytimg.com/vi/5sRVxb2wkGM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAXej_beyPyWOtxMGWzPqyqZTqoTA",
@ -3870,7 +3870,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "4YEEDqke-D0", id: "4YEEDqke-D0",
name: "Jump into a Paldean Journey | Pokémon Scarlet and Pokémon Violet", name: "Jump into a Paldean Journey | Pokémon Scarlet and Pokémon Violet",
length: Some(847), duration: Some(847),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4YEEDqke-D0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDSK4tHB8wlTj2l2WVLtwX_ybVr6Q", url: "https://i.ytimg.com/vi/4YEEDqke-D0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDSK4tHB8wlTj2l2WVLtwX_ybVr6Q",
@ -3912,7 +3912,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "rYjmxcV1se4", id: "rYjmxcV1se4",
name: "Film Theory: Dora is CURSED! (Dora The Explorer)", name: "Film Theory: Dora is CURSED! (Dora The Explorer)",
length: Some(1085), duration: Some(1085),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/rYjmxcV1se4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA-U-oTzZlg6Tw4UDUaUdLuqbVpHQ", url: "https://i.ytimg.com/vi/rYjmxcV1se4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA-U-oTzZlg6Tw4UDUaUdLuqbVpHQ",
@ -3954,7 +3954,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "y8qhSduN6sk", id: "y8qhSduN6sk",
name: "PC Games on Console - Scott The Woz", name: "PC Games on Console - Scott The Woz",
length: Some(1912), duration: Some(1912),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/y8qhSduN6sk/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKr5KTGdpoHjcP4E_wswYN46eDFA", url: "https://i.ytimg.com/vi/y8qhSduN6sk/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKr5KTGdpoHjcP4E_wswYN46eDFA",
@ -3996,7 +3996,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "yTLzGSJJ5ts", id: "yTLzGSJJ5ts",
name: "I Spent 50 Hours Customizing The World\'s Largest Xbox!", name: "I Spent 50 Hours Customizing The World\'s Largest Xbox!",
length: Some(886), duration: Some(886),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yTLzGSJJ5ts/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_jLg-SFII8oghifvKnU8q_witGA", url: "https://i.ytimg.com/vi/yTLzGSJJ5ts/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_jLg-SFII8oghifvKnU8q_witGA",
@ -4038,7 +4038,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "x1u8-i2pWg0", id: "x1u8-i2pWg0",
name: "Witness Hurricane Ian As It Hits My Home In Cape Coral, FL And View The Aftermath", name: "Witness Hurricane Ian As It Hits My Home In Cape Coral, FL And View The Aftermath",
length: Some(855), duration: Some(855),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/x1u8-i2pWg0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB1rjvuJLU6f3DpFqIoA6tFDQJvGg", url: "https://i.ytimg.com/vi/x1u8-i2pWg0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB1rjvuJLU6f3DpFqIoA6tFDQJvGg",
@ -4080,7 +4080,7 @@ expression: map_res.c
VideoItem( VideoItem(
id: "FfWtIaDtfYk", id: "FfWtIaDtfYk",
name: "Lets Travel to The Most Extreme Place in The Universe", name: "Lets Travel to The Most Extreme Place in The Universe",
length: Some(766), duration: Some(766),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/FfWtIaDtfYk/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBvWiqbrr3zFTch1lCD52GIojWf8Q", url: "https://i.ytimg.com/vi/FfWtIaDtfYk/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBvWiqbrr3zFTch1lCD52GIojWf8Q",

View file

@ -0,0 +1,955 @@
---
source: src/client/video_details.rs
expression: map_res.c
---
Paginator(
count: Some(20617),
items: [
Comment(
id: "UgyNTT8uxDEjgYqybIF4AaABAg",
text: RichText([
Text(
text: "⚠\u{fe0f} Important notice: if you put any symbol immediately after markup, it will not work: *here is the comma*, without space.\n\nYou should ",
),
Text(
text: "leave space before and after",
style: Style(
bold: true,
),
),
Text(
text: " , to make it work.\n\nSame for _underscore_, and -hyphen-.\n\nLeave space before opening and after closing ",
),
Text(
text: "underscore",
style: Style(
italic: true,
),
),
Text(
text: " and ",
),
Text(
text: "hyphen.",
style: Style(
strikethrough: true,
),
),
Text(
text: " Put all dots and commas inside markup.",
),
]),
author: Some(ChannelTag(
id: "UCUJfyiofeHQTmxKwZ6cCwIg",
name: "@kibizoid",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/ytc/AIdro_nY2PkIyojDqs9Bk5RY6J90-U7wePswTYl799DNJQ=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 years ago (edited)",
like_count: Some(293),
reply_count: 220,
replies: Paginator(
count: Some(220),
items: [],
ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5TlRUOHV4REVqZ1lxeWJJRjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZw%3D%3D"),
endpoint: browse,
),
by_owner: false,
pinned: true,
hearted: true,
),
Comment(
id: "UgycWgNOoon0A4EV9LZ4AaABAg",
text: RichText([
Text(
text: "Me: tests out fonts",
style: Style(
bold: true,
),
),
Text(
text: "\nFriend: ",
),
Text(
text: "Why are you doing this?",
style: Style(
bold: true,
),
),
Text(
text: "\nMe: ",
),
Text(
text: "my goals are beyond your understanding",
style: Style(
italic: true,
),
),
]),
author: Some(ChannelTag(
id: "UCr0PeEY_am9P-GobbfvKECw",
name: "@userfjdrg",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/Zr2PmQsrD4obL2n5HS18X3jKXGJ-HFjIJS_OcZv4I5VAk5HuLRCpzFprY5Hh7n23-FCURVJi=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 years ago",
like_count: Some(80),
reply_count: 34,
replies: Paginator(
count: Some(34),
items: [],
ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5Y1dnTk9vb24wQTRFVjlMWjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZw%3D%3D"),
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: true,
),
Comment(
id: "Ugy5iq4M1c3WS3lGmih4AaABAg",
text: RichText([
Text(
text: "To-do list\n• ",
),
Text(
text: "be dumb",
style: Style(
strikethrough: true,
),
),
Text(
text: "\n• ",
),
Text(
text: "get kicked out when i can legally live alone",
style: Style(
strikethrough: true,
),
),
Text(
text: "\n• ",
),
Text(
text: "spend money on pointless things",
style: Style(
strikethrough: true,
),
),
]),
author: Some(ChannelTag(
id: "UCDB5XvpUB8cEvjbWewlp28w",
name: "@T0r0xFan",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/PPL5vj6-pXFpaLa41yet34OHGcEYt06WPQLmruaiFJSM0eLmn9ZQW0QgTtdafDBO-kNy2oukVA=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 years ago (edited)",
like_count: Some(48),
reply_count: 22,
replies: Paginator(
count: Some(22),
items: [],
ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5NWlxNE0xYzNXUzNsR21paDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZw%3D%3D"),
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: true,
),
Comment(
id: "UgxqDIVVcoigjtx4Dtl4AaABAg",
text: RichText([
Text(
text: "omg ",
),
Text(
text: "thank",
style: Style(
italic: true,
),
),
Text(
text: " you! Ive been looking for this tutorial for a ",
),
Text(
text: "year",
style: Style(
strikethrough: true,
),
),
Text(
text: " ",
),
Text(
text: "forever",
style: Style(
bold: true,
),
),
]),
author: Some(ChannelTag(
id: "UCxa4xER0-cFbcIYp0ZIeVaw",
name: "@LunasVibe",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/P5Io1kQb7GRwe4pgNsaYFEm30hDl_T7Tp5rZo7aYWFkqbV6Yp_lCYVuaaK7O3SEsnIX_5iC1Hw=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "1 month ago",
like_count: Some(0),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "UgxDQfVQdYaWR-VUM-94AaABAg",
text: RichText([
Text(
text: "tysm",
style: Style(
bold: true,
),
),
Text(
text: "\n",
),
Text(
text: "i finally learned it",
style: Style(
italic: true,
),
),
Text(
text: "\n",
),
Text(
text: "other channel never go straight to the point",
style: Style(
strikethrough: true,
),
),
]),
author: Some(ChannelTag(
id: "UC8cojSRuyZT74Bs_b5AecTA",
name: "@Bp_bts_skz_for_life",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/0zFBRYv8wo2JqzkyMk29xgC8zD1nKYNSSoD3Zo9XP8t9rHrbTYEEt0gdu0O3XS7Scpza3JJKog=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "1 month ago (edited)",
like_count: Some(1),
reply_count: 1,
replies: Paginator(
count: Some(1),
items: [],
ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd4RFFmVlFkWWFXUi1WVU0tOTRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZw%3D%3D"),
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "UgxFvrmwec-jmfQyGRR4AaABAg",
text: RichText([
Text(
text: "I like how this was straight to the point.",
style: Style(
italic: true,
),
),
Text(
text: " ",
),
Text(
text: "Unlike other channels lol",
style: Style(
strikethrough: true,
),
),
Text(
text: " ",
),
Text(
text: "Thank you!",
style: Style(
bold: true,
),
),
]),
author: Some(ChannelTag(
id: "UCCyIVS_s1-jA48pPft8AifA",
name: "@ishouldbesleepingalready",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/N90y_XdoDP6Rd1v6Z5OpDH8jMtvqpU1qnF6DJoIL6qcLiWfZK7ok8u_IxqSxJazaQH6oqhEbqA=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 years ago",
like_count: Some(241),
reply_count: 65,
replies: Paginator(
count: Some(65),
items: [],
ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd4RnZybXdlYy1qbWZReUdSUjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZw%3D%3D"),
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "Ugy-3OYEcwxkvyrrCqN4AaABAg",
text: RichText([
Text(
text: "To the person who is reading this: ",
),
Text(
text: "You\'re intelligent and smart, stay safe",
style: Style(
bold: true,
),
),
]),
author: Some(ChannelTag(
id: "UCQklgcA8quxZm5pgNAsVJAQ",
name: "@blocking948",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/ytc/AIdro_nAg9bEjW4otWlryJwqAgiDRLzy8ZX-ROqkDY1ksQ=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "3 years ago (edited)",
like_count: Some(711),
reply_count: 250,
replies: Paginator(
count: Some(250),
items: [],
ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5LTNPWUVjd3hrdnlyckNxTjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZw%3D%3D"),
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: true,
),
Comment(
id: "Ugylw3ss_xv9svWbRud4AaABAg",
text: RichText([
Text(
text: " ",
),
Text(
text: "life could be a dream, life could be a dream",
style: Style(
bold: true,
italic: true,
),
),
Text(
text: " ",
),
]),
author: Some(ChannelTag(
id: "UCSyjdP7Duhns4Ybncy6ObZA",
name: "@malarchee0899",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/dSwRzOfoKrN4yc58uhFlIyqBXmbi6B14-On-wEEM_S6Nr6aDHTkG-xVkI1-u-uBwqKqodEgrMro=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "13 days ago",
like_count: Some(2),
reply_count: 1,
replies: Paginator(
count: Some(1),
items: [],
ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5bHczc3NfeHY5c3ZXYlJ1ZDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZw%3D%3D"),
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "UgydXobRB0F5dW1KVsF4AaABAg",
text: RichText([
Text(
text: "Woah!",
style: Style(
bold: true,
),
),
Text(
text: " ",
),
Text(
text: "thank you for showing me this",
style: Style(
strikethrough: true,
),
),
Text(
text: " ",
),
Text(
text: "I really needed it!",
style: Style(
italic: true,
),
),
]),
author: Some(ChannelTag(
id: "UC9f9uJgwsCBBHA4CioIzdkA",
name: "@fatimagarcia3162",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/cKmBVKqq9mkW4F355y3UtUw4POwTWKi-0LUYLDx85vffRd7pU-LECXvudUrHH_9qobo6A1kM=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "1 month ago",
like_count: Some(0),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "UgwmFn6ejKltcZ_BZvl4AaABAg",
text: RichText([
Text(
text: "The fitness gram pacer test is a multistage aerobic capacity test that progressively gets more difficult as it continues.",
style: Style(
bold: true,
),
),
]),
author: Some(ChannelTag(
id: "UCIymYi-_AJ10pYrh8sqTBTg",
name: "@No-du9is",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/ytc/AIdro_lPWhGGvIIA08s4u_-Lwyx88rGSRksOFeYHipE=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 years ago",
like_count: Some(22),
reply_count: 12,
replies: Paginator(
count: Some(12),
items: [],
ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd3bUZuNmVqS2x0Y1pfQlp2bDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZw%3D%3D"),
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: true,
),
Comment(
id: "UgxtXH6bWRWm8ahavfR4AaABAg",
text: RichText([
Text(
text: "YouTube got a new update(or probably it\'s a bug) and for that it\'s not showing bold/strikethrough/italic on the app but it\'s showing on other places.",
),
]),
author: Some(ChannelTag(
id: "UCyaflzzOH0GC683DlQ-fzwg",
name: "@HaruXen",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "3 years ago",
like_count: Some(167),
reply_count: 337,
replies: Paginator(
count: Some(337),
items: [],
ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd4dFhINmJXUldtOGFoYXZmUjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZw%3D%3D"),
endpoint: browse,
),
by_owner: true,
pinned: false,
hearted: false,
),
Comment(
id: "UgyHg3XnjBV935da_Lh4AaABAg",
text: RichText([
Text(
text: "omg it works i actuallly cant believe this ive been wanting to do this for ages thankyou so much!",
style: Style(
strikethrough: true,
),
),
]),
author: Some(ChannelTag(
id: "UCFL5d8rMCfbxppODSbRLOgQ",
name: "@Auf-dem-weg-zum-sieg",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/oi4vbSV3Cx9G97QcHkSMWL98LksC6rnTLoq93T5sOO8MNuZPXWEXq9Nqkp8XYF93L2WklHADmNY=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "4 days ago",
like_count: Some(0),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "UgxIL5emXyn42htlfZZ4AaABAg",
text: RichText([
Text(
text: "I did know how to do that writing where the text is highlighted before, and now after I watched this video I knew even how to write those styles of text.",
),
]),
author: Some(ChannelTag(
id: "UChkVaXCYN_QcaE50zETAMOg",
name: "@CasamTheAnimator",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/ctUbv8QpWPZRZumEBTVhlSSxg0JfiyvJ40nrWj_0ivOy5s6OoPK7iNp01diskRLs1Hig4ZE82w=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "3 weeks ago",
like_count: Some(0),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "UgwMKY-89XCdCVB9bXp4AaABAg",
text: RichText([
Text(
text: "Nobody asked for, but everyone needed",
),
]),
author: Some(ChannelTag(
id: "UCDezbPSXn3awzhxVm7qhGtg",
name: "@0_Ed",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/4DWdgRIJ0lEV-e4GZFrdf8MGxQBtML2aix2orKBt3iM6QBrh7Kg1ur1FZlyRmqWpWnRPRIex9w=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "3 years ago",
like_count: Some(12),
reply_count: 5,
replies: Paginator(
count: Some(5),
items: [],
ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd3TUtZLTg5WENkQ1ZCOWJYcDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZw%3D%3D"),
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: true,
),
Comment(
id: "UgyfuG2sCDvgnRUYHJp4AaABAg",
text: RichText([
Text(
text: "me: types bold\n\nHaruTutorial: ",
),
Text(
text: "your bald",
style: Style(
bold: true,
),
),
]),
author: Some(ChannelTag(
id: "UCge96FdHXkARBjzPhdYl8Sg",
name: "@stargazeu",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/JoeW_qNuf9b6BusB3E6JShizqRLB4jR3NaTnsnzvpUQ1KW88OcS74_Sx1h6vjZiXK2uOxnrUNeY=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "3 years ago",
like_count: Some(42),
reply_count: 15,
replies: Paginator(
count: Some(15),
items: [],
ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5ZnVHMnNDRHZnblJVWUhKcDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZw%3D%3D"),
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: true,
),
Comment(
id: "UgwAXndNNEa1h-VVIC94AaABAg",
text: RichText([
Text(
text: "the McDonalds dont feel like turning the Icecream machine on",
style: Style(
italic: true,
),
),
]),
author: Some(ChannelTag(
id: "UCkmY4kQ8e8gDRllV485Rd9g",
name: "@Flowershowrise",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/c2iMsq-wFjKRjTDqPy14UpMI1B9hNms4moW9H7xtPjOMI0vjaHwN94me23upYar-8CE3s6QkFw=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "1 month ago",
like_count: Some(2),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "UgwwEBqareQ0tpsW7RR4AaABAg",
text: RichText([
Text(
text: "YOOO THIS IS SICK! THANK YOU MAN!",
style: Style(
bold: true,
italic: true,
strikethrough: true,
),
),
]),
author: Some(ChannelTag(
id: "UChIbg4dGguUwzg7O-xmi57g",
name: "@ziaaaaa.",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/HEAdH93oAQu2ScXNmiKIISapv5O9dKSVLuT3gD1zJhSgHqTaptL7JPun6A5GZqg58_C75_OPkQ=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "1 month ago",
like_count: Some(0),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "UgxnFMLrpvbCWzHidml4AaABAg",
text: RichText([
Text(
text: "Someone must honor him",
style: Style(
bold: true,
),
),
Text(
text: " , this man is ",
),
Text(
text: "the best",
style: Style(
strikethrough: true,
),
),
Text(
text: " , no , he is a ",
),
Text(
text: "LEGEND",
style: Style(
bold: true,
),
),
Text(
text: " . ",
),
Text(
text: "We must all thank him for his video",
style: Style(
italic: true,
),
),
Text(
text: " and for ",
),
Text(
text: "getting to the point immediately.",
style: Style(
bold: true,
),
),
]),
author: Some(ChannelTag(
id: "UCeGJuvHZqqebHTE_Kz2zyug",
name: "@Dahackabarade",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/csf-cEr2z4uWg8ZpVEPqgS2D2ZUHKBAJWnIbnzQCRtAlioSlUbtQZAyx76tnyfpXpixrsKke6DE=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 years ago (edited)",
like_count: Some(11),
reply_count: 5,
replies: Paginator(
count: Some(5),
items: [],
ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd4bkZNTHJwdmJDV3pIaWRtbDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZw%3D%3D"),
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "UgwCIwmF6synP7UF_wV4AaABAg",
text: RichText([
Text(
text: "Never gonna give you up.",
style: Style(
bold: true,
),
),
Text(
text: " Im gonna let u down",
),
]),
author: Some(ChannelTag(
id: "UCyrDrBrWvXwIhf2s2F1dq-Q",
name: "@imnotjust...2326",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/Clzb1GD_KnRm9u7mOAN165HZO_H0jhXQlRG8YvEjqkDuBUNibGkclRyRZIdhi-yJhC4hHorGLQ=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 years ago",
like_count: Some(14),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: true,
),
Comment(
id: "Ugyb5Wy91Yon69o3wLh4AaABAg",
text: RichText([
Text(
text: "Thank you for being ",
),
Text(
text: "A Legend",
style: Style(
strikethrough: true,
),
),
Text(
text: " No, ",
),
Text(
text: "The Goat",
style: Style(
bold: true,
),
),
Text(
text: " ",
),
Text(
text: "Lets go dude",
style: Style(
italic: true,
),
),
]),
author: Some(ChannelTag(
id: "UCPCgaC_EJlS5RpRRWPHWvKA",
name: "@gfghdgfghd6391",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/ytc/AIdro_n0lpwvjOP9HO_XHxzInwQoqQ7qIXeR0SqZVbCE=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "1 month ago",
like_count: Some(0),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
],
ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYy4gIKuAJnZXRfcmFua2VkX3N0cmVhbXMtLUNxWUJDSUFFRlJlMzBUZ2Ftd0VLbGdFSTJGOFFnQVFZQnlLTEFSdUNtdFZ5a3dZMFFzVVVvM3I0LUY0OWU2d3RGSGFjbDIxS0Nsd3M4ZFZNaGdDdm9VWFhac2NZNXVncURIaUNiQVpveUczUEh6MTRPQ0tJV1BZTm9PTnN6dlFPVDZkaFZXMGRiSlZNelJXSW5QTm5QY0pyTmhQbzAyT1ZuamlVcHJTTHc1UEZxVHFBRkxlYXEtSHQtdU5uZkp1SzItMXVhQkp2aWE3S183QzgzOURiekJhY2tFeVRzUUFRRkJJRkNJZ2dHQUFTQndpSElCQUJHQUFTQlFpb0lCZ0FFZ1VJaVNBWUFCSUhDSVVnRUFrWUFSSUhDSVFnRUFzWUFSZ0EiESILUWlwMVZrVHVNNzAwAHgBKBRCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
endpoint: browse,
)

View file

@ -0,0 +1,351 @@
---
source: src/client/video_details.rs
expression: map_res.c
---
Paginator(
count: None,
items: [
Comment(
id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-GzThFMUcw",
text: RichText([
Text(
text: "Fact🙌🏻",
),
]),
author: Some(ChannelTag(
id: "UC4I0-MXGyTRsc1tsJrDMh2A",
name: "@Sadaf788",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/uIXOBEBIhYn6Y8cQHlhaGGnCqOqS8PI5YR_Cx28qR_Y_p1qkjHC8V68iwxfeJ20eQ3zp81owJ64=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 months ago",
like_count: Some(800),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H295I5iMZ",
text: RichText([
Text(
text: "Facts",
),
]),
author: Some(ChannelTag(
id: "UCdJ0CAWWa1rRjRbVrQUrU_w",
name: "@Biggest_Onceu",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/dHe_Zmr-7EueUz0R-BbuFoGwRyNMXwa3gb_GJMgAie9yU5PM6LbgTlNJ1zivRxnjiFg2nrlF1Es=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 months ago",
like_count: Some(530),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H73oLoHkI",
text: RichText([
Text(
text: "Faacttts",
),
]),
author: Some(ChannelTag(
id: "UCPPhfcNhQ768F0Hhk3-25hA",
name: "@neni996",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/t__fCiOIhKCg2BwaxaRog9F_a5uemd8rTEvwzWYl6WeLn-nN9xEW0FvxUtM0fQrh2Dj_6ENsGQ=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 months ago",
like_count: Some(412),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H7nBbPD5z",
text: RichText([
Text(
text: "REAL",
),
]),
author: Some(ChannelTag(
id: "UCQyomFJDEQtC2lbQ6E7QUGA",
name: "@momolvs",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/nt6GjcwAs8NPgaF29pn-cHTPmPAwQC_e_lXQHGDjZJGSRKzsH4s3le8Wpg0ByAUvPwTSHWe0OA=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 months ago",
like_count: Some(312),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H9s3LvStZ",
text: RichText([
Text(
text: "FR!!",
),
]),
author: Some(ChannelTag(
id: "UC9HOPOf3gD3aw6Ej9WZ-rYg",
name: "@user-vv9yp1fh8w",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/ytc/AIdro_nqyUCWW7jqWrg_39XNQ18-acPouL6wyHeQnZOMbmlSa9x2YGWINkfU1DLcvaXw=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 months ago",
like_count: Some(187),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HB52Dv3SL",
text: RichText([
Text(
text: "fato.",
),
]),
author: Some(ChannelTag(
id: "UCW6ua0VDEFz7SyVMX01fTCA",
name: "@millenatwice",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/rInaNzUF3JLL_pCNfZtZlf2cHipf1yM4grr8VGJRHocwOQiuq1x7kUVi24q3ydtDC0j8bqbw2vA=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 months ago",
like_count: Some(165),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HDLrM1OPD",
text: RichText([
Text(
text: "For sure!! TWICE is always TWICE!! They always give GOOD MUSIC",
),
]),
author: Some(ChannelTag(
id: "UCqDSps4SV0v8Dzf8esr6ScQ",
name: "@Its_me_hi_good",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/ytc/AIdro_nfh9rWK7_gae1YkUgKuq13G9OUpxQCqrXAAi1hfPkCvHeHORbq3DUTYm7b5eoy=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 months ago",
like_count: Some(341),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HIAbm3Him",
text: RichText([
Text(
text: "Fr",
),
]),
author: Some(ChannelTag(
id: "UCFA4BaLyvM1DDNsFyE_BHqQ",
name: "@amanpreetbrar7836",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/ytc/AIdro_n1M-xxgSLIqe17kDv-i-tPn23FT1ywabpRAQ=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 months ago",
like_count: Some(84),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HIrpOKIi7",
text: RichText([
Text(
text: "Presave I got you and with youth on spotify",
),
]),
author: Some(ChannelTag(
id: "UCxMDESp088wGItVM4xXACgw",
name: "@RitaOnce9",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/hVTumbLCpmtJw0c2mq1B-ES5W3kdYPqnNrtzEcUhxCoUN6dAutXc6exaPRnBMLM6Jw1ILPoBDg=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 months ago",
like_count: Some(112),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
Comment(
id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HKMOSBnLK",
text: RichText([
Text(
text: "real",
),
]),
author: Some(ChannelTag(
id: "UCqeOr9ddrs_d6OgboKjk6zw",
name: "@twiceupremacy",
avatar: [
Thumbnail(
url: "https://yt3.ggpht.com/ytc/AIdro_lpKYjxtRm1HSjv3tFvGwrvnRILmJoQrPTBBOFG=s88-c-k-c0x00ffffff-no-rj",
width: 88,
height: 88,
),
],
verification: None,
subscriber_count: None,
)),
publish_date: "[date]",
publish_date_txt: "2 months ago",
like_count: Some(75),
reply_count: 0,
replies: Paginator(
count: Some(0),
items: [],
ctoken: None,
endpoint: browse,
),
by_owner: false,
pinned: false,
hearted: false,
),
],
ctoken: Some("Eg0SC2hhZjY3ZUtGMHVvGAYy1wEKUGdldF9jb21tZW50X3dpdGhfcmVwbGllc19zdHJlYW0tLUNnZ0lnQVFWRjdmUk9CSUZDS0FnR0FFWUFDSU9DZ3dJeXUzdXJRWVE2Tkt2NGdFGlASGlVnenUtdDQ4dlY5U2pkZVdJTWg0QWFBQkFnIgIIACoYVUNhTzZUWXRsQzhVNXR0ejYyaFRyWmdnMgtoYWY2N2VLRjB1b0AASDKCAQIIASgKQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZw%3D%3D"),
endpoint: browse,
)

View file

@ -149,7 +149,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "aRpkasmB6so", id: "aRpkasmB6so",
name: "18 de setembro de 2022", name: "18 de setembro de 2022",
length: Some(184), duration: Some(184),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/aRpkasmB6so/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBeNO-THn7_jo4Qy5uA9y_3ilD2TA", url: "https://i.ytimg.com/vi/aRpkasmB6so/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBeNO-THn7_jo4Qy5uA9y_3ilD2TA",
@ -186,7 +186,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "lCXqNCd0m10", id: "lCXqNCd0m10",
name: "aespa(エスパ) Savage + Next Level + Black Mamba💕Stage Mix Compilation🔥에스파 무대모음 KBS Music Bank", name: "aespa(エスパ) Savage + Next Level + Black Mamba💕Stage Mix Compilation🔥에스파 무대모음 KBS Music Bank",
length: Some(898), duration: Some(898),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/lCXqNCd0m10/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAHH0ng9zLs0Vy4d6oTsahpPFj31w", url: "https://i.ytimg.com/vi/lCXqNCd0m10/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAHH0ng9zLs0Vy4d6oTsahpPFj31w",
@ -223,7 +223,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "tDukIfFzX18", id: "tDukIfFzX18",
name: "[MV] Hwa Sa(화사) _ Maria(마리아)", name: "[MV] Hwa Sa(화사) _ Maria(마리아)",
length: Some(231), duration: Some(231),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/tDukIfFzX18/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA0F06QIAvjOJc_7TmQYcfKN5Zfaw", url: "https://i.ytimg.com/vi/tDukIfFzX18/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA0F06QIAvjOJc_7TmQYcfKN5Zfaw",
@ -260,7 +260,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "e-ORhEE9VVg", id: "e-ORhEE9VVg",
name: "Taylor Swift - Blank Space", name: "Taylor Swift - Blank Space",
length: Some(273), duration: Some(273),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/e-ORhEE9VVg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBK6z4g715U9cgNRnG2IZ4wEQZBkA", url: "https://i.ytimg.com/vi/e-ORhEE9VVg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBK6z4g715U9cgNRnG2IZ4wEQZBkA",
@ -297,7 +297,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "qfVuRQX0ydQ", id: "qfVuRQX0ydQ",
name: "[MV] Weeekly(위클리) _ After School", name: "[MV] Weeekly(위클리) _ After School",
length: Some(225), duration: Some(225),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qfVuRQX0ydQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArxgEVeqsLChXxDMe7SmFGnesqmQ", url: "https://i.ytimg.com/vi/qfVuRQX0ydQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArxgEVeqsLChXxDMe7SmFGnesqmQ",
@ -334,7 +334,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "tyrVtwE8Gv0", id: "tyrVtwE8Gv0",
name: "NCT U 엔시티 유 \'Make A Wish (Birthday Song)\' MV", name: "NCT U 엔시티 유 \'Make A Wish (Birthday Song)\' MV",
length: Some(249), duration: Some(249),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/tyrVtwE8Gv0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjumgWjrKFVPhKG0HyX9aEdP203g", url: "https://i.ytimg.com/vi/tyrVtwE8Gv0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjumgWjrKFVPhKG0HyX9aEdP203g",
@ -371,7 +371,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "X-uJtV8ScYk", id: "X-uJtV8ScYk",
name: "Stray Kids \"Back Door\" M/V", name: "Stray Kids \"Back Door\" M/V",
length: Some(218), duration: Some(218),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/X-uJtV8ScYk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDTw325wBimEPkWb6vRUPSj2b13gw", url: "https://i.ytimg.com/vi/X-uJtV8ScYk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDTw325wBimEPkWb6vRUPSj2b13gw",
@ -408,7 +408,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "MjCZfZfucEc", id: "MjCZfZfucEc",
name: "ITZY “LOCO” M/V @ITZY", name: "ITZY “LOCO” M/V @ITZY",
length: Some(233), duration: Some(233),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/MjCZfZfucEc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB6oWVmDxMyArxL6GuaFhT_vwg_nA", url: "https://i.ytimg.com/vi/MjCZfZfucEc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB6oWVmDxMyArxL6GuaFhT_vwg_nA",
@ -445,7 +445,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "2FzSv66c7TQ", id: "2FzSv66c7TQ",
name: "A E S P A (에스파) ALL SONGS PLAYLIST 2022 | 에스파 노래 모음", name: "A E S P A (에스파) ALL SONGS PLAYLIST 2022 | 에스파 노래 모음",
length: Some(3441), duration: Some(3441),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2FzSv66c7TQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBJl1tQDODos5G6RJlpg4R-pvWNZA", url: "https://i.ytimg.com/vi/2FzSv66c7TQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBJl1tQDODos5G6RJlpg4R-pvWNZA",
@ -482,7 +482,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "CevxZvSJLk8", id: "CevxZvSJLk8",
name: "Katy Perry - Roar (Official)", name: "Katy Perry - Roar (Official)",
length: Some(270), duration: Some(270),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CevxZvSJLk8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCEgRARw7Hrci5d3vmqm-ZWYOe-zA", url: "https://i.ytimg.com/vi/CevxZvSJLk8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCEgRARw7Hrci5d3vmqm-ZWYOe-zA",
@ -519,7 +519,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "bwmSjveL3Lc", id: "bwmSjveL3Lc",
name: "BLACKPINK - \'붐바야 (BOOMBAYAH)\' M/V", name: "BLACKPINK - \'붐바야 (BOOMBAYAH)\' M/V",
length: Some(244), duration: Some(244),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bwmSjveL3Lc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRzdujtL9QM0RZ8elD00oS2fXMhg", url: "https://i.ytimg.com/vi/bwmSjveL3Lc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRzdujtL9QM0RZ8elD00oS2fXMhg",
@ -556,7 +556,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "CM4CkVFmTds", id: "CM4CkVFmTds",
name: "TWICE \"I CAN\'T STOP ME\" M/V", name: "TWICE \"I CAN\'T STOP ME\" M/V",
length: Some(221), duration: Some(221),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CM4CkVFmTds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfd7QADIduQSR2ESLIp1k5gxxNDg", url: "https://i.ytimg.com/vi/CM4CkVFmTds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfd7QADIduQSR2ESLIp1k5gxxNDg",
@ -593,7 +593,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "ioNng23DkIM", id: "ioNng23DkIM",
name: "BLACKPINK - \'How You Like That\' M/V", name: "BLACKPINK - \'How You Like That\' M/V",
length: Some(184), duration: Some(184),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ioNng23DkIM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANTO784ijwW2y4bhZaWcfKzEe9iQ", url: "https://i.ytimg.com/vi/ioNng23DkIM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANTO784ijwW2y4bhZaWcfKzEe9iQ",
@ -630,7 +630,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "BL-aIpCLWnU", id: "BL-aIpCLWnU",
name: "Black Mamba", name: "Black Mamba",
length: Some(175), duration: Some(175),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BL-aIpCLWnU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFFU1Bs-mHwS-BGXCbvWM2SS41kw", url: "https://i.ytimg.com/vi/BL-aIpCLWnU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFFU1Bs-mHwS-BGXCbvWM2SS41kw",
@ -667,7 +667,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "Jh4QFaPmdss", id: "Jh4QFaPmdss",
name: "(G)I-DLE - \'TOMBOY\' Official Music Video", name: "(G)I-DLE - \'TOMBOY\' Official Music Video",
length: Some(198), duration: Some(198),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Jh4QFaPmdss/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQf02NuUqxsFasUAqJQYGS6SMDkw", url: "https://i.ytimg.com/vi/Jh4QFaPmdss/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQf02NuUqxsFasUAqJQYGS6SMDkw",
@ -704,7 +704,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "WPdWvnAAurg", id: "WPdWvnAAurg",
name: "aespa 에스파 \'Savage\' MV", name: "aespa 에스파 \'Savage\' MV",
length: Some(259), duration: Some(259),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw", url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw",
@ -741,7 +741,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "Z7yNvMzz2zg", id: "Z7yNvMzz2zg",
name: "Red Velvet 레드벨벳 \'Psycho\' Performance Video", name: "Red Velvet 레드벨벳 \'Psycho\' Performance Video",
length: Some(216), duration: Some(216),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Z7yNvMzz2zg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2ES19GaWF-U_La_tC7pFwGAL2fQ", url: "https://i.ytimg.com/vi/Z7yNvMzz2zg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2ES19GaWF-U_La_tC7pFwGAL2fQ",

View file

@ -149,7 +149,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "WPdWvnAAurg", id: "WPdWvnAAurg",
name: "aespa 에스파 \'Savage\' MV", name: "aespa 에스파 \'Savage\' MV",
length: Some(259), duration: Some(259),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw", url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw",
@ -186,7 +186,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "4TWR90KJl84", id: "4TWR90KJl84",
name: "aespa 에스파 \'Next Level\' MV", name: "aespa 에스파 \'Next Level\' MV",
length: Some(236), duration: Some(236),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4TWR90KJl84/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYCGc-AKsDC6UpJgIZw2_VsqjVWA", url: "https://i.ytimg.com/vi/4TWR90KJl84/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYCGc-AKsDC6UpJgIZw2_VsqjVWA",
@ -223,7 +223,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "uR8Mrt1IpXg", id: "uR8Mrt1IpXg",
name: "Red Velvet 레드벨벳 \'Psycho\' MV", name: "Red Velvet 레드벨벳 \'Psycho\' MV",
length: Some(216), duration: Some(216),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/uR8Mrt1IpXg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnAsLcZaI1uWDB4nag1KnNotAUWw", url: "https://i.ytimg.com/vi/uR8Mrt1IpXg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnAsLcZaI1uWDB4nag1KnNotAUWw",
@ -260,7 +260,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "UUUWIGx3hDE", id: "UUUWIGx3hDE",
name: "ITZY \"WANNABE\" Performance Video", name: "ITZY \"WANNABE\" Performance Video",
length: Some(198), duration: Some(198),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/UUUWIGx3hDE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAe05b8SVKrrSU0MSOcxluyp1R_aA", url: "https://i.ytimg.com/vi/UUUWIGx3hDE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAe05b8SVKrrSU0MSOcxluyp1R_aA",
@ -297,7 +297,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "NoYKBAajoyo", id: "NoYKBAajoyo",
name: "EVERGLOW (에버글로우) - DUN DUN MV", name: "EVERGLOW (에버글로우) - DUN DUN MV",
length: Some(209), duration: Some(209),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NoYKBAajoyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3OhCUbjpIclmjfV8W8T98nVI5pA", url: "https://i.ytimg.com/vi/NoYKBAajoyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3OhCUbjpIclmjfV8W8T98nVI5pA",
@ -334,7 +334,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "32si5cfrCNc", id: "32si5cfrCNc",
name: "BLACKPINK - \'How You Like That\' DANCE PERFORMANCE VIDEO", name: "BLACKPINK - \'How You Like That\' DANCE PERFORMANCE VIDEO",
length: Some(181), duration: Some(181),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/32si5cfrCNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjimPvMxDwTmPBlKX8Buo9EjMeOg", url: "https://i.ytimg.com/vi/32si5cfrCNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjimPvMxDwTmPBlKX8Buo9EjMeOg",
@ -371,7 +371,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "CM4CkVFmTds", id: "CM4CkVFmTds",
name: "TWICE \"I CAN\'T STOP ME\" M/V", name: "TWICE \"I CAN\'T STOP ME\" M/V",
length: Some(221), duration: Some(221),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CM4CkVFmTds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfd7QADIduQSR2ESLIp1k5gxxNDg", url: "https://i.ytimg.com/vi/CM4CkVFmTds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfd7QADIduQSR2ESLIp1k5gxxNDg",
@ -408,7 +408,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "UZPZyd5vE1c", id: "UZPZyd5vE1c",
name: "Shut Down", name: "Shut Down",
length: Some(176), duration: Some(176),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/UZPZyd5vE1c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD0elXCfbeIuNyk1C4xJkfSUZrJPg", url: "https://i.ytimg.com/vi/UZPZyd5vE1c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD0elXCfbeIuNyk1C4xJkfSUZrJPg",
@ -445,7 +445,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "CKZvWhCqx1s", id: "CKZvWhCqx1s",
name: "ROSÉ - \'On The Ground\' M/V", name: "ROSÉ - \'On The Ground\' M/V",
length: Some(189), duration: Some(189),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CKZvWhCqx1s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC4uq8-ViYtFE0-2feawfW_IEADxg", url: "https://i.ytimg.com/vi/CKZvWhCqx1s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC4uq8-ViYtFE0-2feawfW_IEADxg",
@ -482,7 +482,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "fE2h3lGlOsk", id: "fE2h3lGlOsk",
name: "ITZY \"WANNABE\" M/V @ITZY", name: "ITZY \"WANNABE\" M/V @ITZY",
length: Some(219), duration: Some(219),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fE2h3lGlOsk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC44Q0lpu5a8rltgTMxi0X2QA6jnQ", url: "https://i.ytimg.com/vi/fE2h3lGlOsk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC44Q0lpu5a8rltgTMxi0X2QA6jnQ",
@ -519,7 +519,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "Y8JFxS1HlDo", id: "Y8JFxS1HlDo",
name: "IVE 아이브 \'LOVE DIVE\' MV", name: "IVE 아이브 \'LOVE DIVE\' MV",
length: Some(179), duration: Some(179),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Y8JFxS1HlDo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDf8U7fRH0R-qXbbGwKwpKBCeOa4A", url: "https://i.ytimg.com/vi/Y8JFxS1HlDo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDf8U7fRH0R-qXbbGwKwpKBCeOa4A",
@ -556,7 +556,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "dNCWe_6HAM8", id: "dNCWe_6HAM8",
name: "LISA - \'MONEY\' EXCLUSIVE PERFORMANCE VIDEO", name: "LISA - \'MONEY\' EXCLUSIVE PERFORMANCE VIDEO",
length: Some(171), duration: Some(171),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dNCWe_6HAM8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdT1JD7bbEJ3z7fsQQ59tWeQUwkw", url: "https://i.ytimg.com/vi/dNCWe_6HAM8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdT1JD7bbEJ3z7fsQQ59tWeQUwkw",
@ -593,7 +593,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "tyrVtwE8Gv0", id: "tyrVtwE8Gv0",
name: "NCT U 엔시티 유 \'Make A Wish (Birthday Song)\' MV", name: "NCT U 엔시티 유 \'Make A Wish (Birthday Song)\' MV",
length: Some(249), duration: Some(249),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/tyrVtwE8Gv0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjumgWjrKFVPhKG0HyX9aEdP203g", url: "https://i.ytimg.com/vi/tyrVtwE8Gv0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjumgWjrKFVPhKG0HyX9aEdP203g",
@ -630,7 +630,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "gU2HqP4NxUs", id: "gU2HqP4NxUs",
name: "BLACKPINK - Pretty Savage 1011 SBS Inkigayo", name: "BLACKPINK - Pretty Savage 1011 SBS Inkigayo",
length: Some(208), duration: Some(208),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gU2HqP4NxUs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_x0P5jlgH-Xg013D6_0HCVjmpEQ", url: "https://i.ytimg.com/vi/gU2HqP4NxUs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_x0P5jlgH-Xg013D6_0HCVjmpEQ",
@ -667,7 +667,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "Ujb-gvqsoi0", id: "Ujb-gvqsoi0",
name: "Red Velvet - IRENE & SEULGI \'Monster\' MV", name: "Red Velvet - IRENE & SEULGI \'Monster\' MV",
length: Some(182), duration: Some(182),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Ujb-gvqsoi0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrGO-Gkm-UqCln07oFNKfFgioXYQ", url: "https://i.ytimg.com/vi/Ujb-gvqsoi0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrGO-Gkm-UqCln07oFNKfFgioXYQ",
@ -704,7 +704,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "KhTeiaCezwM", id: "KhTeiaCezwM",
name: "[MV] MAMAMOO (마마무) - HIP", name: "[MV] MAMAMOO (마마무) - HIP",
length: Some(211), duration: Some(211),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KhTeiaCezwM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMGgSAC2vrBvhW5_JvAG6-DmNv_Q", url: "https://i.ytimg.com/vi/KhTeiaCezwM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMGgSAC2vrBvhW5_JvAG6-DmNv_Q",
@ -741,7 +741,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "XJDPzNzQ3RE", id: "XJDPzNzQ3RE",
name: "Run BTS! 2022 Special Episode - Fly BTS Fly Part 1", name: "Run BTS! 2022 Special Episode - Fly BTS Fly Part 1",
length: Some(2070), duration: Some(2070),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XJDPzNzQ3RE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDLdeTJMU0EXsKD20_m1oPEHNfJig", url: "https://i.ytimg.com/vi/XJDPzNzQ3RE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDLdeTJMU0EXsKD20_m1oPEHNfJig",
@ -778,7 +778,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "0lXwMdnpoFQ", id: "0lXwMdnpoFQ",
name: "aespa 에스파 \'도깨비불 (Illusion)\' Dance Practice", name: "aespa 에스파 \'도깨비불 (Illusion)\' Dance Practice",
length: Some(210), duration: Some(210),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0lXwMdnpoFQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDvTjZu5GC9ZxiNY88whzTOHX-g1Q", url: "https://i.ytimg.com/vi/0lXwMdnpoFQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDvTjZu5GC9ZxiNY88whzTOHX-g1Q",
@ -815,7 +815,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "IHNzOHi8sJs", id: "IHNzOHi8sJs",
name: "BLACKPINK - ‘뚜두뚜두 (DDU-DU DDU-DU) M/V", name: "BLACKPINK - ‘뚜두뚜두 (DDU-DU DDU-DU) M/V",
length: Some(216), duration: Some(216),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/IHNzOHi8sJs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCzBqBp42z958fkbmx3yCOebx3aaA", url: "https://i.ytimg.com/vi/IHNzOHi8sJs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCzBqBp42z958fkbmx3yCOebx3aaA",

View file

@ -95,6 +95,9 @@ VideoDetails(
), ),
Text( Text(
text: "-------------------------------------------------", text: "-------------------------------------------------",
style: Style(
strikethrough: true,
),
), ),
Text( Text(
text: " \nTwitter: ", text: " \nTwitter: ",
@ -136,6 +139,9 @@ VideoDetails(
), ),
Text( Text(
text: "-------------------------------------------------", text: "-------------------------------------------------",
style: Style(
strikethrough: true,
),
), ),
Text( Text(
text: "\nIntro: Laszlo - Supernova\nVideo Link: ", text: "\nIntro: Laszlo - Supernova\nVideo Link: ",
@ -218,6 +224,9 @@ VideoDetails(
), ),
Text( Text(
text: "-------------------------------------------------", text: "-------------------------------------------------",
style: Style(
strikethrough: true,
),
), ),
Text( Text(
text: "\n", text: "\n",
@ -624,7 +633,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "t03rmc-prJo", id: "t03rmc-prJo",
name: "This PC took 600 HOURS to Build!", name: "This PC took 600 HOURS to Build!",
length: Some(1505), duration: Some(1505),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/t03rmc-prJo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCfqUXpZWf6Gv320YOu1UW02Sv5Q", url: "https://i.ytimg.com/vi/t03rmc-prJo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCfqUXpZWf6Gv320YOu1UW02Sv5Q",
@ -661,7 +670,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "4ozYlgOuYis", id: "4ozYlgOuYis",
name: "They told me I was stupid - heating my pool with computers", name: "They told me I was stupid - heating my pool with computers",
length: Some(691), duration: Some(691),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4ozYlgOuYis/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA4mG_tVV8TLuMJDGCGvTmjfwtddQ", url: "https://i.ytimg.com/vi/4ozYlgOuYis/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA4mG_tVV8TLuMJDGCGvTmjfwtddQ",
@ -698,7 +707,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "THxkY59_xko", id: "THxkY59_xko",
name: "Is the fastest GPU ALWAYS the best?", name: "Is the fastest GPU ALWAYS the best?",
length: Some(979), duration: Some(979),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/THxkY59_xko/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCmaBvFJBMIkBuT8khxFcTtfaZ2XA", url: "https://i.ytimg.com/vi/THxkY59_xko/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCmaBvFJBMIkBuT8khxFcTtfaZ2XA",
@ -735,7 +744,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "UJ-KZzVUV7U", id: "UJ-KZzVUV7U",
name: "This toaster cost HOW MUCH?? - Revolution InstaGLO R270 Toaster", name: "This toaster cost HOW MUCH?? - Revolution InstaGLO R270 Toaster",
length: Some(880), duration: Some(880),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/UJ-KZzVUV7U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBurQQ2fWpDYmCQ4aqgowGEBfWEYg", url: "https://i.ytimg.com/vi/UJ-KZzVUV7U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBurQQ2fWpDYmCQ4aqgowGEBfWEYg",
@ -772,7 +781,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "yayAQAC1XiE", id: "yayAQAC1XiE",
name: "Intel PLEASE let me Overclock this!", name: "Intel PLEASE let me Overclock this!",
length: Some(799), duration: Some(799),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yayAQAC1XiE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAZerWHd_ctrAd3FaOyCFXvh-N5-A", url: "https://i.ytimg.com/vi/yayAQAC1XiE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAZerWHd_ctrAd3FaOyCFXvh-N5-A",
@ -809,7 +818,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "y4T374GtKLI", id: "y4T374GtKLI",
name: "When The Grid Goes Down: How To Power Essential Devices (i.e., Refrigerator)", name: "When The Grid Goes Down: How To Power Essential Devices (i.e., Refrigerator)",
length: Some(1239), duration: Some(1239),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/y4T374GtKLI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzlGsbn7uLQb0yPGGU8kTLU4kPJg", url: "https://i.ytimg.com/vi/y4T374GtKLI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzlGsbn7uLQb0yPGGU8kTLU4kPJg",
@ -846,7 +855,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "b3x28s61q3c", id: "b3x28s61q3c",
name: "The most EXPENSIVE thing I own.", name: "The most EXPENSIVE thing I own.",
length: Some(887), duration: Some(887),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/b3x28s61q3c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAWb5ZrdRdn4SCsBxY_w8QILUmdbA", url: "https://i.ytimg.com/vi/b3x28s61q3c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAWb5ZrdRdn4SCsBxY_w8QILUmdbA",
@ -883,7 +892,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "LQ95XJAwaoc", id: "LQ95XJAwaoc",
name: "My favorite car (sucks) - Lucid Air GT", name: "My favorite car (sucks) - Lucid Air GT",
length: Some(1162), duration: Some(1162),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/LQ95XJAwaoc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCipJpt-2zTzIpJu3bTaXsTai4Avw", url: "https://i.ytimg.com/vi/LQ95XJAwaoc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCipJpt-2zTzIpJu3bTaXsTai4Avw",
@ -920,7 +929,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "WVjtK71qqXU", id: "WVjtK71qqXU",
name: "I bought a SECOND GPU… but NOT for gaming…", name: "I bought a SECOND GPU… but NOT for gaming…",
length: Some(754), duration: Some(754),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WVjtK71qqXU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDKEZ4b5LpUceHDgWzrKoASZh8WYA", url: "https://i.ytimg.com/vi/WVjtK71qqXU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDKEZ4b5LpUceHDgWzrKoASZh8WYA",
@ -957,7 +966,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "vtvFVH9JdNI", id: "vtvFVH9JdNI",
name: "I bought every Nintendo Console EVER.", name: "I bought every Nintendo Console EVER.",
length: Some(1381), duration: Some(1381),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/vtvFVH9JdNI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCztBNH12-uuinjoT7QXyYAHJaWpg", url: "https://i.ytimg.com/vi/vtvFVH9JdNI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCztBNH12-uuinjoT7QXyYAHJaWpg",
@ -994,7 +1003,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "J6Ga4wciA2k", id: "J6Ga4wciA2k",
name: "THIS Wish.com Gaming PC is WORSE!", name: "THIS Wish.com Gaming PC is WORSE!",
length: Some(1545), duration: Some(1545),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/J6Ga4wciA2k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB6GXKbOi7UeTFxMZvVU2v4Mefzaw", url: "https://i.ytimg.com/vi/J6Ga4wciA2k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB6GXKbOi7UeTFxMZvVU2v4Mefzaw",
@ -1031,7 +1040,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "CsoKWsZ-Tyw", id: "CsoKWsZ-Tyw",
name: "The Personal Gaming Theater - HOLY $H!T Samsung Odyssey Ark", name: "The Personal Gaming Theater - HOLY $H!T Samsung Odyssey Ark",
length: Some(1182), duration: Some(1182),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CsoKWsZ-Tyw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDY9DPUvV7_iZ4Q_Vs5aH04-D1Wiw", url: "https://i.ytimg.com/vi/CsoKWsZ-Tyw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDY9DPUvV7_iZ4Q_Vs5aH04-D1Wiw",
@ -1068,7 +1077,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "9T98VsMe3oo", id: "9T98VsMe3oo",
name: "How are we going to do this?", name: "How are we going to do this?",
length: Some(1124), duration: Some(1124),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9T98VsMe3oo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARsAavwhjYXofUNZb9CHY-F2GyVg", url: "https://i.ytimg.com/vi/9T98VsMe3oo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARsAavwhjYXofUNZb9CHY-F2GyVg",
@ -1105,7 +1114,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "5Hxr9k5Vdc4", id: "5Hxr9k5Vdc4",
name: "Building the $1,000,000 Computer", name: "Building the $1,000,000 Computer",
length: Some(1659), duration: Some(1659),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5Hxr9k5Vdc4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAWGQOhyUyIkDDwX1V0dSNuvKVvTw", url: "https://i.ytimg.com/vi/5Hxr9k5Vdc4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAWGQOhyUyIkDDwX1V0dSNuvKVvTw",
@ -1142,7 +1151,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "12Hcbx33Rb4", id: "12Hcbx33Rb4",
name: "BREAKING NEWS! - EVGA will no longer do business with NVIDIA", name: "BREAKING NEWS! - EVGA will no longer do business with NVIDIA",
length: Some(1262), duration: Some(1262),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/12Hcbx33Rb4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAM7iCw78-SfuzT5AgSv6ACOVDelQ", url: "https://i.ytimg.com/vi/12Hcbx33Rb4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAM7iCw78-SfuzT5AgSv6ACOVDelQ",
@ -1179,7 +1188,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "EHkkwCjQzsc", id: "EHkkwCjQzsc",
name: "Prepper (2016) | Full Post-Apocalyptic Thriller Movie HD", name: "Prepper (2016) | Full Post-Apocalyptic Thriller Movie HD",
length: Some(5982), duration: Some(5982),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EHkkwCjQzsc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDSjdCyfQ-R4ButwCMS4bFpYZn3VA", url: "https://i.ytimg.com/vi/EHkkwCjQzsc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDSjdCyfQ-R4ButwCMS4bFpYZn3VA",
@ -1216,7 +1225,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "AOdp09SYhCc", id: "AOdp09SYhCc",
name: "This Is So Embarrassing! - Building a PC with My Sister", name: "This Is So Embarrassing! - Building a PC with My Sister",
length: Some(1063), duration: Some(1063),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/AOdp09SYhCc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfBYl-n346B6prZx03Mm7Ww5KNzQ", url: "https://i.ytimg.com/vi/AOdp09SYhCc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfBYl-n346B6prZx03Mm7Ww5KNzQ",
@ -1253,7 +1262,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "CTIpNtHWVtQ", id: "CTIpNtHWVtQ",
name: "Why Pay $1000 for a 25 year old PC! - NIXSYS Windows 98 PC", name: "Why Pay $1000 for a 25 year old PC! - NIXSYS Windows 98 PC",
length: Some(1112), duration: Some(1112),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CTIpNtHWVtQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgegiq7MYL_WWdEFX2psylbO2KHw", url: "https://i.ytimg.com/vi/CTIpNtHWVtQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgegiq7MYL_WWdEFX2psylbO2KHw",
@ -1290,7 +1299,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "3RIp7CwkBeA", id: "3RIp7CwkBeA",
name: "I Hope You Have a LOT of Money... RTX 4000 Announced", name: "I Hope You Have a LOT of Money... RTX 4000 Announced",
length: Some(569), duration: Some(569),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/3RIp7CwkBeA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA0yHfBWVDIOWz5wFNO6A6xwHDl8A", url: "https://i.ytimg.com/vi/3RIp7CwkBeA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA0yHfBWVDIOWz5wFNO6A6xwHDl8A",
@ -1327,7 +1336,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "HZiaHEmE9PQ", id: "HZiaHEmE9PQ",
name: "Buying a Chromebook was a BIG MISTAKE", name: "Buying a Chromebook was a BIG MISTAKE",
length: Some(880), duration: Some(880),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/HZiaHEmE9PQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXXl872fFTYsfwBvUbF0oBvsZSrw", url: "https://i.ytimg.com/vi/HZiaHEmE9PQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXXl872fFTYsfwBvUbF0oBvsZSrw",

View file

@ -149,7 +149,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "4TWR90KJl84", id: "4TWR90KJl84",
name: "aespa 에스파 \'Next Level\' MV", name: "aespa 에스파 \'Next Level\' MV",
length: Some(236), duration: Some(236),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4TWR90KJl84/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYCGc-AKsDC6UpJgIZw2_VsqjVWA", url: "https://i.ytimg.com/vi/4TWR90KJl84/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYCGc-AKsDC6UpJgIZw2_VsqjVWA",
@ -186,7 +186,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "yQUU29NwNF4", id: "yQUU29NwNF4",
name: "aespa(에스파) - Black Mamba @인기가요 inkigayo 20201122", name: "aespa(에스파) - Black Mamba @인기가요 inkigayo 20201122",
length: Some(213), duration: Some(213),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yQUU29NwNF4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA4pIWwOFmVuVU-jZ-j7S4GvgxjKw", url: "https://i.ytimg.com/vi/yQUU29NwNF4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA4pIWwOFmVuVU-jZ-j7S4GvgxjKw",
@ -223,7 +223,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "mTmm0y73ZtM", id: "mTmm0y73ZtM",
name: "Secret Missions: 7 Thrilling Spy and Secret Agent Stories", name: "Secret Missions: 7 Thrilling Spy and Secret Agent Stories",
length: Some(6811), duration: Some(6811),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mTmm0y73ZtM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDz3aKv3IbWrI5GmtWjWl2br6h7jw", url: "https://i.ytimg.com/vi/mTmm0y73ZtM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDz3aKv3IbWrI5GmtWjWl2br6h7jw",
@ -260,7 +260,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "xBnSq8JKlZw", id: "xBnSq8JKlZw",
name: "16 Eylül 2023", name: "16 Eylül 2023",
length: Some(7971), duration: Some(7971),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/xBnSq8JKlZw/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGGUgUChFMA8=&rs=AOn4CLDBvW0PORHHExpND8qbAa0OCr5MMw", url: "https://i.ytimg.com/vi/xBnSq8JKlZw/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGGUgUChFMA8=&rs=AOn4CLDBvW0PORHHExpND8qbAa0OCr5MMw",
@ -297,7 +297,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "fE2h3lGlOsk", id: "fE2h3lGlOsk",
name: "ITZY \"WANNABE\" M/V @ITZY", name: "ITZY \"WANNABE\" M/V @ITZY",
length: Some(219), duration: Some(219),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fE2h3lGlOsk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC44Q0lpu5a8rltgTMxi0X2QA6jnQ", url: "https://i.ytimg.com/vi/fE2h3lGlOsk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC44Q0lpu5a8rltgTMxi0X2QA6jnQ",
@ -334,7 +334,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "NU611fxGyPU", id: "NU611fxGyPU",
name: "aespa 에스파 \'Black Mamba\' Dance Practice", name: "aespa 에스파 \'Black Mamba\' Dance Practice",
length: Some(175), duration: Some(175),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NU611fxGyPU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgKORzcy6WKosI1_PAVWDgcjJ9jA", url: "https://i.ytimg.com/vi/NU611fxGyPU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgKORzcy6WKosI1_PAVWDgcjJ9jA",
@ -371,7 +371,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "dYRITmpFbJ4", id: "dYRITmpFbJ4",
name: "aespa 에스파 \'Girls\' MV", name: "aespa 에스파 \'Girls\' MV",
length: Some(269), duration: Some(269),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dYRITmpFbJ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBOxN6ukbZNOPwUBhRZYgG9r23lng", url: "https://i.ytimg.com/vi/dYRITmpFbJ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBOxN6ukbZNOPwUBhRZYgG9r23lng",
@ -408,7 +408,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "jiFBY6gk3Lk", id: "jiFBY6gk3Lk",
name: "BLACKPINK x AESPA Pink Venom / Black Mamba MASHUP (feat. Next Level)", name: "BLACKPINK x AESPA Pink Venom / Black Mamba MASHUP (feat. Next Level)",
length: Some(240), duration: Some(240),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/jiFBY6gk3Lk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARhXJ8KOxiWpj430QpyKF2m3LJFQ", url: "https://i.ytimg.com/vi/jiFBY6gk3Lk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARhXJ8KOxiWpj430QpyKF2m3LJFQ",
@ -445,7 +445,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "CM4CkVFmTds", id: "CM4CkVFmTds",
name: "TWICE \"I CAN\'T STOP ME\" M/V", name: "TWICE \"I CAN\'T STOP ME\" M/V",
length: Some(221), duration: Some(221),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CM4CkVFmTds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfd7QADIduQSR2ESLIp1k5gxxNDg", url: "https://i.ytimg.com/vi/CM4CkVFmTds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfd7QADIduQSR2ESLIp1k5gxxNDg",
@ -482,7 +482,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "WPdWvnAAurg", id: "WPdWvnAAurg",
name: "aespa 에스파 \'Savage\' MV", name: "aespa 에스파 \'Savage\' MV",
length: Some(259), duration: Some(259),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw", url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw",
@ -519,7 +519,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "OgabtEgG_kg", id: "OgabtEgG_kg",
name: "[ FULL ALBUM ] IVE (아이브) — IVE The 1st EP \' I\'VE MINE TRACKLIST", name: "[ FULL ALBUM ] IVE (아이브) — IVE The 1st EP \' I\'VE MINE TRACKLIST",
length: Some(1034), duration: Some(1034),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/OgabtEgG_kg/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGGkgaShpMA8=&rs=AOn4CLBF1lxbztXMyXmem4owNAWZRqvnBA", url: "https://i.ytimg.com/vi/OgabtEgG_kg/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGGkgaShpMA8=&rs=AOn4CLBF1lxbztXMyXmem4owNAWZRqvnBA",
@ -556,7 +556,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "cSqOY5nktfg", id: "cSqOY5nktfg",
name: "BLACKPINK THE GAME - THE GIRLS MV", name: "BLACKPINK THE GAME - THE GIRLS MV",
length: Some(164), duration: Some(164),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/cSqOY5nktfg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDkx-bmEWvYbs8ju1cETIRE1AczFQ", url: "https://i.ytimg.com/vi/cSqOY5nktfg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDkx-bmEWvYbs8ju1cETIRE1AczFQ",
@ -593,7 +593,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "i8fRCkq5tbw", id: "i8fRCkq5tbw",
name: "aespa 에스파 ep.2 Next Level SM Culture Universe", name: "aespa 에스파 ep.2 Next Level SM Culture Universe",
length: Some(1040), duration: Some(1040),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/i8fRCkq5tbw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGcGKSQOqvI_5ZONNturhZZmkysQ", url: "https://i.ytimg.com/vi/i8fRCkq5tbw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGcGKSQOqvI_5ZONNturhZZmkysQ",
@ -630,7 +630,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "erCzl8x9Zuo", id: "erCzl8x9Zuo",
name: "에스파(AESPA) 2023 lotte family concert Full Ver. (Black Mamba +thirsty + Illusion+next level+ Spicy)", name: "에스파(AESPA) 2023 lotte family concert Full Ver. (Black Mamba +thirsty + Illusion+next level+ Spicy)",
length: Some(1192), duration: Some(1192),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/erCzl8x9Zuo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBF18qnuz8guk309k2UUh4xnLuazg", url: "https://i.ytimg.com/vi/erCzl8x9Zuo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBF18qnuz8guk309k2UUh4xnLuazg",
@ -667,7 +667,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "7HDeem-JaSY", id: "7HDeem-JaSY",
name: "(여자)아이들((G)I-DLE) - \'퀸카 (Queencard)\' Official Music Video", name: "(여자)아이들((G)I-DLE) - \'퀸카 (Queencard)\' Official Music Video",
length: Some(211), duration: Some(211),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7HDeem-JaSY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_jASE2yooEXAN64rj8-1_AJZl6A", url: "https://i.ytimg.com/vi/7HDeem-JaSY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_jASE2yooEXAN64rj8-1_AJZl6A",
@ -704,7 +704,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "9JFi7MmjtGA", id: "9JFi7MmjtGA",
name: "VIVIZ (비비지) - \'MANIAC\' MV", name: "VIVIZ (비비지) - \'MANIAC\' MV",
length: Some(197), duration: Some(197),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/9JFi7MmjtGA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALaqiHHm-fnm1TQHpD9PG-zGd-hg", url: "https://i.ytimg.com/vi/9JFi7MmjtGA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALaqiHHm-fnm1TQHpD9PG-zGd-hg",
@ -741,7 +741,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "NoYKBAajoyo", id: "NoYKBAajoyo",
name: "EVERGLOW (에버글로우) - DUN DUN MV", name: "EVERGLOW (에버글로우) - DUN DUN MV",
length: Some(209), duration: Some(209),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NoYKBAajoyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3OhCUbjpIclmjfV8W8T98nVI5pA", url: "https://i.ytimg.com/vi/NoYKBAajoyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3OhCUbjpIclmjfV8W8T98nVI5pA",
@ -778,7 +778,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "pyf8cbqyfPs", id: "pyf8cbqyfPs",
name: "LE SSERAFIM (르세라핌) \'ANTIFRAGILE\' OFFICIAL M/V", name: "LE SSERAFIM (르세라핌) \'ANTIFRAGILE\' OFFICIAL M/V",
length: Some(232), duration: Some(232),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pyf8cbqyfPs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAu-V-1EWwbHjZTNTO-vuP_O_WB3Q", url: "https://i.ytimg.com/vi/pyf8cbqyfPs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAu-V-1EWwbHjZTNTO-vuP_O_WB3Q",
@ -815,7 +815,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "32si5cfrCNc", id: "32si5cfrCNc",
name: "BLACKPINK - \'How You Like That\' DANCE PERFORMANCE VIDEO", name: "BLACKPINK - \'How You Like That\' DANCE PERFORMANCE VIDEO",
length: Some(181), duration: Some(181),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/32si5cfrCNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjimPvMxDwTmPBlKX8Buo9EjMeOg", url: "https://i.ytimg.com/vi/32si5cfrCNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjimPvMxDwTmPBlKX8Buo9EjMeOg",
@ -852,7 +852,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "bwmSjveL3Lc", id: "bwmSjveL3Lc",
name: "BLACKPINK - \'붐바야 (BOOMBAYAH)\' M/V", name: "BLACKPINK - \'붐바야 (BOOMBAYAH)\' M/V",
length: Some(244), duration: Some(244),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bwmSjveL3Lc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRzdujtL9QM0RZ8elD00oS2fXMhg", url: "https://i.ytimg.com/vi/bwmSjveL3Lc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRzdujtL9QM0RZ8elD00oS2fXMhg",

View file

@ -60,7 +60,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "-YpwsdRKt8Q", id: "-YpwsdRKt8Q",
name: "SpiegelMining Reverse Engineering von Spiegel-Online (33c3)", name: "SpiegelMining Reverse Engineering von Spiegel-Online (33c3)",
length: Some(3526), duration: Some(3526),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/-YpwsdRKt8Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAitMEufI5dstlwxmzUBy5R55YqvA", url: "https://i.ytimg.com/vi/-YpwsdRKt8Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAitMEufI5dstlwxmzUBy5R55YqvA",
@ -97,7 +97,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "4z3mu63yxII", id: "4z3mu63yxII",
name: "Gregor Gysi & Martin Sonneborn", name: "Gregor Gysi & Martin Sonneborn",
length: Some(5272), duration: Some(5272),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4z3mu63yxII/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDreV7oQC-p3dvg_goG62wPliIS9Q", url: "https://i.ytimg.com/vi/4z3mu63yxII/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDreV7oQC-p3dvg_goG62wPliIS9Q",
@ -134,7 +134,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "WhgRRpA3b2c", id: "WhgRRpA3b2c",
name: "36C3 - Verkehrswende selber hacken", name: "36C3 - Verkehrswende selber hacken",
length: Some(3176), duration: Some(3176),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WhgRRpA3b2c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDvqwVUjB6Xurm8rFTueHcWHuPfZA", url: "https://i.ytimg.com/vi/WhgRRpA3b2c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDvqwVUjB6Xurm8rFTueHcWHuPfZA",
@ -171,7 +171,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "5qNHtdN07FM", id: "5qNHtdN07FM",
name: "GPN16: Wie baut man eigentlich Raumschiffe (urs)", name: "GPN16: Wie baut man eigentlich Raumschiffe (urs)",
length: Some(5172), duration: Some(5172),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/5qNHtdN07FM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDpjJM0fDLemesPUcU3VcN_gv9lHQ", url: "https://i.ytimg.com/vi/5qNHtdN07FM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDpjJM0fDLemesPUcU3VcN_gv9lHQ",
@ -208,7 +208,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "7FeqF1-Z1g0", id: "7FeqF1-Z1g0",
name: "David Kriesel: Traue keinem Scan, den du nicht selbst gefälscht hast", name: "David Kriesel: Traue keinem Scan, den du nicht selbst gefälscht hast",
length: Some(3820), duration: Some(3820),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7FeqF1-Z1g0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDlpdGFYSadvgkHzSGulKmjV3wokQ", url: "https://i.ytimg.com/vi/7FeqF1-Z1g0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDlpdGFYSadvgkHzSGulKmjV3wokQ",
@ -245,7 +245,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "1vcP9UWrWBI", id: "1vcP9UWrWBI",
name: "Easterhegg 2019 - Kernreaktoren", name: "Easterhegg 2019 - Kernreaktoren",
length: Some(7263), duration: Some(7263),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1vcP9UWrWBI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUQVIIaiRE6GWywG8JwHDYAJpnZg", url: "https://i.ytimg.com/vi/1vcP9UWrWBI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUQVIIaiRE6GWywG8JwHDYAJpnZg",
@ -282,7 +282,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "jnp1veXQf7U", id: "jnp1veXQf7U",
name: "Blockchain - Ein außer Kontrolle geratenes Laborexperiment? #GPN19", name: "Blockchain - Ein außer Kontrolle geratenes Laborexperiment? #GPN19",
length: Some(3362), duration: Some(3362),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/jnp1veXQf7U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPdUkK2Ck1bwqQKZyMKKtAP4AMdA", url: "https://i.ytimg.com/vi/jnp1veXQf7U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPdUkK2Ck1bwqQKZyMKKtAP4AMdA",
@ -319,7 +319,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "77OlKRkaixo", id: "77OlKRkaixo",
name: "leyrer, MacLemon: E-Mail. Hässlich, aber es funktioniert #eh16", name: "leyrer, MacLemon: E-Mail. Hässlich, aber es funktioniert #eh16",
length: Some(6998), duration: Some(6998),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/77OlKRkaixo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4xyH2Wm3PRfFNYPGKLO69SFfcYw", url: "https://i.ytimg.com/vi/77OlKRkaixo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4xyH2Wm3PRfFNYPGKLO69SFfcYw",
@ -356,7 +356,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "u29--YNGMyg", id: "u29--YNGMyg",
name: "Physikalisches Kolloquium 22. Juli 2011 - Vortrag von Prof. Dr. Harald Lesch", name: "Physikalisches Kolloquium 22. Juli 2011 - Vortrag von Prof. Dr. Harald Lesch",
length: Some(6715), duration: Some(6715),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/u29--YNGMyg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCykSwmdalE18JSUKAH4PLZ54YpzQ", url: "https://i.ytimg.com/vi/u29--YNGMyg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCykSwmdalE18JSUKAH4PLZ54YpzQ",
@ -393,7 +393,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "urt2_ACal9A", id: "urt2_ACal9A",
name: "CCC-Jahresrückblick 2016 (33c3)", name: "CCC-Jahresrückblick 2016 (33c3)",
length: Some(8170), duration: Some(8170),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/urt2_ACal9A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLChs8FeQ4a0ab1PeF0yFI58lHD2Ew", url: "https://i.ytimg.com/vi/urt2_ACal9A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLChs8FeQ4a0ab1PeF0yFI58lHD2Ew",
@ -430,7 +430,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "PnBs9oH2Lx8", id: "PnBs9oH2Lx8",
name: "Easterhegg 2019 - Wie ich die Regierung gehackt habe", name: "Easterhegg 2019 - Wie ich die Regierung gehackt habe",
length: Some(3147), duration: Some(3147),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PnBs9oH2Lx8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCYEqGF-6ovzXSwysiuU3EPQPBBQ", url: "https://i.ytimg.com/vi/PnBs9oH2Lx8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCYEqGF-6ovzXSwysiuU3EPQPBBQ",
@ -467,7 +467,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "yaCiVvBD-xc", id: "yaCiVvBD-xc",
name: "Mathias Dalheimer: Wie man einen Blackout verursacht", name: "Mathias Dalheimer: Wie man einen Blackout verursacht",
length: Some(3748), duration: Some(3748),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/yaCiVvBD-xc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD0kgmNW_38RP2zrFbHZ8yMaeltXw", url: "https://i.ytimg.com/vi/yaCiVvBD-xc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD0kgmNW_38RP2zrFbHZ8yMaeltXw",
@ -504,7 +504,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "1PJnEwoFSXo", id: "1PJnEwoFSXo",
name: "Das Geheimnis der Hieroglyphen | Doku HD | ARTE", name: "Das Geheimnis der Hieroglyphen | Doku HD | ARTE",
length: Some(5541), duration: Some(5541),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1PJnEwoFSXo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBECHmEUHzkloG0szufbTTPeQxJcg", url: "https://i.ytimg.com/vi/1PJnEwoFSXo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBECHmEUHzkloG0szufbTTPeQxJcg",
@ -541,7 +541,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "iIDZ8pJKLZA", id: "iIDZ8pJKLZA",
name: "36C3 ChaosWest: Bahn API Chaos", name: "36C3 ChaosWest: Bahn API Chaos",
length: Some(3056), duration: Some(3056),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/iIDZ8pJKLZA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4Yav7T6P0SXZSw0mhg9jL1aot7A", url: "https://i.ytimg.com/vi/iIDZ8pJKLZA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4Yav7T6P0SXZSw0mhg9jL1aot7A",
@ -578,7 +578,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "PhUQN6fd5O4", id: "PhUQN6fd5O4",
name: "35C3 - Jahresrückblick des CCC 2018", name: "35C3 - Jahresrückblick des CCC 2018",
length: Some(8102), duration: Some(8102),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/PhUQN6fd5O4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAO_0bZOBr6aGmQdiA-5bUOxNeTaQ", url: "https://i.ytimg.com/vi/PhUQN6fd5O4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAO_0bZOBr6aGmQdiA-5bUOxNeTaQ",
@ -615,7 +615,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "bzr0c8qzQoc", id: "bzr0c8qzQoc",
name: "GPN19 - Beton", name: "GPN19 - Beton",
length: Some(3972), duration: Some(3972),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bzr0c8qzQoc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCY6DB5oe1CQxUXIc9wpl_WyB9REA", url: "https://i.ytimg.com/vi/bzr0c8qzQoc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCY6DB5oe1CQxUXIc9wpl_WyB9REA",
@ -652,7 +652,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "IeX1F-Jjq9E", id: "IeX1F-Jjq9E",
name: "Lars “Pylon” Weiler (DC4LW): Weltraumkommunikation", name: "Lars “Pylon” Weiler (DC4LW): Weltraumkommunikation",
length: Some(5075), duration: Some(5075),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/IeX1F-Jjq9E/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDHnqHZmt01FMVG1lPBXYtZXWWY9Q", url: "https://i.ytimg.com/vi/IeX1F-Jjq9E/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDHnqHZmt01FMVG1lPBXYtZXWWY9Q",
@ -689,7 +689,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "gsnL4m57MCM", id: "gsnL4m57MCM",
name: "David Kriesel: SpiegelMining Reverse Engineering von Spiegel-Online", name: "David Kriesel: SpiegelMining Reverse Engineering von Spiegel-Online",
length: Some(3526), duration: Some(3526),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/gsnL4m57MCM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzdNK5qr49otzmiOcFYQGCAcoIBA", url: "https://i.ytimg.com/vi/gsnL4m57MCM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzdNK5qr49otzmiOcFYQGCAcoIBA",
@ -726,7 +726,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "uEEHq6f8RsM", id: "uEEHq6f8RsM",
name: "Leyrer: Moderne Linux Kommandozeilenwerkzeuge - Edition \"Allein zu Haus\"", name: "Leyrer: Moderne Linux Kommandozeilenwerkzeuge - Edition \"Allein zu Haus\"",
length: Some(3716), duration: Some(3716),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/uEEHq6f8RsM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAEBt4P-qj4seCLNwABBxmHbSjFXQ", url: "https://i.ytimg.com/vi/uEEHq6f8RsM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAEBt4P-qj4seCLNwABBxmHbSjFXQ",

View file

@ -606,7 +606,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "AOdp09SYhCc", id: "AOdp09SYhCc",
name: "This Is So Embarrassing!", name: "This Is So Embarrassing!",
length: Some(1063), duration: Some(1063),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/AOdp09SYhCc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfBYl-n346B6prZx03Mm7Ww5KNzQ", url: "https://i.ytimg.com/vi/AOdp09SYhCc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfBYl-n346B6prZx03Mm7Ww5KNzQ",
@ -643,7 +643,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "CY3OQh-7wIk", id: "CY3OQh-7wIk",
name: "The Computer I Would Actually BUY", name: "The Computer I Would Actually BUY",
length: Some(6478), duration: Some(6478),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CY3OQh-7wIk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIWrkhu20Ak_TnmZIE4ZNnwwJjxg", url: "https://i.ytimg.com/vi/CY3OQh-7wIk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIWrkhu20Ak_TnmZIE4ZNnwwJjxg",
@ -680,7 +680,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "LQ95XJAwaoc", id: "LQ95XJAwaoc",
name: "My favorite car (sucks)", name: "My favorite car (sucks)",
length: Some(1162), duration: Some(1162),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/LQ95XJAwaoc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCipJpt-2zTzIpJu3bTaXsTai4Avw", url: "https://i.ytimg.com/vi/LQ95XJAwaoc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCipJpt-2zTzIpJu3bTaXsTai4Avw",
@ -717,7 +717,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "mhMQeJ5Qmp0", id: "mhMQeJ5Qmp0",
name: "The Apple Newton MessagePad.", name: "The Apple Newton MessagePad.",
length: Some(758), duration: Some(758),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mhMQeJ5Qmp0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUv25424vMzv7t_u2JaFGBUFyzLQ", url: "https://i.ytimg.com/vi/mhMQeJ5Qmp0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUv25424vMzv7t_u2JaFGBUFyzLQ",
@ -754,7 +754,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "1ctXiZsN6ac", id: "1ctXiZsN6ac",
name: "The Reviewer Got Reviewed - WAN Show September 9, 2022", name: "The Reviewer Got Reviewed - WAN Show September 9, 2022",
length: Some(10265), duration: Some(10265),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1ctXiZsN6ac/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9wu_ZcDUUeXLmcHsQlyFk2ZGz8w", url: "https://i.ytimg.com/vi/1ctXiZsN6ac/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9wu_ZcDUUeXLmcHsQlyFk2ZGz8w",
@ -791,7 +791,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "CMR9z9Xr8GM", id: "CMR9z9Xr8GM",
name: "Storing Solar Power on my ROOF!!!", name: "Storing Solar Power on my ROOF!!!",
length: Some(1028), duration: Some(1028),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CMR9z9Xr8GM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDHV3LspFbeyp3aKgDaga_48rKnhg", url: "https://i.ytimg.com/vi/CMR9z9Xr8GM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDHV3LspFbeyp3aKgDaga_48rKnhg",
@ -828,7 +828,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "fT2KhJ8W-Kg", id: "fT2KhJ8W-Kg",
name: "How gas pumps know when to turn themselves off", name: "How gas pumps know when to turn themselves off",
length: Some(836), duration: Some(836),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fT2KhJ8W-Kg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAtidUhcZzKU4a3ojinamyCP33ing", url: "https://i.ytimg.com/vi/fT2KhJ8W-Kg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAtidUhcZzKU4a3ojinamyCP33ing",
@ -865,7 +865,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "12Hcbx33Rb4", id: "12Hcbx33Rb4",
name: "BREAKING NEWS! - EVGA will no longer do business with NVIDIA", name: "BREAKING NEWS! - EVGA will no longer do business with NVIDIA",
length: Some(1262), duration: Some(1262),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/12Hcbx33Rb4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAM7iCw78-SfuzT5AgSv6ACOVDelQ", url: "https://i.ytimg.com/vi/12Hcbx33Rb4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAM7iCw78-SfuzT5AgSv6ACOVDelQ",
@ -902,7 +902,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "QW1SsqmaIuE", id: "QW1SsqmaIuE",
name: "I Surprised My Subscriber with his Dream Gaming Setup! - Season 8", name: "I Surprised My Subscriber with his Dream Gaming Setup! - Season 8",
length: Some(2177), duration: Some(2177),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/QW1SsqmaIuE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArhaU2nMbylc2HtPaCCFwJmbFduQ", url: "https://i.ytimg.com/vi/QW1SsqmaIuE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArhaU2nMbylc2HtPaCCFwJmbFduQ",
@ -939,7 +939,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "JAcSNL1T3OA", id: "JAcSNL1T3OA",
name: "Why Did I Drill 1756 Holes in This?", name: "Why Did I Drill 1756 Holes in This?",
length: Some(1293), duration: Some(1293),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/JAcSNL1T3OA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAVN2pIRLDii6QneiJiH7SuohQLLw", url: "https://i.ytimg.com/vi/JAcSNL1T3OA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAVN2pIRLDii6QneiJiH7SuohQLLw",
@ -976,7 +976,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "ZVtOss1U7_s", id: "ZVtOss1U7_s",
name: "VW Beetle converted to electric in a day", name: "VW Beetle converted to electric in a day",
length: Some(826), duration: Some(826),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ZVtOss1U7_s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4hPp1mBczpO6sO6vWdZQYakxwyg", url: "https://i.ytimg.com/vi/ZVtOss1U7_s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4hPp1mBczpO6sO6vWdZQYakxwyg",
@ -1013,7 +1013,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "2kJDTzFtUr4", id: "2kJDTzFtUr4",
name: "How ASML, TSMC And Intel Dominate The Chip Market | CNBC Marathon", name: "How ASML, TSMC And Intel Dominate The Chip Market | CNBC Marathon",
length: Some(3399), duration: Some(3399),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2kJDTzFtUr4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA6X3e701I0PwLNZJamLICU4oJsxg", url: "https://i.ytimg.com/vi/2kJDTzFtUr4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA6X3e701I0PwLNZJamLICU4oJsxg",
@ -1050,7 +1050,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "0rCbfsuKdYw", id: "0rCbfsuKdYw",
name: "I bought every Playstation Ever.", name: "I bought every Playstation Ever.",
length: Some(1046), duration: Some(1046),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/0rCbfsuKdYw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQvrfQzF3A7fsTrp6uVnunsFrjIA", url: "https://i.ytimg.com/vi/0rCbfsuKdYw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQvrfQzF3A7fsTrp6uVnunsFrjIA",
@ -1087,7 +1087,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "sbdU7AkH6QM", id: "sbdU7AkH6QM",
name: "Reviewing Free Energy Generators. A Response to My Video \"Nikola Tesla\'s Greatest Invention\"- 102", name: "Reviewing Free Energy Generators. A Response to My Video \"Nikola Tesla\'s Greatest Invention\"- 102",
length: Some(1387), duration: Some(1387),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/sbdU7AkH6QM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBDpUTKGdp0-KWb06jcJ1nBcyO6Dw", url: "https://i.ytimg.com/vi/sbdU7AkH6QM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBDpUTKGdp0-KWb06jcJ1nBcyO6Dw",
@ -1124,7 +1124,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "zcchDu7KoYs", id: "zcchDu7KoYs",
name: "AMDs Victory Lap - HOLY $H!T Threadripper Pro 5995WX", name: "AMDs Victory Lap - HOLY $H!T Threadripper Pro 5995WX",
length: Some(872), duration: Some(872),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zcchDu7KoYs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAo1iXQgQA0Vdil-2ka_mG7maCGMg", url: "https://i.ytimg.com/vi/zcchDu7KoYs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAo1iXQgQA0Vdil-2ka_mG7maCGMg",
@ -1161,7 +1161,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "pd6DsSjqhFE", id: "pd6DsSjqhFE",
name: "Top Gear Satisfaction Survey Compilation", name: "Top Gear Satisfaction Survey Compilation",
length: Some(986), duration: Some(986),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pd6DsSjqhFE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5XluAGur-H4y64PT8dtddYidDfQ", url: "https://i.ytimg.com/vi/pd6DsSjqhFE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5XluAGur-H4y64PT8dtddYidDfQ",
@ -1198,7 +1198,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "2K5Gqp1cEcM", id: "2K5Gqp1cEcM",
name: "Why our Screwdriver took 3 YEARS", name: "Why our Screwdriver took 3 YEARS",
length: Some(1752), duration: Some(1752),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2K5Gqp1cEcM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBVNWWFKgajHVbNYGFdRXXNTH7aEg", url: "https://i.ytimg.com/vi/2K5Gqp1cEcM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBVNWWFKgajHVbNYGFdRXXNTH7aEg",
@ -1235,7 +1235,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "t03rmc-prJo", id: "t03rmc-prJo",
name: "This PC took 600 HOURS to Build!", name: "This PC took 600 HOURS to Build!",
length: Some(1505), duration: Some(1505),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/t03rmc-prJo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCfqUXpZWf6Gv320YOu1UW02Sv5Q", url: "https://i.ytimg.com/vi/t03rmc-prJo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCfqUXpZWf6Gv320YOu1UW02Sv5Q",
@ -1272,7 +1272,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "QTH9m6MDIfc", id: "QTH9m6MDIfc",
name: "One Year Ago I Built an Ecosystem, This Happened", name: "One Year Ago I Built an Ecosystem, This Happened",
length: Some(485), duration: Some(485),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/QTH9m6MDIfc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD3ZF3LguKP_5_qUVgX3_FXSA6ABA", url: "https://i.ytimg.com/vi/QTH9m6MDIfc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD3ZF3LguKP_5_qUVgX3_FXSA6ABA",

View file

@ -104,7 +104,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "SGP6Y0Pnhe4", id: "SGP6Y0Pnhe4",
name: "HOW IT WORKS: The International Space Station", name: "HOW IT WORKS: The International Space Station",
length: Some(1738), duration: Some(1738),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/SGP6Y0Pnhe4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAChuc2Ih-sBZQC5x7o0gghn85nJw", url: "https://i.ytimg.com/vi/SGP6Y0Pnhe4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAChuc2Ih-sBZQC5x7o0gghn85nJw",
@ -141,7 +141,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "ddZu_1Z3BAc", id: "ddZu_1Z3BAc",
name: "NASA LIVE Stream From The ISS - Live Earth & Space Station Views & Audio", name: "NASA LIVE Stream From The ISS - Live Earth & Space Station Views & Audio",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ddZu_1Z3BAc/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCi5eV9lF_2VW5JPzM1Vk5UUNqkHQ", url: "https://i.ytimg.com/vi/ddZu_1Z3BAc/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCi5eV9lF_2VW5JPzM1Vk5UUNqkHQ",
@ -178,7 +178,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "oDXBMjg9HKU", id: "oDXBMjg9HKU",
name: "APOD: 2022-09-20 - Star Forming Region NGC 3582 without Stars (Narrated by Amy)", name: "APOD: 2022-09-20 - Star Forming Region NGC 3582 without Stars (Narrated by Amy)",
length: Some(124), duration: Some(124),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/oDXBMjg9HKU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQx56iTlsHGslGMkJ74MTqRDD1Og", url: "https://i.ytimg.com/vi/oDXBMjg9HKU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQx56iTlsHGslGMkJ74MTqRDD1Og",
@ -215,7 +215,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "aU0vNvVHXa8", id: "aU0vNvVHXa8",
name: "🌎 LIVE ASTEROID Watch Tracking", name: "🌎 LIVE ASTEROID Watch Tracking",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/aU0vNvVHXa8/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBK26DJlPwe8sxoySl9hGivR0svQQ", url: "https://i.ytimg.com/vi/aU0vNvVHXa8/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBK26DJlPwe8sxoySl9hGivR0svQQ",
@ -252,7 +252,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "6scCF_8YN70", id: "6scCF_8YN70",
name: "Dramatic footage of the tsunami that hit Japan", name: "Dramatic footage of the tsunami that hit Japan",
length: Some(133), duration: Some(133),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6scCF_8YN70/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5oP2ObSoxifqGHzx7OfEzpnFHIA", url: "https://i.ytimg.com/vi/6scCF_8YN70/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5oP2ObSoxifqGHzx7OfEzpnFHIA",
@ -289,7 +289,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "n4IhCSMkADc", id: "n4IhCSMkADc",
name: "EARTH FROM SPACE: Like You\'ve Never Seen Before", name: "EARTH FROM SPACE: Like You\'ve Never Seen Before",
length: Some(766), duration: Some(766),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/n4IhCSMkADc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAhEA9mKd5lvhDnmtV5xXY22Zjfdg", url: "https://i.ytimg.com/vi/n4IhCSMkADc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAhEA9mKd5lvhDnmtV5xXY22Zjfdg",
@ -326,7 +326,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "bgbH4FAmAA0", id: "bgbH4FAmAA0",
name: "Winter Cab View from two of the most SCENIC RAILWAYS in the WORLD", name: "Winter Cab View from two of the most SCENIC RAILWAYS in the WORLD",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bgbH4FAmAA0/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDK5dHaUNVD62cFE9pVq-zw4N8Qkw", url: "https://i.ytimg.com/vi/bgbH4FAmAA0/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDK5dHaUNVD62cFE9pVq-zw4N8Qkw",
@ -363,7 +363,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "uD4izuDMUQA", id: "uD4izuDMUQA",
name: "TIMELAPSE OF THE FUTURE: A Journey to the End of Time (4K)", name: "TIMELAPSE OF THE FUTURE: A Journey to the End of Time (4K)",
length: Some(1761), duration: Some(1761),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/uD4izuDMUQA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjQYM5oXPQlFF0E-qc9n3mGlDRJQ", url: "https://i.ytimg.com/vi/uD4izuDMUQA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjQYM5oXPQlFF0E-qc9n3mGlDRJQ",
@ -400,7 +400,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "Z6DpPQ8QdLg", id: "Z6DpPQ8QdLg",
name: "Earthrise - Planet Earth Seen From The Moon - Real Time Journey Across The Lunar Surface", name: "Earthrise - Planet Earth Seen From The Moon - Real Time Journey Across The Lunar Surface",
length: Some(241), duration: Some(241),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Z6DpPQ8QdLg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOLBguftqGZ-KSwoUPACRpCVwOGQ", url: "https://i.ytimg.com/vi/Z6DpPQ8QdLg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOLBguftqGZ-KSwoUPACRpCVwOGQ",
@ -437,7 +437,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "1hNF3Wuw0LI", id: "1hNF3Wuw0LI",
name: "New York City Walk 24/7 Chat Stream", name: "New York City Walk 24/7 Chat Stream",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/1hNF3Wuw0LI/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-mGKGIK69-Ozcl3h9LAdqTpNE9A", url: "https://i.ytimg.com/vi/1hNF3Wuw0LI/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-mGKGIK69-Ozcl3h9LAdqTpNE9A",
@ -474,7 +474,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "ZEyAs3NWH4A", id: "ZEyAs3NWH4A",
name: "New: Mars In 4K", name: "New: Mars In 4K",
length: Some(609), duration: Some(609),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ZEyAs3NWH4A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAdzoD50ree_56JKW0-yPFWKnpTUw", url: "https://i.ytimg.com/vi/ZEyAs3NWH4A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAdzoD50ree_56JKW0-yPFWKnpTUw",
@ -511,7 +511,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "NF4LQaWJRDg", id: "NF4LQaWJRDg",
name: "Hiroshima: Dropping the Bomb", name: "Hiroshima: Dropping the Bomb",
length: Some(276), duration: Some(276),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NF4LQaWJRDg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDhvEsHXRIBs2CuAXkqHh07B4CDeg", url: "https://i.ytimg.com/vi/NF4LQaWJRDg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDhvEsHXRIBs2CuAXkqHh07B4CDeg",
@ -548,7 +548,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "qhOe_PxiNo8", id: "qhOe_PxiNo8",
name: "Imagens, Talvez Inéditas do Tsunami no Japão", name: "Imagens, Talvez Inéditas do Tsunami no Japão",
length: Some(1202), duration: Some(1202),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/qhOe_PxiNo8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDqvJn8j2qyzBpIwpchGDhU449YtA", url: "https://i.ytimg.com/vi/qhOe_PxiNo8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDqvJn8j2qyzBpIwpchGDhU449YtA",
@ -585,7 +585,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "zf3bDpdhUNc", id: "zf3bDpdhUNc",
name: "Astronauts accidentally lose a shield in space (GoPro 8K)", name: "Astronauts accidentally lose a shield in space (GoPro 8K)",
length: Some(566), duration: Some(566),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/zf3bDpdhUNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg0e6zMCEA7X4dx2H7uWmL6DuTfQ", url: "https://i.ytimg.com/vi/zf3bDpdhUNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg0e6zMCEA7X4dx2H7uWmL6DuTfQ",
@ -622,7 +622,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "mJxsj51d-Pk", id: "mJxsj51d-Pk",
name: "Record breaking space jump - free fall faster than speed of sound - Red Bull Stratos.", name: "Record breaking space jump - free fall faster than speed of sound - Red Bull Stratos.",
length: Some(503), duration: Some(503),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/mJxsj51d-Pk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBmhCf2s6IuaCOzdRvSI-qnlR33xA", url: "https://i.ytimg.com/vi/mJxsj51d-Pk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBmhCf2s6IuaCOzdRvSI-qnlR33xA",
@ -659,7 +659,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "fr_hXLDLc38", id: "fr_hXLDLc38",
name: "Horizons mission - Soyuz: launch to orbit", name: "Horizons mission - Soyuz: launch to orbit",
length: Some(607), duration: Some(607),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/fr_hXLDLc38/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCtdCzVkOkNo2YAzImB4VdRi5mbgQ", url: "https://i.ytimg.com/vi/fr_hXLDLc38/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCtdCzVkOkNo2YAzImB4VdRi5mbgQ",
@ -696,7 +696,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "Jh-qzwdiAGY", id: "Jh-qzwdiAGY",
name: "The Earth 4K - Incredible 4K / UHD Video of Earth From Space", name: "The Earth 4K - Incredible 4K / UHD Video of Earth From Space",
length: Some(3594), duration: Some(3594),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Jh-qzwdiAGY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDxyeDTGe_ou8OatbRvZJjocjvEfw", url: "https://i.ytimg.com/vi/Jh-qzwdiAGY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDxyeDTGe_ou8OatbRvZJjocjvEfw",
@ -733,7 +733,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "EPyl1LgNtoQ", id: "EPyl1LgNtoQ",
name: "The View from Space - Earth\'s Countries and Coastlines", name: "The View from Space - Earth\'s Countries and Coastlines",
length: Some(227), duration: Some(227),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EPyl1LgNtoQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA7DtUC7ZI8nVXddLnRs2hCDAW6PA", url: "https://i.ytimg.com/vi/EPyl1LgNtoQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA7DtUC7ZI8nVXddLnRs2hCDAW6PA",
@ -770,7 +770,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "7KXGZAEWzn0", id: "7KXGZAEWzn0",
name: "ORBIT - Journey Around Earth in Real Time // 4K Remastered", name: "ORBIT - Journey Around Earth in Real Time // 4K Remastered",
length: Some(5560), duration: Some(5560),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/7KXGZAEWzn0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC18tscsYVoOweHeG46RxP93pExiA", url: "https://i.ytimg.com/vi/7KXGZAEWzn0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC18tscsYVoOweHeG46RxP93pExiA",
@ -807,7 +807,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "KTUa9rG08go", id: "KTUa9rG08go",
name: "NASA Artemis I Mon Rocket Testing and Inspection LIVE From Launch Complex 39B", name: "NASA Artemis I Mon Rocket Testing and Inspection LIVE From Launch Complex 39B",
length: None, duration: None,
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KTUa9rG08go/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDONYcbg3bgmkGnu5k4koV9aPgy2g", url: "https://i.ytimg.com/vi/KTUa9rG08go/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDONYcbg3bgmkGnu5k4koV9aPgy2g",

View file

@ -46,7 +46,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "XtV_HGppS6A", id: "XtV_HGppS6A",
name: "Vergiss mein nicht", name: "Vergiss mein nicht",
length: Some(263), duration: Some(263),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/XtV_HGppS6A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC4oeSAhTiX-CO6nISLrR5b-c-lwQ", url: "https://i.ytimg.com/vi/XtV_HGppS6A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC4oeSAhTiX-CO6nISLrR5b-c-lwQ",
@ -83,7 +83,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "BcqM8Qshx7U", id: "BcqM8Qshx7U",
name: "Kuliko Jana - Eine neue Zeit", name: "Kuliko Jana - Eine neue Zeit",
length: Some(210), duration: Some(210),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/BcqM8Qshx7U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCTOMybYKiZ2jPlKUFcoYLngroaJw", url: "https://i.ytimg.com/vi/BcqM8Qshx7U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCTOMybYKiZ2jPlKUFcoYLngroaJw",
@ -120,7 +120,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "IUFUIgZOcow", id: "IUFUIgZOcow",
name: "Silmaril - Schöner als die Sterne", name: "Silmaril - Schöner als die Sterne",
length: Some(205), duration: Some(205),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/IUFUIgZOcow/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDraypAb-39OjGj6XeSxb5ZWuCntQ", url: "https://i.ytimg.com/vi/IUFUIgZOcow/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDraypAb-39OjGj6XeSxb5ZWuCntQ",
@ -157,7 +157,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "UtP9J88Jzg0", id: "UtP9J88Jzg0",
name: "Ruinen im Sand", name: "Ruinen im Sand",
length: Some(195), duration: Some(195),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/UtP9J88Jzg0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCmkebFxTlBZCOUHBFkMHv0DodLFQ", url: "https://i.ytimg.com/vi/UtP9J88Jzg0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCmkebFxTlBZCOUHBFkMHv0DodLFQ",
@ -194,7 +194,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "sg6j-zfUF_A", id: "sg6j-zfUF_A",
name: "Eldamar", name: "Eldamar",
length: Some(223), duration: Some(223),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/sg6j-zfUF_A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDk_V_5woDmnABodJnokWXNeyUulg", url: "https://i.ytimg.com/vi/sg6j-zfUF_A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDk_V_5woDmnABodJnokWXNeyUulg",
@ -231,7 +231,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "u2XCC1rKxV0", id: "u2XCC1rKxV0",
name: "Faolan", name: "Faolan",
length: Some(256), duration: Some(256),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/u2XCC1rKxV0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDd4Q0v9znAMTV6GLYt4Jq40MWX0w", url: "https://i.ytimg.com/vi/u2XCC1rKxV0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDd4Q0v9znAMTV6GLYt4Jq40MWX0w",
@ -268,7 +268,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "oOBBBl3fywU", id: "oOBBBl3fywU",
name: "Aeria - Vom Wind", name: "Aeria - Vom Wind",
length: Some(260), duration: Some(260),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/oOBBBl3fywU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCGpN0DnijJM8UhMKcFsTC6CFNEA", url: "https://i.ytimg.com/vi/oOBBBl3fywU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCGpN0DnijJM8UhMKcFsTC6CFNEA",
@ -305,7 +305,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "pI0Rancanz0", id: "pI0Rancanz0",
name: "Vergiss mein nicht", name: "Vergiss mein nicht",
length: Some(263), duration: Some(263),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pI0Rancanz0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_VG_5tF7ygcOE7baJcqsqyo_Ygw", url: "https://i.ytimg.com/vi/pI0Rancanz0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_VG_5tF7ygcOE7baJcqsqyo_Ygw",
@ -342,7 +342,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "DsviLYh1CB0", id: "DsviLYh1CB0",
name: "Eldamar", name: "Eldamar",
length: Some(222), duration: Some(222),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/DsviLYh1CB0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAc_WXeia9Pd2hK1PwTpTaGCKtlgA", url: "https://i.ytimg.com/vi/DsviLYh1CB0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAc_WXeia9Pd2hK1PwTpTaGCKtlgA",
@ -379,7 +379,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "Ctpe9kafn78", id: "Ctpe9kafn78",
name: "So still mein Herz", name: "So still mein Herz",
length: Some(259), duration: Some(259),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Ctpe9kafn78/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDJqIxVeJPDgMFXTavr1aaYBuaY6w", url: "https://i.ytimg.com/vi/Ctpe9kafn78/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDJqIxVeJPDgMFXTavr1aaYBuaY6w",
@ -416,7 +416,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "y252630WbIk", id: "y252630WbIk",
name: "Oonagh und Santiano: Vergiss mein nicht (mit lyrics)", name: "Oonagh und Santiano: Vergiss mein nicht (mit lyrics)",
length: Some(260), duration: Some(260),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/y252630WbIk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCgH4BN_8psoaGXUedP2Rr98O7OiA", url: "https://i.ytimg.com/vi/y252630WbIk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCgH4BN_8psoaGXUedP2Rr98O7OiA",
@ -453,7 +453,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "YgUZtELr_jw", id: "YgUZtELr_jw",
name: "Aulë und Yavanna", name: "Aulë und Yavanna",
length: Some(216), duration: Some(216),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/YgUZtELr_jw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA8840OzkwuDCpmkn_HS2w3EnlPwA", url: "https://i.ytimg.com/vi/YgUZtELr_jw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA8840OzkwuDCpmkn_HS2w3EnlPwA",
@ -490,7 +490,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "ABKSs0aU4C0", id: "ABKSs0aU4C0",
name: "Gäa (Akustik Version)", name: "Gäa (Akustik Version)",
length: Some(235), duration: Some(235),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ABKSs0aU4C0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBtmUrTNQYkg0ATqAkPyvUPHzf9Gg", url: "https://i.ytimg.com/vi/ABKSs0aU4C0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBtmUrTNQYkg0ATqAkPyvUPHzf9Gg",
@ -527,7 +527,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "O0I3rJsHikA", id: "O0I3rJsHikA",
name: "Orome (A-Class Remix)", name: "Orome (A-Class Remix)",
length: Some(199), duration: Some(199),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/O0I3rJsHikA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBLWSYj7yLNMsJkr2Hs4JOx2Rfpqg", url: "https://i.ytimg.com/vi/O0I3rJsHikA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBLWSYj7yLNMsJkr2Hs4JOx2Rfpqg",

View file

@ -149,7 +149,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "4TWR90KJl84", id: "4TWR90KJl84",
name: "aespa 에스파 \'Next Level\' MV", name: "aespa 에스파 \'Next Level\' MV",
length: Some(236), duration: Some(236),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/4TWR90KJl84/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYCGc-AKsDC6UpJgIZw2_VsqjVWA", url: "https://i.ytimg.com/vi/4TWR90KJl84/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYCGc-AKsDC6UpJgIZw2_VsqjVWA",
@ -186,7 +186,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "WPdWvnAAurg", id: "WPdWvnAAurg",
name: "aespa 에스파 \'Savage\' MV", name: "aespa 에스파 \'Savage\' MV",
length: Some(259), duration: Some(259),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw", url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw",
@ -223,7 +223,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "NoYKBAajoyo", id: "NoYKBAajoyo",
name: "EVERGLOW (에버글로우) - DUN DUN MV", name: "EVERGLOW (에버글로우) - DUN DUN MV",
length: Some(209), duration: Some(209),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NoYKBAajoyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3OhCUbjpIclmjfV8W8T98nVI5pA", url: "https://i.ytimg.com/vi/NoYKBAajoyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3OhCUbjpIclmjfV8W8T98nVI5pA",
@ -260,7 +260,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "KhTeiaCezwM", id: "KhTeiaCezwM",
name: "[MV] MAMAMOO (마마무) - HIP", name: "[MV] MAMAMOO (마마무) - HIP",
length: Some(211), duration: Some(211),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/KhTeiaCezwM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMGgSAC2vrBvhW5_JvAG6-DmNv_Q", url: "https://i.ytimg.com/vi/KhTeiaCezwM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMGgSAC2vrBvhW5_JvAG6-DmNv_Q",
@ -297,7 +297,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "Jh4QFaPmdss", id: "Jh4QFaPmdss",
name: "(G)I-DLE - \'TOMBOY\' Official Music Video", name: "(G)I-DLE - \'TOMBOY\' Official Music Video",
length: Some(198), duration: Some(198),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Jh4QFaPmdss/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQf02NuUqxsFasUAqJQYGS6SMDkw", url: "https://i.ytimg.com/vi/Jh4QFaPmdss/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQf02NuUqxsFasUAqJQYGS6SMDkw",
@ -334,7 +334,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "CM4CkVFmTds", id: "CM4CkVFmTds",
name: "TWICE \"I CAN\'T STOP ME\" M/V", name: "TWICE \"I CAN\'T STOP ME\" M/V",
length: Some(221), duration: Some(221),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/CM4CkVFmTds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfd7QADIduQSR2ESLIp1k5gxxNDg", url: "https://i.ytimg.com/vi/CM4CkVFmTds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfd7QADIduQSR2ESLIp1k5gxxNDg",
@ -371,7 +371,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "uR8Mrt1IpXg", id: "uR8Mrt1IpXg",
name: "Red Velvet 레드벨벳 \'Psycho\' MV", name: "Red Velvet 레드벨벳 \'Psycho\' MV",
length: Some(216), duration: Some(216),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/uR8Mrt1IpXg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnAsLcZaI1uWDB4nag1KnNotAUWw", url: "https://i.ytimg.com/vi/uR8Mrt1IpXg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnAsLcZaI1uWDB4nag1KnNotAUWw",
@ -408,7 +408,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "QslJYDX3o8s", id: "QslJYDX3o8s",
name: "Red Velvet 레드벨벳 \'러시안 룰렛 (Russian Roulette)\' MV", name: "Red Velvet 레드벨벳 \'러시안 룰렛 (Russian Roulette)\' MV",
length: Some(212), duration: Some(212),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/QslJYDX3o8s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAsWKGsqhHRSd2Q5s0Gh-PrmOywIA", url: "https://i.ytimg.com/vi/QslJYDX3o8s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAsWKGsqhHRSd2Q5s0Gh-PrmOywIA",
@ -445,7 +445,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "EaswWiwMVs8", id: "EaswWiwMVs8",
name: "Stray Kids \"소리꾼(Thunderous)\" M/V", name: "Stray Kids \"소리꾼(Thunderous)\" M/V",
length: Some(199), duration: Some(199),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/EaswWiwMVs8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC2hrj6yzhYrHdiS7z5i99gt15fNw", url: "https://i.ytimg.com/vi/EaswWiwMVs8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC2hrj6yzhYrHdiS7z5i99gt15fNw",
@ -482,7 +482,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "pNfTK39k55U", id: "pNfTK39k55U",
name: "ITZY \"달라달라(DALLA DALLA)\" M/V @ITZY", name: "ITZY \"달라달라(DALLA DALLA)\" M/V @ITZY",
length: Some(227), duration: Some(227),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/pNfTK39k55U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnW6UNp_Ny3hCIowtq-42AopJc7Q", url: "https://i.ytimg.com/vi/pNfTK39k55U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnW6UNp_Ny3hCIowtq-42AopJc7Q",
@ -519,7 +519,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "dYRITmpFbJ4", id: "dYRITmpFbJ4",
name: "aespa 에스파 \'Girls\' MV", name: "aespa 에스파 \'Girls\' MV",
length: Some(269), duration: Some(269),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/dYRITmpFbJ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBOxN6ukbZNOPwUBhRZYgG9r23lng", url: "https://i.ytimg.com/vi/dYRITmpFbJ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBOxN6ukbZNOPwUBhRZYgG9r23lng",
@ -556,7 +556,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "ioNng23DkIM", id: "ioNng23DkIM",
name: "BLACKPINK - \'How You Like That\' M/V", name: "BLACKPINK - \'How You Like That\' M/V",
length: Some(184), duration: Some(184),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/ioNng23DkIM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANTO784ijwW2y4bhZaWcfKzEe9iQ", url: "https://i.ytimg.com/vi/ioNng23DkIM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANTO784ijwW2y4bhZaWcfKzEe9iQ",
@ -593,7 +593,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "Ujb-gvqsoi0", id: "Ujb-gvqsoi0",
name: "Red Velvet - IRENE & SEULGI \'Monster\' MV", name: "Red Velvet - IRENE & SEULGI \'Monster\' MV",
length: Some(182), duration: Some(182),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Ujb-gvqsoi0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrGO-Gkm-UqCln07oFNKfFgioXYQ", url: "https://i.ytimg.com/vi/Ujb-gvqsoi0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrGO-Gkm-UqCln07oFNKfFgioXYQ",
@ -630,7 +630,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "bwmSjveL3Lc", id: "bwmSjveL3Lc",
name: "BLACKPINK - \'붐바야 (BOOMBAYAH)\' M/V", name: "BLACKPINK - \'붐바야 (BOOMBAYAH)\' M/V",
length: Some(244), duration: Some(244),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/bwmSjveL3Lc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRzdujtL9QM0RZ8elD00oS2fXMhg", url: "https://i.ytimg.com/vi/bwmSjveL3Lc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRzdujtL9QM0RZ8elD00oS2fXMhg",
@ -667,7 +667,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "6uJf2IT2Zh8", id: "6uJf2IT2Zh8",
name: "Red Velvet 레드벨벳 \'피카부 (Peek-A-Boo)\' MV", name: "Red Velvet 레드벨벳 \'피카부 (Peek-A-Boo)\' MV",
length: Some(230), duration: Some(230),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/6uJf2IT2Zh8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA8MvitHoGOKv_kHXY3RqkB7qr7tw", url: "https://i.ytimg.com/vi/6uJf2IT2Zh8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA8MvitHoGOKv_kHXY3RqkB7qr7tw",
@ -704,7 +704,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "Y8JFxS1HlDo", id: "Y8JFxS1HlDo",
name: "IVE 아이브 \'LOVE DIVE\' MV", name: "IVE 아이브 \'LOVE DIVE\' MV",
length: Some(179), duration: Some(179),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/Y8JFxS1HlDo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDf8U7fRH0R-qXbbGwKwpKBCeOa4A", url: "https://i.ytimg.com/vi/Y8JFxS1HlDo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDf8U7fRH0R-qXbbGwKwpKBCeOa4A",
@ -741,7 +741,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "2FzSv66c7TQ", id: "2FzSv66c7TQ",
name: "A E S P A (에스파) ALL SONGS PLAYLIST 2022 | 에스파 노래 모음", name: "A E S P A (에스파) ALL SONGS PLAYLIST 2022 | 에스파 노래 모음",
length: Some(3441), duration: Some(3441),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/2FzSv66c7TQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBJl1tQDODos5G6RJlpg4R-pvWNZA", url: "https://i.ytimg.com/vi/2FzSv66c7TQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBJl1tQDODos5G6RJlpg4R-pvWNZA",
@ -778,7 +778,7 @@ VideoDetails(
VideoItem( VideoItem(
id: "NU611fxGyPU", id: "NU611fxGyPU",
name: "aespa 에스파 \'Black Mamba\' Dance Practice", name: "aespa 에스파 \'Black Mamba\' Dance Practice",
length: Some(175), duration: Some(175),
thumbnail: [ thumbnail: [
Thumbnail( Thumbnail(
url: "https://i.ytimg.com/vi/NU611fxGyPU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgKORzcy6WKosI1_PAVWDgcjJ9jA", url: "https://i.ytimg.com/vi/NU611fxGyPU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgKORzcy6WKosI1_PAVWDgcjJ9jA",

View file

@ -1,4 +1,4 @@
use std::fmt::Debug; use std::{collections::HashMap, fmt::Debug};
use serde::Serialize; use serde::Serialize;
@ -6,7 +6,7 @@ use crate::{
error::{Error, ExtractionError}, error::{Error, ExtractionError},
model::{ model::{
paginator::{ContinuationEndpoint, Paginator}, paginator::{ContinuationEndpoint, Paginator},
ChannelTag, Chapter, Comment, VideoDetails, VideoItem, ChannelTag, Chapter, Comment, Verification, VideoDetails, VideoItem,
}, },
param::Language, param::Language,
serializer::MapResult, serializer::MapResult,
@ -14,7 +14,7 @@ use crate::{
}; };
use super::{ use super::{
response::{self, IconType}, response::{self, video_details::Payload, IconType},
ClientType, MapResponse, QContinuation, RustyPipeQuery, YTContext, ClientType, MapResponse, QContinuation, RustyPipeQuery, YTContext,
}; };
@ -391,44 +391,73 @@ impl MapResponse<Paginator<Comment>> for response::VideoComments {
_vdata: Option<&str>, _vdata: Option<&str>,
) -> Result<MapResult<Paginator<Comment>>, ExtractionError> { ) -> Result<MapResult<Paginator<Comment>>, ExtractionError> {
let received_endpoints = self.on_response_received_endpoints; let received_endpoints = self.on_response_received_endpoints;
let mut warnings = received_endpoints.warnings; let mut warnings = Vec::new();
let mut comments = Vec::new(); let mut comments = Vec::new();
let mut comment_count = None; let mut comment_count = None;
let mut ctoken = None; let mut ctoken = None;
let mut mutations = if let Some(upd) = self.framework_updates {
let mut m = upd.entity_batch_update.mutations;
warnings.append(&mut m.warnings);
m.items
} else {
HashMap::new()
};
received_endpoints.c.into_iter().for_each(|citem| { received_endpoints.c.into_iter().for_each(|citem| {
let mut items = citem.append_continuation_items_action.continuation_items; let mut items = citem.append_continuation_items_action.continuation_items;
warnings.append(&mut items.warnings); warnings.append(&mut items.warnings);
items.c.into_iter().for_each(|item| match item { items.c.into_iter().for_each(|item| match item {
response::video_details::CommentListItem::CommentThreadRenderer { response::video_details::CommentListItem::CommentThreadRenderer(thread) => {
comment, if let Some(comment) = thread.comment {
replies, comments.push(map_comment(
rendering_priority, comment.comment_renderer,
} => { Some(thread.replies),
let mut res = map_comment( thread.rendering_priority,
comment.comment_renderer, lang,
Some(replies), &mut warnings,
rendering_priority, ));
lang, } else if let Some(vm) = thread.comment_view_model {
); if let Some(c) = map_comment_vm(
comments.push(res.c); vm.comment_view_model,
warnings.append(&mut res.warnings); &mut mutations,
Some(thread.replies),
thread.rendering_priority,
lang,
&mut warnings,
) {
comments.push(c);
}
} else {
warnings.push(
"comment does not contain comment or commentViewModel field".to_owned(),
);
}
} }
response::video_details::CommentListItem::CommentRenderer(comment) => { response::video_details::CommentListItem::CommentRenderer(comment) => {
let mut res = map_comment( comments.push(map_comment(
comment, comment,
None, None,
response::video_details::CommentPriority::RenderingPriorityUnknown, response::video_details::CommentPriority::RenderingPriorityUnknown,
lang, lang,
); &mut warnings,
comments.push(res.c); ));
warnings.append(&mut res.warnings);
} }
response::video_details::CommentListItem::ContinuationItemRenderer { response::video_details::CommentListItem::CommentViewModel(vm) => {
continuation_endpoint, if let Some(c) = map_comment_vm(
} => { vm,
ctoken = Some(continuation_endpoint.continuation_command.token); &mut mutations,
None,
response::video_details::CommentPriority::RenderingPriorityUnknown,
lang,
&mut warnings,
) {
comments.push(c);
}
}
response::video_details::CommentListItem::ContinuationItemRenderer(cont) => {
ctoken = Some(cont.token());
} }
response::video_details::CommentListItem::CommentsHeaderRenderer { count_text } => { response::video_details::CommentListItem::CommentsHeaderRenderer { count_text } => {
comment_count = count_text comment_count = count_text
@ -471,87 +500,152 @@ fn map_recommendations(
} }
} }
fn map_replies(
replies: Option<response::video_details::Replies>,
lang: Language,
warnings: &mut Vec<String>,
) -> (Vec<Comment>, Option<String>) {
let mut reply_ctoken = None;
let replies = replies
.map(|replies| {
replies
.comment_replies_renderer
.contents
.into_iter()
.filter_map(|item| match item {
response::video_details::CommentListItem::CommentRenderer(comment) => {
Some(map_comment(
comment,
None,
response::video_details::CommentPriority::default(),
lang,
warnings,
))
}
response::video_details::CommentListItem::ContinuationItemRenderer(cont) => {
reply_ctoken = Some(cont.token());
None
}
_ => None,
})
.collect::<Vec<_>>()
})
.unwrap_or_default();
(replies, reply_ctoken)
}
fn map_comment( fn map_comment(
c: response::video_details::CommentRenderer, c: response::video_details::CommentRenderer,
replies: Option<response::video_details::Replies>, replies: Option<response::video_details::Replies>,
priority: response::video_details::CommentPriority, priority: response::video_details::CommentPriority,
lang: Language, lang: Language,
) -> MapResult<Comment> { warnings: &mut Vec<String>,
let mut warnings = Vec::new(); ) -> Comment {
let (replies, reply_ctoken) = map_replies(replies, lang, warnings);
let mut reply_ctoken = None; Comment {
let replies = replies.map(|replies| { id: c.comment_id,
replies text: c.content_text.into(),
.comment_replies_renderer author: match (c.author_endpoint, c.author_text) {
.contents (Some(aep), Some(name)) => Some(ChannelTag {
.into_iter() id: aep.browse_endpoint.browse_id,
.filter_map(|item| match item { name,
response::video_details::CommentListItem::CommentRenderer(comment) => { avatar: c.author_thumbnail.into(),
let mut res = map_comment( verification: c
comment, .author_comment_badge
None, .map(|b| b.author_comment_badge_renderer.icon.into())
response::video_details::CommentPriority::default(), .unwrap_or_default(),
lang, subscriber_count: None,
); }),
warnings.append(&mut res.warnings); _ => None,
Some(res.c)
}
response::video_details::CommentListItem::ContinuationItemRenderer {
continuation_endpoint,
} => {
reply_ctoken = Some(continuation_endpoint.continuation_command.token);
None
}
_ => None,
})
.collect::<Vec<_>>()
});
MapResult {
c: Comment {
id: c.comment_id,
text: c.content_text.into(),
author: match (c.author_endpoint, c.author_text) {
(Some(aep), Some(name)) => Some(ChannelTag {
id: aep.browse_endpoint.browse_id,
name,
avatar: c.author_thumbnail.into(),
verification: c
.author_comment_badge
.map(|b| b.author_comment_badge_renderer.icon.into())
.unwrap_or_default(),
subscriber_count: None,
}),
_ => None,
},
publish_date: timeago::parse_timeago_dt_or_warn(
lang,
&c.published_time_text,
&mut warnings,
),
publish_date_txt: c.published_time_text,
like_count: match c.vote_count {
Some(txt) => util::parse_numeric_or_warn(&txt, &mut warnings),
None => Some(0),
},
reply_count: c.reply_count as u32,
replies: replies
.map(|items| Paginator::new(Some(c.reply_count), items, reply_ctoken))
.unwrap_or_default(),
by_owner: c.author_is_channel_owner,
pinned: priority
== response::video_details::CommentPriority::RenderingPriorityPinnedComment,
hearted: c
.action_buttons
.comment_action_buttons_renderer
.creator_heart
.map(|h| h.creator_heart_renderer.is_hearted)
.unwrap_or_default(),
}, },
warnings, publish_date: timeago::parse_timeago_dt_or_warn(lang, &c.published_time_text, warnings),
publish_date_txt: c.published_time_text,
like_count: match c.vote_count {
Some(txt) => util::parse_numeric_or_warn(&txt, warnings),
None => Some(0),
},
reply_count: c.reply_count as u32,
replies: Paginator::new(Some(c.reply_count), replies, reply_ctoken),
by_owner: c.author_is_channel_owner,
pinned: priority.into(),
hearted: c
.action_buttons
.comment_action_buttons_renderer
.creator_heart
.map(|h| h.creator_heart_renderer.is_hearted)
.unwrap_or_default(),
} }
} }
fn map_comment_vm(
vm: response::video_details::CommentViewModel,
mutations: &mut HashMap<String, response::video_details::Payload>,
replies: Option<response::video_details::Replies>,
priority: response::video_details::CommentPriority,
lang: Language,
warnings: &mut Vec<String>,
) -> Option<Comment> {
let (replies, reply_ctoken) = map_replies(replies, lang, warnings);
let ce = if let Some(Payload::CommentEntityPayload(ce)) = mutations.remove(&vm.comment_key) {
ce
} else {
warnings.push(format!(
"comment `{}` does not have entity payload (key: `{}`)",
vm.comment_id, vm.comment_key
));
return None;
};
let hearted = if let Some(Payload::EngagementToolbarStateEntityPayload { heart_state }) =
mutations.get(&vm.toolbar_state_key)
{
(*heart_state).into()
} else {
false
};
let mut parse_num = |s: &str| -> Option<u32> {
if s.is_empty() || s == " " {
Some(0)
} else {
util::parse_large_numstr_or_warn(s, lang, warnings)
}
};
let reply_count = parse_num(&ce.toolbar.reply_count).unwrap_or_default();
Some(Comment {
id: vm.comment_id,
text: ce.properties.content.into(),
by_owner: ce.author.as_ref().map(|a| a.is_creator).unwrap_or_default(),
author: ce.author.map(|a| ChannelTag {
id: a.channel_id,
name: a.display_name,
avatar: ce.avatar.image.into(),
verification: if a.is_artist {
Verification::Artist
} else if a.is_verified {
Verification::Verified
} else {
Verification::None
},
subscriber_count: None,
}),
like_count: parse_num(&ce.toolbar.like_count_notliked),
reply_count,
replies: Paginator::new(Some(reply_count.into()), replies, reply_ctoken),
publish_date: timeago::parse_timeago_dt_or_warn(
lang,
&ce.properties.published_time,
warnings,
),
publish_date_txt: ce.properties.published_time,
pinned: priority.into(),
hearted,
})
}
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use std::{fs::File, io::BufReader}; use std::{fs::File, io::BufReader};
@ -614,6 +708,8 @@ mod tests {
#[rstest] #[rstest]
#[case::top("top")] #[case::top("top")]
#[case::latest("latest")] #[case::latest("latest")]
#[case::frameworkupd("20240401_frameworkupd")]
#[case::frameworkupd_reply("20240401_frameworkupd_reply")]
fn map_comments(#[case] name: &str) { fn map_comments(#[case] name: &str) {
let json_path = path!(*TESTFILES / "video_details" / format!("comments_{name}.json")); let json_path = path!(*TESTFILES / "video_details" / format!("comments_{name}.json"));
let json_file = File::open(json_path).unwrap(); let json_file = File::open(json_path).unwrap();

View file

@ -31,7 +31,7 @@ pub enum ExtractionError {
/// - Age restriction /// - Age restriction
/// - Private video /// - Private video
/// - DRM (Movies and TV shows) /// - DRM (Movies and TV shows)
#[error("content unavailable because it is {reason}. Reason (from YT): {msg}")] #[error("content unavailable ({reason}). Reason (from YT): {msg}")]
Unavailable { Unavailable {
/// Reason why the video could not be extracted /// Reason why the video could not be extracted
reason: UnavailabilityReason, reason: UnavailabilityReason,
@ -100,6 +100,8 @@ pub enum UnavailabilityReason {
MembersOnly, MembersOnly,
/// Livestream has gone offline /// Livestream has gone offline
OfflineLivestream, OfflineLivestream,
/// YouTube banned your IP address from accessing the platform without an account
IpBan,
/// Video cant be played for other reasons /// Video cant be played for other reasons
#[default] #[default]
Unplayable, Unplayable,
@ -108,15 +110,16 @@ pub enum UnavailabilityReason {
impl Display for UnavailabilityReason { impl Display for UnavailabilityReason {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self { match self {
UnavailabilityReason::AgeRestricted => f.write_str("age restriction"), UnavailabilityReason::AgeRestricted => f.write_str("age-restricted"),
UnavailabilityReason::Deleted => f.write_str("deleted"), UnavailabilityReason::Deleted => f.write_str("deleted"),
UnavailabilityReason::Geoblocked => f.write_str("geoblocking"), UnavailabilityReason::Geoblocked => f.write_str("geoblocked"),
UnavailabilityReason::UnsupportedClient => f.write_str("unsupported by client"), UnavailabilityReason::UnsupportedClient => f.write_str("unsupported by client"),
UnavailabilityReason::Private => f.write_str("private"), UnavailabilityReason::Private => f.write_str("private"),
UnavailabilityReason::Paid => f.write_str("paid"), UnavailabilityReason::Paid => f.write_str("paid"),
UnavailabilityReason::Premium => f.write_str("premium-only"), UnavailabilityReason::Premium => f.write_str("premium-only"),
UnavailabilityReason::MembersOnly => f.write_str("members-only"), UnavailabilityReason::MembersOnly => f.write_str("members-only"),
UnavailabilityReason::OfflineLivestream => f.write_str("an offline stream"), UnavailabilityReason::OfflineLivestream => f.write_str("offline stream"),
UnavailabilityReason::IpBan => f.write_str("ip-ban"),
UnavailabilityReason::Unplayable => f.write_str("unplayable"), UnavailabilityReason::Unplayable => f.write_str("unplayable"),
} }
} }

View file

@ -68,9 +68,9 @@ pub enum UrlTarget {
}, },
} }
impl ToString for UrlTarget { impl std::fmt::Display for UrlTarget {
fn to_string(&self) -> String { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
self.to_url() f.write_str(&self.to_url())
} }
} }
@ -157,10 +157,10 @@ pub struct VideoPlayerDetails {
pub name: String, pub name: String,
/// Video description in plaintext format /// Video description in plaintext format
pub description: Option<String>, pub description: Option<String>,
/// Video length in seconds /// Video duration in seconds
/// ///
/// Is zero for livestreams /// Is zero for livestreams
pub length: u32, pub duration: u32,
/// Video thumbnail /// Video thumbnail
pub thumbnail: Vec<Thumbnail>, pub thumbnail: Vec<Thumbnail>,
/// Channel of the video /// Channel of the video
@ -837,10 +837,10 @@ pub struct VideoItem {
pub id: String, pub id: String,
/// Video title /// Video title
pub name: String, pub name: String,
/// Video length in seconds. /// Video duration in seconds.
/// ///
/// Is [`None`] for livestreams. /// Is [`None`] for livestreams.
pub length: Option<u32>, pub duration: Option<u32>,
/// Video thumbnail /// Video thumbnail
pub thumbnail: Vec<Thumbnail>, pub thumbnail: Vec<Thumbnail>,
/// Channel of the video /// Channel of the video

View file

@ -19,6 +19,9 @@ pub enum TextComponent {
Text { Text {
/// Plain text /// Plain text
text: String, text: String,
/// Text styling
#[serde(default, skip_serializing_if = "Style::is_unstyled")]
style: Style,
}, },
/// Web link /// Web link
Web { Web {
@ -36,6 +39,78 @@ pub enum TextComponent {
}, },
} }
/// Text styling
#[derive(Default, Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[serde(default)]
#[non_exhaustive]
pub struct Style {
/// **Bold**
///
/// - HTML: `<b>Text</b>`
/// - Markdown: `**Text**`
#[serde(skip_serializing_if = "std::ops::Not::not")]
pub bold: bool,
/// *Italic*
///
/// - HTML: `<i>Text</i>`
/// - Markdown: `*Text*`
#[serde(skip_serializing_if = "std::ops::Not::not")]
pub italic: bool,
/// ~~Strikethrough~~
///
/// - HTML: `<s>Text</s>`
/// - Markdown: `~~Text~~`
#[serde(skip_serializing_if = "std::ops::Not::not")]
pub strikethrough: bool,
}
impl Style {
/// Return true if the text is styled (bold/italic/strikethrough)
pub fn is_styled(&self) -> bool {
self.bold || self.italic || self.strikethrough
}
fn is_unstyled(&self) -> bool {
!self.is_styled()
}
fn html_open(&self, s: &mut String) {
if self.bold {
s.push_str("<b>");
}
if self.italic {
s.push_str("<i>");
}
if self.strikethrough {
s.push_str("<s>");
}
}
fn html_close(&self, s: &mut String) {
if self.bold {
s.push_str("</b>");
}
if self.italic {
s.push_str("</i>");
}
if self.strikethrough {
s.push_str("</s>");
}
}
fn md_tag(&self, s: &mut String) {
if self.bold {
s.push_str("**");
}
if self.italic {
s.push('*');
}
if self.strikethrough {
s.push_str("~~");
}
}
}
/// Trait for converting rich text to plain text. /// Trait for converting rich text to plain text.
pub trait ToPlaintext { pub trait ToPlaintext {
/// Convert rich text to plain text. /// Convert rich text to plain text.
@ -83,7 +158,7 @@ impl TextComponent {
/// Get the text from the component /// Get the text from the component
pub fn get_text(&self) -> &str { pub fn get_text(&self) -> &str {
match self { match self {
TextComponent::Text { text } TextComponent::Text { text, .. }
| TextComponent::Web { text, .. } | TextComponent::Web { text, .. }
| TextComponent::YouTube { text, .. } => text, | TextComponent::YouTube { text, .. } => text,
} }
@ -104,7 +179,7 @@ impl TextComponent {
impl ToPlaintext for TextComponent { impl ToPlaintext for TextComponent {
fn to_plaintext_yt_host(&self, yt_host: &str) -> String { fn to_plaintext_yt_host(&self, yt_host: &str) -> String {
match self { match self {
TextComponent::Text { text } => text.clone(), TextComponent::Text { text, .. } => text.clone(),
_ => self.get_url(yt_host), _ => self.get_url(yt_host),
} }
} }
@ -113,7 +188,13 @@ impl ToPlaintext for TextComponent {
impl ToHtml for TextComponent { impl ToHtml for TextComponent {
fn to_html_yt_host(&self, yt_host: &str) -> String { fn to_html_yt_host(&self, yt_host: &str) -> String {
match self { match self {
TextComponent::Text { text } => util::escape_html(text), TextComponent::Text { text, style } => {
let mut html = String::with_capacity(text.len());
style.html_open(&mut html);
util::escape_html_append(text, &mut html);
style.html_close(&mut html);
html
}
TextComponent::Web { text, .. } => { TextComponent::Web { text, .. } => {
format!( format!(
r#"<a href="{}" target="_blank" rel="noreferrer">{}</a>"#, r#"<a href="{}" target="_blank" rel="noreferrer">{}</a>"#,
@ -135,7 +216,13 @@ impl ToHtml for TextComponent {
impl ToMarkdown for TextComponent { impl ToMarkdown for TextComponent {
fn to_markdown_yt_host(&self, yt_host: &str) -> String { fn to_markdown_yt_host(&self, yt_host: &str) -> String {
match self { match self {
TextComponent::Text { text } => util::escape_markdown(text), TextComponent::Text { text, style } => {
let mut md = String::with_capacity(text.len());
style.md_tag(&mut md);
util::escape_markdown_append(text, &mut md);
style.md_tag(&mut md);
md
}
TextComponent::Web { text, .. } | TextComponent::YouTube { text, .. } => { TextComponent::Web { text, .. } | TextComponent::YouTube { text, .. } => {
format!( format!(
"[{}]({})", "[{}]({})",
@ -175,6 +262,7 @@ impl ToMarkdown for RichText {
mod tests { mod tests {
use super::*; use super::*;
use insta::assert_snapshot;
use once_cell::sync::Lazy; use once_cell::sync::Lazy;
use crate::client::response::url_endpoint::MusicVideoType; use crate::client::response::url_endpoint::MusicVideoType;
@ -182,37 +270,47 @@ mod tests {
static TEXT_SOURCE: Lazy<text::TextComponents> = Lazy::new(|| { static TEXT_SOURCE: Lazy<text::TextComponents> = Lazy::new(|| {
text::TextComponents(vec![ text::TextComponents(vec![
text::TextComponent::Text { text: "🎧Listen and download aespa's debut single \"Black Mamba\": ".to_owned() }, text::TextComponent::new("🎧Listen and download aespa's debut single \"Black Mamba\": "),
text::TextComponent::Web { text: "https://smarturl.it/aespa_BlackMamba".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbFY1QmpQamJPSms0Z1FnVTlQUS00ZFhBZnBJZ3xBQ3Jtc0tuRGJBanludGoyRnphb2dZWVd3cUNnS3dEd0FnNHFOZEY1NHBJaHFmLXpaWUJwX3ZucDZxVnpGeHNGX1FpMzFkZW9jQkI2Mi1wNGJ1UVFNN3h1MnN3R3JLMzdxU01nZ01POHBGcmxHU2puSUk1WHRzQQ&q=https%3A%2F%2Fsmarturl.it%2Faespa_BlackMamba&v=ZeerrnuLi5E".to_owned() }, text::TextComponent::Web { text: "https://smarturl.it/aespa_BlackMamba".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbFY1QmpQamJPSms0Z1FnVTlQUS00ZFhBZnBJZ3xBQ3Jtc0tuRGJBanludGoyRnphb2dZWVd3cUNnS3dEd0FnNHFOZEY1NHBJaHFmLXpaWUJwX3ZucDZxVnpGeHNGX1FpMzFkZW9jQkI2Mi1wNGJ1UVFNN3h1MnN3R3JLMzdxU01nZ01POHBGcmxHU2puSUk1WHRzQQ&q=https%3A%2F%2Fsmarturl.it%2Faespa_BlackMamba&v=ZeerrnuLi5E".to_owned() },
text::TextComponent::Text { text: "\n🐍The Debut Stage ".to_owned() }, text::TextComponent::new("\n🐍The Debut Stage "),
text::TextComponent::Video { text: "https://youtu.be/Ky5RT5oGg0w".to_owned(), video_id: "Ky5RT5oGg0w".to_owned(), start_time: 0, vtype: MusicVideoType::Video }, text::TextComponent::Video { text: "https://youtu.be/Ky5RT5oGg0w".to_owned(), video_id: "Ky5RT5oGg0w".to_owned(), start_time: 0, vtype: MusicVideoType::Video },
text::TextComponent::Text { text: "\n\n🎟️ aespa Showcase SYNK in LA! Tickets now on sale: ".to_owned() }, text::TextComponent::new("\n\n🎟️ aespa Showcase SYNK in LA! Tickets now on sale: "),
text::TextComponent::Web { text: "https://www.ticketmaster.com/event/0A...".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbFpUMEZiaXJWWkszaVZXaEM0emxWU1JQV3NoQXxBQ3Jtc0tuU2g4VWNPNE5UY3hoSWYtamFzX0h4bUVQLVJiRy1ubDZrTnh3MUpGdDNSaUo0ZlMyT3lUM28ycUVBdHJLMndGcDhla3BkOFpxSVFfOS1QdVJPVHBUTEV1LXpOV0J2QXdhV05lV210cEJtZUJMeHdaTQ&q=https%3A%2F%2Fwww.ticketmaster.com%2Fevent%2F0A005CCD9E871F6E&v=ZeerrnuLi5E".to_owned() }, text::TextComponent::Web { text: "https://www.ticketmaster.com/event/0A...".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbFpUMEZiaXJWWkszaVZXaEM0emxWU1JQV3NoQXxBQ3Jtc0tuU2g4VWNPNE5UY3hoSWYtamFzX0h4bUVQLVJiRy1ubDZrTnh3MUpGdDNSaUo0ZlMyT3lUM28ycUVBdHJLMndGcDhla3BkOFpxSVFfOS1QdVJPVHBUTEV1LXpOV0J2QXdhV05lV210cEJtZUJMeHdaTQ&q=https%3A%2F%2Fwww.ticketmaster.com%2Fevent%2F0A005CCD9E871F6E&v=ZeerrnuLi5E".to_owned() },
text::TextComponent::Text { text: "\n\nSubscribe to aespa Official YouTube Channel!\n".to_owned() }, text::TextComponent::new("\n\nSubscribe to aespa Official YouTube Channel!\n"),
text::TextComponent::Web { text: "https://www.youtube.com/aespa?sub_con...".to_owned(), url: "https://www.youtube.com/aespa?sub_confirmation=1".to_owned() }, text::TextComponent::Web { text: "https://www.youtube.com/aespa?sub_con...".to_owned(), url: "https://www.youtube.com/aespa?sub_confirmation=1".to_owned() },
text::TextComponent::Text { text: "\n\naespa official\n".to_owned() }, text::TextComponent::new("\n\naespa official\n"),
text::TextComponent::Web { text: "https://www.youtube.com/c/aespa".to_owned(), url: "https://www.youtube.com/c/aespa".to_owned() }, text::TextComponent::Web { text: "https://www.youtube.com/c/aespa".to_owned(), url: "https://www.youtube.com/c/aespa".to_owned() },
text::TextComponent::Text { text: "\n".to_owned() }, text::TextComponent::new("\n"),
text::TextComponent::Web { text: "https://www.instagram.com/aespa_official".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbmE4UXZBdFM4allpdUkwaGQ1SGFBTklKYVVaQXxBQ3Jtc0tsOVg3WTM2Y0t1eE5YUm5vZjNTVjM4bncxTl9JeFdWeGJlbDZJa3BqTXZDQUdzVndPR3ZpV2ZEOGMzZ1FsT21HMEp5UllpWVZVb3djYTVzNGNFaWlmbzhmTEVmQ0RiVUxMNUM4MDV3ZGt3SHhJM3pGSQ&q=https%3A%2F%2Fwww.instagram.com%2Faespa_official&v=ZeerrnuLi5E".to_owned() }, text::TextComponent::Web { text: "https://www.instagram.com/aespa_official".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbmE4UXZBdFM4allpdUkwaGQ1SGFBTklKYVVaQXxBQ3Jtc0tsOVg3WTM2Y0t1eE5YUm5vZjNTVjM4bncxTl9JeFdWeGJlbDZJa3BqTXZDQUdzVndPR3ZpV2ZEOGMzZ1FsT21HMEp5UllpWVZVb3djYTVzNGNFaWlmbzhmTEVmQ0RiVUxMNUM4MDV3ZGt3SHhJM3pGSQ&q=https%3A%2F%2Fwww.instagram.com%2Faespa_official&v=ZeerrnuLi5E".to_owned() },
text::TextComponent::Text { text: "\n".to_owned() }, text::TextComponent::new("\n"),
text::TextComponent::Web { text: "https://www.tiktok.com/@aespa_official".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa2hVUk9QQXZmMHk5ZkdEZnVKZXIyXzZvX09zZ3xBQ3Jtc0trZEhjd1lVc1NZMWs4TVY3UmpzdDhnX0lLYnZjekZqNUprWUpHV1ZOR2g0al84TlNLTEFjODktUWE3QUFFTlJ5RlpvOVNOWUdJXzF2ZHhzOHRTdGhlUG1OcmhZVkMtazBzYXJqNFVUYVBKUVI1ZzB4VQ&q=https%3A%2F%2Fwww.tiktok.com%2F%40aespa_official&v=ZeerrnuLi5E".to_owned() }, text::TextComponent::Web { text: "https://www.tiktok.com/@aespa_official".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa2hVUk9QQXZmMHk5ZkdEZnVKZXIyXzZvX09zZ3xBQ3Jtc0trZEhjd1lVc1NZMWs4TVY3UmpzdDhnX0lLYnZjekZqNUprWUpHV1ZOR2g0al84TlNLTEFjODktUWE3QUFFTlJ5RlpvOVNOWUdJXzF2ZHhzOHRTdGhlUG1OcmhZVkMtazBzYXJqNFVUYVBKUVI1ZzB4VQ&q=https%3A%2F%2Fwww.tiktok.com%2F%40aespa_official&v=ZeerrnuLi5E".to_owned() },
text::TextComponent::Text { text: "\n".to_owned() }, text::TextComponent::new("\n"),
text::TextComponent::Web { text: "https://twitter.com/aespa_Official".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbWFlRFFWWVpMeFRzU08ySWhJWVl0RUJpZzIxZ3xBQ3Jtc0tsekJiMUI4Zk1QdENObWpLZVppdk1nRVBkamJmX21VNGxaYjdUTEdoREx4Z3pWTm0wVHg4MWNTVmdxakNJT3VQQk5tSDVnZkNJZkhQSTF1d0ZEX3g0RUVDWjFjVzA1ZzVsTEVvMW5ISTdaZU1xYjhXSQ&q=https%3A%2F%2Ftwitter.com%2Faespa_Official&v=ZeerrnuLi5E".to_owned() }, text::TextComponent::Web { text: "https://twitter.com/aespa_Official".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbWFlRFFWWVpMeFRzU08ySWhJWVl0RUJpZzIxZ3xBQ3Jtc0tsekJiMUI4Zk1QdENObWpLZVppdk1nRVBkamJmX21VNGxaYjdUTEdoREx4Z3pWTm0wVHg4MWNTVmdxakNJT3VQQk5tSDVnZkNJZkhQSTF1d0ZEX3g0RUVDWjFjVzA1ZzVsTEVvMW5ISTdaZU1xYjhXSQ&q=https%3A%2F%2Ftwitter.com%2Faespa_Official&v=ZeerrnuLi5E".to_owned() },
text::TextComponent::Text { text: "\n".to_owned() }, text::TextComponent::new("\n"),
text::TextComponent::Web { text: "https://www.facebook.com/aespa.official".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbWJxUWVETWNwM0ltc0JYXzBjQ1h5dmQ2OXNzUXxBQ3Jtc0ttVy1JRHV2VVpUOUtDdUZTU0tROEtLX1k0bVFFNTdoZVpIUDhDbTkydmRmY2diR3RlQmlON1Y4NURsaU1YcTRKLXBzeGdkWWY1d0R3MzhMYXl6cE1OM0hMcEpkdXZvVXItQzRhMTVqVU1ySk93UG9Ydw&q=https%3A%2F%2Fwww.facebook.com%2Faespa.official&v=ZeerrnuLi5E".to_owned() }, text::TextComponent::Web { text: "https://www.facebook.com/aespa.official".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbWJxUWVETWNwM0ltc0JYXzBjQ1h5dmQ2OXNzUXxBQ3Jtc0ttVy1JRHV2VVpUOUtDdUZTU0tROEtLX1k0bVFFNTdoZVpIUDhDbTkydmRmY2diR3RlQmlON1Y4NURsaU1YcTRKLXBzeGdkWWY1d0R3MzhMYXl6cE1OM0hMcEpkdXZvVXItQzRhMTVqVU1ySk93UG9Ydw&q=https%3A%2F%2Fwww.facebook.com%2Faespa.official&v=ZeerrnuLi5E".to_owned() },
text::TextComponent::Text { text: "\n".to_owned() }, text::TextComponent::new("\n"),
text::TextComponent::Web { text: "https://weibo.com/aespa".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbUZFOVFFSEtTRkU5LXluWk9uTVRHbU5tN2JGd3xBQ3Jtc0ttR003eUM4ZVBVM3JPdjdJMnZwRXpxZmJMMkhFbHYtbklJUG9LYXh5VHBXalgyWTZwc3RqcGlhT2JIR0RlNVpWUEpBajZ0X2d5ZkxEZUUyQmF4bE13NjhEdDZOak9saHdnb25qdnB3dnRiYmplbkY0MA&q=https%3A%2F%2Fweibo.com%2Faespa&v=ZeerrnuLi5E".to_owned() }, text::TextComponent::Web { text: "https://weibo.com/aespa".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbUZFOVFFSEtTRkU5LXluWk9uTVRHbU5tN2JGd3xBQ3Jtc0ttR003eUM4ZVBVM3JPdjdJMnZwRXpxZmJMMkhFbHYtbklJUG9LYXh5VHBXalgyWTZwc3RqcGlhT2JIR0RlNVpWUEpBajZ0X2d5ZkxEZUUyQmF4bE13NjhEdDZOak9saHdnb25qdnB3dnRiYmplbkY0MA&q=https%3A%2F%2Fweibo.com%2Faespa&v=ZeerrnuLi5E".to_owned() },
text::TextComponent::Text { text: "\n\n".to_owned() }, text::TextComponent::new("\n\n"),
text::TextComponent::Text { text: "#aespa".to_owned() }, text::TextComponent::new("#aespa"),
text::TextComponent::Text { text: " ".to_owned() }, text::TextComponent::new(" "),
text::TextComponent::Text { text: "#æspa".to_owned() }, text::TextComponent::new("#æspa"),
text::TextComponent::Text { text: " ".to_owned() }, text::TextComponent::new(" "),
text::TextComponent::Text { text: "#BlackMamba".to_owned() }, text::TextComponent::new("#BlackMamba"),
text::TextComponent::Text { text: " ".to_owned() }, text::TextComponent::new(" "),
text::TextComponent::Text { text: "#블랙맘바".to_owned() }, text::TextComponent::new("#블랙맘바"),
text::TextComponent::Text { text: " ".to_owned() }, text::TextComponent::new(" "),
text::TextComponent::Text { text: "#에스파".to_owned() }, text::TextComponent::new("#에스파"),
text::TextComponent::Text { text: "\naespa 에스파 'Black Mamba' MV ℗ SM Entertainment".to_owned() }, text::TextComponent::new("\naespa 에스파 'Black Mamba' MV ℗ SM Entertainment"),
text::TextComponent::new("\n\n"),
text::TextComponent::new("Bold: "),
text::TextComponent::Text { text: "Awesome".to_owned(), style: Style { bold: true, italic: false, strikethrough: false } },
text::TextComponent::new("\nItalic: "),
text::TextComponent::Text { text: "Great".to_owned(), style: Style { bold: false, italic: true, strikethrough: false } },
text::TextComponent::new("\nStrikethrough: "),
text::TextComponent::Text { text: "Gone".to_owned(), style: Style { bold: false, italic: false, strikethrough: true } },
text::TextComponent::new("\nMixed: "),
text::TextComponent::Text { text: "Everything".to_owned(), style: Style { bold: true, italic: true, strikethrough: true } },
]) ])
}); });
@ -220,36 +318,41 @@ mod tests {
fn to_plaintext() { fn to_plaintext() {
let richtext = RichText::from(TEXT_SOURCE.clone()); let richtext = RichText::from(TEXT_SOURCE.clone());
let plaintext = richtext.to_plaintext_yt_host("https://piped.kavin.rocks"); let plaintext = richtext.to_plaintext_yt_host("https://piped.kavin.rocks");
assert_eq!(
plaintext,
r#"🎧Listen and download aespa's debut single "Black Mamba": https://smarturl.it/aespa_BlackMamba
🐍The Debut Stage https://piped.kavin.rocks/watch?v=Ky5RT5oGg0w
🎟 aespa Showcase SYNK in LA! Tickets now on sale: https://www.ticketmaster.com/event/0A005CCD9E871F6E assert_snapshot!(plaintext, @r###"
🎧Listen and download aespa's debut single "Black Mamba": https://smarturl.it/aespa_BlackMamba
🐍The Debut Stage https://piped.kavin.rocks/watch?v=Ky5RT5oGg0w
Subscribe to aespa Official YouTube Channel! 🎟 aespa Showcase SYNK in LA! Tickets now on sale: https://www.ticketmaster.com/event/0A005CCD9E871F6E
https://www.youtube.com/aespa?sub_confirmation=1
aespa official Subscribe to aespa Official YouTube Channel!
https://www.youtube.com/c/aespa https://www.youtube.com/aespa?sub_confirmation=1
https://www.instagram.com/aespa_official
https://www.tiktok.com/@aespa_official
https://twitter.com/aespa_Official
https://www.facebook.com/aespa.official
https://weibo.com/aespa
#aespa #æspa #BlackMamba # # aespa official
aespa 'Black Mamba' MV SM Entertainment"# https://www.youtube.com/c/aespa
); https://www.instagram.com/aespa_official
https://www.tiktok.com/@aespa_official
https://twitter.com/aespa_Official
https://www.facebook.com/aespa.official
https://weibo.com/aespa
#aespa #æspa #BlackMamba # #
aespa 'Black Mamba' MV SM Entertainment
Bold: Awesome
Italic: Great
Strikethrough: Gone
Mixed: Everything
"###);
} }
#[test] #[test]
fn to_html() { fn to_html() {
let richtext = RichText::from(TEXT_SOURCE.clone()); let richtext = RichText::from(TEXT_SOURCE.clone());
let html = richtext.to_html_yt_host("https://piped.kavin.rocks"); let html = richtext.to_html_yt_host("https://piped.kavin.rocks");
assert_eq!( assert_snapshot!(
html, html,
"🎧Listen and download aespa&#x27;s debut single &quot;Black Mamba&quot;: <a href=\"https://smarturl.it/aespa_BlackMamba\" target=\"_blank\" rel=\"noreferrer\">https://smarturl.it/aespa_BlackMamba</a><br>🐍The Debut Stage <a href=\"https://piped.kavin.rocks/watch?v=Ky5RT5oGg0w\">https://youtu.be/Ky5RT5oGg0w</a><br><br>🎟\u{fe0f} aespa Showcase SYNK in LA! Tickets now on sale: <a href=\"https://www.ticketmaster.com/event/0A005CCD9E871F6E\" target=\"_blank\" rel=\"noreferrer\">https://www.ticketmaster.com/event/0A...</a><br><br>Subscribe to aespa Official YouTube Channel!<br><a href=\"https://www.youtube.com/aespa?sub_confirmation=1\" target=\"_blank\" rel=\"noreferrer\">https://www.youtube.com/aespa?sub_con...</a><br><br>aespa official<br><a href=\"https://www.youtube.com/c/aespa\" target=\"_blank\" rel=\"noreferrer\">https://www.youtube.com/c/aespa</a><br><a href=\"https://www.instagram.com/aespa_official\" target=\"_blank\" rel=\"noreferrer\">https://www.instagram.com/aespa_official</a><br><a href=\"https://www.tiktok.com/@aespa_official\" target=\"_blank\" rel=\"noreferrer\">https://www.tiktok.com/@aespa_official</a><br><a href=\"https://twitter.com/aespa_Official\" target=\"_blank\" rel=\"noreferrer\">https://twitter.com/aespa_Official</a><br><a href=\"https://www.facebook.com/aespa.official\" target=\"_blank\" rel=\"noreferrer\">https://www.facebook.com/aespa.official</a><br><a href=\"https://weibo.com/aespa\" target=\"_blank\" rel=\"noreferrer\">https://weibo.com/aespa</a><br><br>#aespa #æspa #BlackMamba #블랙맘바 #에스파<br>aespa 에스파 &#x27;Black Mamba&#x27; MV ℗ SM Entertainment" @r###"🎧Listen and download aespa&#x27;s debut single &quot;Black Mamba&quot;: <a href="https://smarturl.it/aespa_BlackMamba" target="_blank" rel="noreferrer">https://smarturl.it/aespa_BlackMamba</a><br>🐍The Debut Stage <a href="https://piped.kavin.rocks/watch?v=Ky5RT5oGg0w">https://youtu.be/Ky5RT5oGg0w</a><br><br>🎟️ aespa Showcase SYNK in LA! Tickets now on sale: <a href="https://www.ticketmaster.com/event/0A005CCD9E871F6E" target="_blank" rel="noreferrer">https://www.ticketmaster.com/event/0A...</a><br><br>Subscribe to aespa Official YouTube Channel!<br><a href="https://www.youtube.com/aespa?sub_confirmation=1" target="_blank" rel="noreferrer">https://www.youtube.com/aespa?sub_con...</a><br><br>aespa official<br><a href="https://www.youtube.com/c/aespa" target="_blank" rel="noreferrer">https://www.youtube.com/c/aespa</a><br><a href="https://www.instagram.com/aespa_official" target="_blank" rel="noreferrer">https://www.instagram.com/aespa_official</a><br><a href="https://www.tiktok.com/@aespa_official" target="_blank" rel="noreferrer">https://www.tiktok.com/@aespa_official</a><br><a href="https://twitter.com/aespa_Official" target="_blank" rel="noreferrer">https://twitter.com/aespa_Official</a><br><a href="https://www.facebook.com/aespa.official" target="_blank" rel="noreferrer">https://www.facebook.com/aespa.official</a><br><a href="https://weibo.com/aespa" target="_blank" rel="noreferrer">https://weibo.com/aespa</a><br><br>#aespa #æspa #BlackMamba #블랙맘바 #에스파<br>aespa 에스파 &#x27;Black Mamba&#x27; MV ℗ SM Entertainment<br><br>Bold: <b>Awesome</b><br>Italic: <i>Great</i><br>Strikethrough: <s>Gone</s><br>Mixed: <b><i><s>Everything</b></i></s>"###
); );
} }
@ -258,9 +361,9 @@ aespa 에스파 'Black Mamba' MV ℗ SM Entertainment"#
let richtext = RichText::from(TEXT_SOURCE.clone()); let richtext = RichText::from(TEXT_SOURCE.clone());
let markdown = richtext.to_markdown_yt_host("https://piped.kavin.rocks"); let markdown = richtext.to_markdown_yt_host("https://piped.kavin.rocks");
println!("{markdown}"); println!("{markdown}");
assert_eq!( assert_snapshot!(
markdown, markdown,
r#"🎧Listen and download aespa's debut single "Black Mamba"\: [https\://smarturl.it/aespa\_BlackMamba](https://smarturl.it/aespa_BlackMamba)<br>🐍The Debut Stage [https\://youtu.be/Ky5RT5oGg0w](https://piped.kavin.rocks/watch?v=Ky5RT5oGg0w)<br><br>🎟️ aespa Showcase SYNK in LA! Tickets now on sale\: [https\://www.ticketmaster.com/event/0A...](https://www.ticketmaster.com/event/0A005CCD9E871F6E)<br><br>Subscribe to aespa Official YouTube Channel!<br>[https\://www.youtube.com/aespa?sub\_con...](https://www.youtube.com/aespa?sub_confirmation=1)<br><br>aespa official<br>[https\://www.youtube.com/c/aespa](https://www.youtube.com/c/aespa)<br>[https\://www.instagram.com/aespa\_official](https://www.instagram.com/aespa_official)<br>[https\://www.tiktok.com/@aespa\_official](https://www.tiktok.com/@aespa_official)<br>[https\://twitter.com/aespa\_Official](https://twitter.com/aespa_Official)<br>[https\://www.facebook.com/aespa.official](https://www.facebook.com/aespa.official)<br>[https\://weibo.com/aespa](https://weibo.com/aespa)<br><br>\#aespa \#æspa \#BlackMamba \#블랙맘바 \#에스파<br>aespa 에스파 'Black Mamba' MV ℗ SM Entertainment"# @r###"🎧Listen and download aespa's debut single "Black Mamba"\: [https\://smarturl.it/aespa\_BlackMamba](https://smarturl.it/aespa_BlackMamba)<br>🐍The Debut Stage [https\://youtu.be/Ky5RT5oGg0w](https://piped.kavin.rocks/watch?v=Ky5RT5oGg0w)<br><br>🎟️ aespa Showcase SYNK in LA! Tickets now on sale\: [https\://www.ticketmaster.com/event/0A...](https://www.ticketmaster.com/event/0A005CCD9E871F6E)<br><br>Subscribe to aespa Official YouTube Channel!<br>[https\://www.youtube.com/aespa?sub\_con...](https://www.youtube.com/aespa?sub_confirmation=1)<br><br>aespa official<br>[https\://www.youtube.com/c/aespa](https://www.youtube.com/c/aespa)<br>[https\://www.instagram.com/aespa\_official](https://www.instagram.com/aespa_official)<br>[https\://www.tiktok.com/@aespa\_official](https://www.tiktok.com/@aespa_official)<br>[https\://twitter.com/aespa\_Official](https://twitter.com/aespa_Official)<br>[https\://www.facebook.com/aespa.official](https://www.facebook.com/aespa.official)<br>[https\://weibo.com/aespa](https://weibo.com/aespa)<br><br>\#aespa \#æspa \#BlackMamba \#블랙맘바 \#에스파<br>aespa 에스파 'Black Mamba' MV ℗ SM Entertainment<br><br>Bold\: **Awesome**<br>Italic\: *Great*<br>Strikethrough\: ~~Gone~~<br>Mixed\: ***~~Everything***~~"###
); );
} }
} }

View file

@ -4,7 +4,7 @@ use std::ops::Range;
pub use super::{convert::FromYtItem, ordering::QualityOrd}; pub use super::{convert::FromYtItem, ordering::QualityOrd};
use super::{AudioFormat, AudioStream, VideoFormat, VideoStream}; use super::*;
/// Trait for YouTube streams (video and audio) /// Trait for YouTube streams (video and audio)
pub trait YtStream { pub trait YtStream {
@ -128,3 +128,67 @@ impl FileFormat for AudioFormat {
} }
} }
} }
/// Trait for YouTube entities (Videos, Channels, Playlists)
pub trait YtEntity {
/// ID
fn id(&self) -> &str;
/// Name
fn name(&self) -> &str;
}
macro_rules! yt_entity {
($entity_type:ty) => {
impl YtEntity for $entity_type {
fn id(&self) -> &str {
&self.id
}
fn name(&self) -> &str {
&self.name
}
}
};
}
impl YtEntity for VideoPlayer {
fn id(&self) -> &str {
&self.details.id
}
fn name(&self) -> &str {
&self.details.name
}
}
impl<T> YtEntity for Channel<T> {
fn id(&self) -> &str {
&self.id
}
fn name(&self) -> &str {
&self.name
}
}
yt_entity! {VideoPlayerDetails}
yt_entity! {Playlist}
yt_entity! {ChannelId}
yt_entity! {VideoDetails}
yt_entity! {ChannelTag}
yt_entity! {ChannelRss}
yt_entity! {ChannelRssVideo}
yt_entity! {VideoItem}
yt_entity! {ChannelItem}
yt_entity! {PlaylistItem}
yt_entity! {VideoId}
yt_entity! {TrackItem}
yt_entity! {ArtistItem}
yt_entity! {AlbumItem}
yt_entity! {MusicPlaylistItem}
yt_entity! {AlbumId}
yt_entity! {MusicPlaylist}
yt_entity! {MusicAlbum}
yt_entity! {MusicArtist}
yt_entity! {MusicGenreItem}
yt_entity! {MusicGenre}

View file

@ -0,0 +1,50 @@
---
source: src/serializer/text.rs
expression: split
---
[
TextComponents(
[
Text {
text: "Hello",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
},
Text {
text: " World",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
},
],
),
TextComponents(
[
Text {
text: "T2",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
},
],
),
TextComponents(
[
Text {
text: "T3",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
},
],
),
]

View file

@ -0,0 +1,74 @@
---
source: src/serializer/text.rs
expression: res
---
SAttributed {
ln: TextComponents(
[
Text {
text: "Bold: ",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
},
Text {
text: "Awesome",
style: Style {
bold: true,
italic: false,
strikethrough: false,
},
},
Text {
text: "\nItalic: ",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
},
Text {
text: "Great",
style: Style {
bold: false,
italic: true,
strikethrough: false,
},
},
Text {
text: "\nCut: ",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
},
Text {
text: "Dumb",
style: Style {
bold: false,
italic: false,
strikethrough: true,
},
},
Text {
text: "\n\nMixed: ",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
},
Text {
text: "Mixer",
style: Style {
bold: true,
italic: true,
strikethrough: true,
},
},
],
),
}

View file

@ -7,6 +7,11 @@ SAttributed {
[ [
Text { Text {
text: "🎧Listen and download aespa's debut single \"Black Mamba\": ", text: "🎧Listen and download aespa's debut single \"Black Mamba\": ",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Web { Web {
text: "https://smarturl.it/aespa_BlackMamba", text: "https://smarturl.it/aespa_BlackMamba",
@ -14,15 +19,25 @@ SAttributed {
}, },
Text { Text {
text: "\n🐍The Debut Stage ", text: "\n🐍The Debut Stage ",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Video { Video {
text: "aespa 에스파 'Black ...", text: "aespa 에스파 'Black Mamba' The Debut Stage",
video_id: "Ky5RT5oGg0w", video_id: "Ky5RT5oGg0w",
start_time: 0, start_time: 0,
vtype: Video, vtype: Video,
}, },
Text { Text {
text: "\n\n🎟\u{fe0f} aespa Showcase SYNK in LA! Tickets now on sale: ", text: "\n\n🎟\u{fe0f} aespa Showcase SYNK in LA! Tickets now on sale: ",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Web { Web {
text: "https://www.ticketmaster.com/event/0A...", text: "https://www.ticketmaster.com/event/0A...",
@ -30,6 +45,11 @@ SAttributed {
}, },
Text { Text {
text: "\n\nSubscribe to aespa Official YouTube Channel!\n", text: "\n\nSubscribe to aespa Official YouTube Channel!\n",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Web { Web {
text: "https://www.youtube.com/aespa?sub_con...", text: "https://www.youtube.com/aespa?sub_con...",
@ -37,41 +57,71 @@ SAttributed {
}, },
Text { Text {
text: "\n\naespa official\n", text: "\n\naespa official\n",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Web { Web {
text: "aespa", text: "YouTube: aespa",
url: "https://www.youtube.com/c/aespa", url: "https://www.youtube.com/c/aespa",
}, },
Text { Text {
text: "\n", text: "\n",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Web { Web {
text: "https://www.instagram.com/aespa_official", text: "Instagram: aespa_official",
url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbE9FVEtZZkVLUExjdFBnZjZnZ19KNWRYOVZUd3xBQ3Jtc0tsbHpCa1hLTVJ6MEllczlzUEpoVi1IQ2F5NG1jMnlOT3p3bnlFeE80ZzlsaG5CUXlFQnFGTkMtN19DcVYzQkw3bVlVVmNwQlpYQWZnNGNsME45WE1WQ21sR3V1Z3k5RG9DUDE0VTZQTm53Mk9vTWhiOA&q=https%3A%2F%2Fwww.instagram.com%2Faespa_official&v=ZeerrnuLi5E", url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbE9FVEtZZkVLUExjdFBnZjZnZ19KNWRYOVZUd3xBQ3Jtc0tsbHpCa1hLTVJ6MEllczlzUEpoVi1IQ2F5NG1jMnlOT3p3bnlFeE80ZzlsaG5CUXlFQnFGTkMtN19DcVYzQkw3bVlVVmNwQlpYQWZnNGNsME45WE1WQ21sR3V1Z3k5RG9DUDE0VTZQTm53Mk9vTWhiOA&q=https%3A%2F%2Fwww.instagram.com%2Faespa_official&v=ZeerrnuLi5E",
}, },
Text { Text {
text: "\n", text: "\n",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Web { Web {
text: "https://www.tiktok.com/@aespa_official", text: "TikTok: aespa_official",
url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbVdlSGk3eDd5U0dUVG16VFJCQnhKVFBEUUxMQXxBQ3Jtc0tuX3ZJbENNY1ZSN0FFemdxTFdlcTVvc3AwZE05NEFvRW5nOHpZWDUtZG9ORHBnT1JGc2UySDh3WWl3MU53VjFvbHRSdjdxMUlGM2Z6SmdaLTVaWWxhamJEems0Uld3MGlTT0Z0bkh5Y0hpcnY1aXptSQ&q=https%3A%2F%2Fwww.tiktok.com%2F%40aespa_official&v=ZeerrnuLi5E", url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbVdlSGk3eDd5U0dUVG16VFJCQnhKVFBEUUxMQXxBQ3Jtc0tuX3ZJbENNY1ZSN0FFemdxTFdlcTVvc3AwZE05NEFvRW5nOHpZWDUtZG9ORHBnT1JGc2UySDh3WWl3MU53VjFvbHRSdjdxMUlGM2Z6SmdaLTVaWWxhamJEems0Uld3MGlTT0Z0bkh5Y0hpcnY1aXptSQ&q=https%3A%2F%2Fwww.tiktok.com%2F%40aespa_official&v=ZeerrnuLi5E",
}, },
Text { Text {
text: "\n", text: "\n",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Web { Web {
text: "https://twitter.com/aespa_Official", text: "Twitter: aespa_official",
url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa3lNcG1lMHkwSzNLQVBrUXFNTXl0N1hNa04wUXxBQ3Jtc0tubm1sQkdaVjNYR04xOHpJV3NxZVBpb3I5V1FVOHVFNC1uWE5vb211ZmZKYzhTZXZfbjlkY09fanBRdHpjUkdRVGJJYS0xZ3NBNkVZQVhWSS0xVDYwRlRzQ0J3ODQxNDE0ODAxd1Q0cG5icVlNWndscw&q=https%3A%2F%2Ftwitter.com%2Faespa_Official&v=ZeerrnuLi5E", url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa3lNcG1lMHkwSzNLQVBrUXFNTXl0N1hNa04wUXxBQ3Jtc0tubm1sQkdaVjNYR04xOHpJV3NxZVBpb3I5V1FVOHVFNC1uWE5vb211ZmZKYzhTZXZfbjlkY09fanBRdHpjUkdRVGJJYS0xZ3NBNkVZQVhWSS0xVDYwRlRzQ0J3ODQxNDE0ODAxd1Q0cG5icVlNWndscw&q=https%3A%2F%2Ftwitter.com%2Faespa_Official&v=ZeerrnuLi5E",
}, },
Text { Text {
text: "\n", text: "\n",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Web { Web {
text: "https://www.facebook.com/aespa.official", text: "Facebook: aespa.official",
url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbjdBNG5yVEFwU0JMNGZaLUpQZ1ZoeGgwT0xOZ3xBQ3Jtc0tuRFdFNlJNV29PMThRNWo5MHZrREZ1ZU5oZlkxVmE4ZlU5STFCZW1mUFVSdXJ3VUQxUnNVVkUzLWJQMS1uRzVjdkRCV2ZxSWJ6cFNxRVVzejY0SDltZFZPc2xwS3ZPZGIxcFZ6cndIVkMtUjVtZ054cw&q=https%3A%2F%2Fwww.facebook.com%2Faespa.official&v=ZeerrnuLi5E", url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbjdBNG5yVEFwU0JMNGZaLUpQZ1ZoeGgwT0xOZ3xBQ3Jtc0tuRFdFNlJNV29PMThRNWo5MHZrREZ1ZU5oZlkxVmE4ZlU5STFCZW1mUFVSdXJ3VUQxUnNVVkUzLWJQMS1uRzVjdkRCV2ZxSWJ6cFNxRVVzejY0SDltZFZPc2xwS3ZPZGIxcFZ6cndIVkMtUjVtZ054cw&q=https%3A%2F%2Fwww.facebook.com%2Faespa.official&v=ZeerrnuLi5E",
}, },
Text { Text {
text: "\n", text: "\n",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Web { Web {
text: "https://weibo.com/aespa", text: "https://weibo.com/aespa",
@ -79,6 +129,11 @@ SAttributed {
}, },
Text { Text {
text: "\n\n", text: "\n\n",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Browse { Browse {
text: "#aespa", text: "#aespa",
@ -87,6 +142,11 @@ SAttributed {
}, },
Text { Text {
text: " ", text: " ",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Browse { Browse {
text: "#æspa", text: "#æspa",
@ -95,6 +155,11 @@ SAttributed {
}, },
Text { Text {
text: " ", text: " ",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Browse { Browse {
text: "#BlackMamba", text: "#BlackMamba",
@ -103,6 +168,11 @@ SAttributed {
}, },
Text { Text {
text: " ", text: " ",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Browse { Browse {
text: "#블랙맘바", text: "#블랙맘바",
@ -111,6 +181,11 @@ SAttributed {
}, },
Text { Text {
text: " ", text: " ",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Browse { Browse {
text: "#에스파", text: "#에스파",
@ -119,6 +194,11 @@ SAttributed {
}, },
Text { Text {
text: "\naespa 에스파 'Black Mamba' MV ℗ SM Entertainment", text: "\naespa 에스파 'Black Mamba' MV ℗ SM Entertainment",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
], ],
), ),

View file

@ -1,7 +1,5 @@
use std::convert::TryFrom; use std::convert::TryFrom;
use once_cell::sync::Lazy;
use regex::Regex;
use serde::{Deserialize, Deserializer}; use serde::{Deserialize, Deserializer};
use serde_with::{serde_as, DefaultOnError, DeserializeAs, VecSkipError}; use serde_with::{serde_as, DefaultOnError, DeserializeAs, VecSkipError};
@ -9,7 +7,7 @@ use crate::{
client::response::url_endpoint::{ client::response::url_endpoint::{
MusicPage, MusicPageType, MusicVideoType, NavigationEndpoint, PageType, MusicPage, MusicPageType, MusicVideoType, NavigationEndpoint, PageType,
}, },
model::UrlTarget, model::{richtext::Style, UrlTarget},
util, util,
}; };
@ -110,6 +108,7 @@ pub(crate) enum TextComponent {
}, },
Text { Text {
text: String, text: String,
style: Style,
}, },
} }
@ -130,6 +129,12 @@ struct RichTextRun {
#[serde(default)] #[serde(default)]
#[serde_as(as = "DefaultOnError")] #[serde_as(as = "DefaultOnError")]
navigation_endpoint: Option<NavigationEndpoint>, navigation_endpoint: Option<NavigationEndpoint>,
#[serde(default)]
bold: bool,
#[serde(default)]
italic: bool,
#[serde(default)]
strikethrough: bool,
} }
/// This is a new rich text representation format that YouTube is A/B testing /// This is a new rich text representation format that YouTube is A/B testing
@ -142,15 +147,53 @@ pub(crate) struct AttributedText {
content: String, content: String,
#[serde(default)] #[serde(default)]
#[serde_as(as = "VecSkipError<_>")] #[serde_as(as = "VecSkipError<_>")]
command_runs: Vec<AttributedTextRun>, command_runs: Vec<CommandRun>,
#[serde(default)]
#[serde_as(as = "VecSkipError<_>")]
style_runs: Vec<StyleRun>,
}
#[serde_as]
#[derive(Deserialize)]
#[serde(rename_all = "camelCase")]
struct CommandRun {
start_index: usize,
length: usize,
on_tap: AttributedTextOnTap,
#[serde(default)]
#[serde_as(as = "DefaultOnError<_>")]
on_tap_options: Option<AttributedTextOnTapOptions>,
} }
#[derive(Deserialize)] #[derive(Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
struct AttributedTextRun { struct StyleRun {
start_index: usize, start_index: usize,
length: usize, length: usize,
on_tap: AttributedTextOnTap, #[serde(default)]
weight_label: WeightLabel,
#[serde(default)]
italic: bool,
#[serde(default)]
strikethrough: Strikethrough,
}
#[derive(Default, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
enum WeightLabel {
FontWeightMedium,
#[default]
#[serde(other)]
FontWeightNormal,
}
#[derive(Default, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
enum Strikethrough {
LineStyleSingle,
#[default]
#[serde(other)]
None,
} }
#[derive(Deserialize)] #[derive(Deserialize)]
@ -159,14 +202,83 @@ struct AttributedTextOnTap {
innertube_command: NavigationEndpoint, innertube_command: NavigationEndpoint,
} }
#[derive(Deserialize)]
#[serde(rename_all = "camelCase")]
struct AttributedTextOnTapOptions {
accessibility_info: AccessibilityInfo,
}
#[derive(Deserialize)]
#[serde(rename_all = "camelCase")]
struct AccessibilityInfo {
accessibility_label: String,
}
struct AttributedTextRun {
start_index: usize,
length: usize,
content: AttributedTextRunContent,
}
enum AttributedTextRunContent {
Link(NavigationEndpoint, Option<String>),
Style(Style),
}
impl From<RichTextRun> for TextComponent { impl From<RichTextRun> for TextComponent {
fn from(run: RichTextRun) -> Self { fn from(run: RichTextRun) -> Self {
map_text_component(run.text, run.navigation_endpoint) map_text_component(
run.text,
Style {
bold: run.bold,
italic: run.italic,
strikethrough: run.strikethrough,
},
run.navigation_endpoint,
)
}
}
impl From<CommandRun> for AttributedTextRun {
fn from(value: CommandRun) -> Self {
Self {
start_index: value.start_index,
length: value.length,
content: AttributedTextRunContent::Link(
value.on_tap.innertube_command,
value
.on_tap_options
.map(|o| o.accessibility_info.accessibility_label),
),
}
}
}
impl StyleRun {
fn into_attributed_text_run(self) -> Option<AttributedTextRun> {
let style = Style {
bold: matches!(self.weight_label, WeightLabel::FontWeightMedium),
italic: self.italic,
strikethrough: matches!(self.strikethrough, Strikethrough::LineStyleSingle),
};
if style.is_styled() {
Some(AttributedTextRun {
start_index: self.start_index,
length: self.length,
content: AttributedTextRunContent::Style(style),
})
} else {
None
}
} }
} }
/// Map a single component of a rich text /// Map a single component of a rich text
fn map_text_component(text: String, nav: Option<NavigationEndpoint>) -> TextComponent { fn map_text_component(
text: String,
style: Style,
nav: Option<NavigationEndpoint>,
) -> TextComponent {
match nav { match nav {
Some(NavigationEndpoint::Watch { watch_endpoint }) => TextComponent::Video { Some(NavigationEndpoint::Watch { watch_endpoint }) => TextComponent::Video {
text, text,
@ -185,7 +297,7 @@ fn map_text_component(text: String, nav: Option<NavigationEndpoint>) -> TextComp
Some(bc) => bc.browse_endpoint_context_music_config.page_type, Some(bc) => bc.browse_endpoint_context_music_config.page_type,
None => match &command_metadata { None => match &command_metadata {
Some(cm) => cm.web_command_metadata.web_page_type, Some(cm) => cm.web_command_metadata.web_page_type,
None => return TextComponent::Text { text }, None => return TextComponent::Text { text, style },
}, },
}, },
text, text,
@ -202,7 +314,7 @@ fn map_text_component(text: String, nav: Option<NavigationEndpoint>) -> TextComp
page_type: PageType::Playlist, page_type: PageType::Playlist,
browse_id: watch_playlist_endpoint.playlist_id, browse_id: watch_playlist_endpoint.playlist_id,
}, },
None => TextComponent::Text { text }, None => TextComponent::Text { text, style },
} }
} }
@ -267,37 +379,76 @@ impl<'de> DeserializeAs<'de, TextComponents> for AttributedText {
buf buf
}; };
let mut components = Vec::with_capacity(text.command_runs.len() + 1); let mut runs = text
text.command_runs.into_iter().for_each(|cmd| { .command_runs
let txt_before = take_chars(cmd.start_index); .into_iter()
let txt_link = take_chars(cmd.start_index + cmd.length); .map(AttributedTextRun::from)
.collect::<Vec<_>>();
runs.extend(
text.style_runs
.into_iter()
.filter_map(StyleRun::into_attributed_text_run),
);
runs.sort_by_key(|run| run.start_index);
// Trim link text: let mut components = Vec::with_capacity(runs.len() + 1);
// 3xnbsp, (/ •), nbsp, Name, 2xnbsp for run in runs {
// Channel: `\u{a0}\u{a0}\u{a0}/\u{a0}aespa\u{a0}\u{a0}` let txt_before = take_chars(run.start_index);
// Video: `\u{a0}\u{a0}\u{a0}•\u{a0}aespa\u{a0}에스파\u{a0}'Black\u{a0}...\u{a0}\u{a0}` let txt_run = take_chars(run.start_index + run.length);
// Replace no-break spaces, trim off whitespace and prefix character
let txt_link = txt_link.trim();
let txt_link = txt_link.replace('\u{a0}', " ");
static LINK_PREFIX: Lazy<Regex> = Lazy::new(|| Regex::new("^[/•] *").unwrap());
let txt_link = LINK_PREFIX.replace(&txt_link, "");
if !txt_before.is_empty() { if !txt_before.is_empty() {
components.push(TextComponent::Text { text: txt_before }); components.push(TextComponent::new(txt_before));
} }
components.push(map_text_component( components.push(match run.content {
txt_link.to_string(), AttributedTextRunContent::Link(link, label) => {
Some(cmd.on_tap.innertube_command), // Trim link text:
)); // 3xnbsp, (/ •), nbsp, Name, 2xnbsp
}); // Channel: `\u{a0}\u{a0}\u{a0}/\u{a0}aespa\u{a0}\u{a0}`
// Video: `\u{a0}\u{a0}\u{a0}•\u{a0}aespa\u{a0}에스파\u{a0}'Black\u{a0}...\u{a0}\u{a0}`
// Replace no-break spaces, trim off whitespace and prefix character
let txt_link = txt_run.trim();
let txt_link = txt_link.replace('\u{a0}', " ");
if let Some(txt_link) = txt_link.strip_prefix(['/', '•']) {
let txt_link = txt_link.trim_start();
match (&link, label) {
(NavigationEndpoint::Url { .. }, Some(label)) => {
// Prefix chip-style web links with the service name from accessibility label
// Example: `Twitter: aespa_official`
if let Some(first_word) = label.split_whitespace().next() {
map_text_component(
format!("{first_word}: {txt_link}"),
Style::default(),
Some(link),
)
} else {
map_text_component(
txt_link.to_owned(),
Style::default(),
Some(link),
)
}
}
_ => map_text_component(
txt_link.to_owned(),
Style::default(),
Some(link),
),
}
} else {
map_text_component(txt_link, Style::default(), Some(link))
}
}
AttributedTextRunContent::Style(style) => {
map_text_component(txt_run.to_string(), style, None)
}
})
}
let end = chars.as_str(); let end = chars.as_str();
if !end.is_empty() { if !end.is_empty() {
components.push(TextComponent::Text { components.push(TextComponent::new(end));
text: end.to_owned(),
});
} }
Ok(TextComponents(components)) Ok(TextComponents(components))
@ -325,15 +476,12 @@ impl TryFrom<TextComponent> for crate::model::ChannelId {
match value { match value {
TextComponent::Browse { TextComponent::Browse {
text, text,
page_type, page_type: PageType::Channel | PageType::Artist,
browse_id, browse_id,
} => match page_type { } => Ok(crate::model::ChannelId {
PageType::Channel | PageType::Artist => Ok(crate::model::ChannelId { id: browse_id,
id: browse_id, name: text,
name: text, }),
}),
_ => Err(()),
},
_ => Err(()), _ => Err(()),
} }
} }
@ -376,7 +524,7 @@ impl From<TextComponent> for crate::model::ArtistId {
}, },
TextComponent::Video { text, .. } TextComponent::Video { text, .. }
| TextComponent::Web { text, .. } | TextComponent::Web { text, .. }
| TextComponent::Text { text } => Self { | TextComponent::Text { text, .. } => Self {
id: None, id: None,
name: text, name: text,
}, },
@ -405,13 +553,16 @@ impl From<TextComponent> for crate::model::richtext::TextComponent {
browse_id, browse_id,
} => match page_type.to_url_target(browse_id) { } => match page_type.to_url_target(browse_id) {
Some(target) => Self::YouTube { text, target }, Some(target) => Self::YouTube { text, target },
None => Self::Text { text }, None => Self::Text {
text,
style: Default::default(),
},
}, },
TextComponent::Web { text, url } => Self::Web { TextComponent::Web { text, url } => Self::Web {
text, text,
url: util::sanitize_yt_url(&url), url: util::sanitize_yt_url(&url),
}, },
TextComponent::Text { text } => Self::Text { text }, TextComponent::Text { text, style } => Self::Text { text, style },
} }
} }
} }
@ -423,12 +574,19 @@ impl From<TextComponents> for crate::model::richtext::RichText {
} }
impl TextComponent { impl TextComponent {
pub fn new<S: Into<String>>(s: S) -> Self {
Self::Text {
text: s.into(),
style: Style::default(),
}
}
pub fn as_str(&self) -> &str { pub fn as_str(&self) -> &str {
match self { match self {
TextComponent::Video { text, .. } TextComponent::Video { text, .. }
| TextComponent::Browse { text, .. } | TextComponent::Browse { text, .. }
| TextComponent::Web { text, .. } | TextComponent::Web { text, .. }
| TextComponent::Text { text } => text, | TextComponent::Text { text, .. } => text,
} }
} }
@ -456,7 +614,7 @@ impl From<TextComponent> for String {
TextComponent::Video { text, .. } TextComponent::Video { text, .. }
| TextComponent::Browse { text, .. } | TextComponent::Browse { text, .. }
| TextComponent::Web { text, .. } | TextComponent::Web { text, .. }
| TextComponent::Text { text } => text, | TextComponent::Text { text, .. } => text,
} }
} }
} }
@ -497,9 +655,12 @@ impl TextComponents {
} }
} }
impl ToString for TextComponents { impl std::fmt::Display for TextComponents {
fn to_string(&self) -> String { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
self.0.iter().map(TextComponent::as_str).collect::<String>() for t in &self.0 {
f.write_str(t.as_str())?;
}
Ok(())
} }
} }
@ -732,6 +893,11 @@ mod tests {
SLink { SLink {
ln: Text { ln: Text {
text: "Hello World", text: "Hello World",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
} }
"###); "###);
@ -823,6 +989,11 @@ mod tests {
}, },
Text { Text {
text: " & ", text: " & ",
style: Style {
bold: false,
italic: false,
strikethrough: false,
},
}, },
Browse { Browse {
text: "Maite Kelly", text: "Maite Kelly",
@ -851,57 +1022,26 @@ mod tests {
insta::assert_debug_snapshot!(res); insta::assert_debug_snapshot!(res);
} }
#[test]
fn styled_comment() {
let json_path = path!(*TESTFILES / "text" / "styled_comment.json");
let json_file = File::open(json_path).unwrap();
let res: SAttributed = serde_json::from_reader(BufReader::new(json_file)).unwrap();
insta::assert_debug_snapshot!(res);
}
#[test] #[test]
fn split_text_cmp() { fn split_text_cmp() {
let text = TextComponents(vec![ let text = TextComponents(vec![
TextComponent::Text { TextComponent::new("Hello"),
text: "Hello".to_owned(), TextComponent::new(" World"),
}, TextComponent::new(util::DOT_SEPARATOR),
TextComponent::Text { TextComponent::new("T2"),
text: " World".to_owned(), TextComponent::new(util::DOT_SEPARATOR),
}, TextComponent::new("T3"),
TextComponent::Text {
text: util::DOT_SEPARATOR.to_owned(),
},
TextComponent::Text {
text: "T2".to_owned(),
},
TextComponent::Text {
text: util::DOT_SEPARATOR.to_owned(),
},
TextComponent::Text {
text: "T3".to_owned(),
},
]); ]);
let split = text.split(util::DOT_SEPARATOR); let split = text.split(util::DOT_SEPARATOR);
insta::assert_debug_snapshot!(split, @r###" insta::assert_debug_snapshot!(split);
[
TextComponents(
[
Text {
text: "Hello",
},
Text {
text: " World",
},
],
),
TextComponents(
[
Text {
text: "T2",
},
],
),
TextComponents(
[
Text {
text: "T3",
},
],
),
]
"###);
} }
} }

View file

@ -20,6 +20,13 @@ where
where where
D: serde::Deserializer<'de>, D: serde::Deserializer<'de>,
{ {
#[derive(serde::Deserialize)]
#[serde(untagged)]
enum GoodOrError<T> {
Good(T),
Error(serde_json::Value),
}
struct SeqVisitor<T>(PhantomData<T>); struct SeqVisitor<T>(PhantomData<T>);
impl<'de, T> Visitor<'de> for SeqVisitor<T> impl<'de, T> Visitor<'de> for SeqVisitor<T>
@ -39,14 +46,16 @@ where
let mut values = Vec::with_capacity(seq.size_hint().unwrap_or_default()); let mut values = Vec::with_capacity(seq.size_hint().unwrap_or_default());
let mut warnings = Vec::new(); let mut warnings = Vec::new();
loop { while let Some(value) = seq.next_element()? {
match seq.next_element::<T>() { match value {
Ok(val) => match val { GoodOrError::<T>::Good(value) => {
Some(val) => values.push(val), values.push(value);
None => break, }
}, GoodOrError::<T>::Error(value) => {
Err(e) => { warnings.push(format!(
warnings.push(format!("error deserializing item: {e}")); "error deserializing item: {}",
serde_json::to_string(&value).unwrap_or_default()
));
} }
} }
} }
@ -177,8 +186,8 @@ mod tests {
insta::assert_debug_snapshot!(res.items.warnings, @r###" insta::assert_debug_snapshot!(res.items.warnings, @r###"
[ [
"error deserializing item: missing field `name` at line 1 column 40", "error deserializing item: {\"xyz\":\"i2\"}",
"error deserializing item: missing field `name` at line 1 column 73", "error deserializing item: {\"namra\":\"i4\"}",
] ]
"###); "###);
} }

View file

@ -5418,16 +5418,16 @@ pub(crate) fn entry(lang: Language) -> Entry {
], ],
}, },
album_types: ::phf::Map { album_types: ::phf::Map {
key: 12913932095322966823, key: 15467950696543387533,
disps: &[ disps: &[
(1, 0), (2, 0),
], ],
entries: &[ entries: &[
("álbum", AlbumType::Album), ("álbum", AlbumType::Album),
("single", AlbumType::Single),
("ep", AlbumType::Ep), ("ep", AlbumType::Ep),
("single", AlbumType::Single),
("programa", AlbumType::Show), ("programa", AlbumType::Show),
("livro áudio", AlbumType::Audiobook), ("audiolivro", AlbumType::Audiobook),
], ],
}, },
}, },

View file

@ -284,6 +284,7 @@ pub fn div_ceil(a: u32, b: u32) -> u32 {
} }
} }
#[allow(dead_code)]
pub trait TryRemove<T> { pub trait TryRemove<T> {
/// Removes and returns the element at position `index` within the vector, /// Removes and returns the element at position `index` within the vector,
/// shifting all elements after it to the left. /// shifting all elements after it to the left.
@ -327,7 +328,7 @@ impl<T> TryRemove<T> for Vec<T> {
/// Check if a channel name equals "YouTube Music" /// Check if a channel name equals "YouTube Music"
/// (the author of original YouTube music playlists) /// (the author of original YouTube music playlists)
pub(crate) fn is_ytm(text: &TextComponent) -> bool { pub(crate) fn is_ytm(text: &TextComponent) -> bool {
if let TextComponent::Text { text } = text { if let TextComponent::Text { text, .. } = text {
text.starts_with("YouTube") text.starts_with("YouTube")
} else { } else {
false false
@ -422,7 +423,11 @@ where
/// Replace all html control characters to make a string safe for inserting into HTML. /// Replace all html control characters to make a string safe for inserting into HTML.
pub fn escape_html(input: &str) -> String { pub fn escape_html(input: &str) -> String {
let mut buf = String::with_capacity(input.len()); let mut buf = String::with_capacity(input.len());
escape_html_append(input, &mut buf);
buf
}
pub fn escape_html_append(input: &str, buf: &mut String) {
for c in input.chars() { for c in input.chars() {
match c { match c {
'<' => buf.push_str("&lt;"), '<' => buf.push_str("&lt;"),
@ -434,14 +439,17 @@ pub fn escape_html(input: &str) -> String {
_ => buf.push(c), _ => buf.push(c),
}; };
} }
buf
} }
/// Replace all markdown control characters to make a string safe for /// Replace all markdown control characters to make a string safe for
/// inserting into Markdown. /// inserting into Markdown.
pub fn escape_markdown(input: &str) -> String { pub fn escape_markdown(input: &str) -> String {
let mut buf = String::with_capacity(input.len()); let mut buf = String::with_capacity(input.len());
escape_markdown_append(input, &mut buf);
buf
}
pub fn escape_markdown_append(input: &str, buf: &mut String) {
for c in input.chars() { for c in input.chars() {
match c { match c {
'<' => buf.push_str("&lt;"), '<' => buf.push_str("&lt;"),
@ -455,7 +463,6 @@ pub fn escape_markdown(input: &str) -> String {
_ => buf.push(c), _ => buf.push(c),
}; };
} }
buf
} }
pub fn video_id_from_thumbnail_url(url: &str) -> Option<String> { pub fn video_id_from_thumbnail_url(url: &str) -> Option<String> {

File diff suppressed because it is too large Load diff

View file

@ -423,7 +423,7 @@
"Album": "Álbum", "Album": "Álbum",
"Ep": "EP", "Ep": "EP",
"Single": "Single", "Single": "Single",
"Audiobook": "Livro áudio", "Audiobook": "Audiolivro",
"Show": "Programa" "Show": "Programa"
}, },
"ro": { "ro": {

View file

@ -3184,7 +3184,7 @@
"number_nd_tokens": {}, "number_nd_tokens": {},
"album_types": { "album_types": {
"álbum": "Album", "álbum": "Album",
"livro áudio": "Audiobook", "audiolivro": "Audiobook",
"ep": "Ep", "ep": "Ep",
"programa": "Show", "programa": "Show",
"single": "Single" "single": "Single"

View file

@ -3,7 +3,7 @@
"id": "LXb3EKWsInQ", "id": "LXb3EKWsInQ",
"name": "COSTA RICA IN 4K 60fps HDR (ULTRA HD)", "name": "COSTA RICA IN 4K 60fps HDR (ULTRA HD)",
"description": "We've re-mastered and re-uploaded our favorite video in HDR!\n\nCHECK OUT OUR MOST POPULAR VIDEO: https://youtu.be/tO01J-M3g0U\n► INSTAGRAM: http://www.instagram.com/mysterybox\n► INSTAGRAM: http://www.instagram.com/jacobschwarz\n►WEBSITE: http://www.mysterybox.us\n►FACEBOOK: https://www.facebook.com/mysteryboxdi...\n\nMake sure to follow us on Instagram for BTS and sneak-peaks at upcoming projects. \n\nLICENSING & BUSINESS INQUIRIES\n► contact@mysterybox.us\n\nCHECK OUT OUR VIDEO PRODUCTION COMPANY\n► https://www.mysterybox.us\n\n4K PLAYLISTS\n► https://www.youtube.com/playlist?list...\n\nBLOG Check out our blog for great information on working in HDR and 8K. \n► http://www.mysterybox.us/blog\n\nSUBSCRIBE FOR MORE VIDS\n►https://www.youtube.com/user/jacobsch...\n\nMUSIC\n► Storyworks Music \"Promise of Dawn\"\nhttps://soundcloud.com/joshuapeterson/promise-of-dawn\nwww.storyworksmusic.com\n\n► SHOT ON\nRed Weapon LE w/Helium 8K s35 sensor (Stormtrooper33)\nCanon 16-35mm III \nCanon 24-70mm II\nSigma 150-500mm\nZeiss Classic 15mm\nMOVI M10\nAdobe Premiere and DaVinci Resolve\n\n\n\nLICENSING & BUSINESS INQUIRIES\n► contact@mysterybox.us\n\nThis video is subject to copyright owned by Mystery Box LLC. Any reproduction or republication of all or part of this video is expressly prohibited, unless Mystery Box has explicitly granted its prior written consent. All other rights reserved.\n\nCopyright © 2017 Mystery Box, LLC. All Rights Reserved.", "description": "We've re-mastered and re-uploaded our favorite video in HDR!\n\nCHECK OUT OUR MOST POPULAR VIDEO: https://youtu.be/tO01J-M3g0U\n► INSTAGRAM: http://www.instagram.com/mysterybox\n► INSTAGRAM: http://www.instagram.com/jacobschwarz\n►WEBSITE: http://www.mysterybox.us\n►FACEBOOK: https://www.facebook.com/mysteryboxdi...\n\nMake sure to follow us on Instagram for BTS and sneak-peaks at upcoming projects. \n\nLICENSING & BUSINESS INQUIRIES\n► contact@mysterybox.us\n\nCHECK OUT OUR VIDEO PRODUCTION COMPANY\n► https://www.mysterybox.us\n\n4K PLAYLISTS\n► https://www.youtube.com/playlist?list...\n\nBLOG Check out our blog for great information on working in HDR and 8K. \n► http://www.mysterybox.us/blog\n\nSUBSCRIBE FOR MORE VIDS\n►https://www.youtube.com/user/jacobsch...\n\nMUSIC\n► Storyworks Music \"Promise of Dawn\"\nhttps://soundcloud.com/joshuapeterson/promise-of-dawn\nwww.storyworksmusic.com\n\n► SHOT ON\nRed Weapon LE w/Helium 8K s35 sensor (Stormtrooper33)\nCanon 16-35mm III \nCanon 24-70mm II\nSigma 150-500mm\nZeiss Classic 15mm\nMOVI M10\nAdobe Premiere and DaVinci Resolve\n\n\n\nLICENSING & BUSINESS INQUIRIES\n► contact@mysterybox.us\n\nThis video is subject to copyright owned by Mystery Box LLC. Any reproduction or republication of all or part of this video is expressly prohibited, unless Mystery Box has explicitly granted its prior written consent. All other rights reserved.\n\nCopyright © 2017 Mystery Box, LLC. All Rights Reserved.",
"length": 314, "duration": 314,
"thumbnail": [ "thumbnail": [
{ {
"url": "https://i.ytimg.com/vi/LXb3EKWsInQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC0YPk1n3EyXOsJxvBcJsAgR1umog", "url": "https://i.ytimg.com/vi/LXb3EKWsInQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC0YPk1n3EyXOsJxvBcJsAgR1umog",

View file

@ -3,7 +3,7 @@
"id": "tVWWp1PqDus", "id": "tVWWp1PqDus",
"name": "100 Boys Vs 100 Girls For $500,000", "name": "100 Boys Vs 100 Girls For $500,000",
"description": "Giving away $25k on Current! Sign up and use my code “BEAST250” for a chance to win*: https://www.current.com/beast250\n\nSUBSCRIBE OR I TAKE YOUR DOG\n╔═╦╗╔╦╗╔═╦═╦╦╦╦╗╔═╗\n║╚╣║║║╚╣╚╣╔╣╔╣║╚╣═╣ \n╠╗║╚╝║║╠╗║╚╣║║║║║═╣\n╚═╩══╩═╩═╩═╩╝╚╩═╩═╝\n\n----------------------------------------------------------------\nfollow all of these or i will kick you\n• TikTok - https://www.tiktok.com/@mrbeast\n• Twitter - https://twitter.com/MrBeast\n• Instagram - https://www.instagram.com/mrbeast\n• Facebook - https://www.facebook.com/MrBeast6000/\n• Official Merch - https://www.shopmrbeast.com/\n• Beast Philanthropy - https://www.beastphilanthropy.org/\n\nText me @ +1 (917) 259-6364\nI'm Hiring! - https://www.mrbeastjobs.com/\nOrder a beast burger 🍔 - https://mrbeastburger.com\nChocolate 🍫 Win a Tesla or be in a MrBeast video - Buy now ▸ https://feastables.com\n-----------------------------------------------------------------—\n\nCurrent is a financial technology company, not a bank. Banking services provided by Choice Financial Group, Member FDIC. The Current Visa Debit Card is issued by Choice Financial Group pursuant to a license from Visa U.S.A. Inc. and may be used everywhere Visa debit cards are accepted.\n\n*NO PURCHASE OR PAYMENT NECESSARY TO ENTER OR WIN. Open to legal residents of the 50 U.S./D.C., age 18+ (19+ in AL and NE, 21+ in MS). Void outside the 50 U.S./D.C. and where prohibited. Sweepstakes starts at 12:00:01 AM ET on 7/9/22; ends at 11:59:59 PM ET on 10/9/22. Odds of winning will depend upon the number of eligible entries received. For full Official Rules and how to enter without becoming a Current member, visit https://www.current.com/beast250. Sponsor: Finco Services, Inc. d/b/a Current, 30 Cooper Square, Floor 4, New York, NY 10003.", "description": "Giving away $25k on Current! Sign up and use my code “BEAST250” for a chance to win*: https://www.current.com/beast250\n\nSUBSCRIBE OR I TAKE YOUR DOG\n╔═╦╗╔╦╗╔═╦═╦╦╦╦╗╔═╗\n║╚╣║║║╚╣╚╣╔╣╔╣║╚╣═╣ \n╠╗║╚╝║║╠╗║╚╣║║║║║═╣\n╚═╩══╩═╩═╩═╩╝╚╩═╩═╝\n\n----------------------------------------------------------------\nfollow all of these or i will kick you\n• TikTok - https://www.tiktok.com/@mrbeast\n• Twitter - https://twitter.com/MrBeast\n• Instagram - https://www.instagram.com/mrbeast\n• Facebook - https://www.facebook.com/MrBeast6000/\n• Official Merch - https://www.shopmrbeast.com/\n• Beast Philanthropy - https://www.beastphilanthropy.org/\n\nText me @ +1 (917) 259-6364\nI'm Hiring! - https://www.mrbeastjobs.com/\nOrder a beast burger 🍔 - https://mrbeastburger.com\nChocolate 🍫 Win a Tesla or be in a MrBeast video - Buy now ▸ https://feastables.com\n-----------------------------------------------------------------—\n\nCurrent is a financial technology company, not a bank. Banking services provided by Choice Financial Group, Member FDIC. The Current Visa Debit Card is issued by Choice Financial Group pursuant to a license from Visa U.S.A. Inc. and may be used everywhere Visa debit cards are accepted.\n\n*NO PURCHASE OR PAYMENT NECESSARY TO ENTER OR WIN. Open to legal residents of the 50 U.S./D.C., age 18+ (19+ in AL and NE, 21+ in MS). Void outside the 50 U.S./D.C. and where prohibited. Sweepstakes starts at 12:00:01 AM ET on 7/9/22; ends at 11:59:59 PM ET on 10/9/22. Odds of winning will depend upon the number of eligible entries received. For full Official Rules and how to enter without becoming a Current member, visit https://www.current.com/beast250. Sponsor: Finco Services, Inc. d/b/a Current, 30 Cooper Square, Floor 4, New York, NY 10003.",
"length": 1013, "duration": 1013,
"thumbnail": [ "thumbnail": [
{ {
"url": "https://i.ytimg.com/vi/tVWWp1PqDus/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBg0pFmrd-KeoxX0Hb_lF9mvekfsw", "url": "https://i.ytimg.com/vi/tVWWp1PqDus/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBg0pFmrd-KeoxX0Hb_lF9mvekfsw",

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,31 @@
{
"ln": {
"content": "Bold: Awesome\nItalic: Great\nCut: Dumb\n\nMixed: Mixer",
"styleRuns": [
{
"startIndex": 6,
"length": 7,
"weightLabel": "FONT_WEIGHT_MEDIUM"
},
{
"startIndex": 22,
"length": 5,
"weightLabel": "FONT_WEIGHT_NORMAL",
"italic": true
},
{
"startIndex": 33,
"length": 4,
"weightLabel": "FONT_WEIGHT_NORMAL",
"strikethrough": "LINE_STYLE_SINGLE"
},
{
"startIndex": 46,
"length": 5,
"weightLabel": "FONT_WEIGHT_MEDIUM",
"italic": true,
"strikethrough": "LINE_STYLE_SINGLE"
}
]
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -22,7 +22,7 @@ MusicAlbum(
TrackItem( TrackItem(
id: "aGd3VKSOTxY", id: "aGd3VKSOTxY",
name: "Ich wache auf", name: "Ich wache auf",
duration: Some(221), duration: Some(222),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
@ -43,7 +43,7 @@ MusicAlbum(
TrackItem( TrackItem(
id: "Jz-26iiDuYs", id: "Jz-26iiDuYs",
name: "Waldbrand", name: "Waldbrand",
duration: Some(208), duration: Some(209),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
@ -64,7 +64,7 @@ MusicAlbum(
TrackItem( TrackItem(
id: "Bu26uFtpt58", id: "Bu26uFtpt58",
name: "Verlernt", name: "Verlernt",
duration: Some(223), duration: Some(224),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
@ -85,7 +85,7 @@ MusicAlbum(
TrackItem( TrackItem(
id: "RgwNqqiVqdY", id: "RgwNqqiVqdY",
name: "In Farbe", name: "In Farbe",
duration: Some(221), duration: Some(222),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
@ -106,7 +106,7 @@ MusicAlbum(
TrackItem( TrackItem(
id: "2TuOh30XbCI", id: "2TuOh30XbCI",
name: "Stadt im Hinterland", name: "Stadt im Hinterland",
duration: Some(197), duration: Some(198),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(

View file

@ -22,7 +22,7 @@ MusicAlbum(
TrackItem( TrackItem(
id: "aGd3VKSOTxY", id: "aGd3VKSOTxY",
name: "[name]", name: "[name]",
duration: Some(221), duration: Some(222),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
@ -43,7 +43,7 @@ MusicAlbum(
TrackItem( TrackItem(
id: "Jz-26iiDuYs", id: "Jz-26iiDuYs",
name: "[name]", name: "[name]",
duration: Some(208), duration: Some(209),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
@ -64,7 +64,7 @@ MusicAlbum(
TrackItem( TrackItem(
id: "Bu26uFtpt58", id: "Bu26uFtpt58",
name: "[name]", name: "[name]",
duration: Some(223), duration: Some(224),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
@ -85,7 +85,7 @@ MusicAlbum(
TrackItem( TrackItem(
id: "RgwNqqiVqdY", id: "RgwNqqiVqdY",
name: "[name]", name: "[name]",
duration: Some(221), duration: Some(222),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
@ -106,7 +106,7 @@ MusicAlbum(
TrackItem( TrackItem(
id: "2TuOh30XbCI", id: "2TuOh30XbCI",
name: "[name]", name: "[name]",
duration: Some(197), duration: Some(198),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(

View file

@ -3,32 +3,36 @@ source: tests/youtube.rs
expression: album expression: album
--- ---
MusicAlbum( MusicAlbum(
id: "MPREb_bqWA6mAZFWS", id: "MPREb_Z81wHtF9fhC",
playlist_id: Some("OLAK5uy_mUiRbMqeQXFUH6h9KB87RcEmNtm45Qvs0"), playlist_id: Some("OLAK5uy_l4sJyKllp77ht_HPYCUFo-sA6N8fNFNsY"),
name: "Pedha Rasi Peddamma Katha", name: "June Compilation",
cover: "[cover]", cover: "[cover]",
artists: [], artists: [],
artist_id: None, artist_id: None,
description: None, description: None,
album_type: Ep, album_type: Album,
year: Some(1968), year: Some(2024),
by_va: false, by_va: true,
tracks: [ tracks: [
TrackItem( TrackItem(
id: "EX7-pOQHPyE", id: "ilNEztApdjI",
name: "Siva Manoranjani", name: "Shanghai",
duration: Some(267), duration: Some(259),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
id: Some("UC1C05NyYICFB2mVGn9_ttEw"), id: Some("UC9MB9dkvCCpM3qVF71TZL7g"),
name: "Dr. M. Balamuralikrishna", name: "Crubbixz",
),
ArtistId(
id: Some("UCMYTb0sib5ppwQL9FAGmYTw"),
name: "Tank",
), ),
], ],
artist_id: Some("UC1C05NyYICFB2mVGn9_ttEw"), artist_id: Some("UC9MB9dkvCCpM3qVF71TZL7g"),
album: Some(AlbumId( album: Some(AlbumId(
id: "MPREb_bqWA6mAZFWS", id: "MPREb_Z81wHtF9fhC",
name: "Pedha Rasi Peddamma Katha", name: "June Compilation",
)), )),
view_count: "[view_count]", view_count: "[view_count]",
is_video: false, is_video: false,
@ -36,20 +40,20 @@ MusicAlbum(
by_va: false, by_va: false,
), ),
TrackItem( TrackItem(
id: "0AyWB-Quj4A", id: "s-qSnZyyvzs",
name: "Kuluku Nadakula", name: "Always Be With UExtended Mix",
duration: Some(179), duration: Some(165),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
id: Some("UCDqpyYkgWy2h03HamIfODjw"), id: Some("UCpAZ1Ap_nuAEk9RiT-nUsWQ"),
name: "Ghantasala, Chorus", name: "陈海择HeizerChan",
), ),
], ],
artist_id: Some("UCDqpyYkgWy2h03HamIfODjw"), artist_id: Some("UCpAZ1Ap_nuAEk9RiT-nUsWQ"),
album: Some(AlbumId( album: Some(AlbumId(
id: "MPREb_bqWA6mAZFWS", id: "MPREb_Z81wHtF9fhC",
name: "Pedha Rasi Peddamma Katha", name: "June Compilation",
)), )),
view_count: "[view_count]", view_count: "[view_count]",
is_video: false, is_video: false,
@ -57,20 +61,20 @@ MusicAlbum(
by_va: false, by_va: false,
), ),
TrackItem( TrackItem(
id: "s0Sb-GZLXSM", id: "4jXoRBcQ8PY",
name: "Gulabi Buggalunna", name: "Elude (Extended Mix)",
duration: Some(155), duration: Some(329),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
id: Some("UCUhWwvF6gIPWTYlYb4-icLA"), id: None,
name: "L.r. Eswari", name: "Julius Beat & SinDj",
), ),
], ],
artist_id: Some("UCUhWwvF6gIPWTYlYb4-icLA"), artist_id: Some("UCCRiYE0dTFA_pc23-97GfSg"),
album: Some(AlbumId( album: Some(AlbumId(
id: "MPREb_bqWA6mAZFWS", id: "MPREb_Z81wHtF9fhC",
name: "Pedha Rasi Peddamma Katha", name: "June Compilation",
)), )),
view_count: "[view_count]", view_count: "[view_count]",
is_video: false, is_video: false,
@ -78,57 +82,252 @@ MusicAlbum(
by_va: false, by_va: false,
), ),
TrackItem( TrackItem(
id: "P4XAaXjlCDA", id: "DRES9S4VQI8",
name: "Oh Javaraala", name: "Venus (Extended Mix)",
duration: Some(229), duration: Some(202),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
id: Some("UCl4iPtukwe7m0kIxUMskkgA"), id: Some("UC_y8p7fi6t3z10R2UEMQG_A"),
name: "S.p. Balasubrahmanyam, S. Janaki", name: "Andymion",
), ),
], ],
artist_id: Some("UCl4iPtukwe7m0kIxUMskkgA"), artist_id: Some("UC_y8p7fi6t3z10R2UEMQG_A"),
album: Some(AlbumId( album: Some(AlbumId(
id: "MPREb_bqWA6mAZFWS", id: "MPREb_Z81wHtF9fhC",
name: "Pedha Rasi Peddamma Katha", name: "June Compilation",
)), )),
view_count: "[view_count]", view_count: "[view_count]",
is_video: false, is_video: false,
track_nr: Some(4), track_nr: Some(4),
by_va: false, by_va: false,
), ),
], TrackItem(
variants: [ id: "yhZVimwD4B4",
AlbumItem( name: "Arise",
id: "MPREb_h8ltx5oKvyY", duration: Some(213),
name: "Pedha Rasi Peddamma Katha", cover: [],
cover: [
Thumbnail(
url: "https://lh3.googleusercontent.com/iZtBdPWBGNB-GAWvOp9seuYj5QqKrUYGSe-B5J026yxHqFSWv4zsxHy-LxX5LbFlnepOPRWNLrajO-_-=w226-h226-l90-rj",
width: 226,
height: 226,
),
Thumbnail(
url: "https://lh3.googleusercontent.com/iZtBdPWBGNB-GAWvOp9seuYj5QqKrUYGSe-B5J026yxHqFSWv4zsxHy-LxX5LbFlnepOPRWNLrajO-_-=w544-h544-l90-rj",
width: 544,
height: 544,
),
],
artists: [ artists: [
ArtistId( ArtistId(
id: Some("UCl4iPtukwe7m0kIxUMskkgA"), id: Some("UCYAzELapKjDUHMGRbzjJtgw"),
name: "S P Balasubramaniam", name: "Takahiro Yoshihira",
), ),
ArtistId( ArtistId(
id: Some("UCWgAqlYG7mXTUxrFiLyDSsg"), id: Some("UCN2Ji-D6Tzn5CTC7iCWoX8w"),
name: "S Janaki", name: "TOMI-NORI",
), ),
], ],
artist_id: Some("UCl4iPtukwe7m0kIxUMskkgA"), artist_id: Some("UCYAzELapKjDUHMGRbzjJtgw"),
album_type: Ep, album: Some(AlbumId(
year: None, id: "MPREb_Z81wHtF9fhC",
name: "June Compilation",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(5),
by_va: false,
),
TrackItem(
id: "5d6YiFkdzLM",
name: "Acid Rave (Extended Mix)",
duration: Some(191),
cover: [],
artists: [
ArtistId(
id: Some("UCFqaoKXGfCsd9VRQNXzhIjQ"),
name: "SteelDrum",
),
],
artist_id: Some("UCFqaoKXGfCsd9VRQNXzhIjQ"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "June Compilation",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(6),
by_va: false,
),
TrackItem(
id: "3Qe7-uN2PjU",
name: "Destiny (Extended Mix)",
duration: Some(446),
cover: [],
artists: [
ArtistId(
id: Some("UCjqRwXhXgFW7RDDPn_TlAbw"),
name: "Tyranix",
),
ArtistId(
id: Some("UCy69bQ95ovXIquWzY5jfAIA"),
name: "Jawzcirclesix",
),
],
artist_id: Some("UCjqRwXhXgFW7RDDPn_TlAbw"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "June Compilation",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(7),
by_va: false,
),
TrackItem(
id: "SKZ_MTsXFP4",
name: "Darksiders (Extended Mix)",
duration: Some(376),
cover: [],
artists: [
ArtistId(
id: Some("UCEUUFTUZpm1MmANCfLN5_9Q"),
name: "Kruky",
),
],
artist_id: Some("UCEUUFTUZpm1MmANCfLN5_9Q"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "June Compilation",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(8),
by_va: false,
),
TrackItem(
id: "n5-ujUwazDA",
name: "Mind Game (Extended Mix)",
duration: Some(335),
cover: [],
artists: [
ArtistId(
id: Some("UCxByvsK9hDZk2MnnF9jsFGw"),
name: "Herbrido",
),
],
artist_id: Some("UCxByvsK9hDZk2MnnF9jsFGw"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "June Compilation",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(9),
by_va: false,
),
TrackItem(
id: "VaREivfDJeY",
name: "Caronte (Extended Mix)",
duration: Some(268),
cover: [],
artists: [
ArtistId(
id: Some("UCG2o9g3Yl6jBL21_z7XBMVw"),
name: "Foodydrop",
),
],
artist_id: Some("UCG2o9g3Yl6jBL21_z7XBMVw"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "June Compilation",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(10),
by_va: false,
),
TrackItem(
id: "cWcD0WIK2PA",
name: "Left Right Go (Extended Mix)",
duration: Some(198),
cover: [],
artists: [
ArtistId(
id: Some("UCiIDz3M3cDn2QeYjLbhIdBQ"),
name: "Fly飞",
),
ArtistId(
id: Some("UChLPGmjYa8bmKShqMBFP_DA"),
name: "MARSJONE 鸡万",
),
],
artist_id: Some("UCiIDz3M3cDn2QeYjLbhIdBQ"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "June Compilation",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(11),
by_va: false,
),
TrackItem(
id: "QRELvH564T4",
name: "Terminal Zero (Extended Mix)",
duration: Some(325),
cover: [],
artists: [
ArtistId(
id: Some("UCbiVmjdLA5PKZcUnZMExqCA"),
name: "Reivax",
),
],
artist_id: Some("UCbiVmjdLA5PKZcUnZMExqCA"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "June Compilation",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(12),
by_va: false,
),
TrackItem(
id: "eCY0-GyG46s",
name: "The Unknown (Extended Mix)",
duration: Some(198),
cover: [],
artists: [
ArtistId(
id: Some("UC-thVg_PSz894f5mVqMFMeQ"),
name: "Elia Akita",
),
],
artist_id: Some("UC-thVg_PSz894f5mVqMFMeQ"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "June Compilation",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(13),
by_va: false,
),
TrackItem(
id: "UIrHYTEyUfA",
name: "This is Acid (Extended Mix)",
duration: Some(213),
cover: [],
artists: [
ArtistId(
id: Some("UC2pJL-Kp6yJtARS8MC0N8Ag"),
name: "Monored",
),
ArtistId(
id: Some("UCpmZakvqLLUZ4G_YkKjoy6g"),
name: "Egemen Kızıltekin",
),
],
artist_id: Some("UC2pJL-Kp6yJtARS8MC0N8Ag"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "June Compilation",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(14),
by_va: false, by_va: false,
), ),
], ],
variants: [],
) )

View file

@ -3,31 +3,35 @@ source: tests/youtube.rs
expression: album expression: album
--- ---
MusicAlbum( MusicAlbum(
id: "MPREb_bqWA6mAZFWS", id: "MPREb_Z81wHtF9fhC",
playlist_id: Some("OLAK5uy_mUiRbMqeQXFUH6h9KB87RcEmNtm45Qvs0"), playlist_id: Some("OLAK5uy_l4sJyKllp77ht_HPYCUFo-sA6N8fNFNsY"),
name: "[name]", name: "[name]",
cover: "[cover]", cover: "[cover]",
artists: [], artists: [],
artist_id: None, artist_id: None,
description: "[description]", description: "[description]",
album_type: Ep, album_type: Album,
year: Some(1968), year: Some(2024),
by_va: false, by_va: true,
tracks: [ tracks: [
TrackItem( TrackItem(
id: "EX7-pOQHPyE", id: "ilNEztApdjI",
name: "[name]", name: "[name]",
duration: Some(267), duration: Some(259),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
id: Some("UC1C05NyYICFB2mVGn9_ttEw"), id: Some("UC9MB9dkvCCpM3qVF71TZL7g"),
name: "[name]",
),
ArtistId(
id: Some("UCMYTb0sib5ppwQL9FAGmYTw"),
name: "[name]", name: "[name]",
), ),
], ],
artist_id: Some("UC1C05NyYICFB2mVGn9_ttEw"), artist_id: Some("UC9MB9dkvCCpM3qVF71TZL7g"),
album: Some(AlbumId( album: Some(AlbumId(
id: "MPREb_bqWA6mAZFWS", id: "MPREb_Z81wHtF9fhC",
name: "[name]", name: "[name]",
)), )),
view_count: "[view_count]", view_count: "[view_count]",
@ -36,19 +40,19 @@ MusicAlbum(
by_va: false, by_va: false,
), ),
TrackItem( TrackItem(
id: "0AyWB-Quj4A", id: "s-qSnZyyvzs",
name: "[name]", name: "[name]",
duration: Some(179), duration: Some(165),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
id: Some("UCDqpyYkgWy2h03HamIfODjw"), id: Some("UCpAZ1Ap_nuAEk9RiT-nUsWQ"),
name: "[name]", name: "[name]",
), ),
], ],
artist_id: Some("UCDqpyYkgWy2h03HamIfODjw"), artist_id: Some("UCpAZ1Ap_nuAEk9RiT-nUsWQ"),
album: Some(AlbumId( album: Some(AlbumId(
id: "MPREb_bqWA6mAZFWS", id: "MPREb_Z81wHtF9fhC",
name: "[name]", name: "[name]",
)), )),
view_count: "[view_count]", view_count: "[view_count]",
@ -57,19 +61,19 @@ MusicAlbum(
by_va: false, by_va: false,
), ),
TrackItem( TrackItem(
id: "s0Sb-GZLXSM", id: "4jXoRBcQ8PY",
name: "[name]", name: "[name]",
duration: Some(155), duration: Some(329),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
id: Some("UCUhWwvF6gIPWTYlYb4-icLA"), id: None,
name: "[name]", name: "[name]",
), ),
], ],
artist_id: Some("UCUhWwvF6gIPWTYlYb4-icLA"), artist_id: Some("UCCRiYE0dTFA_pc23-97GfSg"),
album: Some(AlbumId( album: Some(AlbumId(
id: "MPREb_bqWA6mAZFWS", id: "MPREb_Z81wHtF9fhC",
name: "[name]", name: "[name]",
)), )),
view_count: "[view_count]", view_count: "[view_count]",
@ -78,19 +82,19 @@ MusicAlbum(
by_va: false, by_va: false,
), ),
TrackItem( TrackItem(
id: "P4XAaXjlCDA", id: "DRES9S4VQI8",
name: "[name]", name: "[name]",
duration: Some(229), duration: Some(202),
cover: [], cover: [],
artists: [ artists: [
ArtistId( ArtistId(
id: Some("UCl4iPtukwe7m0kIxUMskkgA"), id: Some("UC_y8p7fi6t3z10R2UEMQG_A"),
name: "[name]", name: "[name]",
), ),
], ],
artist_id: Some("UCl4iPtukwe7m0kIxUMskkgA"), artist_id: Some("UC_y8p7fi6t3z10R2UEMQG_A"),
album: Some(AlbumId( album: Some(AlbumId(
id: "MPREb_bqWA6mAZFWS", id: "MPREb_Z81wHtF9fhC",
name: "[name]", name: "[name]",
)), )),
view_count: "[view_count]", view_count: "[view_count]",
@ -98,37 +102,232 @@ MusicAlbum(
track_nr: Some(4), track_nr: Some(4),
by_va: false, by_va: false,
), ),
], TrackItem(
variants: [ id: "yhZVimwD4B4",
AlbumItem( name: "[name]",
id: "MPREb_h8ltx5oKvyY", duration: Some(213),
name: "Pedha Rasi Peddamma Katha", cover: [],
cover: [
Thumbnail(
url: "https://lh3.googleusercontent.com/iZtBdPWBGNB-GAWvOp9seuYj5QqKrUYGSe-B5J026yxHqFSWv4zsxHy-LxX5LbFlnepOPRWNLrajO-_-=w226-h226-l90-rj",
width: 226,
height: 226,
),
Thumbnail(
url: "https://lh3.googleusercontent.com/iZtBdPWBGNB-GAWvOp9seuYj5QqKrUYGSe-B5J026yxHqFSWv4zsxHy-LxX5LbFlnepOPRWNLrajO-_-=w544-h544-l90-rj",
width: 544,
height: 544,
),
],
artists: [ artists: [
ArtistId( ArtistId(
id: Some("UCl4iPtukwe7m0kIxUMskkgA"), id: Some("UCYAzELapKjDUHMGRbzjJtgw"),
name: "[name]", name: "[name]",
), ),
ArtistId( ArtistId(
id: Some("UCWgAqlYG7mXTUxrFiLyDSsg"), id: Some("UCN2Ji-D6Tzn5CTC7iCWoX8w"),
name: "[name]", name: "[name]",
), ),
], ],
artist_id: Some("UCl4iPtukwe7m0kIxUMskkgA"), artist_id: Some("UCYAzELapKjDUHMGRbzjJtgw"),
album_type: Ep, album: Some(AlbumId(
year: None, id: "MPREb_Z81wHtF9fhC",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(5),
by_va: false,
),
TrackItem(
id: "5d6YiFkdzLM",
name: "[name]",
duration: Some(191),
cover: [],
artists: [
ArtistId(
id: Some("UCFqaoKXGfCsd9VRQNXzhIjQ"),
name: "[name]",
),
],
artist_id: Some("UCFqaoKXGfCsd9VRQNXzhIjQ"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(6),
by_va: false,
),
TrackItem(
id: "3Qe7-uN2PjU",
name: "[name]",
duration: Some(446),
cover: [],
artists: [
ArtistId(
id: Some("UCjqRwXhXgFW7RDDPn_TlAbw"),
name: "[name]",
),
ArtistId(
id: Some("UCy69bQ95ovXIquWzY5jfAIA"),
name: "[name]",
),
],
artist_id: Some("UCjqRwXhXgFW7RDDPn_TlAbw"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(7),
by_va: false,
),
TrackItem(
id: "SKZ_MTsXFP4",
name: "[name]",
duration: Some(376),
cover: [],
artists: [
ArtistId(
id: Some("UCEUUFTUZpm1MmANCfLN5_9Q"),
name: "[name]",
),
],
artist_id: Some("UCEUUFTUZpm1MmANCfLN5_9Q"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(8),
by_va: false,
),
TrackItem(
id: "n5-ujUwazDA",
name: "[name]",
duration: Some(335),
cover: [],
artists: [
ArtistId(
id: Some("UCxByvsK9hDZk2MnnF9jsFGw"),
name: "[name]",
),
],
artist_id: Some("UCxByvsK9hDZk2MnnF9jsFGw"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(9),
by_va: false,
),
TrackItem(
id: "VaREivfDJeY",
name: "[name]",
duration: Some(268),
cover: [],
artists: [
ArtistId(
id: Some("UCG2o9g3Yl6jBL21_z7XBMVw"),
name: "[name]",
),
],
artist_id: Some("UCG2o9g3Yl6jBL21_z7XBMVw"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(10),
by_va: false,
),
TrackItem(
id: "cWcD0WIK2PA",
name: "[name]",
duration: Some(198),
cover: [],
artists: [
ArtistId(
id: Some("UCiIDz3M3cDn2QeYjLbhIdBQ"),
name: "[name]",
),
ArtistId(
id: Some("UChLPGmjYa8bmKShqMBFP_DA"),
name: "[name]",
),
],
artist_id: Some("UCiIDz3M3cDn2QeYjLbhIdBQ"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(11),
by_va: false,
),
TrackItem(
id: "QRELvH564T4",
name: "[name]",
duration: Some(325),
cover: [],
artists: [
ArtistId(
id: Some("UCbiVmjdLA5PKZcUnZMExqCA"),
name: "[name]",
),
],
artist_id: Some("UCbiVmjdLA5PKZcUnZMExqCA"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(12),
by_va: false,
),
TrackItem(
id: "eCY0-GyG46s",
name: "[name]",
duration: Some(198),
cover: [],
artists: [
ArtistId(
id: Some("UC-thVg_PSz894f5mVqMFMeQ"),
name: "[name]",
),
],
artist_id: Some("UC-thVg_PSz894f5mVqMFMeQ"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(13),
by_va: false,
),
TrackItem(
id: "UIrHYTEyUfA",
name: "[name]",
duration: Some(213),
cover: [],
artists: [
ArtistId(
id: Some("UC2pJL-Kp6yJtARS8MC0N8Ag"),
name: "[name]",
),
ArtistId(
id: Some("UCpmZakvqLLUZ4G_YkKjoy6g"),
name: "[name]",
),
],
artist_id: Some("UC2pJL-Kp6yJtARS8MC0N8Ag"),
album: Some(AlbumId(
id: "MPREb_Z81wHtF9fhC",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(14),
by_va: false, by_va: false,
), ),
], ],
variants: [],
) )

View file

@ -16,7 +16,7 @@ MusicAlbum(
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"), artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
description: Some(RichText([ description: Some(RichText([
Text( Text(
text: "Unbroken is the third studio album by American singer Demi Lovato. It was released on September 20, 2011, by Hollywood Records. Primarily a pop record, Lovato described the album as \"more mature\" and with more R&B elements than her previous material, citing Rihanna as the major influence. While some of the album\'s lyrical content was heavily influenced by Lovato\'s personal struggles, it also deals with lighter subjects, such as love, self-empowerment, and having fun. Contributions to the album\'s production came from a wide range of producers, including Toby Gad, Ryan Tedder, Timbaland, Jim Beanz and Rock Mafia.\nLovato initially began recording her third studio album in 2010 before going on tour with the Jonas Brothers on their Live in Concert Tour. After withdrawing from the tour to seek treatment for physical and emotional issues, Lovato continued work on the album and described the recording process as therapeutic. She collaborated with artists such as Missy Elliott, Timbaland, Dev, Iyaz, and Jason Derulo on several tracks.\n\nFrom Wikipedia (", text: "Unbroken is the third studio album by American singer Demi Lovato. It was released on September 20, 2011, by Hollywood Records. Primarily a pop record, Lovato described the album as \"more mature\" and with more R&B elements than her previous material, citing Rihanna as the major influence. While some of the album\'s lyrical content was heavily influenced by Lovato\'s personal struggles, it also deals with lighter subjects, such as love and self empowerment. Contributions to the album\'s production came from a wide range of producers, including Toby Gad, Ryan Tedder, Timbaland, Jim Beanz and Rock Mafia.\nLovato initially began recording her third studio album in 2010 before going on tour with the Jonas Brothers on their Live in Concert Tour. After withdrawing from the tour to seek treatment for physical and emotional issues, Lovato continued work on the album and described the recording process as therapeutic. She collaborated with artists such as Missy Elliott, Timbaland, Dev, Iyaz, and Jason Derulo on several tracks.\n\nFrom Wikipedia (",
), ),
Web( Web(
text: "https://en.wikipedia.org/wiki/Unbroke...", text: "https://en.wikipedia.org/wiki/Unbroke...",

View file

@ -1,138 +0,0 @@
---
source: tests/youtube.rs
expression: album
---
MusicAlbum(
id: "MPREb_h8ltx5oKvyY",
playlist_id: Some("OLAK5uy_lIDfTi_k8V1RJ54MeJJGK_BduAeYbm-0s"),
name: "Pedha Rasi Peddamma Katha",
cover: "[cover]",
artists: [
ArtistId(
id: Some("UCl4iPtukwe7m0kIxUMskkgA"),
name: "S P Balasubramaniam",
),
ArtistId(
id: Some("UCWgAqlYG7mXTUxrFiLyDSsg"),
name: "S Janaki",
),
],
artist_id: Some("UCl4iPtukwe7m0kIxUMskkgA"),
description: None,
album_type: Ep,
year: Some(1968),
by_va: false,
tracks: [
TrackItem(
id: "AKJ3IJZKPWc",
name: "Oh Javaraala",
duration: Some(228),
cover: [],
artists: [
ArtistId(
id: Some("UCl4iPtukwe7m0kIxUMskkgA"),
name: "S P Balasubramaniam",
),
ArtistId(
id: Some("UCWgAqlYG7mXTUxrFiLyDSsg"),
name: "S Janaki",
),
],
artist_id: Some("UCl4iPtukwe7m0kIxUMskkgA"),
album: Some(AlbumId(
id: "MPREb_h8ltx5oKvyY",
name: "Pedha Rasi Peddamma Katha",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(1),
by_va: false,
),
TrackItem(
id: "WnpZuHNB33E",
name: "Siva Manoranjani",
duration: Some(266),
cover: [],
artists: [
ArtistId(
id: Some("UC1C05NyYICFB2mVGn9_ttEw"),
name: "M Balamuralikrishna",
),
],
artist_id: Some("UC1C05NyYICFB2mVGn9_ttEw"),
album: Some(AlbumId(
id: "MPREb_h8ltx5oKvyY",
name: "Pedha Rasi Peddamma Katha",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(2),
by_va: false,
),
TrackItem(
id: "pRqoDGXg1-I",
name: "Gulabi Buggalunna",
duration: Some(154),
cover: [],
artists: [
ArtistId(
id: Some("UC_KQPMiRQl3CFAIKTVfCHwA"),
name: "L R Eswari",
),
],
artist_id: Some("UC_KQPMiRQl3CFAIKTVfCHwA"),
album: Some(AlbumId(
id: "MPREb_h8ltx5oKvyY",
name: "Pedha Rasi Peddamma Katha",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(3),
by_va: false,
),
TrackItem(
id: "20vIKLJxjBY",
name: "Kuluku Nadakula",
duration: Some(178),
cover: [],
artists: [
ArtistId(
id: None,
name: "Ghantasala & Chorus",
),
],
artist_id: Some("UCDqpyYkgWy2h03HamIfODjw"),
album: Some(AlbumId(
id: "MPREb_h8ltx5oKvyY",
name: "Pedha Rasi Peddamma Katha",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(4),
by_va: false,
),
],
variants: [
AlbumItem(
id: "MPREb_bqWA6mAZFWS",
name: "Pedha Rasi Peddamma Katha",
cover: [
Thumbnail(
url: "https://lh3.googleusercontent.com/cyKTDdyucqYv8xfv0t3Vs9CkhmvssXRKsGzlWN_DU6A9uapXvovV0Ys2fXc9-r7Jv7V4UB1OD48iYH5z=w226-h226-l90-rj",
width: 226,
height: 226,
),
Thumbnail(
url: "https://lh3.googleusercontent.com/cyKTDdyucqYv8xfv0t3Vs9CkhmvssXRKsGzlWN_DU6A9uapXvovV0Ys2fXc9-r7Jv7V4UB1OD48iYH5z=w544-h544-l90-rj",
width: 544,
height: 544,
),
],
artists: [],
artist_id: None,
album_type: Ep,
year: None,
by_va: true,
),
],
)

Some files were not shown because too many files have changed in this diff Show more