mirror of
				https://github.com/TeamPiped/Piped.git
				synced 2024-08-14 23:57:27 +00:00 
			
		
		
		
	Merge from main + Update efy submodule
This commit is contained in:
		
							parent
							
								
									14d79e5cea
								
							
						
					
					
						commit
						2c043461ea
					
				
					 32 changed files with 594 additions and 380 deletions
				
			
		
							
								
								
									
										2
									
								
								.github/workflows/deploy-azure.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/deploy-azure.yml
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -24,7 +24,7 @@ jobs:
 | 
				
			||||||
          ###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
 | 
					          ###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
 | 
				
			||||||
          # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
 | 
					          # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
 | 
				
			||||||
          app_location: "/" # App source code path
 | 
					          app_location: "/" # App source code path
 | 
				
			||||||
          app_build_command: "yarn build && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist/assets/*.css"
 | 
					          app_build_command: "yarn build && ./localizefonts.sh"
 | 
				
			||||||
          api_location: "" # Api source code path - optional
 | 
					          api_location: "" # Api source code path - optional
 | 
				
			||||||
          output_location: "dist" # Built app content directory - optional
 | 
					          output_location: "dist" # Built app content directory - optional
 | 
				
			||||||
          ###### End of Repository/Build Configurations ######
 | 
					          ###### End of Repository/Build Configurations ######
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										4
									
								
								.github/workflows/docker-build.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/docker-build.yml
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -12,14 +12,12 @@ jobs:
 | 
				
			||||||
        runs-on: ubuntu-latest
 | 
					        runs-on: ubuntu-latest
 | 
				
			||||||
        steps:
 | 
					        steps:
 | 
				
			||||||
            - uses: actions/checkout@v3
 | 
					            - uses: actions/checkout@v3
 | 
				
			||||||
              with:
 | 
					 | 
				
			||||||
                  submodules: true
 | 
					 | 
				
			||||||
            - name: Setup Node.js
 | 
					            - name: Setup Node.js
 | 
				
			||||||
              uses: actions/setup-node@v3
 | 
					              uses: actions/setup-node@v3
 | 
				
			||||||
              with:
 | 
					              with:
 | 
				
			||||||
                  cache: "yarn"
 | 
					                  cache: "yarn"
 | 
				
			||||||
            - run: yarn install --prefer-offline
 | 
					            - run: yarn install --prefer-offline
 | 
				
			||||||
            - run: yarn build --out-dir dist-ci && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist-ci/assets/*.css
 | 
					            - run: yarn build && ./localizefonts.sh && mv dist/ dist-ci/
 | 
				
			||||||
            - name: Set up QEMU
 | 
					            - name: Set up QEMU
 | 
				
			||||||
              uses: docker/setup-qemu-action@v2
 | 
					              uses: docker/setup-qemu-action@v2
 | 
				
			||||||
              with:
 | 
					              with:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										4
									
								
								.github/workflows/ipfs-build.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/ipfs-build.yml
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -12,14 +12,12 @@ jobs:
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          submodules: true
 | 
					 | 
				
			||||||
      - name: Setup Node.js
 | 
					      - name: Setup Node.js
 | 
				
			||||||
        uses: actions/setup-node@v3
 | 
					        uses: actions/setup-node@v3
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          cache: "yarn"
 | 
					          cache: "yarn"
 | 
				
			||||||
      - run: yarn install --prefer-offline
 | 
					      - run: yarn install --prefer-offline
 | 
				
			||||||
      - run: yarn build && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist/assets/*.css && cp dist/index.html dist/ipfs-404.html
 | 
					      - run: yarn build && ./localizefonts.sh && cp dist/index.html dist/ipfs-404.html
 | 
				
			||||||
      - uses: aquiladev/ipfs-action@v0.3.1-alpha.2
 | 
					      - uses: aquiladev/ipfs-action@v0.3.1-alpha.2
 | 
				
			||||||
        id: ipfs-add
 | 
					        id: ipfs-add
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,12 +2,16 @@ FROM node:lts-alpine AS build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WORKDIR /app/
 | 
					WORKDIR /app/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN --mount=type=cache,target=/var/cache/apk \
 | 
				
			||||||
 | 
					    apk add --no-cache \
 | 
				
			||||||
 | 
					    curl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY . .
 | 
					COPY . .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN --mount=type=cache,target=/root/.cache/yarn \
 | 
					RUN --mount=type=cache,target=/root/.cache/yarn \
 | 
				
			||||||
    --mount=type=cache,target=/app/node_modules \
 | 
					    --mount=type=cache,target=/app/node_modules \
 | 
				
			||||||
    yarn install --prefer-offline && \
 | 
					    yarn install --prefer-offline && \
 | 
				
			||||||
    yarn build && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist/assets/*.css
 | 
					    yarn build && ./localizefonts.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FROM nginx:alpine
 | 
					FROM nginx:alpine
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										10
									
								
								localizefonts.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								localizefonts.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,10 @@
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					base='https://fonts\.(gstatic\.com|kavin\.rocks)'
 | 
				
			||||||
 | 
					fonts=$(cat dist/assets/* | grep -Po "$base[^)]*" | sort | uniq)
 | 
				
			||||||
 | 
					for font in $fonts; do
 | 
				
			||||||
 | 
						file="dist/fonts$(echo $font | sed -E "s#$base##")"
 | 
				
			||||||
 | 
						mkdir -p "$(dirname "$file")"
 | 
				
			||||||
 | 
						curl -L "$font" -o "$file"
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					sed -Ei "s#$base#/fonts#g" dist/assets/*
 | 
				
			||||||
							
								
								
									
										20
									
								
								package.json
									
										
									
									
									
								
							
							
						
						
									
										20
									
								
								package.json
									
										
									
									
									
								
							| 
						 | 
					@ -14,7 +14,7 @@
 | 
				
			||||||
        "@fortawesome/free-solid-svg-icons": "6.2.1",
 | 
					        "@fortawesome/free-solid-svg-icons": "6.2.1",
 | 
				
			||||||
        "@fortawesome/vue-fontawesome": "3.0.2",
 | 
					        "@fortawesome/vue-fontawesome": "3.0.2",
 | 
				
			||||||
        "buffer": "6.0.3",
 | 
					        "buffer": "6.0.3",
 | 
				
			||||||
        "dompurify": "2.4.1",
 | 
					        "dompurify": "2.4.2",
 | 
				
			||||||
        "hotkeys-js": "3.10.1",
 | 
					        "hotkeys-js": "3.10.1",
 | 
				
			||||||
        "javascript-time-ago": "2.5.9",
 | 
					        "javascript-time-ago": "2.5.9",
 | 
				
			||||||
        "mux.js": "6.2.0",
 | 
					        "mux.js": "6.2.0",
 | 
				
			||||||
| 
						 | 
					@ -26,24 +26,24 @@
 | 
				
			||||||
        "xml-js": "1.6.11"
 | 
					        "xml-js": "1.6.11"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "devDependencies": {
 | 
					    "devDependencies": {
 | 
				
			||||||
        "@iconify/json": "2.1.153",
 | 
					        "@iconify/json": "2.2.3",
 | 
				
			||||||
        "@intlify/vite-plugin-vue-i18n": "6.0.3",
 | 
					        "@intlify/vite-plugin-vue-i18n": "6.0.3",
 | 
				
			||||||
        "@unocss/preset-icons": "0.47.6",
 | 
					        "@unocss/preset-icons": "0.48.2",
 | 
				
			||||||
        "@unocss/preset-web-fonts": "0.47.6",
 | 
					        "@unocss/preset-web-fonts": "0.48.2",
 | 
				
			||||||
        "@unocss/transformer-directives": "0.47.6",
 | 
					        "@unocss/transformer-directives": "0.48.2",
 | 
				
			||||||
        "@unocss/transformer-variant-group": "0.47.6",
 | 
					        "@unocss/transformer-variant-group": "0.48.2",
 | 
				
			||||||
        "@vitejs/plugin-legacy": "3.0.1",
 | 
					        "@vitejs/plugin-legacy": "3.0.1",
 | 
				
			||||||
        "@vitejs/plugin-vue": "4.0.0",
 | 
					        "@vitejs/plugin-vue": "4.0.0",
 | 
				
			||||||
        "@vue/compiler-sfc": "3.2.45",
 | 
					        "@vue/compiler-sfc": "3.2.45",
 | 
				
			||||||
        "eslint": "8.29.0",
 | 
					        "eslint": "8.31.0",
 | 
				
			||||||
        "eslint-config-prettier": "8.5.0",
 | 
					        "eslint-config-prettier": "8.6.0",
 | 
				
			||||||
        "eslint-plugin-prettier": "4.2.1",
 | 
					        "eslint-plugin-prettier": "4.2.1",
 | 
				
			||||||
        "eslint-plugin-vue": "9.8.0",
 | 
					        "eslint-plugin-vue": "9.8.0",
 | 
				
			||||||
        "prettier": "2.8.1",
 | 
					        "prettier": "2.8.1",
 | 
				
			||||||
        "unocss": "0.47.6",
 | 
					        "unocss": "0.48.2",
 | 
				
			||||||
        "vite": "3.2.5",
 | 
					        "vite": "3.2.5",
 | 
				
			||||||
        "vite-plugin-eslint": "1.8.1",
 | 
					        "vite-plugin-eslint": "1.8.1",
 | 
				
			||||||
        "vite-plugin-pwa": "0.14.0"
 | 
					        "vite-plugin-pwa": "0.14.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "eslintConfig": {
 | 
					    "eslintConfig": {
 | 
				
			||||||
        "root": true,
 | 
					        "root": true,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1 +1 @@
 | 
				
			||||||
Subproject commit f5fe0a2b2f142e36743eaaf030fabdbd19808386
 | 
					Subproject commit 64c903b6bf21ed8c3f6259f7b8e02266968b91db
 | 
				
			||||||
| 
						 | 
					@ -24,7 +24,7 @@
 | 
				
			||||||
                    <font-awesome-icon class="ml-1" v-if="comment.hearted" icon="heart" />
 | 
					                    <font-awesome-icon class="ml-1" v-if="comment.hearted" icon="heart" />
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
            <div class="whitespace-pre-wrap" v-html="urlify(comment.commentText)" />
 | 
					            <div class="whitespace-pre-wrap" v-html="purifyHTML(comment.commentText)" />
 | 
				
			||||||
            <template v-if="comment.repliesPage && (!loadingReplies || !showingReplies)">
 | 
					            <template v-if="comment.repliesPage && (!loadingReplies || !showingReplies)">
 | 
				
			||||||
                <div @click="loadReplies" class="cursor-pointer">
 | 
					                <div @click="loadReplies" class="cursor-pointer">
 | 
				
			||||||
                    <a v-text="`${$t('actions.reply_count', comment.replyCount)}`" />
 | 
					                    <a v-text="`${$t('actions.reply_count', comment.replyCount)}`" />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -42,7 +42,7 @@ export default {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.modal-container {
 | 
					.modal-container {
 | 
				
			||||||
    @apply w-min m-auto min-w-[20vw] relative;
 | 
					    @apply w-300rem m-auto max-w-[100vw] relative;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.modal-container > button {
 | 
					.modal-container > button {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,10 +1,10 @@
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
    <ModalComponent>
 | 
					    <ModalComponent>
 | 
				
			||||||
        <h2 v-t="'actions.select_playlist'" />
 | 
					        <h4 v-t="'actions.select_playlist'" class="mb-2" />
 | 
				
			||||||
        <select class="select w-full mt-3" v-model="selectedPlaylist">
 | 
					        <select class="select w-full mb-2" v-model="selectedPlaylist">
 | 
				
			||||||
            <option v-for="playlist in playlists" :value="playlist.id" :key="playlist.id" v-text="playlist.name" />
 | 
					            <option v-for="playlist in playlists" :value="playlist.id" :key="playlist.id" v-text="playlist.name" />
 | 
				
			||||||
        </select>
 | 
					        </select>
 | 
				
			||||||
        <div class="flex justify-end mt-3">
 | 
					        <div class="flex justify-end">
 | 
				
			||||||
            <button
 | 
					            <button
 | 
				
			||||||
                class="btn"
 | 
					                class="btn"
 | 
				
			||||||
                @click="handleClick(selectedPlaylist)"
 | 
					                @click="handleClick(selectedPlaylist)"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -149,10 +149,7 @@ export default {
 | 
				
			||||||
                version: 1,
 | 
					                version: 1,
 | 
				
			||||||
                playlists: [],
 | 
					                playlists: [],
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
            let tasks = [];
 | 
					            let tasks = this.playlists.map(playlist => this.fetchPlaylistJson(playlist.id));
 | 
				
			||||||
            for (var i = 0; i < this.playlists.length; i++) {
 | 
					 | 
				
			||||||
                tasks.push(this.fetchPlaylistJson(this.playlists[i].id));
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            json.playlists = await Promise.all(tasks);
 | 
					            json.playlists = await Promise.all(tasks);
 | 
				
			||||||
            this.download(JSON.stringify(json), "playlists.json", "application/json");
 | 
					            this.download(JSON.stringify(json), "playlists.json", "application/json");
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					@ -165,31 +162,44 @@ export default {
 | 
				
			||||||
                // as Invidious supports public and private playlists
 | 
					                // as Invidious supports public and private playlists
 | 
				
			||||||
                visibility: "private",
 | 
					                visibility: "private",
 | 
				
			||||||
                // list of the videos, starting with "https://youtube.com" to clarify that those are YT videos
 | 
					                // list of the videos, starting with "https://youtube.com" to clarify that those are YT videos
 | 
				
			||||||
                videos: [],
 | 
					                videos: playlist.relatedStreams.map(stream => "https://youtube.com" + stream.url),
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
            for (var i = 0; i < playlist.relatedStreams.length; i++) {
 | 
					 | 
				
			||||||
                playlistJson.videos.push("https://youtube.com" + playlist.relatedStreams[i].url);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            return playlistJson;
 | 
					            return playlistJson;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        async importPlaylists() {
 | 
					        async importPlaylists() {
 | 
				
			||||||
            const file = this.$refs.fileSelector.files[0];
 | 
					            const file = this.$refs.fileSelector.files[0];
 | 
				
			||||||
            let text = await file.text();
 | 
					            let text = await file.text();
 | 
				
			||||||
            let playlists = JSON.parse(text).playlists;
 | 
					            let tasks = [];
 | 
				
			||||||
            if (!playlists.length) {
 | 
					            // list of playlists exported from Piped
 | 
				
			||||||
 | 
					            if (text.includes("playlists")) {
 | 
				
			||||||
 | 
					                let playlists = JSON.parse(text).playlists;
 | 
				
			||||||
 | 
					                if (!playlists.length) {
 | 
				
			||||||
 | 
					                    alert(this.$t("actions.no_valid_playlists"));
 | 
				
			||||||
 | 
					                    return;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                for (var i = 0; i < playlists.length; i++) {
 | 
				
			||||||
 | 
					                    tasks.push(this.createPlaylistWithVideos(playlists[i]));
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                // CSV from Google Takeout
 | 
				
			||||||
 | 
					            } else if (file.name.slice(-4).toLowerCase() == ".csv") {
 | 
				
			||||||
 | 
					                const lines = text.split("\n");
 | 
				
			||||||
 | 
					                const playlist = {
 | 
				
			||||||
 | 
					                    name: lines[1].split(",")[4],
 | 
				
			||||||
 | 
					                    videos: lines
 | 
				
			||||||
 | 
					                        .slice(4, lines.length)
 | 
				
			||||||
 | 
					                        .filter(line => line != "")
 | 
				
			||||||
 | 
					                        .map(line => `https://youtube.com/watch?v=${line.split(",")[0]}`),
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					                tasks.push(this.createPlaylistWithVideos(playlist));
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
                alert(this.$t("actions.no_valid_playlists"));
 | 
					                alert(this.$t("actions.no_valid_playlists"));
 | 
				
			||||||
                return;
 | 
					                return;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            let tasks = [];
 | 
					 | 
				
			||||||
            for (var i = 0; i < playlists.length; i++) {
 | 
					 | 
				
			||||||
                tasks.push(this.createPlaylistWithVideos(playlists[i]));
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            await Promise.all(tasks);
 | 
					            await Promise.all(tasks);
 | 
				
			||||||
            window.location.reload();
 | 
					            window.location.reload();
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        async createPlaylistWithVideos(playlist) {
 | 
					        async createPlaylistWithVideos(playlist) {
 | 
				
			||||||
            let newPlaylist = await this.createPlaylist(playlist.name);
 | 
					            let newPlaylist = await this.createPlaylist(playlist.name);
 | 
				
			||||||
            console.log(newPlaylist);
 | 
					 | 
				
			||||||
            let videoIds = playlist.videos.map(url => url.substr(-11));
 | 
					            let videoIds = playlist.videos.map(url => url.substr(-11));
 | 
				
			||||||
            await this.addVideosToPlaylist(newPlaylist.playlistId, videoIds);
 | 
					            await this.addVideosToPlaylist(newPlaylist.playlistId, videoIds);
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,19 +1,25 @@
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
    <ModalComponent>
 | 
					    <ModalComponent>
 | 
				
			||||||
        <h2 v-t="'actions.share'" />
 | 
					        <h4 v-t="'actions.share'" />
 | 
				
			||||||
        <div class="flex justify-between mt-4">
 | 
					        <div class="flex justify-between mt-2 mb-2">
 | 
				
			||||||
            <label v-t="'actions.with_timecode'" for="withTimeCode" />
 | 
					 | 
				
			||||||
            <input id="withTimeCode" type="checkbox" v-model="withTimeCode" @change="onChange" />
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
        <div class="flex justify-between mt-2">
 | 
					 | 
				
			||||||
            <label v-t="'actions.piped_link'" />
 | 
					            <label v-t="'actions.piped_link'" />
 | 
				
			||||||
            <input type="checkbox" v-model="pipedLink" @change="onChange" />
 | 
					            <input type="checkbox" v-model="pipedLink" @change="onChange" />
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        <div class="flex justify-between mt-2">
 | 
					        <div v-if="this.hasPlaylist" class="flex justify-between">
 | 
				
			||||||
            <label v-t="'actions.time_code'" />
 | 
					            <label v-t="'actions.with_playlist'" />
 | 
				
			||||||
            <input class="input w-300" type="text" v-model="timeStamp" />
 | 
					            <input type="checkbox" v-model="withPlaylist" @change="onChange" />
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        <a :href="generatedLink" target="_blank"><h6 class="mb-2" v-text="generatedLink" /></a>
 | 
					        <div class="flex justify-between">
 | 
				
			||||||
 | 
					            <label v-t="'actions.with_timecode'" for="withTimeCode" />
 | 
				
			||||||
 | 
					            <input id="withTimeCode" type="checkbox" v-model="withTimeCode" @change="onChange" />
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div v-if="this.withTimeCode" class="flex justify-between mt-2" style="align-items: center">
 | 
				
			||||||
 | 
					            <label v-t="'actions.time_code'" />
 | 
				
			||||||
 | 
					            <input class="input w-300 mb-0rem" type="text" v-model="timeStamp" />
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <a :href="generatedLink" target="_blank">
 | 
				
			||||||
 | 
					            <h6 class="mb-2 mt-2" v-text="generatedLink" />
 | 
				
			||||||
 | 
					        </a>
 | 
				
			||||||
        <div class="flex justify-end mt-4">
 | 
					        <div class="flex justify-end mt-4">
 | 
				
			||||||
            <button class="btn" style="margin-right: 15rem" v-t="'actions.follow_link'" @click="followLink()" />
 | 
					            <button class="btn" style="margin-right: 15rem" v-t="'actions.follow_link'" @click="followLink()" />
 | 
				
			||||||
            <button class="btn" v-t="'actions.copy_link'" @click="copyLink()" />
 | 
					            <button class="btn" v-t="'actions.copy_link'" @click="copyLink()" />
 | 
				
			||||||
| 
						 | 
					@ -34,6 +40,12 @@ export default {
 | 
				
			||||||
            type: Number,
 | 
					            type: Number,
 | 
				
			||||||
            required: true,
 | 
					            required: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        playlistId: {
 | 
				
			||||||
 | 
					            type: String,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        playlistIndex: {
 | 
				
			||||||
 | 
					            type: Number,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    components: {
 | 
					    components: {
 | 
				
			||||||
        ModalComponent,
 | 
					        ModalComponent,
 | 
				
			||||||
| 
						 | 
					@ -42,13 +54,17 @@ export default {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            withTimeCode: true,
 | 
					            withTimeCode: true,
 | 
				
			||||||
            pipedLink: true,
 | 
					            pipedLink: true,
 | 
				
			||||||
 | 
					            withPlaylist: true,
 | 
				
			||||||
            timeStamp: null,
 | 
					            timeStamp: null,
 | 
				
			||||||
 | 
					            hasPlaylist: false,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    mounted() {
 | 
					    mounted() {
 | 
				
			||||||
        this.timeStamp = parseInt(this.currentTime);
 | 
					        this.timeStamp = parseInt(this.currentTime);
 | 
				
			||||||
        this.withTimeCode = this.getPreferenceBoolean("shareWithTimeCode", true);
 | 
					        this.withTimeCode = this.getPreferenceBoolean("shareWithTimeCode", true);
 | 
				
			||||||
        this.pipedLink = this.getPreferenceBoolean("shareAsPipedLink", true);
 | 
					        this.pipedLink = this.getPreferenceBoolean("shareAsPipedLink", true);
 | 
				
			||||||
 | 
					        this.withPlaylist = this.getPreferenceBoolean("shareWithPlaylist", true);
 | 
				
			||||||
 | 
					        this.hasPlaylist = this.playlistId != undefined && !isNaN(this.playlistIndex);
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    methods: {
 | 
					    methods: {
 | 
				
			||||||
        followLink() {
 | 
					        followLink() {
 | 
				
			||||||
| 
						 | 
					@ -68,6 +84,7 @@ export default {
 | 
				
			||||||
        onChange() {
 | 
					        onChange() {
 | 
				
			||||||
            this.setPreference("shareWithTimeCode", this.withTimeCode, true);
 | 
					            this.setPreference("shareWithTimeCode", this.withTimeCode, true);
 | 
				
			||||||
            this.setPreference("shareAsPipedLink", this.pipedLink, true);
 | 
					            this.setPreference("shareAsPipedLink", this.pipedLink, true);
 | 
				
			||||||
 | 
					            this.setPreference("shareWithPlaylist", this.withPlaylist, true);
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    computed: {
 | 
					    computed: {
 | 
				
			||||||
| 
						 | 
					@ -77,6 +94,10 @@ export default {
 | 
				
			||||||
                : "https://youtu.be/" + this.videoId;
 | 
					                : "https://youtu.be/" + this.videoId;
 | 
				
			||||||
            var url = new URL(baseUrl);
 | 
					            var url = new URL(baseUrl);
 | 
				
			||||||
            if (this.withTimeCode && this.timeStamp > 0) url.searchParams.append("t", this.timeStamp);
 | 
					            if (this.withTimeCode && this.timeStamp > 0) url.searchParams.append("t", this.timeStamp);
 | 
				
			||||||
 | 
					            if (this.hasPlaylist && this.withPlaylist) {
 | 
				
			||||||
 | 
					                url.searchParams.append("list", this.playlistId);
 | 
				
			||||||
 | 
					                url.searchParams.append("index", this.playlistIndex);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
            return url.href;
 | 
					            return url.href;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -124,6 +124,8 @@
 | 
				
			||||||
                        v-if="showShareModal"
 | 
					                        v-if="showShareModal"
 | 
				
			||||||
                        :video-id="getVideoId()"
 | 
					                        :video-id="getVideoId()"
 | 
				
			||||||
                        :current-time="currentTime"
 | 
					                        :current-time="currentTime"
 | 
				
			||||||
 | 
					                        :playlist-id="playlistId"
 | 
				
			||||||
 | 
					                        :playlist-index="index"
 | 
				
			||||||
                        @close="showShareModal = !showShareModal"
 | 
					                        @close="showShareModal = !showShareModal"
 | 
				
			||||||
                    />
 | 
					                    />
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
| 
						 | 
					@ -438,7 +440,10 @@ export default {
 | 
				
			||||||
                this.fetchSponsors().then(data => (this.sponsors = data));
 | 
					                this.fetchSponsors().then(data => (this.sponsors = data));
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        async getComments() {
 | 
					        async getComments() {
 | 
				
			||||||
            this.fetchComments().then(data => (this.comments = data));
 | 
					            this.fetchComments().then(data => {
 | 
				
			||||||
 | 
					                this.rewriteComments(data.comments);
 | 
				
			||||||
 | 
					                this.comments = data;
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        async fetchSubscribedStatus() {
 | 
					        async fetchSubscribedStatus() {
 | 
				
			||||||
            if (!this.channelId) return;
 | 
					            if (!this.channelId) return;
 | 
				
			||||||
| 
						 | 
					@ -461,6 +466,23 @@ export default {
 | 
				
			||||||
                this.subscribed = json.subscribed;
 | 
					                this.subscribed = json.subscribed;
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        rewriteComments(data) {
 | 
				
			||||||
 | 
					            data.forEach(comment => {
 | 
				
			||||||
 | 
					                const parser = new DOMParser();
 | 
				
			||||||
 | 
					                const xmlDoc = parser.parseFromString(comment.commentText, "text/html");
 | 
				
			||||||
 | 
					                xmlDoc.querySelectorAll("a").forEach(elem => {
 | 
				
			||||||
 | 
					                    if (!elem.innerText.match(/(?:[\d]{1,2}:)?(?:[\d]{1,2}):(?:[\d]{1,2})/))
 | 
				
			||||||
 | 
					                        elem.outerHTML = elem.getAttribute("href");
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					                comment.commentText = xmlDoc
 | 
				
			||||||
 | 
					                    .querySelector("body")
 | 
				
			||||||
 | 
					                    .innerHTML.replaceAll(/(?:http(?:s)?:\/\/)?(?:www\.)?youtube\.com(\/[/a-zA-Z0-9_?=&-]*)/gm, "$1")
 | 
				
			||||||
 | 
					                    .replaceAll(
 | 
				
			||||||
 | 
					                        /(?:http(?:s)?:\/\/)?(?:www\.)?youtu\.be\/(?:watch\?v=)?([/a-zA-Z0-9_?=&-]*)/gm,
 | 
				
			||||||
 | 
					                        "/watch?v=$1",
 | 
				
			||||||
 | 
					                    );
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        subscribeHandler() {
 | 
					        subscribeHandler() {
 | 
				
			||||||
            if (this.authenticated) {
 | 
					            if (this.authenticated) {
 | 
				
			||||||
                this.fetchJson(this.authApiUrl() + (this.subscribed ? "/unsubscribe" : "/subscribe"), null, {
 | 
					                this.fetchJson(this.authApiUrl() + (this.subscribed ? "/unsubscribe" : "/subscribe"), null, {
 | 
				
			||||||
| 
						 | 
					@ -487,7 +509,8 @@ export default {
 | 
				
			||||||
                }).then(json => {
 | 
					                }).then(json => {
 | 
				
			||||||
                    this.comments.nextpage = json.nextpage;
 | 
					                    this.comments.nextpage = json.nextpage;
 | 
				
			||||||
                    this.loading = false;
 | 
					                    this.loading = false;
 | 
				
			||||||
                    json.comments.map(comment => this.comments.comments.push(comment));
 | 
					                    this.rewriteComments(json.comments);
 | 
				
			||||||
 | 
					                    this.comments.comments = this.comments.comments.concat(json.comments);
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -119,7 +119,8 @@
 | 
				
			||||||
        "minimize_comments": "تصغير التعليقات",
 | 
					        "minimize_comments": "تصغير التعليقات",
 | 
				
			||||||
        "show_watch_on_youtube": "عرض زر مشاهدة على يوتيوب",
 | 
					        "show_watch_on_youtube": "عرض زر مشاهدة على يوتيوب",
 | 
				
			||||||
        "minimize_chapters_default": "تصغير الفصول بشكل افتراضي",
 | 
					        "minimize_chapters_default": "تصغير الفصول بشكل افتراضي",
 | 
				
			||||||
        "no_valid_playlists": "لا يحتوي الملف على قوائم تشغيل صالحة!"
 | 
					        "no_valid_playlists": "لا يحتوي الملف على قوائم تشغيل صالحة!",
 | 
				
			||||||
 | 
					        "with_playlist": "المشاركة مع قائمة التشغيل"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "video": {
 | 
					    "video": {
 | 
				
			||||||
        "sponsor_segments": "المقاطع الإعلانية",
 | 
					        "sponsor_segments": "المقاطع الإعلانية",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,8 +1,8 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    "titles": {
 | 
					    "titles": {
 | 
				
			||||||
        "trending": "Trenddə olan",
 | 
					        "trending": "Trenddə olan",
 | 
				
			||||||
        "login": "Daxil olun",
 | 
					        "login": "Daxil ol",
 | 
				
			||||||
        "register": "Qeydiyyatdan keçin",
 | 
					        "register": "Qeydiyyatdan keç",
 | 
				
			||||||
        "feed": "Axın",
 | 
					        "feed": "Axın",
 | 
				
			||||||
        "preferences": "Seçimlər",
 | 
					        "preferences": "Seçimlər",
 | 
				
			||||||
        "history": "Tarixçə",
 | 
					        "history": "Tarixçə",
 | 
				
			||||||
| 
						 | 
					@ -15,111 +15,112 @@
 | 
				
			||||||
        "channels": "Kanallar"
 | 
					        "channels": "Kanallar"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "player": {
 | 
					    "player": {
 | 
				
			||||||
        "watch_on": "{0} saytında baxın"
 | 
					        "watch_on": "{0} saytında bax"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "actions": {
 | 
					    "actions": {
 | 
				
			||||||
        "subscribe": "Abunə Olun - {count}",
 | 
					        "subscribe": "Abunə Ol - {count}",
 | 
				
			||||||
        "unsubscribe": "Abunəlikdən Çıxın- {count}",
 | 
					        "unsubscribe": "Abunəlikdən Çıx - {count}",
 | 
				
			||||||
        "view_subscriptions": "Abunəliklərə Baxın",
 | 
					        "view_subscriptions": "Abunəliklərə Baxın",
 | 
				
			||||||
        "sort_by": "Sıralama qaydası:",
 | 
					        "sort_by": "Çeşidlə:",
 | 
				
			||||||
        "most_recent": "Ən Yeni",
 | 
					        "most_recent": "Ən Yeni",
 | 
				
			||||||
        "least_recent": "Ən Köhnə",
 | 
					        "least_recent": "Ən Köhnə",
 | 
				
			||||||
        "channel_name_asc": "Kanal Adı (A-Z)",
 | 
					        "channel_name_asc": "Kanal Adı (A-Z)",
 | 
				
			||||||
        "channel_name_desc": "Kanal Adı (Z-A)",
 | 
					        "channel_name_desc": "Kanal Adı (Z-A)",
 | 
				
			||||||
        "back": "Geri",
 | 
					        "back": "Geri",
 | 
				
			||||||
        "uses_api_from": "API-dən istifadə edir ",
 | 
					        "uses_api_from": "API-dən istifadə edir ",
 | 
				
			||||||
        "enable_sponsorblock": "SponsorBlok'u Aktivləşdirin",
 | 
					        "enable_sponsorblock": "SponsorBlok'u Aktivləşdir",
 | 
				
			||||||
        "skip_sponsors": "Sponsorları Ötürün",
 | 
					        "skip_sponsors": "Sponsorları Ötür",
 | 
				
			||||||
        "skip_intro": "Fasilə/Giriş Animasiyasını Ötür",
 | 
					        "skip_intro": "Fasilə/Giriş Animasiyasını Ötür",
 | 
				
			||||||
        "skip_outro": "Bitiş Kartları/Kanal Nişanı Seqmentlərini Ötür",
 | 
					        "skip_outro": "Bitiş Kartları/Kreditləri Ötür",
 | 
				
			||||||
        "skip_preview": "Önbaxışı/Anonsu Ötürün",
 | 
					        "skip_preview": "Önbaxışı/Anonsu Ötür",
 | 
				
			||||||
        "skip_interaction": "İnteraksiya Xatırlatıcısını Ötürün(Abunə Olun)",
 | 
					        "skip_interaction": "İnteraksiya Xatırladıcısını Ötür(Abunə Ol)",
 | 
				
			||||||
        "skip_self_promo": "Ödənişsiz/Özünü Reklamı Ötürün",
 | 
					        "skip_self_promo": "Ödənişsiz/Özünü Reklamı Ötür",
 | 
				
			||||||
        "skip_non_music": "Musiqisizliyi Ötür: Musiqi Olmayan Bölmə",
 | 
					        "skip_non_music": "Musiqini Ötür: Musiqi Olmayan Bölmə",
 | 
				
			||||||
        "skip_highlight": "Anonsu Ötür",
 | 
					        "skip_highlight": "Anonsu Ötür",
 | 
				
			||||||
        "skip_filler_tangent": "Doldurucu Səhnələri Ötür",
 | 
					        "skip_filler_tangent": "Doldurucu Səhnələri Ötür",
 | 
				
			||||||
        "theme": "Mövzu",
 | 
					        "theme": "Tema",
 | 
				
			||||||
        "auto": "Avtomatik",
 | 
					        "auto": "Avtomatik",
 | 
				
			||||||
        "dark": "Qaranlıq",
 | 
					        "dark": "Qaranlıq",
 | 
				
			||||||
        "light": "İşıqlı",
 | 
					        "light": "İşıqlı",
 | 
				
			||||||
        "autoplay_video": "Videonu Avto-oynat",
 | 
					        "autoplay_video": "Videonu Avto-oynat",
 | 
				
			||||||
        "audio_only": "Yalnız Səs",
 | 
					        "audio_only": "Yalnız Səs",
 | 
				
			||||||
        "default_quality": "Defolt Keyfiyyət",
 | 
					        "default_quality": "Defolt Keyfiyyət",
 | 
				
			||||||
        "buffering_goal": "Tamponlama Məqsədi (saniyələrlə)",
 | 
					        "buffering_goal": "Tamponlama hədəfi (saniyələrlə)",
 | 
				
			||||||
        "export_to_json": "JSON-a İxrac Edin",
 | 
					        "export_to_json": "JSON-a İxrac Et",
 | 
				
			||||||
        "import_from_json": "JSON/CSV-dan İdxal Edin",
 | 
					        "import_from_json": "JSON/CSV-dan İdxal Et",
 | 
				
			||||||
        "loop_this_video": "Bu Videonu Təkrarla",
 | 
					        "loop_this_video": "Bu Videonu Təkrarla",
 | 
				
			||||||
        "auto_play_next_video": "Növbəti Videonu Avto-Oynat",
 | 
					        "auto_play_next_video": "Növbəti Videonu Avto-Oynat",
 | 
				
			||||||
        "donations": "İnkişaf ianələri",
 | 
					        "donations": "İnkişaf ianələri",
 | 
				
			||||||
        "minimize_description": "Açıqlamanı Kiçildin",
 | 
					        "minimize_description": "Açıqlamanı Kiçilt",
 | 
				
			||||||
        "show_description": "Açıqlamanı Göstərin",
 | 
					        "show_description": "Açıqlamanı Göstər",
 | 
				
			||||||
        "minimize_recommendations": "Tövsiyələri ən aza endirin",
 | 
					        "minimize_recommendations": "Tövsiyələri kiçilt",
 | 
				
			||||||
        "show_recommendations": "Tövsiyələri Göstərin",
 | 
					        "show_recommendations": "Tövsiyələri Göstər",
 | 
				
			||||||
        "disable_lbry": "Yayım üçün LBRY-ni Söndürün",
 | 
					        "disable_lbry": "Yayım üçün LBRY-ni deaktiv et",
 | 
				
			||||||
        "enable_lbry_proxy": "LBRY üçün Proksi-ni Aktivləşdirin",
 | 
					        "enable_lbry_proxy": "LBRY üçün Proksi-ni Aktivləşdir",
 | 
				
			||||||
        "view_ssl_score": "SSL Nəticəsinə Baxın",
 | 
					        "view_ssl_score": "SSL Nəticəsinə Bax",
 | 
				
			||||||
        "search": "Axtarın",
 | 
					        "search": "Axtarış",
 | 
				
			||||||
        "filter": "Filtr",
 | 
					        "filter": "Filtr",
 | 
				
			||||||
        "loading": "Yüklənir...",
 | 
					        "loading": "Yüklənir...",
 | 
				
			||||||
        "clear_history": "Tarixçəni Təmizləyin",
 | 
					        "clear_history": "Tarixçəni Təmizlə",
 | 
				
			||||||
        "hide_replies": "Cavabları Gizlədin",
 | 
					        "hide_replies": "Cavabları Gizlət",
 | 
				
			||||||
        "load_more_replies": "Daha Çox Cavab Yüklə",
 | 
					        "load_more_replies": "Daha Çox Cavab Yüklə",
 | 
				
			||||||
        "add_to_playlist": "Pleylistə Əlavə Edin",
 | 
					        "add_to_playlist": "Pleylistə Əlavə Et",
 | 
				
			||||||
        "remove_from_playlist": "Pleylistdən Silin",
 | 
					        "remove_from_playlist": "Pleylistdən Sil",
 | 
				
			||||||
        "delete_playlist_video_confirm": "Video pleylistdən silinsin?",
 | 
					        "delete_playlist_video_confirm": "Video pleylistdən silinsin?",
 | 
				
			||||||
        "create_playlist": "Pleylist Yaradın",
 | 
					        "create_playlist": "Pleylist Yarat",
 | 
				
			||||||
        "delete_playlist": "Pleylisti Silin",
 | 
					        "delete_playlist": "Pleylisti Sil",
 | 
				
			||||||
        "select_playlist": "Pleylist Seçin",
 | 
					        "select_playlist": "Pleylist Seç",
 | 
				
			||||||
        "delete_playlist_confirm": "Bu pleylist silinsin?",
 | 
					        "delete_playlist_confirm": "Bu pleylist silinsin?",
 | 
				
			||||||
        "please_select_playlist": "Lütfən, pleylist seçin",
 | 
					        "please_select_playlist": "Lütfən, pleylist seç",
 | 
				
			||||||
        "country_selection": "Ölkə Seçimi",
 | 
					        "country_selection": "Ölkə Seçimi",
 | 
				
			||||||
        "default_homepage": "Defolt Əsas Səhifə",
 | 
					        "default_homepage": "Defolt Əsas Səhifə",
 | 
				
			||||||
        "show_comments": "Şərhləri Göstərin",
 | 
					        "show_comments": "Şərhləri Göstər",
 | 
				
			||||||
        "instance_selection": "Nümunə Seçimi",
 | 
					        "instance_selection": "Nümunə Seçimi",
 | 
				
			||||||
        "minimize_description_default": "Açıqlamanı Defolt Olaraq Kiçildin",
 | 
					        "minimize_description_default": "Açıqlamanı Defolt Olaraq Kiçilt",
 | 
				
			||||||
        "language_selection": "Dil Seçimi",
 | 
					        "language_selection": "Dil Seçimi",
 | 
				
			||||||
        "instances_list": "Nümunələr Siyahısı",
 | 
					        "instances_list": "Nümunələr Siyahısı",
 | 
				
			||||||
        "show_more": "Daha Çox Göstər",
 | 
					        "show_more": "Daha Çox Göstər",
 | 
				
			||||||
        "no": "Xeyr",
 | 
					        "no": "Xeyr",
 | 
				
			||||||
        "store_watch_history": "Baxış Tarixçəsini Saxlayın",
 | 
					        "store_watch_history": "Baxış Tarixçəsini Saxla",
 | 
				
			||||||
        "enabled_codecs": "Aktiv Kodeklər (Birdən çox)",
 | 
					        "enabled_codecs": "Aktiv Kodeklər (Birdən çox)",
 | 
				
			||||||
        "yes": "Bəli",
 | 
					        "yes": "Bəli",
 | 
				
			||||||
        "show_markers": "Oynadıcıda Markerləri Göstərin",
 | 
					        "show_markers": "Oynadıcıda Markerləri Göstər",
 | 
				
			||||||
        "delete_account": "Hesabı Silin",
 | 
					        "delete_account": "Hesabı Sil",
 | 
				
			||||||
        "logout": "Bu cihazdan çıxın",
 | 
					        "logout": "Bu cihazdan çıx",
 | 
				
			||||||
        "minimize_recommendations_default": "Defolt olaraq Tövsiyələri minimuma endir",
 | 
					        "minimize_recommendations_default": "Defolt olaraq Tövsiyələri kiçilt",
 | 
				
			||||||
        "download_as_txt": ".txt kimi endirin",
 | 
					        "download_as_txt": ".txt kimi endir",
 | 
				
			||||||
        "reset_preferences": "Seçimləri sıfırlayın",
 | 
					        "reset_preferences": "Seçimləri sıfırla",
 | 
				
			||||||
        "confirm_reset_preferences": "Seçimləri sıfırlamaq istədiyinizə əminsiniz?",
 | 
					        "confirm_reset_preferences": "Seçimlərinizi sıfırlamaq istədiyinizə əminsiniz?",
 | 
				
			||||||
        "backup_preferences": "Yedəkləmə seçimləri",
 | 
					        "backup_preferences": "Yedəkləmə seçimləri",
 | 
				
			||||||
        "restore_preferences": "Seçimləri bərpa edin",
 | 
					        "restore_preferences": "Seçimləri bərpa et",
 | 
				
			||||||
        "invalidate_session": "Bütün cihazlardan çıxın",
 | 
					        "invalidate_session": "Bütün cihazlardan çıxın",
 | 
				
			||||||
        "different_auth_instance": "Doğrulama üçün fərqli bir nümunədən istifadə edin",
 | 
					        "different_auth_instance": "Təsdiqləmə üçün fərqli nümunə istifadə et",
 | 
				
			||||||
        "instance_auth_selection": "Doğrulama Nümunəsi Seçilməsi",
 | 
					        "instance_auth_selection": "Təsdiqləmə Nümunəsi Seçimi",
 | 
				
			||||||
        "clone_playlist": "Pleylist Klonlanması",
 | 
					        "clone_playlist": "Pleylisti Klonla",
 | 
				
			||||||
        "clone_playlist_success": "Uğurla klonlandı!",
 | 
					        "clone_playlist_success": "Uğurla klonlandı!",
 | 
				
			||||||
        "rename_playlist": "Pleylistin adını dəyiş",
 | 
					        "rename_playlist": "Pleylist adını dəyiş",
 | 
				
			||||||
        "time_code": "Vaxt kodu (saniyələrlə)",
 | 
					        "time_code": "Vaxt kodu (saniyələrlə)",
 | 
				
			||||||
        "store_search_history": "Axtarış tarixçəsini saxla",
 | 
					        "store_search_history": "Axtarış tarixçəsini saxla",
 | 
				
			||||||
        "documentation": "Sertifikatlaşdırma",
 | 
					        "documentation": "Sertifikatlaşdırma",
 | 
				
			||||||
        "status_page": "Vəziyyət",
 | 
					        "status_page": "Vəziyyət",
 | 
				
			||||||
        "source_code": "Mənbə kodu",
 | 
					        "source_code": "Mənbə kodu",
 | 
				
			||||||
        "instance_donations": "Nümunə ianələri",
 | 
					        "instance_donations": "Nümunə ianələri",
 | 
				
			||||||
        "hide_watched": "Axında baxılan videoları gizlədin",
 | 
					        "hide_watched": "Axında baxılan videoları gizlət",
 | 
				
			||||||
        "show_chapters": "Bölmələr",
 | 
					        "show_chapters": "Bölmələr",
 | 
				
			||||||
        "new_playlist_name": "Yeni pleylist adı",
 | 
					        "new_playlist_name": "Yeni pleylist adı",
 | 
				
			||||||
        "share": "Paylaşın",
 | 
					        "share": "Paylaş",
 | 
				
			||||||
        "with_timecode": "Vaxt kodu ilə paylaşın",
 | 
					        "with_timecode": "Vaxt kodu ilə paylaş",
 | 
				
			||||||
        "follow_link": "Linki izləyin",
 | 
					        "follow_link": "Bağlantını izlə",
 | 
				
			||||||
        "piped_link": "Piped linki",
 | 
					        "piped_link": "Piped bağlantısı",
 | 
				
			||||||
        "copy_link": "Linki kopyalayın",
 | 
					        "copy_link": "Bağlantını kopyala",
 | 
				
			||||||
        "back_to_home": "Evə qayıt",
 | 
					        "back_to_home": "Evə qayıt",
 | 
				
			||||||
        "reply_count": "{count} cavab",
 | 
					        "reply_count": "{count} cavab",
 | 
				
			||||||
        "minimize_comments_default": "Şərhləri standart olaraq kiçilt",
 | 
					        "minimize_comments_default": "Şərhləri standart olaraq kiçilt",
 | 
				
			||||||
        "minimize_comments": "Şərhləri Kiçilt",
 | 
					        "minimize_comments": "Şərhləri Kiçilt",
 | 
				
			||||||
        "minimize_chapters_default": "Defolt olaraq bölmələri kiçilt",
 | 
					        "minimize_chapters_default": "Defolt olaraq bölmələri kiçilt",
 | 
				
			||||||
        "show_watch_on_youtube": "YouTube-da Baxış düyməsini göstər",
 | 
					        "show_watch_on_youtube": "YouTube-da Baxış düyməsini göstər",
 | 
				
			||||||
        "no_valid_playlists": "Faylda etibarlı pleylistlər yoxdur!"
 | 
					        "no_valid_playlists": "Faylda etibarlı pleylistlər yoxdur!",
 | 
				
			||||||
 | 
					        "with_playlist": "Pleylistlə paylaş"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "comment": {
 | 
					    "comment": {
 | 
				
			||||||
        "pinned_by": "Tərəfindən Sabitləndi {author}",
 | 
					        "pinned_by": "Tərəfindən Sabitləndi {author}",
 | 
				
			||||||
| 
						 | 
					@ -146,7 +147,7 @@
 | 
				
			||||||
        "watched": "Baxılıb",
 | 
					        "watched": "Baxılıb",
 | 
				
			||||||
        "sponsor_segments": "Sponsorlar Seqmentləri",
 | 
					        "sponsor_segments": "Sponsorlar Seqmentləri",
 | 
				
			||||||
        "ratings_disabled": "Reytinqlər Deaktivdir",
 | 
					        "ratings_disabled": "Reytinqlər Deaktivdir",
 | 
				
			||||||
        "chapters": "Bölümlər",
 | 
					        "chapters": "Bölmələr",
 | 
				
			||||||
        "live": "{0} Canlı",
 | 
					        "live": "{0} Canlı",
 | 
				
			||||||
        "shorts": "Qısa"
 | 
					        "shorts": "Qısa"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -47,7 +47,7 @@
 | 
				
			||||||
        "country_selection": "Izbor zemalja",
 | 
					        "country_selection": "Izbor zemalja",
 | 
				
			||||||
        "minimize_description_default": "Umanji Opis po podrazumijevanim podešavanjima",
 | 
					        "minimize_description_default": "Umanji Opis po podrazumijevanim podešavanjima",
 | 
				
			||||||
        "no": "Ne",
 | 
					        "no": "Ne",
 | 
				
			||||||
        "donations": "Donacije",
 | 
					        "donations": "Donacije za razvoj",
 | 
				
			||||||
        "show_description": "Prikaži opis",
 | 
					        "show_description": "Prikaži opis",
 | 
				
			||||||
        "load_more_replies": "Učitajte još odgovora",
 | 
					        "load_more_replies": "Učitajte još odgovora",
 | 
				
			||||||
        "enabled_codecs": "Omogućeni kodeci (množina)",
 | 
					        "enabled_codecs": "Omogućeni kodeci (množina)",
 | 
				
			||||||
| 
						 | 
					@ -63,9 +63,46 @@
 | 
				
			||||||
        "view_ssl_score": "Pogledajte SSL rezultat",
 | 
					        "view_ssl_score": "Pogledajte SSL rezultat",
 | 
				
			||||||
        "hide_replies": "Sakrijte odgovore",
 | 
					        "hide_replies": "Sakrijte odgovore",
 | 
				
			||||||
        "remove_from_playlist": "Uklonite iz popisa snimaka",
 | 
					        "remove_from_playlist": "Uklonite iz popisa snimaka",
 | 
				
			||||||
        "delete_playlist_video_confirm": "Jel baš želite ukloniti ovaj video iz ovog popisa snimaka?",
 | 
					        "delete_playlist_video_confirm": "Uklonite ovaj video iz popisa snimaka?",
 | 
				
			||||||
        "select_playlist": "Odaberite popis snimaka",
 | 
					        "select_playlist": "Odaberite popis snimaka",
 | 
				
			||||||
        "delete_playlist_confirm": "Jeste li sigurni da želite izbrisati ovaj popis snimaka?"
 | 
					        "delete_playlist_confirm": "Izbrisati ovaj popis snimaka?",
 | 
				
			||||||
 | 
					        "show_markers": "Prikaži markere na Pokretniku",
 | 
				
			||||||
 | 
					        "share": "Podijeli",
 | 
				
			||||||
 | 
					        "invalidate_session": "Odjavite se sa svih uređaja",
 | 
				
			||||||
 | 
					        "show_chapters": "Poglavlja",
 | 
				
			||||||
 | 
					        "status_page": "Status",
 | 
				
			||||||
 | 
					        "source_code": "Izvorni kod",
 | 
				
			||||||
 | 
					        "clone_playlist_success": "Uspješno klonirano!",
 | 
				
			||||||
 | 
					        "store_search_history": "Pohrani historiju pretraživanja",
 | 
				
			||||||
 | 
					        "minimize_chapters_default": "Smanjite poglavlja po zadanom",
 | 
				
			||||||
 | 
					        "show_watch_on_youtube": "Prikaži „Gledaj na YouTube-u” dugme",
 | 
				
			||||||
 | 
					        "different_auth_instance": "Koristite drugu instancu za autentifikaciju",
 | 
				
			||||||
 | 
					        "rename_playlist": "Preimenuj listu izvođenja",
 | 
				
			||||||
 | 
					        "new_playlist_name": "Novi naziv liste izvođenja",
 | 
				
			||||||
 | 
					        "with_timecode": "Podijelite s vremenskim kodom",
 | 
				
			||||||
 | 
					        "piped_link": "Piped poveznica",
 | 
				
			||||||
 | 
					        "follow_link": "Prati poveznicu",
 | 
				
			||||||
 | 
					        "time_code": "Vremenski kod (u sekundama)",
 | 
				
			||||||
 | 
					        "hide_watched": "Sakrijte gledane videozapise u sažetku sadržaja",
 | 
				
			||||||
 | 
					        "instance_donations": "Donacije za instancu",
 | 
				
			||||||
 | 
					        "reply_count": "{count} odgovora",
 | 
				
			||||||
 | 
					        "logout": "Odjavite se sa ovog uređaja",
 | 
				
			||||||
 | 
					        "download_as_txt": "Preuzmite kao .txt",
 | 
				
			||||||
 | 
					        "backup_preferences": "Spremi sigurnosnu kopiju postavki",
 | 
				
			||||||
 | 
					        "instance_auth_selection": "Odabir instance autentikacije",
 | 
				
			||||||
 | 
					        "restore_preferences": "Vrati postavke",
 | 
				
			||||||
 | 
					        "back_to_home": "Povratak na početnu",
 | 
				
			||||||
 | 
					        "copy_link": "Kopiraj poveznicu",
 | 
				
			||||||
 | 
					        "no_valid_playlists": "Datoteka ne sadrži važeće liste za reprodukciju!",
 | 
				
			||||||
 | 
					        "with_playlist": "Podijeli sa listom izvođenja",
 | 
				
			||||||
 | 
					        "clone_playlist": "Kloniraj listu za reprodukciju",
 | 
				
			||||||
 | 
					        "documentation": "Dokumentacija",
 | 
				
			||||||
 | 
					        "confirm_reset_preferences": "Jeste li sigurni da želite obnoviti svoje postavke?",
 | 
				
			||||||
 | 
					        "minimize_comments_default": "Po zadanom smanjite komentare",
 | 
				
			||||||
 | 
					        "minimize_comments": "Minimizirajte komentare",
 | 
				
			||||||
 | 
					        "delete_account": "Izbriši račun",
 | 
				
			||||||
 | 
					        "minimize_recommendations_default": "Smanjite preporuke po zadanom",
 | 
				
			||||||
 | 
					        "reset_preferences": "Vrati postavke na zadano"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "titles": {
 | 
					    "titles": {
 | 
				
			||||||
        "register": "Registrirajte se",
 | 
					        "register": "Registrirajte se",
 | 
				
			||||||
| 
						 | 
					@ -75,7 +112,12 @@
 | 
				
			||||||
        "feed": "Novosti",
 | 
					        "feed": "Novosti",
 | 
				
			||||||
        "preferences": "Podešavanja",
 | 
					        "preferences": "Podešavanja",
 | 
				
			||||||
        "playlists": "Popisi Snimaka",
 | 
					        "playlists": "Popisi Snimaka",
 | 
				
			||||||
        "subscriptions": "Pretplate"
 | 
					        "subscriptions": "Pretplate",
 | 
				
			||||||
 | 
					        "instance": "Instanca",
 | 
				
			||||||
 | 
					        "account": "Račun",
 | 
				
			||||||
 | 
					        "player": "Pokretnik",
 | 
				
			||||||
 | 
					        "channels": "Kanali",
 | 
				
			||||||
 | 
					        "livestreams": "Prijenosi uživo"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "search": {
 | 
					    "search": {
 | 
				
			||||||
        "music_songs": "YT Music: Pjesme",
 | 
					        "music_songs": "YT Music: Pjesme",
 | 
				
			||||||
| 
						 | 
					@ -111,9 +153,23 @@
 | 
				
			||||||
        "ratings_disabled": "Ocjene su isključene",
 | 
					        "ratings_disabled": "Ocjene su isključene",
 | 
				
			||||||
        "watched": "Pogledano",
 | 
					        "watched": "Pogledano",
 | 
				
			||||||
        "videos": "Video zapisi",
 | 
					        "videos": "Video zapisi",
 | 
				
			||||||
        "live": "{0} Uživo"
 | 
					        "live": "{0} Uživo",
 | 
				
			||||||
 | 
					        "shorts": "Kratki videi"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "comment": {
 | 
					    "comment": {
 | 
				
			||||||
        "pinned_by": "Prikačeno od {author}"
 | 
					        "pinned_by": "Prikačeno od {author}",
 | 
				
			||||||
 | 
					        "disabled": "Komentari su onemogućeni od strane prijenosnika.",
 | 
				
			||||||
 | 
					        "loading": "Učitavanje komentara...",
 | 
				
			||||||
 | 
					        "user_disabled": "Komentari su onemogućeni u postavkama."
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "subscriptions": {
 | 
				
			||||||
 | 
					        "subscribed_channels_count": "Pretplaćeni ste na: {0}"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "info": {
 | 
				
			||||||
 | 
					        "preferences_note": "Napomena: Preferencije se čuvaju u lokalnom skladištu vašeg pretraživača. Brisanje podataka vašeg preglednika će ih resetirati.",
 | 
				
			||||||
 | 
					        "cannot_copy": "Nije moguće kopirati!",
 | 
				
			||||||
 | 
					        "page_not_found": "Stranica nije pronađena",
 | 
				
			||||||
 | 
					        "copied": "Kopirano!",
 | 
				
			||||||
 | 
					        "local_storage": "Ova radnja zahtijeva lokalno pohranjivanje, jesu li kolačići omogućeni?"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -116,7 +116,8 @@
 | 
				
			||||||
        "minimize_comments": "Skrýt komentáře",
 | 
					        "minimize_comments": "Skrýt komentáře",
 | 
				
			||||||
        "show_watch_on_youtube": "Zobrazit tlačítko Sledovat na YouTube",
 | 
					        "show_watch_on_youtube": "Zobrazit tlačítko Sledovat na YouTube",
 | 
				
			||||||
        "minimize_chapters_default": "Ve výchozím nastavení skrýt kapitoly",
 | 
					        "minimize_chapters_default": "Ve výchozím nastavení skrýt kapitoly",
 | 
				
			||||||
        "no_valid_playlists": "Soubor neobsahuje platné playlisty!"
 | 
					        "no_valid_playlists": "Soubor neobsahuje platné playlisty!",
 | 
				
			||||||
 | 
					        "with_playlist": "Sdílet s playlistem"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "player": {
 | 
					    "player": {
 | 
				
			||||||
        "watch_on": "Sledovat na {0}"
 | 
					        "watch_on": "Sledovat na {0}"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -101,7 +101,8 @@
 | 
				
			||||||
        "minimize_comments_default": "Kommentare automatisch minimieren",
 | 
					        "minimize_comments_default": "Kommentare automatisch minimieren",
 | 
				
			||||||
        "minimize_comments": "Kommentare minimieren",
 | 
					        "minimize_comments": "Kommentare minimieren",
 | 
				
			||||||
        "no_valid_playlists": "Die Datei enthält keine gültigen Wiedergabelisten!",
 | 
					        "no_valid_playlists": "Die Datei enthält keine gültigen Wiedergabelisten!",
 | 
				
			||||||
        "show_watch_on_youtube": "Schaltfläche „Auf YouTube ansehen“ anzeigen"
 | 
					        "show_watch_on_youtube": "Schaltfläche „Auf YouTube ansehen“ anzeigen",
 | 
				
			||||||
 | 
					        "with_playlist": "Mit Wiedergabeliste teilen"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "player": {
 | 
					    "player": {
 | 
				
			||||||
        "watch_on": "Auf {0} ansehen"
 | 
					        "watch_on": "Auf {0} ansehen"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -83,7 +83,7 @@
 | 
				
			||||||
        "remove_from_playlist": "Remove from playlist",
 | 
					        "remove_from_playlist": "Remove from playlist",
 | 
				
			||||||
        "delete_playlist_video_confirm": "Remove video from playlist?",
 | 
					        "delete_playlist_video_confirm": "Remove video from playlist?",
 | 
				
			||||||
        "create_playlist": "Create Playlist",
 | 
					        "create_playlist": "Create Playlist",
 | 
				
			||||||
        "delete_playlist": "Delete Playlist",
 | 
					        "delete_playlist": "Delete",
 | 
				
			||||||
        "select_playlist": "Select a Playlist",
 | 
					        "select_playlist": "Select a Playlist",
 | 
				
			||||||
        "delete_playlist_confirm": "Delete this playlist?",
 | 
					        "delete_playlist_confirm": "Delete this playlist?",
 | 
				
			||||||
        "please_select_playlist": "Please select a playlist",
 | 
					        "please_select_playlist": "Please select a playlist",
 | 
				
			||||||
| 
						 | 
					@ -103,7 +103,7 @@
 | 
				
			||||||
        "backup_preferences": "Backup preferences",
 | 
					        "backup_preferences": "Backup preferences",
 | 
				
			||||||
        "restore_preferences": "Restore preferences",
 | 
					        "restore_preferences": "Restore preferences",
 | 
				
			||||||
        "back_to_home": "Back to home",
 | 
					        "back_to_home": "Back to home",
 | 
				
			||||||
        "rename_playlist": "Rename playlist",
 | 
					        "rename_playlist": "Rename",
 | 
				
			||||||
        "new_playlist_name": "New playlist name",
 | 
					        "new_playlist_name": "New playlist name",
 | 
				
			||||||
        "share": "Share",
 | 
					        "share": "Share",
 | 
				
			||||||
        "with_timecode": "Share with time code",
 | 
					        "with_timecode": "Share with time code",
 | 
				
			||||||
| 
						 | 
					@ -119,7 +119,8 @@
 | 
				
			||||||
        "source_code": "Source code",
 | 
					        "source_code": "Source code",
 | 
				
			||||||
        "instance_donations": "Instance donations",
 | 
					        "instance_donations": "Instance donations",
 | 
				
			||||||
        "reply_count": "{count} replies",
 | 
					        "reply_count": "{count} replies",
 | 
				
			||||||
        "no_valid_playlists": "The file doesn't contain valid playlists!"
 | 
					        "no_valid_playlists": "The file doesn't contain valid playlists!",
 | 
				
			||||||
 | 
					        "with_playlist": "Share with playlist"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "comment": {
 | 
					    "comment": {
 | 
				
			||||||
        "pinned_by": "Pinned by {author}",
 | 
					        "pinned_by": "Pinned by {author}",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -119,7 +119,8 @@
 | 
				
			||||||
        "minimize_comments": "Plejetigi Komentojn",
 | 
					        "minimize_comments": "Plejetigi Komentojn",
 | 
				
			||||||
        "show_watch_on_youtube": "Montri «Vidi en Youtube»-butonon",
 | 
					        "show_watch_on_youtube": "Montri «Vidi en Youtube»-butonon",
 | 
				
			||||||
        "minimize_chapters_default": "Defaŭlte plejetigi ĉapitrojn",
 | 
					        "minimize_chapters_default": "Defaŭlte plejetigi ĉapitrojn",
 | 
				
			||||||
        "no_valid_playlists": "La dosiero ne enhavas validajn ludlistojn!"
 | 
					        "no_valid_playlists": "La dosiero ne enhavas validajn ludlistojn!",
 | 
				
			||||||
 | 
					        "with_playlist": "Konigi kun ludlisto"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "video": {
 | 
					    "video": {
 | 
				
			||||||
        "chapters": "Sekcioj",
 | 
					        "chapters": "Sekcioj",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -126,7 +126,8 @@
 | 
				
			||||||
        "minimize_comments": "Minimizar comentarios",
 | 
					        "minimize_comments": "Minimizar comentarios",
 | 
				
			||||||
        "show_watch_on_youtube": "Mostrar botón Ver en YouTube",
 | 
					        "show_watch_on_youtube": "Mostrar botón Ver en YouTube",
 | 
				
			||||||
        "minimize_chapters_default": "Minimiza capítulos por defecto",
 | 
					        "minimize_chapters_default": "Minimiza capítulos por defecto",
 | 
				
			||||||
        "no_valid_playlists": "¡El archivo no contiene listas de reproducción válidas!"
 | 
					        "no_valid_playlists": "¡El archivo no contiene listas de reproducción válidas!",
 | 
				
			||||||
 | 
					        "with_playlist": "Compartir con lista de reproducción"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "titles": {
 | 
					    "titles": {
 | 
				
			||||||
        "feed": "Fuente web",
 | 
					        "feed": "Fuente web",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -119,7 +119,8 @@
 | 
				
			||||||
        "minimize_comments": "צמצום הערות",
 | 
					        "minimize_comments": "צמצום הערות",
 | 
				
			||||||
        "minimize_chapters_default": "מזעור הפרקים כברירת מחדל",
 | 
					        "minimize_chapters_default": "מזעור הפרקים כברירת מחדל",
 | 
				
			||||||
        "show_watch_on_youtube": "הצגת כפתור לצפייה ב־YouTube",
 | 
					        "show_watch_on_youtube": "הצגת כפתור לצפייה ב־YouTube",
 | 
				
			||||||
        "no_valid_playlists": "הקובץ לא מכיל רשימות נגינה תקפות!"
 | 
					        "no_valid_playlists": "הקובץ לא מכיל רשימות נגינה תקפות!",
 | 
				
			||||||
 | 
					        "with_playlist": "שיתוף עם רשימת נגינה"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "comment": {
 | 
					    "comment": {
 | 
				
			||||||
        "pinned_by": "ננעץ על ידי {author}",
 | 
					        "pinned_by": "ננעץ על ידי {author}",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,7 +21,7 @@
 | 
				
			||||||
    "comment": {
 | 
					    "comment": {
 | 
				
			||||||
        "pinned_by": "Prikvačio korisnik {author}",
 | 
					        "pinned_by": "Prikvačio korisnik {author}",
 | 
				
			||||||
        "disabled": "Prijenosnik onemogućuje komentare.",
 | 
					        "disabled": "Prijenosnik onemogućuje komentare.",
 | 
				
			||||||
        "loading": "Učitavanje komentara …",
 | 
					        "loading": "Učitavanje komentara...",
 | 
				
			||||||
        "user_disabled": "Komentari su isključeni u postavkama."
 | 
					        "user_disabled": "Komentari su isključeni u postavkama."
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "actions": {
 | 
					    "actions": {
 | 
				
			||||||
| 
						 | 
					@ -83,22 +83,22 @@
 | 
				
			||||||
        "clear_history": "Obriši povijest",
 | 
					        "clear_history": "Obriši povijest",
 | 
				
			||||||
        "skip_highlight": "Preskoči isticanje",
 | 
					        "skip_highlight": "Preskoči isticanje",
 | 
				
			||||||
        "skip_filler_tangent": "Preskoči nebitne međudijelove",
 | 
					        "skip_filler_tangent": "Preskoči nebitne međudijelove",
 | 
				
			||||||
        "delete_playlist_confirm": "Izbrisati ovu playlistu?",
 | 
					        "delete_playlist_confirm": "Izbrisati ovaj popis snimaka?",
 | 
				
			||||||
        "remove_from_playlist": "Ukloni iz playliste",
 | 
					        "remove_from_playlist": "Ukloni iz popisa snimaka",
 | 
				
			||||||
        "create_playlist": "Stvori playlistu",
 | 
					        "create_playlist": "Stvori popis snimaka",
 | 
				
			||||||
        "delete_playlist": "Izbriši playlistu",
 | 
					        "delete_playlist": "Izbriši popis snimaka",
 | 
				
			||||||
        "add_to_playlist": "Dodaj u playlistu",
 | 
					        "add_to_playlist": "Dodaj u popis snimaka",
 | 
				
			||||||
        "select_playlist": "Odaberi playlistu",
 | 
					        "select_playlist": "Odaberi popis snimaka",
 | 
				
			||||||
        "please_select_playlist": "Odaberi playlistu",
 | 
					        "please_select_playlist": "Odaberi popis snimaka",
 | 
				
			||||||
        "delete_playlist_video_confirm": "Ukloniti video iz playliste?",
 | 
					        "delete_playlist_video_confirm": "Ukloniti video iz popisa snimaka?",
 | 
				
			||||||
        "show_markers": "Prikaži oznake na playeru",
 | 
					        "show_markers": "Prikaži oznake na Pokretaču",
 | 
				
			||||||
        "delete_account": "Izbriši račun",
 | 
					        "delete_account": "Izbriši račun",
 | 
				
			||||||
        "logout": "Odjavi se s ovog uređaja",
 | 
					        "logout": "Odjavi se s ovog uređaja",
 | 
				
			||||||
        "minimize_recommendations_default": "Standardno sakrij preporuke",
 | 
					        "minimize_recommendations_default": "Standardno sakrij preporuke",
 | 
				
			||||||
        "invalidate_session": "Odjavi sve uređaje",
 | 
					        "invalidate_session": "Odjavi sve uređaje",
 | 
				
			||||||
        "different_auth_instance": "Koristi drugu instancu za autentifikaciju",
 | 
					        "different_auth_instance": "Koristi drugu instancu za autentifikaciju",
 | 
				
			||||||
        "instance_auth_selection": "Odabir instance autentifikacije",
 | 
					        "instance_auth_selection": "Odabir instance autentifikacije",
 | 
				
			||||||
        "clone_playlist": "Dupliciraj playlistu",
 | 
					        "clone_playlist": "Dupliciraj popis snimaka",
 | 
				
			||||||
        "clone_playlist_success": "Dupliciranje uspjelo!",
 | 
					        "clone_playlist_success": "Dupliciranje uspjelo!",
 | 
				
			||||||
        "download_as_txt": "Preuzmi kao .txt",
 | 
					        "download_as_txt": "Preuzmi kao .txt",
 | 
				
			||||||
        "reset_preferences": "Resetiraj postavke",
 | 
					        "reset_preferences": "Resetiraj postavke",
 | 
				
			||||||
| 
						 | 
					@ -117,7 +117,7 @@
 | 
				
			||||||
        "show_chapters": "Poglavlja",
 | 
					        "show_chapters": "Poglavlja",
 | 
				
			||||||
        "documentation": "Dokumentacija",
 | 
					        "documentation": "Dokumentacija",
 | 
				
			||||||
        "source_code": "Izvorni kod",
 | 
					        "source_code": "Izvorni kod",
 | 
				
			||||||
        "instance_donations": "Donacije instace",
 | 
					        "instance_donations": "Donacije instance",
 | 
				
			||||||
        "store_search_history": "Spremi povijest pretrage",
 | 
					        "store_search_history": "Spremi povijest pretrage",
 | 
				
			||||||
        "hide_watched": "Sakrij gledana videa u novostima",
 | 
					        "hide_watched": "Sakrij gledana videa u novostima",
 | 
				
			||||||
        "status_page": "Stanje",
 | 
					        "status_page": "Stanje",
 | 
				
			||||||
| 
						 | 
					@ -126,7 +126,8 @@
 | 
				
			||||||
        "minimize_comments": "Sakrij komentare",
 | 
					        "minimize_comments": "Sakrij komentare",
 | 
				
			||||||
        "show_watch_on_youtube": "Prikaži gumb „Gledaj na YouTubeu”",
 | 
					        "show_watch_on_youtube": "Prikaži gumb „Gledaj na YouTubeu”",
 | 
				
			||||||
        "minimize_chapters_default": "Standardno sakrij poglavlja",
 | 
					        "minimize_chapters_default": "Standardno sakrij poglavlja",
 | 
				
			||||||
        "no_valid_playlists": "Datoteka ne sadrži ispravan popisi snimaka!"
 | 
					        "no_valid_playlists": "Datoteka ne sadrži ispravne popise snimaka!",
 | 
				
			||||||
 | 
					        "with_playlist": "Dijeli s popisom snimaka"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "player": {
 | 
					    "player": {
 | 
				
			||||||
        "watch_on": "Gledaj na {0}"
 | 
					        "watch_on": "Gledaj na {0}"
 | 
				
			||||||
| 
						 | 
					@ -139,10 +140,10 @@
 | 
				
			||||||
        "register": "Registracija",
 | 
					        "register": "Registracija",
 | 
				
			||||||
        "login": "Prijava",
 | 
					        "login": "Prijava",
 | 
				
			||||||
        "trending": "U trendu",
 | 
					        "trending": "U trendu",
 | 
				
			||||||
        "playlists": "Playliste",
 | 
					        "playlists": "Popisi snimaka",
 | 
				
			||||||
        "account": "Račun",
 | 
					        "account": "Račun",
 | 
				
			||||||
        "instance": "Instanca",
 | 
					        "instance": "Instanca",
 | 
				
			||||||
        "player": "Player",
 | 
					        "player": "Pokretač",
 | 
				
			||||||
        "channels": "Kanali",
 | 
					        "channels": "Kanali",
 | 
				
			||||||
        "livestreams": "Prijenosi uživo"
 | 
					        "livestreams": "Prijenosi uživo"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
| 
						 | 
					@ -155,11 +156,11 @@
 | 
				
			||||||
        "all": "YouTube: Sve",
 | 
					        "all": "YouTube: Sve",
 | 
				
			||||||
        "videos": "YouTube: Videa",
 | 
					        "videos": "YouTube: Videa",
 | 
				
			||||||
        "channels": "YouTube: Kanali",
 | 
					        "channels": "YouTube: Kanali",
 | 
				
			||||||
        "playlists": "YouTube: Playliste",
 | 
					        "playlists": "YouTube: Popisi snimaka",
 | 
				
			||||||
        "music_songs": "YT Music: Pjesme",
 | 
					        "music_songs": "YT Music: Pjesme",
 | 
				
			||||||
        "music_videos": "YT Music: Videa",
 | 
					        "music_videos": "YT Music: Videa",
 | 
				
			||||||
        "music_albums": "YT Music: Albumi",
 | 
					        "music_albums": "YT Music: Albumi",
 | 
				
			||||||
        "music_playlists": "YT Music: Playliste"
 | 
					        "music_playlists": "YT Music: Popisi snimaka"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "subscriptions": {
 | 
					    "subscriptions": {
 | 
				
			||||||
        "subscribed_channels_count": "Pretplata na: {0}"
 | 
					        "subscribed_channels_count": "Pretplata na: {0}"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -119,7 +119,8 @@
 | 
				
			||||||
        "minimize_comments": "Kecilkan Komentar",
 | 
					        "minimize_comments": "Kecilkan Komentar",
 | 
				
			||||||
        "show_watch_on_youtube": "Tampilkan tombol Tonton di YouTube",
 | 
					        "show_watch_on_youtube": "Tampilkan tombol Tonton di YouTube",
 | 
				
			||||||
        "minimize_chapters_default": "Kecilkan Bab secara bawaan",
 | 
					        "minimize_chapters_default": "Kecilkan Bab secara bawaan",
 | 
				
			||||||
        "no_valid_playlists": "Berkas ini tidak berisi daftar putar yang valid!"
 | 
					        "no_valid_playlists": "Berkas ini tidak berisi daftar putar yang valid!",
 | 
				
			||||||
 | 
					        "with_playlist": "Bagikan dengan daftar putar"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "comment": {
 | 
					    "comment": {
 | 
				
			||||||
        "pinned_by": "Dipasangi pin oleh {author}",
 | 
					        "pinned_by": "Dipasangi pin oleh {author}",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -30,7 +30,7 @@
 | 
				
			||||||
        "light": "Licht",
 | 
					        "light": "Licht",
 | 
				
			||||||
        "default_quality": "Standaard Kwaliteit",
 | 
					        "default_quality": "Standaard Kwaliteit",
 | 
				
			||||||
        "loop_this_video": "Deze Video Herhalen",
 | 
					        "loop_this_video": "Deze Video Herhalen",
 | 
				
			||||||
        "donations": "Donaties",
 | 
					        "donations": "Ontwikkelingsdonaties",
 | 
				
			||||||
        "minimize_description": "Beschrijving Minimaliseren",
 | 
					        "minimize_description": "Beschrijving Minimaliseren",
 | 
				
			||||||
        "show_description": "Toon Beschrijving",
 | 
					        "show_description": "Toon Beschrijving",
 | 
				
			||||||
        "minimize_recommendations": "Aanbevelingen Minimaliseren",
 | 
					        "minimize_recommendations": "Aanbevelingen Minimaliseren",
 | 
				
			||||||
| 
						 | 
					@ -57,15 +57,52 @@
 | 
				
			||||||
        "auto_play_next_video": "Volgende Video Automatisch Afspelen",
 | 
					        "auto_play_next_video": "Volgende Video Automatisch Afspelen",
 | 
				
			||||||
        "remove_from_playlist": "Uit Afspeellijst Verwijderen",
 | 
					        "remove_from_playlist": "Uit Afspeellijst Verwijderen",
 | 
				
			||||||
        "select_playlist": "Selecteer een Afspeellijst",
 | 
					        "select_playlist": "Selecteer een Afspeellijst",
 | 
				
			||||||
        "delete_playlist_confirm": "Weet u zeker dat u deze afspeellijst wilt verwijderen?",
 | 
					        "delete_playlist_confirm": "Deze afspeellijst verwijderen?",
 | 
				
			||||||
        "please_select_playlist": "Kies een afspeellijst a.u.b.",
 | 
					        "please_select_playlist": "Kies een afspeellijst a.u.b.",
 | 
				
			||||||
        "instance_selection": "Instantie Selectie",
 | 
					        "instance_selection": "Instantie Selectie",
 | 
				
			||||||
        "import_from_json": "Importeren uit JSON/CSV",
 | 
					        "import_from_json": "Importeren uit JSON/CSV",
 | 
				
			||||||
        "clear_history": "Geschiedenis Wissen",
 | 
					        "clear_history": "Geschiedenis Wissen",
 | 
				
			||||||
        "load_more_replies": "Laad meer Antwoorden",
 | 
					        "load_more_replies": "Laad meer Antwoorden",
 | 
				
			||||||
        "delete_playlist_video_confirm": "Weet u zeker dat u deze video uit deze afspeellijst wilt verwijderen?",
 | 
					        "delete_playlist_video_confirm": "Video van playlist verwijderen?",
 | 
				
			||||||
        "create_playlist": "Afspeellijst Maken",
 | 
					        "create_playlist": "Afspeellijst Maken",
 | 
				
			||||||
        "delete_playlist": "Afspeellijst Verwijderen"
 | 
					        "delete_playlist": "Afspeellijst Verwijderen",
 | 
				
			||||||
 | 
					        "show_markers": "Toon markeringen op Speler",
 | 
				
			||||||
 | 
					        "store_search_history": "Zoekgeschiedenis opslaan",
 | 
				
			||||||
 | 
					        "minimize_chapters_default": "Hoofdstukken standaard minimaliseren",
 | 
				
			||||||
 | 
					        "show_watch_on_youtube": "Toon Bekijk op YouTube knop",
 | 
				
			||||||
 | 
					        "restore_preferences": "Voorkeuren herstellen",
 | 
				
			||||||
 | 
					        "with_timecode": "Delen met tijdcode",
 | 
				
			||||||
 | 
					        "piped_link": "Piped link",
 | 
				
			||||||
 | 
					        "follow_link": "Volg link",
 | 
				
			||||||
 | 
					        "copy_link": "Link kopiëren",
 | 
				
			||||||
 | 
					        "hide_watched": "Verberg bekeken video's in de feed",
 | 
				
			||||||
 | 
					        "minimize_comments": "Opmerkingen minimaliseren",
 | 
				
			||||||
 | 
					        "instance_auth_selection": "Autenticatie Instantie Selectie",
 | 
				
			||||||
 | 
					        "clone_playlist": "Afspeellijst klonen",
 | 
				
			||||||
 | 
					        "download_as_txt": "Downloaden als .txt",
 | 
				
			||||||
 | 
					        "rename_playlist": "Afspeellijst hernoemen",
 | 
				
			||||||
 | 
					        "new_playlist_name": "Nieuwe afspeellijstnaam",
 | 
				
			||||||
 | 
					        "share": "Delen",
 | 
				
			||||||
 | 
					        "documentation": "Documentatie",
 | 
				
			||||||
 | 
					        "status_page": "Status",
 | 
				
			||||||
 | 
					        "time_code": "Tijdcode (in seconden)",
 | 
				
			||||||
 | 
					        "show_chapters": "Hoofdstukken",
 | 
				
			||||||
 | 
					        "source_code": "Broncode",
 | 
				
			||||||
 | 
					        "instance_donations": "Instantie donaties",
 | 
				
			||||||
 | 
					        "reply_count": "{count} antwoorden",
 | 
				
			||||||
 | 
					        "no_valid_playlists": "Het bestand bevat geen geldige afspeellijsten!",
 | 
				
			||||||
 | 
					        "clone_playlist_success": "Succesvol gekloond!",
 | 
				
			||||||
 | 
					        "reset_preferences": "Voorkeuren opnieuw instellen",
 | 
				
			||||||
 | 
					        "back_to_home": "Terug naar de start",
 | 
				
			||||||
 | 
					        "minimize_comments_default": "Opmerkingen standaard minimaliseren",
 | 
				
			||||||
 | 
					        "delete_account": "Account Verwijderen",
 | 
				
			||||||
 | 
					        "logout": "Uitloggen van dit apparaat",
 | 
				
			||||||
 | 
					        "minimize_recommendations_default": "Aanbevelingen standaard minimaliseren",
 | 
				
			||||||
 | 
					        "confirm_reset_preferences": "Weet u zeker dat u uw voorkeuren opnieuw wilt instellen?",
 | 
				
			||||||
 | 
					        "backup_preferences": "Back-up voorkeuren",
 | 
				
			||||||
 | 
					        "invalidate_session": "Alle apparaten afmelden",
 | 
				
			||||||
 | 
					        "different_auth_instance": "Gebruik een andere instantie voor authenticatie",
 | 
				
			||||||
 | 
					        "with_playlist": "Delen met afspeellijst"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "titles": {
 | 
					    "titles": {
 | 
				
			||||||
        "register": "Registreren",
 | 
					        "register": "Registreren",
 | 
				
			||||||
| 
						 | 
					@ -75,7 +112,12 @@
 | 
				
			||||||
        "history": "Geschiedenis",
 | 
					        "history": "Geschiedenis",
 | 
				
			||||||
        "subscriptions": "Abonnementen",
 | 
					        "subscriptions": "Abonnementen",
 | 
				
			||||||
        "trending": "Trending",
 | 
					        "trending": "Trending",
 | 
				
			||||||
        "playlists": "Afspeellijsten"
 | 
					        "playlists": "Afspeellijsten",
 | 
				
			||||||
 | 
					        "account": "Account",
 | 
				
			||||||
 | 
					        "instance": "Instantie",
 | 
				
			||||||
 | 
					        "player": "Speler",
 | 
				
			||||||
 | 
					        "livestreams": "Livestreams",
 | 
				
			||||||
 | 
					        "channels": "Kanalen"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "player": {
 | 
					    "player": {
 | 
				
			||||||
        "watch_on": "Kijk op {0}"
 | 
					        "watch_on": "Kijk op {0}"
 | 
				
			||||||
| 
						 | 
					@ -102,7 +144,8 @@
 | 
				
			||||||
        "watched": "Gekeken",
 | 
					        "watched": "Gekeken",
 | 
				
			||||||
        "sponsor_segments": "Sponsorsegmenten",
 | 
					        "sponsor_segments": "Sponsorsegmenten",
 | 
				
			||||||
        "ratings_disabled": "Beoordelingen Uitgeschakeld",
 | 
					        "ratings_disabled": "Beoordelingen Uitgeschakeld",
 | 
				
			||||||
        "live": "{0} Live"
 | 
					        "live": "{0} Live",
 | 
				
			||||||
 | 
					        "shorts": "Shorts"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "preferences": {
 | 
					    "preferences": {
 | 
				
			||||||
        "has_cdn": "Heeft CDN?",
 | 
					        "has_cdn": "Heeft CDN?",
 | 
				
			||||||
| 
						 | 
					@ -114,6 +157,19 @@
 | 
				
			||||||
        "ssl_score": "SSL-score"
 | 
					        "ssl_score": "SSL-score"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "comment": {
 | 
					    "comment": {
 | 
				
			||||||
        "pinned_by": "Vastgemaakt door {author}"
 | 
					        "pinned_by": "Vastgemaakt door {author}",
 | 
				
			||||||
 | 
					        "user_disabled": "Reacties zijn uitgeschakeld in de instellingen.",
 | 
				
			||||||
 | 
					        "loading": "Reacties laden...",
 | 
				
			||||||
 | 
					        "disabled": "Reacties zijn uitgeschakeld door de uploader."
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "info": {
 | 
				
			||||||
 | 
					        "preferences_note": "Let op: voorkeuren worden opgeslagen in de lokale opslag van uw browser. Als u uw browsergegevens verwijdert, worden ze opnieuw ingesteld.",
 | 
				
			||||||
 | 
					        "copied": "Gekopieerd!",
 | 
				
			||||||
 | 
					        "cannot_copy": "Kan niet kopiëren!",
 | 
				
			||||||
 | 
					        "page_not_found": "Pagina niet gevonden",
 | 
				
			||||||
 | 
					        "local_storage": "Deze actie vereist lokale opslag, zijn cookies ingeschakeld?"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "subscriptions": {
 | 
				
			||||||
 | 
					        "subscribed_channels_count": "Geabonneerd op: {0}"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -119,7 +119,8 @@
 | 
				
			||||||
        "piped_link": "Link Piped",
 | 
					        "piped_link": "Link Piped",
 | 
				
			||||||
        "status_page": "Status",
 | 
					        "status_page": "Status",
 | 
				
			||||||
        "reply_count": "{count} odpowiedzi",
 | 
					        "reply_count": "{count} odpowiedzi",
 | 
				
			||||||
        "no_valid_playlists": "Ten plik nie zawiera poprawnych playlist!"
 | 
					        "no_valid_playlists": "Ten plik nie zawiera poprawnych playlist!",
 | 
				
			||||||
 | 
					        "with_playlist": "Udostępnij z playlistą"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "comment": {
 | 
					    "comment": {
 | 
				
			||||||
        "pinned_by": "Przypięty przez {author}",
 | 
					        "pinned_by": "Przypięty przez {author}",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,9 +1,9 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    "actions": {
 | 
					    "actions": {
 | 
				
			||||||
        "view_subscriptions": "Ver inscrições",
 | 
					        "view_subscriptions": "Ver Inscrições",
 | 
				
			||||||
        "back": "Voltar",
 | 
					        "back": "Voltar",
 | 
				
			||||||
        "most_recent": "Mais recente",
 | 
					        "most_recent": "Mais Recente",
 | 
				
			||||||
        "least_recent": "Menos recente",
 | 
					        "least_recent": "Menos Recente",
 | 
				
			||||||
        "sort_by": "Ordenar por:",
 | 
					        "sort_by": "Ordenar por:",
 | 
				
			||||||
        "channel_name_asc": "Nome do Canal (A-Z)",
 | 
					        "channel_name_asc": "Nome do Canal (A-Z)",
 | 
				
			||||||
        "channel_name_desc": "Nome do Canal (Z-A)",
 | 
					        "channel_name_desc": "Nome do Canal (Z-A)",
 | 
				
			||||||
| 
						 | 
					@ -28,7 +28,7 @@
 | 
				
			||||||
        "show_markers": "Exibir Marcadores no Player",
 | 
					        "show_markers": "Exibir Marcadores no Player",
 | 
				
			||||||
        "skip_intro": "Pular Intervalo/Introdução Animada",
 | 
					        "skip_intro": "Pular Intervalo/Introdução Animada",
 | 
				
			||||||
        "skip_outro": "Pular Créditos/Cartões finais",
 | 
					        "skip_outro": "Pular Créditos/Cartões finais",
 | 
				
			||||||
        "skip_preview": "Pular Recapitulação",
 | 
					        "skip_preview": "Pular Pré-Visualização/Recapitulação",
 | 
				
			||||||
        "skip_highlight": "Pular Destaque",
 | 
					        "skip_highlight": "Pular Destaque",
 | 
				
			||||||
        "buffering_goal": "Cache de Buffer (em segundos)",
 | 
					        "buffering_goal": "Cache de Buffer (em segundos)",
 | 
				
			||||||
        "skip_non_music": "Pular Música: Seção não Musical",
 | 
					        "skip_non_music": "Pular Música: Seção não Musical",
 | 
				
			||||||
| 
						 | 
					@ -101,7 +101,8 @@
 | 
				
			||||||
        "minimize_recommendations_default": "Minimizar Recomendações por padrão",
 | 
					        "minimize_recommendations_default": "Minimizar Recomendações por padrão",
 | 
				
			||||||
        "show_watch_on_youtube": "Mostrar Botão Assistir no YouTube",
 | 
					        "show_watch_on_youtube": "Mostrar Botão Assistir no YouTube",
 | 
				
			||||||
        "minimize_chapters_default": "Minimizar Capítulos por padrão",
 | 
					        "minimize_chapters_default": "Minimizar Capítulos por padrão",
 | 
				
			||||||
        "no_valid_playlists": "O arquivo não contém playlists válidas!"
 | 
					        "no_valid_playlists": "O arquivo não contém playlists válidas!",
 | 
				
			||||||
 | 
					        "with_playlist": "Compartilhar com playlist"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "titles": {
 | 
					    "titles": {
 | 
				
			||||||
        "history": "Histórico",
 | 
					        "history": "Histórico",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -41,7 +41,7 @@
 | 
				
			||||||
        "enabled_codecs": "Activează Codecuri (Multiple)",
 | 
					        "enabled_codecs": "Activează Codecuri (Multiple)",
 | 
				
			||||||
        "loop_this_video": "Repornește Video-ul",
 | 
					        "loop_this_video": "Repornește Video-ul",
 | 
				
			||||||
        "donations": "Donații",
 | 
					        "donations": "Donații",
 | 
				
			||||||
        "show_recommendations": "Recomandări",
 | 
					        "show_recommendations": "Arată Recomandări",
 | 
				
			||||||
        "disable_lbry": "Oprește LBRY pentru Streaming",
 | 
					        "disable_lbry": "Oprește LBRY pentru Streaming",
 | 
				
			||||||
        "enable_lbry_proxy": "Activează Proxy pentru LBRY",
 | 
					        "enable_lbry_proxy": "Activează Proxy pentru LBRY",
 | 
				
			||||||
        "view_ssl_score": "Vezi Scor SSL",
 | 
					        "view_ssl_score": "Vezi Scor SSL",
 | 
				
			||||||
| 
						 | 
					@ -90,17 +90,17 @@
 | 
				
			||||||
        "buffering_goal": "Buffering Goal (secunde)",
 | 
					        "buffering_goal": "Buffering Goal (secunde)",
 | 
				
			||||||
        "instance_selection": "Selecție Instanță",
 | 
					        "instance_selection": "Selecție Instanță",
 | 
				
			||||||
        "store_watch_history": "Salvează Istoricul de Vizionare",
 | 
					        "store_watch_history": "Salvează Istoricul de Vizionare",
 | 
				
			||||||
        "minimize_comments": "Comentarii",
 | 
					        "minimize_comments": "Ascunde Comentarii",
 | 
				
			||||||
        "minimize_description": "Descriere",
 | 
					        "minimize_description": "Ascunde Descriere",
 | 
				
			||||||
        "show_more": "Mai Mult",
 | 
					        "show_more": "Mai Mult",
 | 
				
			||||||
        "no": "Nu",
 | 
					        "no": "Nu",
 | 
				
			||||||
        "export_to_json": "Exportă ca JSON",
 | 
					        "export_to_json": "Exportă ca JSON",
 | 
				
			||||||
        "import_from_json": "Importă din JSON/CSV",
 | 
					        "import_from_json": "Importă din JSON/CSV",
 | 
				
			||||||
        "auto_play_next_video": "Autopornește următorul Video",
 | 
					        "auto_play_next_video": "Autopornește următorul Video",
 | 
				
			||||||
        "minimize_recommendations": "Recomandări",
 | 
					        "minimize_recommendations": "Ascunde Recomandări",
 | 
				
			||||||
        "yes": "Da",
 | 
					        "yes": "Da",
 | 
				
			||||||
        "show_comments": "Comentarii",
 | 
					        "show_comments": "Arată Comentarii",
 | 
				
			||||||
        "show_description": "Descriere"
 | 
					        "show_description": "Arată Descriere"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "preferences": {
 | 
					    "preferences": {
 | 
				
			||||||
        "ssl_score": "Scor SSL",
 | 
					        "ssl_score": "Scor SSL",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,7 @@
 | 
				
			||||||
        "ratings_disabled": "Оцене су онемогућене",
 | 
					        "ratings_disabled": "Оцене су онемогућене",
 | 
				
			||||||
        "chapters": "Поглавља",
 | 
					        "chapters": "Поглавља",
 | 
				
			||||||
        "live": "{0} Уживо",
 | 
					        "live": "{0} Уживо",
 | 
				
			||||||
        "shorts": "Kratki video snimci"
 | 
					        "shorts": "Кратки видео снимци"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "actions": {
 | 
					    "actions": {
 | 
				
			||||||
        "view_ssl_score": "Погледај SSL скор/оцену",
 | 
					        "view_ssl_score": "Погледај SSL скор/оцену",
 | 
				
			||||||
| 
						 | 
					@ -76,7 +76,7 @@
 | 
				
			||||||
        "add_to_playlist": "Додај у попис снимака",
 | 
					        "add_to_playlist": "Додај у попис снимака",
 | 
				
			||||||
        "delete_playlist_confirm": "Избрисати овај попис снимака?",
 | 
					        "delete_playlist_confirm": "Избрисати овај попис снимака?",
 | 
				
			||||||
        "please_select_playlist": "Молим вас одаберите попис снимака",
 | 
					        "please_select_playlist": "Молим вас одаберите попис снимака",
 | 
				
			||||||
        "show_markers": "Prikaži obeleživače na plejeru",
 | 
					        "show_markers": "Прикажи обиљеживаче на покретнику",
 | 
				
			||||||
        "delete_account": "Обриши налог",
 | 
					        "delete_account": "Обриши налог",
 | 
				
			||||||
        "logout": "Одјава са овог уређаја",
 | 
					        "logout": "Одјава са овог уређаја",
 | 
				
			||||||
        "minimize_recommendations_default": "Умањи Препоруке као Подразумевано",
 | 
					        "minimize_recommendations_default": "Умањи Препоруке као Подразумевано",
 | 
				
			||||||
| 
						 | 
					@ -110,7 +110,9 @@
 | 
				
			||||||
        "minimize_comments": "Умањи коментаре",
 | 
					        "minimize_comments": "Умањи коментаре",
 | 
				
			||||||
        "reply_count": "{count} одговора",
 | 
					        "reply_count": "{count} одговора",
 | 
				
			||||||
        "minimize_chapters_default": "Умањи поглавља подразумевано",
 | 
					        "minimize_chapters_default": "Умањи поглавља подразумевано",
 | 
				
			||||||
        "show_watch_on_youtube": "Прикажи сат на Јутјуб дугмету"
 | 
					        "show_watch_on_youtube": "Прикажите \"Гредај на YouTube-у\" дугме",
 | 
				
			||||||
 | 
					        "no_valid_playlists": "Датотека не садржи важеће пописе снимака!",
 | 
				
			||||||
 | 
					        "with_playlist": "Делите са пописом снимака"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "preferences": {
 | 
					    "preferences": {
 | 
				
			||||||
        "instance_locations": "Локација инстанце",
 | 
					        "instance_locations": "Локација инстанце",
 | 
				
			||||||
| 
						 | 
					@ -147,13 +149,13 @@
 | 
				
			||||||
        "playlists": "Пописи Снимака",
 | 
					        "playlists": "Пописи Снимака",
 | 
				
			||||||
        "account": "Рачун",
 | 
					        "account": "Рачун",
 | 
				
			||||||
        "instance": "Инстанца",
 | 
					        "instance": "Инстанца",
 | 
				
			||||||
        "player": "Плејер",
 | 
					        "player": "Покретник",
 | 
				
			||||||
        "livestreams": "Уживо преноси",
 | 
					        "livestreams": "Уживо преноси",
 | 
				
			||||||
        "channels": "Канали"
 | 
					        "channels": "Канали"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "comment": {
 | 
					    "comment": {
 | 
				
			||||||
        "pinned_by": "Закачено од {author}",
 | 
					        "pinned_by": "Закачено од {author}",
 | 
				
			||||||
        "disabled": "Отпремалац је онемогућио коментаре.",
 | 
					        "disabled": "Преносник је онемогућио коментаре.",
 | 
				
			||||||
        "user_disabled": "Коментари су онемогућени у подешавањима.",
 | 
					        "user_disabled": "Коментари су онемогућени у подешавањима.",
 | 
				
			||||||
        "loading": "Учитавање коментара..."
 | 
					        "loading": "Учитавање коментара..."
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -101,7 +101,8 @@
 | 
				
			||||||
        "minimize_comments_default": "Yorumları Öntanımlı Olarak Küçült",
 | 
					        "minimize_comments_default": "Yorumları Öntanımlı Olarak Küçült",
 | 
				
			||||||
        "show_watch_on_youtube": "YouTube'da İzle Düğmesini Göster",
 | 
					        "show_watch_on_youtube": "YouTube'da İzle Düğmesini Göster",
 | 
				
			||||||
        "minimize_chapters_default": "Bölümleri Öntanımlı Olarak Küçült",
 | 
					        "minimize_chapters_default": "Bölümleri Öntanımlı Olarak Küçült",
 | 
				
			||||||
        "no_valid_playlists": "Dosya geçerli oynatma listeleri içermiyor!"
 | 
					        "no_valid_playlists": "Dosya geçerli oynatma listeleri içermiyor!",
 | 
				
			||||||
 | 
					        "with_playlist": "Oynatma listesiyle paylaş"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "player": {
 | 
					    "player": {
 | 
				
			||||||
        "watch_on": "{0} Üzerinde İzle"
 | 
					        "watch_on": "{0} Üzerinde İzle"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,11 +15,11 @@
 | 
				
			||||||
        "auto": "Tự động",
 | 
					        "auto": "Tự động",
 | 
				
			||||||
        "buffering_goal": "Bộ nhớ đệm (tính bằng giây)",
 | 
					        "buffering_goal": "Bộ nhớ đệm (tính bằng giây)",
 | 
				
			||||||
        "least_recent": "Ít nhất gần đây",
 | 
					        "least_recent": "Ít nhất gần đây",
 | 
				
			||||||
        "skip_intro": "Bỏ qua gián đoạn/Giới thiệu hoạt ảnh",
 | 
					        "skip_intro": "Bỏ qua gián đoạn/hoạt hình intro",
 | 
				
			||||||
        "skip_outro": "Bỏ qua màn hình kết thúc/Tín dụng",
 | 
					        "skip_outro": "Bỏ qua màn hình kết thúc/danh đề",
 | 
				
			||||||
        "skip_interaction": "Bỏ qua lời nhắc tương tác (Đăng ký)",
 | 
					        "skip_interaction": "Bỏ qua lời nhắc tương tác (Đăng ký)",
 | 
				
			||||||
        "skip_preview": "Bỏ qua xem trước/Tóm tắt",
 | 
					        "skip_preview": "Bỏ qua xem trước/tóm tắt",
 | 
				
			||||||
        "skip_self_promo": "Bỏ qua thanh toán/Tự quảng cáo",
 | 
					        "skip_self_promo": "Bỏ qua thanh toán/quảng cáo cho bản thân",
 | 
				
			||||||
        "skip_non_music": "Bỏ qua âm nhạc: Phần không phải âm nhạc",
 | 
					        "skip_non_music": "Bỏ qua âm nhạc: Phần không phải âm nhạc",
 | 
				
			||||||
        "skip_highlight": "Bỏ qua phần đánh dấu",
 | 
					        "skip_highlight": "Bỏ qua phần đánh dấu",
 | 
				
			||||||
        "skip_filler_tangent": "Bỏ qua những đoạn không liên quan",
 | 
					        "skip_filler_tangent": "Bỏ qua những đoạn không liên quan",
 | 
				
			||||||
| 
						 | 
					@ -41,7 +41,7 @@
 | 
				
			||||||
        "minimize_recommendations": "Giảm thiểu các đề xuất",
 | 
					        "minimize_recommendations": "Giảm thiểu các đề xuất",
 | 
				
			||||||
        "show_recommendations": "Hiển thị các đề xuất",
 | 
					        "show_recommendations": "Hiển thị các đề xuất",
 | 
				
			||||||
        "disable_lbry": "Tắt LBRY để phát trực tuyến",
 | 
					        "disable_lbry": "Tắt LBRY để phát trực tuyến",
 | 
				
			||||||
        "enable_lbry_proxy": "Bật Proxy cho LBRY",
 | 
					        "enable_lbry_proxy": "Bật proxy cho LBRY",
 | 
				
			||||||
        "view_ssl_score": "Hiện thị điểm số SSL",
 | 
					        "view_ssl_score": "Hiện thị điểm số SSL",
 | 
				
			||||||
        "search": "Tìm kiếm",
 | 
					        "search": "Tìm kiếm",
 | 
				
			||||||
        "filter": "Bộ lọc",
 | 
					        "filter": "Bộ lọc",
 | 
				
			||||||
| 
						 | 
					@ -55,7 +55,7 @@
 | 
				
			||||||
        "minimize_description_default": "Thu nhỏ mô tả theo mặc định",
 | 
					        "minimize_description_default": "Thu nhỏ mô tả theo mặc định",
 | 
				
			||||||
        "instance_selection": "Lựa chọn phiên bản",
 | 
					        "instance_selection": "Lựa chọn phiên bản",
 | 
				
			||||||
        "yes": "Có",
 | 
					        "yes": "Có",
 | 
				
			||||||
        "enabled_codecs": "Mã hóa được kích hoạt (Nhiều)",
 | 
					        "enabled_codecs": "Các codec được bật (Nhiều)",
 | 
				
			||||||
        "export_to_json": "Xuất định dạng JSON",
 | 
					        "export_to_json": "Xuất định dạng JSON",
 | 
				
			||||||
        "no": "Không",
 | 
					        "no": "Không",
 | 
				
			||||||
        "remove_from_playlist": "Xóa khỏi danh sách phát",
 | 
					        "remove_from_playlist": "Xóa khỏi danh sách phát",
 | 
				
			||||||
| 
						 | 
					@ -68,7 +68,17 @@
 | 
				
			||||||
        "please_select_playlist": "Hãy chọn một danh sách phát",
 | 
					        "please_select_playlist": "Hãy chọn một danh sách phát",
 | 
				
			||||||
        "copy_link": "Sao chép liên kết",
 | 
					        "copy_link": "Sao chép liên kết",
 | 
				
			||||||
        "source_code": "Mã nguồn",
 | 
					        "source_code": "Mã nguồn",
 | 
				
			||||||
        "piped_link": "Liên kết Piped"
 | 
					        "piped_link": "Liên kết Piped",
 | 
				
			||||||
 | 
					        "share": "Chia sẻ",
 | 
				
			||||||
 | 
					        "minimize_comments_default": "Thu nhỏ bình luận theo mặc định",
 | 
				
			||||||
 | 
					        "download_as_txt": "Tải về dưới định dạng .txt",
 | 
				
			||||||
 | 
					        "delete_account": "Xóa tài khoản",
 | 
				
			||||||
 | 
					        "minimize_recommendations_default": "Thu nhỏ đề xuất theo mặc định",
 | 
				
			||||||
 | 
					        "logout": "Đăng xuất khỏi thiết bị này",
 | 
				
			||||||
 | 
					        "minimize_comments": "Thu nhỏ bình luận",
 | 
				
			||||||
 | 
					        "reply_count": "{count} phản hồi",
 | 
				
			||||||
 | 
					        "status_page": "Trạng thái",
 | 
				
			||||||
 | 
					        "new_playlist_name": "Tên danh sách phát mới"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "titles": {
 | 
					    "titles": {
 | 
				
			||||||
        "register": "Đăng ký",
 | 
					        "register": "Đăng ký",
 | 
				
			||||||
| 
						 | 
					@ -80,13 +90,18 @@
 | 
				
			||||||
        "feed": "Mới nhất",
 | 
					        "feed": "Mới nhất",
 | 
				
			||||||
        "playlists": "Danh sách phát",
 | 
					        "playlists": "Danh sách phát",
 | 
				
			||||||
        "account": "Tài khoản",
 | 
					        "account": "Tài khoản",
 | 
				
			||||||
        "channels": "Kênh"
 | 
					        "channels": "Kênh",
 | 
				
			||||||
 | 
					        "instance": "Instance",
 | 
				
			||||||
 | 
					        "player": "Trình phát video"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "player": {
 | 
					    "player": {
 | 
				
			||||||
        "watch_on": "Xem trên {0}"
 | 
					        "watch_on": "Xem trên {0}"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "comment": {
 | 
					    "comment": {
 | 
				
			||||||
        "pinned_by": "Được ghim bởi {author}"
 | 
					        "pinned_by": "Được ghim bởi {author}",
 | 
				
			||||||
 | 
					        "loading": "Đang tải bình luận...",
 | 
				
			||||||
 | 
					        "user_disabled": "Bình luận đã được tắt trong cài đặt.",
 | 
				
			||||||
 | 
					        "disabled": "Bình luận đã bị tắt bởi người đăng video."
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "preferences": {
 | 
					    "preferences": {
 | 
				
			||||||
        "instance_name": "Tên phiên bản",
 | 
					        "instance_name": "Tên phiên bản",
 | 
				
			||||||
| 
						 | 
					@ -94,7 +109,7 @@
 | 
				
			||||||
        "has_cdn": "Có CDN?",
 | 
					        "has_cdn": "Có CDN?",
 | 
				
			||||||
        "registered_users": "Người dùng đã đăng ký",
 | 
					        "registered_users": "Người dùng đã đăng ký",
 | 
				
			||||||
        "version": "Phiên bản",
 | 
					        "version": "Phiên bản",
 | 
				
			||||||
        "up_to_date": "Cập nhật?",
 | 
					        "up_to_date": "Đã được cập nhật?",
 | 
				
			||||||
        "ssl_score": "Điểm SSL"
 | 
					        "ssl_score": "Điểm SSL"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "login": {
 | 
					    "login": {
 | 
				
			||||||
| 
						 | 
					@ -108,7 +123,8 @@
 | 
				
			||||||
        "ratings_disabled": "Xếp hạng đã tắt",
 | 
					        "ratings_disabled": "Xếp hạng đã tắt",
 | 
				
			||||||
        "live": "{0} Trực tiếp",
 | 
					        "live": "{0} Trực tiếp",
 | 
				
			||||||
        "chapters": "Chương",
 | 
					        "chapters": "Chương",
 | 
				
			||||||
        "videos": "Video"
 | 
					        "videos": "Video",
 | 
				
			||||||
 | 
					        "shorts": "Shorts"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "search": {
 | 
					    "search": {
 | 
				
			||||||
        "did_you_mean": "Ý của bạn là: {0}?",
 | 
					        "did_you_mean": "Ý của bạn là: {0}?",
 | 
				
			||||||
| 
						 | 
					@ -122,6 +138,11 @@
 | 
				
			||||||
        "music_albums": "YT Music: Album"
 | 
					        "music_albums": "YT Music: Album"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "info": {
 | 
					    "info": {
 | 
				
			||||||
        "copied": "Đã sao chép!"
 | 
					        "copied": "Đã sao chép!",
 | 
				
			||||||
 | 
					        "cannot_copy": "Không thể sao chép!",
 | 
				
			||||||
 | 
					        "page_not_found": "Không tìm thấy trang"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "subscriptions": {
 | 
				
			||||||
 | 
					        "subscribed_channels_count": "Đã đăng ký cho: {0}"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										408
									
								
								yarn.lock
									
										
									
									
									
								
							
							
						
						
									
										408
									
								
								yarn.lock
									
										
									
									
									
								
							| 
						 | 
					@ -17,10 +17,10 @@
 | 
				
			||||||
    "@jridgewell/gen-mapping" "^0.1.0"
 | 
					    "@jridgewell/gen-mapping" "^0.1.0"
 | 
				
			||||||
    "@jridgewell/trace-mapping" "^0.3.9"
 | 
					    "@jridgewell/trace-mapping" "^0.3.9"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@antfu/install-pkg@^0.1.0":
 | 
					"@antfu/install-pkg@^0.1.1":
 | 
				
			||||||
  version "0.1.0"
 | 
					  version "0.1.1"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@antfu/install-pkg/-/install-pkg-0.1.0.tgz#8d8c61820cbc32e5c37d82d515485ad3ee9bd052"
 | 
					  resolved "https://registry.yarnpkg.com/@antfu/install-pkg/-/install-pkg-0.1.1.tgz#157bb04f0de8100b9e4c01734db1a6c77e98bbb5"
 | 
				
			||||||
  integrity sha512-VaIJd3d1o7irZfK1U0nvBsHMyjkuyMP3HKYVV53z8DKyulkHKmjhhtccXO51WSPeeSHIeoJEoNOKavYpS7jkZw==
 | 
					  integrity sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    execa "^5.1.1"
 | 
					    execa "^5.1.1"
 | 
				
			||||||
    find-up "^5.0.0"
 | 
					    find-up "^5.0.0"
 | 
				
			||||||
| 
						 | 
					@ -30,6 +30,11 @@
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@antfu/utils/-/utils-0.5.2.tgz#8c2d931ff927be0ebe740169874a3d4004ab414b"
 | 
					  resolved "https://registry.yarnpkg.com/@antfu/utils/-/utils-0.5.2.tgz#8c2d931ff927be0ebe740169874a3d4004ab414b"
 | 
				
			||||||
  integrity sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==
 | 
					  integrity sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"@antfu/utils@^0.7.2":
 | 
				
			||||||
 | 
					  version "0.7.2"
 | 
				
			||||||
 | 
					  resolved "https://registry.yarnpkg.com/@antfu/utils/-/utils-0.7.2.tgz#3bb6f37a6b188056fe9e2f363b6aa735ed65d7ca"
 | 
				
			||||||
 | 
					  integrity sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@apideck/better-ajv-errors@^0.3.1":
 | 
					"@apideck/better-ajv-errors@^0.3.1":
 | 
				
			||||||
  version "0.3.3"
 | 
					  version "0.3.3"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.3.tgz#ab0b1e981e1749bf59736cf7ebe25cfc9f949c15"
 | 
					  resolved "https://registry.yarnpkg.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.3.tgz#ab0b1e981e1749bf59736cf7ebe25cfc9f949c15"
 | 
				
			||||||
| 
						 | 
					@ -940,15 +945,15 @@
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz#475b33a2631a3d8ca8aa95ee127f9a61d95bf9c1"
 | 
					  resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz#475b33a2631a3d8ca8aa95ee127f9a61d95bf9c1"
 | 
				
			||||||
  integrity sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw==
 | 
					  integrity sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@eslint/eslintrc@^1.3.3":
 | 
					"@eslint/eslintrc@^1.4.1":
 | 
				
			||||||
  version "1.3.3"
 | 
					  version "1.4.1"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95"
 | 
					  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e"
 | 
				
			||||||
  integrity sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==
 | 
					  integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    ajv "^6.12.4"
 | 
					    ajv "^6.12.4"
 | 
				
			||||||
    debug "^4.3.2"
 | 
					    debug "^4.3.2"
 | 
				
			||||||
    espree "^9.4.0"
 | 
					    espree "^9.4.0"
 | 
				
			||||||
    globals "^13.15.0"
 | 
					    globals "^13.19.0"
 | 
				
			||||||
    ignore "^5.2.0"
 | 
					    ignore "^5.2.0"
 | 
				
			||||||
    import-fresh "^3.2.1"
 | 
					    import-fresh "^3.2.1"
 | 
				
			||||||
    js-yaml "^4.1.0"
 | 
					    js-yaml "^4.1.0"
 | 
				
			||||||
| 
						 | 
					@ -986,14 +991,14 @@
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.2.tgz#1b2ec546caab790c38d3dcb38407485a70703dd2"
 | 
					  resolved "https://registry.yarnpkg.com/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.2.tgz#1b2ec546caab790c38d3dcb38407485a70703dd2"
 | 
				
			||||||
  integrity sha512-xHVtVY8ASUeEvgcA/7vULUesENhD+pi/EirRHdMBqooHlXBqK+yrV6d8tUye1m5UKQKVgYAHMhUBfOnoiwvc8Q==
 | 
					  integrity sha512-xHVtVY8ASUeEvgcA/7vULUesENhD+pi/EirRHdMBqooHlXBqK+yrV6d8tUye1m5UKQKVgYAHMhUBfOnoiwvc8Q==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@humanwhocodes/config-array@^0.11.6":
 | 
					"@humanwhocodes/config-array@^0.11.8":
 | 
				
			||||||
  version "0.11.6"
 | 
					  version "0.11.8"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.6.tgz#6a51d603a3aaf8d4cf45b42b3f2ac9318a4adc4b"
 | 
					  resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9"
 | 
				
			||||||
  integrity sha512-jJr+hPTJYKyDILJfhNSHsjiwXYf26Flsz8DvNndOsHs5pwSnpGUEy8yzF0JYhCEvTDdV2vuOK5tt8BVhwO5/hg==
 | 
					  integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@humanwhocodes/object-schema" "^1.2.1"
 | 
					    "@humanwhocodes/object-schema" "^1.2.1"
 | 
				
			||||||
    debug "^4.1.1"
 | 
					    debug "^4.1.1"
 | 
				
			||||||
    minimatch "^3.0.4"
 | 
					    minimatch "^3.0.5"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@humanwhocodes/module-importer@^1.0.1":
 | 
					"@humanwhocodes/module-importer@^1.0.1":
 | 
				
			||||||
  version "1.0.1"
 | 
					  version "1.0.1"
 | 
				
			||||||
| 
						 | 
					@ -1005,29 +1010,29 @@
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
 | 
					  resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
 | 
				
			||||||
  integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
 | 
					  integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@iconify/json@2.1.153":
 | 
					"@iconify/json@2.2.3":
 | 
				
			||||||
  version "2.1.153"
 | 
					  version "2.2.3"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@iconify/json/-/json-2.1.153.tgz#aaf4024766a607f579b2aaed99a4caf92595a997"
 | 
					  resolved "https://registry.yarnpkg.com/@iconify/json/-/json-2.2.3.tgz#c08ac45edfb8be1d640fc9c81e934e83e7fb3bcb"
 | 
				
			||||||
  integrity sha512-9DSzK1DIbrbjDK+LV8PTF/pTM8wJOrmRETEvVP47na093F6LEvcOQnq7Ett51e/WW0mA32GIj7LpO9opyJ/gtQ==
 | 
					  integrity sha512-9o15HUqjUg/4VaT5webZAf0mJftToRkyzI2AI1AVjV+hffrJxkUx6Cbj8psHaMIfy4d369bnxksVBFwKKwOlAw==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@iconify/types" "*"
 | 
					    "@iconify/types" "*"
 | 
				
			||||||
    pathe "^0.3.0"
 | 
					    pathe "^1.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@iconify/types@*", "@iconify/types@^2.0.0":
 | 
					"@iconify/types@*", "@iconify/types@^2.0.0":
 | 
				
			||||||
  version "2.0.0"
 | 
					  version "2.0.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@iconify/types/-/types-2.0.0.tgz#ab0e9ea681d6c8a1214f30cd741fe3a20cc57f57"
 | 
					  resolved "https://registry.yarnpkg.com/@iconify/types/-/types-2.0.0.tgz#ab0e9ea681d6c8a1214f30cd741fe3a20cc57f57"
 | 
				
			||||||
  integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==
 | 
					  integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@iconify/utils@^2.0.2":
 | 
					"@iconify/utils@^2.0.9":
 | 
				
			||||||
  version "2.0.2"
 | 
					  version "2.0.9"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@iconify/utils/-/utils-2.0.2.tgz#d3986021d691c66a5fe8d29ae5113e0a0e221d71"
 | 
					  resolved "https://registry.yarnpkg.com/@iconify/utils/-/utils-2.0.9.tgz#dee0bd6948609dfb6da95aa2aa44fb7e4c044d05"
 | 
				
			||||||
  integrity sha512-13B3wJxDLmSNBEIEpKleKSkJVQgdAy9ra3Xsu233i/5qD5yXBGhpOFxTB/k8cqme0xVsMKBPV5vbvq9MgQlX+w==
 | 
					  integrity sha512-ropNqaeamoxZvXxvaTJXrI0MrqdWdDVIs/mW7/sEQbNi0aXYUGL2iuLs1da3QR163gyG63kiyTsqw2oQYamw3Q==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@antfu/install-pkg" "^0.1.0"
 | 
					    "@antfu/install-pkg" "^0.1.1"
 | 
				
			||||||
    "@antfu/utils" "^0.5.2"
 | 
					    "@antfu/utils" "^0.7.2"
 | 
				
			||||||
    "@iconify/types" "^2.0.0"
 | 
					    "@iconify/types" "^2.0.0"
 | 
				
			||||||
    debug "^4.3.4"
 | 
					    debug "^4.3.4"
 | 
				
			||||||
    kolorist "^1.5.1"
 | 
					    kolorist "^1.6.0"
 | 
				
			||||||
    local-pkg "^0.4.2"
 | 
					    local-pkg "^0.4.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@intlify/bundle-utils@^3.2.1":
 | 
					"@intlify/bundle-utils@^3.2.1":
 | 
				
			||||||
| 
						 | 
					@ -1303,168 +1308,170 @@
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756"
 | 
					  resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756"
 | 
				
			||||||
  integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==
 | 
					  integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/astro@0.47.6":
 | 
					"@unocss/astro@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/astro/-/astro-0.47.6.tgz#fa6a905e156c2f4adcf0c31d8392589ae0e366b9"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/astro/-/astro-0.48.2.tgz#bfbbf525e8bdf3cd42629ae55a3e6def7e4a1e20"
 | 
				
			||||||
  integrity sha512-8lR4KwuCeVxOTKk6g6hx6VUHhW1u+hki8oRsJaKEB0s5iUPmY6rCNtb/iaBJdceY11bZMMy5LZHJFTkod/T/zg==
 | 
					  integrity sha512-cLhKhRCyEMxsgMoQxpI/PUxgiY2guF4FgPFjyQyxbuQ1iKqNPSY5bN6Z7RjX2G52pvgQITbvV/UNTjARHA5zBw==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
    "@unocss/reset" "0.47.6"
 | 
					    "@unocss/reset" "0.48.2"
 | 
				
			||||||
    "@unocss/vite" "0.47.6"
 | 
					    "@unocss/vite" "0.48.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/cli@0.47.6":
 | 
					"@unocss/cli@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/cli/-/cli-0.47.6.tgz#d53b0d0a299e79fb999fcf64b272c8afc9dec391"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/cli/-/cli-0.48.2.tgz#9111762c7251ad1a1a75b1e54a5300ad630473c0"
 | 
				
			||||||
  integrity sha512-Lwuzl6xK+67LUb4pCKlyrMv9cDuTvywhlSBiYzDj1Su+21IQVRxUagpo10b1WlLXWWQz4J3bOJZYE/e/QV2/HQ==
 | 
					  integrity sha512-1os3KnqvyTajbaPcB9Rbj9lhfFCVi3F8ie9JRP9vxLD50Hbb8yABUK7WNqSKU39x7B9Lw8JXOFbKwW31AZzinQ==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@ampproject/remapping" "^2.2.0"
 | 
					    "@ampproject/remapping" "^2.2.0"
 | 
				
			||||||
    "@rollup/pluginutils" "^5.0.2"
 | 
					    "@rollup/pluginutils" "^5.0.2"
 | 
				
			||||||
    "@unocss/config" "0.47.6"
 | 
					    "@unocss/config" "0.48.2"
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
    "@unocss/preset-uno" "0.47.6"
 | 
					    "@unocss/preset-uno" "0.48.2"
 | 
				
			||||||
    cac "^6.7.14"
 | 
					    cac "^6.7.14"
 | 
				
			||||||
    chokidar "^3.5.3"
 | 
					    chokidar "^3.5.3"
 | 
				
			||||||
    colorette "^2.0.19"
 | 
					    colorette "^2.0.19"
 | 
				
			||||||
    consola "^2.15.3"
 | 
					    consola "^2.15.3"
 | 
				
			||||||
    fast-glob "^3.2.12"
 | 
					    fast-glob "^3.2.12"
 | 
				
			||||||
    magic-string "^0.26.7"
 | 
					    magic-string "^0.27.0"
 | 
				
			||||||
    pathe "^1.0.0"
 | 
					    pathe "^1.0.0"
 | 
				
			||||||
    perfect-debounce "^0.1.3"
 | 
					    perfect-debounce "^0.1.3"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/config@0.47.6":
 | 
					"@unocss/config@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/config/-/config-0.47.6.tgz#eb6848fc16db2f4139729d8ad93303c46f273aec"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/config/-/config-0.48.2.tgz#cecc0a460a7806dc10e27f9ffd8b7fa4507a2516"
 | 
				
			||||||
  integrity sha512-KycIrpKqPrTnrbNRLUgePuzfZUKk6afsKII6B53q9rVxxC1og4g7wCsvrn2D89lPipsJ6B9041VsdIhNqa8bFg==
 | 
					  integrity sha512-HDb9vz4CVCWiyBdhcQ4ultHhQJzVK5Nijblu06PXRZV1n9gGr5an8Y/AbXxH3VE0DEBttgORONfviy7QrO0yiA==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
    unconfig "^0.3.7"
 | 
					    unconfig "^0.3.7"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/core@0.47.6":
 | 
					"@unocss/core@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/core/-/core-0.47.6.tgz#9501cb903b45e33ef86d77bd99aa6b7ad05f615b"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/core/-/core-0.48.2.tgz#34863a9670d37b717d39aea4da845ce83b929320"
 | 
				
			||||||
  integrity sha512-Pjg/NdpuTwZk2Ns3bzI/3XVPuXU+AQ78Sw+9QJyMgA56dArd3TlpNDN6UTOD9XAK6mxdPUu7rNSKpNTLpBW2og==
 | 
					  integrity sha512-QRgvN3IxIbkdM9LcSvgDq7ANIZ2XmCYvn6NOo2PHtvIi8fwebrjUpgw1HtAJkVnhAGWAhDLYDYrtsb+XpF/rkg==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/inspector@0.47.6":
 | 
					"@unocss/inspector@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/inspector/-/inspector-0.47.6.tgz#b7cc2b9ea2d0ebb0401c30831083460acd409273"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/inspector/-/inspector-0.48.2.tgz#5f711e84f572e164bd50c17aac2395bb2bcdbefc"
 | 
				
			||||||
  integrity sha512-enYQJo7+/UtSbgzpyKzL4vZU9Tz3QyoPGDmuKoHXSIt6sAtB+DQelW7vMWjcmwA19uaISxIGXx9BJPj5XV67UA==
 | 
					  integrity sha512-mMTHuAy3K75wdBAHE0f3coKCyKSKq+LwB6V4OlFPyd6Mv7L3vMj46j5rka3TH+qDneB0mSP0t/Czy8bg83ShIA==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    gzip-size "^6.0.0"
 | 
					    gzip-size "^6.0.0"
 | 
				
			||||||
    sirv "^2.0.2"
 | 
					    sirv "^2.0.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/preset-attributify@0.47.6":
 | 
					"@unocss/preset-attributify@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/preset-attributify/-/preset-attributify-0.47.6.tgz#e8b0027df337d87340c3b3ec27a18c11b2f8fdc6"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/preset-attributify/-/preset-attributify-0.48.2.tgz#2b169358c4f7f1725511db2695d79e154cc2b35e"
 | 
				
			||||||
  integrity sha512-s5XB8JpBPbGCHjvzc2j+Cx9o+QQm2CjRdQ7UjL05+uQcVYb8PBjlfD3BeIA21eBH5IxXF9SdOJfx8kUWNa5WFQ==
 | 
					  integrity sha512-PAcmK1a4gr7/OqJXo8V0MCoPNGhflh1D8I4lRv+bz6vrXTYwE0W+tDFvdyfGrcFIPya4r2NSnTYiCWaI6ht3TQ==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/preset-icons@0.47.6":
 | 
					"@unocss/preset-icons@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/preset-icons/-/preset-icons-0.47.6.tgz#18cf2a0b68a55b0f44ebe107c1934d7e437fd128"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/preset-icons/-/preset-icons-0.48.2.tgz#ccf246ab9273dff2c5e6b7abeddb20f40ef3f3dd"
 | 
				
			||||||
  integrity sha512-YvANR5ueN+r1E4YOfqF1llyUzS6yxROrJ+7MGNdIfyNHFcTwdHRy0f6y8uyiMYWyLc6nGGrUjjdo+DEc30obSA==
 | 
					  integrity sha512-XOKubPPXFJQ9g3pwpmqE9byBWBbsoX2nec0jZwdWQts/IhLh4F6ar9z4evHrw8Nu1ZZ5V9IPgNCrYBh5fF2sGg==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@iconify/utils" "^2.0.2"
 | 
					    "@iconify/utils" "^2.0.9"
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
    ohmyfetch "^0.4.21"
 | 
					    ohmyfetch "^0.4.21"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/preset-mini@0.47.6":
 | 
					"@unocss/preset-mini@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/preset-mini/-/preset-mini-0.47.6.tgz#16fed207076f2ee427be411cc187084f9520884b"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/preset-mini/-/preset-mini-0.48.2.tgz#7570d7a88b87b8d5270b8a41e388ddbf04d84ee8"
 | 
				
			||||||
  integrity sha512-XP7ShDB42WU0xvZA1dG4E3LnzN4TYISm6AKQee3gmITUtE0ELTp9XutMgt0sqTe5FXeTRqw9XH7axv+4EqnE3Q==
 | 
					  integrity sha512-6PnOe3bOTfm0o1pkPY0bLjSeiPfo59dYuG5U1Z5wAVy6f9XXAXKuB8xMwrlHlPnJMJvF+No9arotq+24AYclKw==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/preset-tagify@0.47.6":
 | 
					"@unocss/preset-tagify@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/preset-tagify/-/preset-tagify-0.47.6.tgz#d6dfd03f40ad10ae9eafaa81b478a5e8c9dadecb"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/preset-tagify/-/preset-tagify-0.48.2.tgz#7bd0001f78323396967b1af088e1cc1f195566f4"
 | 
				
			||||||
  integrity sha512-9MxgZAUWWEg5OPLY+fpEf/Clw88pi57HON95E9zKvRy816S5gqhbt3PSxal7pCB9WO+3JM6BFLazAJ7DHpT1qA==
 | 
					  integrity sha512-zMgc05S47ZykNlpbfIRxtmijKRvY27lS+zbWn+TkrkjQ3F0hUwK9I20B5l5KJ1KF7lOLzEoXPx/zQjI54kBu/A==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/preset-typography@0.47.6":
 | 
					"@unocss/preset-typography@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/preset-typography/-/preset-typography-0.47.6.tgz#a953cc85ac70bb04b293a976a00113d41c87b7d8"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/preset-typography/-/preset-typography-0.48.2.tgz#b390105f9898a87e60a73986c0aac936f96a7a4d"
 | 
				
			||||||
  integrity sha512-/Hfsw05ogolLXqrxTu5bLFIgGGmVdRHGw5vSmY3g+YPy37HfWpbP3cOs8YEOv8r3lV9J7vzAxAKKT0MQgukiHQ==
 | 
					  integrity sha512-nR0KhdJraChmFYdhfqLjnnpD8VdVLfx87V/rYRNE3zhTnbsEUMpzm4DgRwa1I9XVENZCHCc0p4S1UwWxOAzE5Q==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/preset-uno@0.47.6":
 | 
					"@unocss/preset-uno@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/preset-uno/-/preset-uno-0.47.6.tgz#2a81775850b8fa3e8f95abb33513b50c587b4d64"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/preset-uno/-/preset-uno-0.48.2.tgz#e4cdab3e84e791fcd030100829cef4c6973c41c5"
 | 
				
			||||||
  integrity sha512-pDRuFmPzshX6ICaWhj7UBrnoL++rYD/QY52aljg9L4yAOZsZ1m0XRUlbnoXXXsEqDjw38SYNUzA1LtYcevBRvA==
 | 
					  integrity sha512-ZmeVP4B6FaxyyZw+9G63K3523z5mEYdjKjUmqdMeGP0bGQdkuz89JILdjoBMAMxnlYLcMx2fWe9vRnXwlSWFXg==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
    "@unocss/preset-mini" "0.47.6"
 | 
					    "@unocss/preset-mini" "0.48.2"
 | 
				
			||||||
    "@unocss/preset-wind" "0.47.6"
 | 
					    "@unocss/preset-wind" "0.48.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/preset-web-fonts@0.47.6":
 | 
					"@unocss/preset-web-fonts@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/preset-web-fonts/-/preset-web-fonts-0.47.6.tgz#0e0a1291f6902572a38b40320f5b0c0c1b680ed2"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/preset-web-fonts/-/preset-web-fonts-0.48.2.tgz#8bc9f26a4ec63dfc02965a3e6d021334c2dacc23"
 | 
				
			||||||
  integrity sha512-TkN/etSSl61TtqxQJSVG/zfJUccdpgIuvqYrJOf4OZMj2rLwNHU2kOJEPFCfDyHTS+UjQ7LibfnE6snFDJ3pgQ==
 | 
					  integrity sha512-3dDruyIMcUvGUkoGQISUlNuiIrQv5p4wI0Rt9P8EsICrW5Aomgo7/7PbSk57RFP1dzmOjB4tmz6Q73OwyukgbA==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
    ohmyfetch "^0.4.21"
 | 
					    ohmyfetch "^0.4.21"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/preset-wind@0.47.6":
 | 
					"@unocss/preset-wind@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/preset-wind/-/preset-wind-0.47.6.tgz#3844db2615aa0bb62c9f815a35ac63fb41130a99"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/preset-wind/-/preset-wind-0.48.2.tgz#19c6ce4edf8bafe477b314c76426583ce652f07a"
 | 
				
			||||||
  integrity sha512-yl9zayR/CRfgnlM1iGEBKI3CkIVADv72UQHY+ZHqq/0VzeW8lSRG1KezqDKz2x3fMfrtbfls/fGLXQPNpD0mIw==
 | 
					  integrity sha512-rRP13G4mLgNcsd3uK2sdqDTG2lZkQj3BhCYMVYwphnIRTz1hhywXVb2NbshulVUTNVvqwFtoNxwESghKjjrW+Q==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
    "@unocss/preset-mini" "0.47.6"
 | 
					    "@unocss/preset-mini" "0.48.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/reset@0.47.6":
 | 
					"@unocss/reset@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/reset/-/reset-0.47.6.tgz#cde6769bad57f839a59edf189b7e7c3ce297ac59"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/reset/-/reset-0.48.2.tgz#4960f528fbc9ff117c2ddf978724920a2582bfb5"
 | 
				
			||||||
  integrity sha512-bdc2dbuDg+CzgeLowEwO1URRIMdzmCE4RH4IKpCpT1Xoa+92RRubdtzK4N/9ZiSo8d4vvfWcc8fvhZko/6smPQ==
 | 
					  integrity sha512-WwxPLGbosnaVHC4rzRE2Qbrma6otl7Gq/Hcgx6e1GEHgjDsqQaLCzdL3fQc+Mq3h0fnMu5mKFvNKfCvcmJ3O8g==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/scope@0.47.6":
 | 
					"@unocss/scope@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/scope/-/scope-0.47.6.tgz#c944a6412fd91bf06e94eb2f9e64ff679d9c678b"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/scope/-/scope-0.48.2.tgz#223e051fd70d2bf94c33c77b3ea054276391c23c"
 | 
				
			||||||
  integrity sha512-aI7B4Il5xYfMcr50AC90I+Igi3KB9U0JPX2yiU2/WhOaO33ZReBWJmBQ4LhBGrdgNh8vkHpeqs8ntwq/o25nbA==
 | 
					  integrity sha512-81XM3PCMupaPUMH5d6wrp2TqV2PyWbesf2wkgNZ49rn4CH8qxQbqyatZ4rWEPm2MBDa8iQzkbSMnhg5DSYtZGQ==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/transformer-attributify-jsx@0.47.6":
 | 
					"@unocss/transformer-attributify-jsx@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-0.47.6.tgz#a94becbfd9e1d2200bcb3ae7e95798ee2304fba9"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-0.48.2.tgz#0dcc87f4fda79c182c4f58cc52bba3fc1c22c628"
 | 
				
			||||||
  integrity sha512-1sjBPNpczbg1ZsM4OKr9SCisc3vXEpW+3aeCRlBq7UGlJId3vJlX19Yp6IV9IEnVubsUkgo/3nr0B12OD58VdQ==
 | 
					  integrity sha512-vVNUz2Yuq+LwhBglJKkS8dvpb1Bjo8WAIk4fUDLIPPru9BYVNK/rI7jD5Olva+BvoAjIkmgQ3WQnTiYOhSLn/A==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/transformer-compile-class@0.47.6":
 | 
					"@unocss/transformer-compile-class@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/transformer-compile-class/-/transformer-compile-class-0.47.6.tgz#63080deb4407f2252dbd6f1ce2a462b1b8045ff6"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/transformer-compile-class/-/transformer-compile-class-0.48.2.tgz#42aba6dac66ff9b128f989cdefc63027330b8a48"
 | 
				
			||||||
  integrity sha512-/+O0qJlHFOF4iO+RVkK5sPLJJzWp8dkAJGH/ArBzpT4hnxe8W7c0tb0hlJxwUp5J7UcP4lDhd8VKKvlyadHkuA==
 | 
					  integrity sha512-J33r6kl6x+/XkxhIUoTizH/edu2jYYdKz0cIiFaaG8IvthkABX3wUK9DwV9nDjK53UaS/kmoML/+WrlJvPcVjg==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/transformer-directives@0.47.6":
 | 
					"@unocss/transformer-directives@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/transformer-directives/-/transformer-directives-0.47.6.tgz#ac714d9952c2e217dc94d7839718b94769ab28a5"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/transformer-directives/-/transformer-directives-0.48.2.tgz#c3752c06870c13b3488013731436ddf78e6ebc39"
 | 
				
			||||||
  integrity sha512-vRY9bNhE+iNlRpsnky86MtKpRb8ipk3IHvtuRkK5DSjcjn7RGmh5ZpH9pzg39NvbWtRYq5/EN19riIYQHRetnA==
 | 
					  integrity sha512-Ehsb9cf6xOVK9+WHdJCOhZ/Sx/X+15/WyH3fCljcHqHgIRk2eUYBU4biSz8Y0JXFUUvbPUfPPwTbdhsih/YjaA==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
    css-tree "^2.2.1"
 | 
					    css-tree "^2.3.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/transformer-variant-group@0.47.6":
 | 
					"@unocss/transformer-variant-group@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/transformer-variant-group/-/transformer-variant-group-0.47.6.tgz#aeb2f046654a232b6fbfb72885bc602dec3b185f"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/transformer-variant-group/-/transformer-variant-group-0.48.2.tgz#34c75dfe2d1f99b32f279c61a619e3bfa6ff953c"
 | 
				
			||||||
  integrity sha512-+uXz0pOv6WbEzQuW5RbgDSiwO274blsOsE63PdiRBMID1eSYKffGBcmiDh875QWc9ncFpjSKml+4q8jU7I+a0w==
 | 
					  integrity sha512-FHrMh+iZiKHdQqh9DKqSIF+BP728JWdDROVDWf6pS+IXeGC6TQyWWtHofsBTkR/WT2joaZ9FR67HxBf+h2WBdA==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@unocss/vite@0.47.6":
 | 
					"@unocss/vite@0.48.2":
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@unocss/vite/-/vite-0.47.6.tgz#35cef2e954be69a69b0d06f698e310f4ccb3ace6"
 | 
					  resolved "https://registry.yarnpkg.com/@unocss/vite/-/vite-0.48.2.tgz#61ac662a60aa275f88338f5a3efe5e278755fde5"
 | 
				
			||||||
  integrity sha512-NL3A20sJHwMyCHOaxLlFXnr71QHEd118GN82e/mtFluEh7F3WyLndaZfWQLmLEeJ3z+P4nURFCLirZJIXr4XgQ==
 | 
					  integrity sha512-2gAy87KuMSQbIb1m207y6XG6Tk5/XJOi9/iWMFlodRQXxWwlIXRyI1ee3aDQd1cSUV7M2kdP13FoRkmTs0bxAA==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@ampproject/remapping" "^2.2.0"
 | 
					    "@ampproject/remapping" "^2.2.0"
 | 
				
			||||||
    "@rollup/pluginutils" "^5.0.2"
 | 
					    "@rollup/pluginutils" "^5.0.2"
 | 
				
			||||||
    "@unocss/config" "0.47.6"
 | 
					    "@unocss/config" "0.48.2"
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
    "@unocss/inspector" "0.47.6"
 | 
					    "@unocss/inspector" "0.48.2"
 | 
				
			||||||
    "@unocss/scope" "0.47.6"
 | 
					    "@unocss/scope" "0.48.2"
 | 
				
			||||||
    "@unocss/transformer-directives" "0.47.6"
 | 
					    "@unocss/transformer-directives" "0.48.2"
 | 
				
			||||||
 | 
					    chokidar "^3.5.3"
 | 
				
			||||||
 | 
					    fast-glob "^3.2.12"
 | 
				
			||||||
    magic-string "^0.27.0"
 | 
					    magic-string "^0.27.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@vitejs/plugin-legacy@3.0.1":
 | 
					"@vitejs/plugin-legacy@3.0.1":
 | 
				
			||||||
| 
						 | 
					@ -1912,12 +1919,12 @@ crypto-random-string@^2.0.0:
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
 | 
					  resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
 | 
				
			||||||
  integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
 | 
					  integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
css-tree@^2.2.1:
 | 
					css-tree@^2.3.1:
 | 
				
			||||||
  version "2.2.1"
 | 
					  version "2.3.1"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032"
 | 
					  resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20"
 | 
				
			||||||
  integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==
 | 
					  integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    mdn-data "2.0.28"
 | 
					    mdn-data "2.0.30"
 | 
				
			||||||
    source-map-js "^1.0.1"
 | 
					    source-map-js "^1.0.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cssesc@^3.0.0:
 | 
					cssesc@^3.0.0:
 | 
				
			||||||
| 
						 | 
					@ -1976,10 +1983,10 @@ dom-walk@^0.1.0:
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
 | 
					  resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
 | 
				
			||||||
  integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
 | 
					  integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dompurify@2.4.1:
 | 
					dompurify@2.4.2:
 | 
				
			||||||
  version "2.4.1"
 | 
					  version "2.4.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.1.tgz#f9cb1a275fde9af6f2d0a2644ef648dd6847b631"
 | 
					  resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.2.tgz#c3409b49357804c9b00e1fbebea81f26514c5bc3"
 | 
				
			||||||
  integrity sha512-ewwFzHzrrneRjxzmK6oVz/rZn9VWspGFRDb4/rRtIsM1n36t9AKma/ye8syCpcw+XJ25kOK/hOG7t1j2I2yBqA==
 | 
					  integrity sha512-ckbbxcGpfTJ7SNHC2yT2pHSCYxo2oQgSfdoDHQANzMzQyGzVmalF9W/B+X97Cdik5xFwWtwJP232gIP2+1kNEA==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
duplexer@^0.1.2:
 | 
					duplexer@^0.1.2:
 | 
				
			||||||
  version "0.1.2"
 | 
					  version "0.1.2"
 | 
				
			||||||
| 
						 | 
					@ -2181,10 +2188,10 @@ escape-string-regexp@^4.0.0:
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
 | 
					  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
 | 
				
			||||||
  integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
 | 
					  integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
eslint-config-prettier@8.5.0:
 | 
					eslint-config-prettier@8.6.0:
 | 
				
			||||||
  version "8.5.0"
 | 
					  version "8.6.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1"
 | 
					  resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207"
 | 
				
			||||||
  integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==
 | 
					  integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
eslint-plugin-prettier@4.2.1:
 | 
					eslint-plugin-prettier@4.2.1:
 | 
				
			||||||
  version "4.2.1"
 | 
					  version "4.2.1"
 | 
				
			||||||
| 
						 | 
					@ -2243,13 +2250,13 @@ eslint-visitor-keys@^3.3.0:
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
 | 
					  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
 | 
				
			||||||
  integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
 | 
					  integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
eslint@8.29.0:
 | 
					eslint@8.31.0:
 | 
				
			||||||
  version "8.29.0"
 | 
					  version "8.31.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.29.0.tgz#d74a88a20fb44d59c51851625bc4ee8d0ec43f87"
 | 
					  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.31.0.tgz#75028e77cbcff102a9feae1d718135931532d524"
 | 
				
			||||||
  integrity sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==
 | 
					  integrity sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@eslint/eslintrc" "^1.3.3"
 | 
					    "@eslint/eslintrc" "^1.4.1"
 | 
				
			||||||
    "@humanwhocodes/config-array" "^0.11.6"
 | 
					    "@humanwhocodes/config-array" "^0.11.8"
 | 
				
			||||||
    "@humanwhocodes/module-importer" "^1.0.1"
 | 
					    "@humanwhocodes/module-importer" "^1.0.1"
 | 
				
			||||||
    "@nodelib/fs.walk" "^1.2.8"
 | 
					    "@nodelib/fs.walk" "^1.2.8"
 | 
				
			||||||
    ajv "^6.10.0"
 | 
					    ajv "^6.10.0"
 | 
				
			||||||
| 
						 | 
					@ -2268,7 +2275,7 @@ eslint@8.29.0:
 | 
				
			||||||
    file-entry-cache "^6.0.1"
 | 
					    file-entry-cache "^6.0.1"
 | 
				
			||||||
    find-up "^5.0.0"
 | 
					    find-up "^5.0.0"
 | 
				
			||||||
    glob-parent "^6.0.2"
 | 
					    glob-parent "^6.0.2"
 | 
				
			||||||
    globals "^13.15.0"
 | 
					    globals "^13.19.0"
 | 
				
			||||||
    grapheme-splitter "^1.0.4"
 | 
					    grapheme-splitter "^1.0.4"
 | 
				
			||||||
    ignore "^5.2.0"
 | 
					    ignore "^5.2.0"
 | 
				
			||||||
    import-fresh "^3.0.0"
 | 
					    import-fresh "^3.0.0"
 | 
				
			||||||
| 
						 | 
					@ -2540,10 +2547,10 @@ globals@^11.1.0:
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
 | 
					  resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
 | 
				
			||||||
  integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
 | 
					  integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
globals@^13.15.0:
 | 
					globals@^13.19.0:
 | 
				
			||||||
  version "13.17.0"
 | 
					  version "13.19.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4"
 | 
					  resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8"
 | 
				
			||||||
  integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==
 | 
					  integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    type-fest "^0.20.2"
 | 
					    type-fest "^0.20.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2878,9 +2885,9 @@ json-stable-stringify-without-jsonify@^1.0.1:
 | 
				
			||||||
  integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
 | 
					  integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
json5@^2.1.2, json5@^2.2.0:
 | 
					json5@^2.1.2, json5@^2.2.0:
 | 
				
			||||||
  version "2.2.1"
 | 
					  version "2.2.3"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
 | 
					  resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
 | 
				
			||||||
  integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
 | 
					  integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jsonc-eslint-parser@^1.0.1:
 | 
					jsonc-eslint-parser@^1.0.1:
 | 
				
			||||||
  version "1.4.1"
 | 
					  version "1.4.1"
 | 
				
			||||||
| 
						 | 
					@ -2907,10 +2914,10 @@ jsonpointer@^5.0.0:
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.0.tgz#f802669a524ec4805fa7389eadbc9921d5dc8072"
 | 
					  resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.0.tgz#f802669a524ec4805fa7389eadbc9921d5dc8072"
 | 
				
			||||||
  integrity sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==
 | 
					  integrity sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
kolorist@^1.5.1:
 | 
					kolorist@^1.6.0:
 | 
				
			||||||
  version "1.5.1"
 | 
					  version "1.6.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.5.1.tgz#c3d66dc4fabde4f6b7faa6efda84c00491f9e52b"
 | 
					  resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.6.0.tgz#f43ac794305b30032a5bedcae7799d0f91d2ff36"
 | 
				
			||||||
  integrity sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==
 | 
					  integrity sha512-dLkz37Ab97HWMx9KTes3Tbi3D1ln9fCAy2zr2YVExJasDRPGRaKcoE4fycWNtnCAJfjFqe0cnY+f8KT2JePEXQ==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
leven@^3.1.0:
 | 
					leven@^3.1.0:
 | 
				
			||||||
  version "3.1.0"
 | 
					  version "3.1.0"
 | 
				
			||||||
| 
						 | 
					@ -2971,7 +2978,7 @@ magic-string@^0.25.0, magic-string@^0.25.7:
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    sourcemap-codec "^1.4.8"
 | 
					    sourcemap-codec "^1.4.8"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
magic-string@^0.26.4, magic-string@^0.26.7:
 | 
					magic-string@^0.26.4:
 | 
				
			||||||
  version "0.26.7"
 | 
					  version "0.26.7"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.7.tgz#caf7daf61b34e9982f8228c4527474dac8981d6f"
 | 
					  resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.7.tgz#caf7daf61b34e9982f8228c4527474dac8981d6f"
 | 
				
			||||||
  integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==
 | 
					  integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==
 | 
				
			||||||
| 
						 | 
					@ -2985,10 +2992,10 @@ magic-string@^0.27.0:
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@jridgewell/sourcemap-codec" "^1.4.13"
 | 
					    "@jridgewell/sourcemap-codec" "^1.4.13"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mdn-data@2.0.28:
 | 
					mdn-data@2.0.30:
 | 
				
			||||||
  version "2.0.28"
 | 
					  version "2.0.30"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba"
 | 
					  resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc"
 | 
				
			||||||
  integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==
 | 
					  integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
merge-stream@^2.0.0:
 | 
					merge-stream@^2.0.0:
 | 
				
			||||||
  version "2.0.0"
 | 
					  version "2.0.0"
 | 
				
			||||||
| 
						 | 
					@ -3020,7 +3027,7 @@ min-document@^2.19.0:
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    dom-walk "^0.1.0"
 | 
					    dom-walk "^0.1.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
minimatch@^3.0.4, minimatch@^3.1.2:
 | 
					minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.2:
 | 
				
			||||||
  version "3.1.2"
 | 
					  version "3.1.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
 | 
					  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
 | 
				
			||||||
  integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
 | 
					  integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
 | 
				
			||||||
| 
						 | 
					@ -3193,11 +3200,6 @@ path-parse@^1.0.7:
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
 | 
					  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
 | 
				
			||||||
  integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
 | 
					  integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pathe@^0.3.0:
 | 
					 | 
				
			||||||
  version "0.3.9"
 | 
					 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/pathe/-/pathe-0.3.9.tgz#4baff768f37f03e3d9341502865fb93116f65191"
 | 
					 | 
				
			||||||
  integrity sha512-6Y6s0vT112P3jD8dGfuS6r+lpa0qqNrLyHPOwvXMnyNTQaYiwgau2DP3aNDsR13xqtGj7rrPo+jFUATpU6/s+g==
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
pathe@^1.0.0:
 | 
					pathe@^1.0.0:
 | 
				
			||||||
  version "1.0.0"
 | 
					  version "1.0.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.0.0.tgz#135fc11464fc57c84ef93d5c5ed21247e24571df"
 | 
					  resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.0.0.tgz#135fc11464fc57c84ef93d5c5ed21247e24571df"
 | 
				
			||||||
| 
						 | 
					@ -3816,28 +3818,28 @@ universalify@^2.0.0:
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
 | 
					  resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
 | 
				
			||||||
  integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
 | 
					  integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
unocss@0.47.6:
 | 
					unocss@0.48.2:
 | 
				
			||||||
  version "0.47.6"
 | 
					  version "0.48.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/unocss/-/unocss-0.47.6.tgz#530e9e952b782e7d14638d69c622c397183ca910"
 | 
					  resolved "https://registry.yarnpkg.com/unocss/-/unocss-0.48.2.tgz#72e6c2b01b2c3f259b9befa251e04750d798250f"
 | 
				
			||||||
  integrity sha512-cc+m2h/Iky24zwAKir9ElmIhkPYNjZEUTemInctWlVN8QX9qpzsRZahAl7ZmKsBorXPFtux/JYoUCCtXftyxOw==
 | 
					  integrity sha512-Sx94TuodV4CYVlTkeDaEzmMABbHa7NxAf8JoCN14uKrzu2/PDDeZy1XFj4JSrkaHz6RTgOuy/eKCUJDoyYXYCQ==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@unocss/astro" "0.47.6"
 | 
					    "@unocss/astro" "0.48.2"
 | 
				
			||||||
    "@unocss/cli" "0.47.6"
 | 
					    "@unocss/cli" "0.48.2"
 | 
				
			||||||
    "@unocss/core" "0.47.6"
 | 
					    "@unocss/core" "0.48.2"
 | 
				
			||||||
    "@unocss/preset-attributify" "0.47.6"
 | 
					    "@unocss/preset-attributify" "0.48.2"
 | 
				
			||||||
    "@unocss/preset-icons" "0.47.6"
 | 
					    "@unocss/preset-icons" "0.48.2"
 | 
				
			||||||
    "@unocss/preset-mini" "0.47.6"
 | 
					    "@unocss/preset-mini" "0.48.2"
 | 
				
			||||||
    "@unocss/preset-tagify" "0.47.6"
 | 
					    "@unocss/preset-tagify" "0.48.2"
 | 
				
			||||||
    "@unocss/preset-typography" "0.47.6"
 | 
					    "@unocss/preset-typography" "0.48.2"
 | 
				
			||||||
    "@unocss/preset-uno" "0.47.6"
 | 
					    "@unocss/preset-uno" "0.48.2"
 | 
				
			||||||
    "@unocss/preset-web-fonts" "0.47.6"
 | 
					    "@unocss/preset-web-fonts" "0.48.2"
 | 
				
			||||||
    "@unocss/preset-wind" "0.47.6"
 | 
					    "@unocss/preset-wind" "0.48.2"
 | 
				
			||||||
    "@unocss/reset" "0.47.6"
 | 
					    "@unocss/reset" "0.48.2"
 | 
				
			||||||
    "@unocss/transformer-attributify-jsx" "0.47.6"
 | 
					    "@unocss/transformer-attributify-jsx" "0.48.2"
 | 
				
			||||||
    "@unocss/transformer-compile-class" "0.47.6"
 | 
					    "@unocss/transformer-compile-class" "0.48.2"
 | 
				
			||||||
    "@unocss/transformer-directives" "0.47.6"
 | 
					    "@unocss/transformer-directives" "0.48.2"
 | 
				
			||||||
    "@unocss/transformer-variant-group" "0.47.6"
 | 
					    "@unocss/transformer-variant-group" "0.48.2"
 | 
				
			||||||
    "@unocss/vite" "0.47.6"
 | 
					    "@unocss/vite" "0.48.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
upath@^1.2.0:
 | 
					upath@^1.2.0:
 | 
				
			||||||
  version "1.2.0"
 | 
					  version "1.2.0"
 | 
				
			||||||
| 
						 | 
					@ -3865,10 +3867,10 @@ vite-plugin-eslint@1.8.1:
 | 
				
			||||||
    "@types/eslint" "^8.4.5"
 | 
					    "@types/eslint" "^8.4.5"
 | 
				
			||||||
    rollup "^2.77.2"
 | 
					    rollup "^2.77.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
vite-plugin-pwa@0.14.0:
 | 
					vite-plugin-pwa@0.14.1:
 | 
				
			||||||
  version "0.14.0"
 | 
					  version "0.14.1"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/vite-plugin-pwa/-/vite-plugin-pwa-0.14.0.tgz#6782874c397cbea4212681db752b43076b56cc99"
 | 
					  resolved "https://registry.yarnpkg.com/vite-plugin-pwa/-/vite-plugin-pwa-0.14.1.tgz#c32905d77916aab23e86522e2d4882c652f008d5"
 | 
				
			||||||
  integrity sha512-3wZx47PLWTckOQhc8Y6YZjAbNZ89Ovh4TdCT97MGhgl7aFd2LUekVnAmIgFwgMqyxzJ93nmkPF/ALpEW/i2qCg==
 | 
					  integrity sha512-5zx7yhQ8RTLwV71+GA9YsQQ63ALKG8XXIMqRJDdZkR8ZYftFcRgnzM7wOWmQZ/DATspyhPih5wCdcZnAIsM+mA==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@rollup/plugin-replace" "^5.0.1"
 | 
					    "@rollup/plugin-replace" "^5.0.1"
 | 
				
			||||||
    debug "^4.3.4"
 | 
					    debug "^4.3.4"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue