diff --git a/.all-contributorsrc b/.all-contributorsrc index faa3f7534c..c57826d684 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -755,6 +755,24 @@ "contributions": [ "doc" ] + }, + { + "login": "ceptonit", + "name": "ceptonit", + "avatar_url": "https://avatars.githubusercontent.com/u/12678743?v=4", + "profile": "https://github.com/ceptonit", + "contributions": [ + "doc" + ] + }, + { + "login": "aedelbro", + "name": "aedelbro", + "avatar_url": "https://avatars.githubusercontent.com/u/36162221?v=4", + "profile": "https://github.com/aedelbro", + "contributions": [ + "code" + ] } ], "badgeTemplate": "\"All-orange.svg\"/>", diff --git a/.github/holopin.yml b/.github/holopin.yml new file mode 100644 index 0000000000..ee4edc81b3 --- /dev/null +++ b/.github/holopin.yml @@ -0,0 +1,5 @@ +organization: overseerr +defaultSticker: clcyagj1j329008l468ya8pu2 +stickers: + - id: clcyagj1j329008l468ya8pu2 + alias: overseerr-contributor diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000000..10926bbd92 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,41 @@ +name: 'CodeQL' + +on: + push: + branches: ['develop'] + pull_request: + branches: ['develop'] + schedule: + - cron: '50 7 * * 5' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [javascript] + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + queries: +security-and-quality + + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: '/language:${{ matrix.language }}' diff --git a/README.md b/README.md index d81193a2a7..ae82f5489a 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,9 @@ Discord Docker pulls Translation status -Language grade: JavaScript GitHub -All Contributors +All Contributors

@@ -76,110 +75,112 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - + + + + + + +
sct
sct

💻 🎨 🤔
Alex Zoitos
Alex Zoitos

💻
Brandon Cohen
Brandon Cohen

💻 📖
Ahreluth
Ahreluth

🌍
KovalevArtem
KovalevArtem

🌍
GiyomuWeb
GiyomuWeb

🌍
Angry Cuban
Angry Cuban

📖
sct
sct

💻 🎨 🤔
Alex Zoitos
Alex Zoitos

💻
Brandon Cohen
Brandon Cohen

💻 📖
Ahreluth
Ahreluth

🌍
KovalevArtem
KovalevArtem

🌍
GiyomuWeb
GiyomuWeb

🌍
Angry Cuban
Angry Cuban

📖
jvennik
jvennik

🌍
darknessgp
darknessgp

💻
salty
salty

🚇
Shutruk
Shutruk

🌍
Krystian Charubin
Krystian Charubin

🎨
Kieron Boswell
Kieron Boswell

💻
samwiseg0
samwiseg0

💬 🚇
jvennik
jvennik

🌍
darknessgp
darknessgp

💻
salty
salty

🚇
Shutruk
Shutruk

🌍
Krystian Charubin
Krystian Charubin

🎨
Kieron Boswell
Kieron Boswell

💻
samwiseg0
samwiseg0

💬 🚇
ecelebi29
ecelebi29

💻 📖
Mārtiņš Možeiko
Mārtiņš Možeiko

💻
mazzetta86
mazzetta86

🌍
Paul Hagedorn
Paul Hagedorn

🌍
Shagon94
Shagon94

🌍
sebstrgg
sebstrgg

🌍
Danshil Mungur
Danshil Mungur

💻 📖
ecelebi29
ecelebi29

💻 📖
Mārtiņš Možeiko
Mārtiņš Možeiko

💻
mazzetta86
mazzetta86

🌍
Paul Hagedorn
Paul Hagedorn

🌍
Shagon94
Shagon94

🌍
sebstrgg
sebstrgg

🌍
Danshil Mungur
Danshil Mungur

💻 📖
doob187
doob187

🚇
johnpyp
johnpyp

💻
Jakob Ankarhem
Jakob Ankarhem

📖 💻 🌍
Jayesh
Jayesh

💻
flying-sausages
flying-sausages

📖
hirenshah
hirenshah

📖
TheCatLady
TheCatLady

💻 🌍 📖
doob187
doob187

🚇
johnpyp
johnpyp

💻
Jakob Ankarhem
Jakob Ankarhem

📖 💻 🌍
Jayesh
Jayesh

💻
flying-sausages
flying-sausages

📖
hirenshah
hirenshah

📖
TheCatLady
TheCatLady

💻 🌍 📖
Chris Pritchard
Chris Pritchard

💻 📖
Tamberlox
Tamberlox

🌍
David
David

💻
Douglas Parker
Douglas Parker

📖
Daniel Carter
Daniel Carter

💻
nuro
nuro

📖
ᗪєνιη ᗷυнʟ
ᗪєνιη ᗷυнʟ

🚇
Chris Pritchard
Chris Pritchard

💻 📖
Tamberlox
Tamberlox

🌍
David
David

💻
Douglas Parker
Douglas Parker

📖
Daniel Carter
Daniel Carter

💻
nuro
nuro

📖
ᗪєνιη ᗷυнʟ
ᗪєνιη ᗷυнʟ

🚇
JonnyWong16
JonnyWong16

📖
Roxedus
Roxedus

📖
WoisWoi
WoisWoi

🌍
HubDuck
HubDuck

🌍 📖
costaht
costaht

📖 🌍
Shjosan
Shjosan

🌍
kobaubarr
kobaubarr

🌍
JonnyWong16
JonnyWong16

📖
Roxedus
Roxedus

📖
WoisWoi
WoisWoi

🌍
HubDuck
HubDuck

🌍 📖
costaht
costaht

📖 🌍
Shjosan
Shjosan

🌍
kobaubarr
kobaubarr

🌍
Ricardo González
Ricardo González

🌍
Torkil
Torkil

🌍
Jagandeep Brar
Jagandeep Brar

📖
dtalens
dtalens

🌍
Alex Cortelyou
Alex Cortelyou

💻
Jono Cairns
Jono Cairns

💻
DJScias
DJScias

🌍
Ricardo González
Ricardo González

🌍
Torkil
Torkil

🌍
Jagandeep Brar
Jagandeep Brar

📖
dtalens
dtalens

🌍
Alex Cortelyou
Alex Cortelyou

💻
Jono Cairns
Jono Cairns

💻
DJScias
DJScias

🌍
Dabu-dot
Dabu-dot

🌍
Jabster28
Jabster28

💻
littlerooster
littlerooster

🌍
Dustin Hildebrandt
Dustin Hildebrandt

💻
Bruno Guerreiro
Bruno Guerreiro

🌍
Alexander Neuhäuser
Alexander Neuhäuser

🌍
Livio
Livio

🎨
Dabu-dot
Dabu-dot

🌍
Jabster28
Jabster28

💻
littlerooster
littlerooster

🌍
Dustin Hildebrandt
Dustin Hildebrandt

💻
Bruno Guerreiro
Bruno Guerreiro

🌍
Alexander Neuhäuser
Alexander Neuhäuser

🌍
Livio
Livio

🎨
tangentThought
tangentThought

💻
Nicolás Espinoza
Nicolás Espinoza

💻
sootylunatic
sootylunatic

🌍
JoKerIsCraZy
JoKerIsCraZy

🌍
Daddie0
Daddie0

🌍
Simone
Simone

🌍
Seohyun Joo
Seohyun Joo

🌍
tangentThought
tangentThought

💻
Nicolás Espinoza
Nicolás Espinoza

💻
sootylunatic
sootylunatic

🌍
JoKerIsCraZy
JoKerIsCraZy

🌍
Daddie0
Daddie0

🌍
Simone
Simone

🌍
Seohyun Joo
Seohyun Joo

🌍
Sergey
Sergey

🌍
Shaaft
Shaaft

🌍
sr093906
sr093906

🌍
Nackophilz
Nackophilz

🌍
Sean Chambers
Sean Chambers

💻
deniscerri
deniscerri

🌍
tomgacz
tomgacz

🌍
Sergey
Sergey

🌍
Shaaft
Shaaft

🌍
sr093906
sr093906

🌍
Nackophilz
Nackophilz

🌍
Sean Chambers
Sean Chambers

💻
deniscerri
deniscerri

🌍
tomgacz
tomgacz

🌍
Andersborrits
Andersborrits

🌍
Maxent
Maxent

🌍
Samuel Bartík
Samuel Bartík

💻
Chun Yeung Wong
Chun Yeung Wong

💻
TheMeanCanEHdian
TheMeanCanEHdian

💻
Gylesie
Gylesie

💻
Fhd-pro
Fhd-pro

🌍
Andersborrits
Andersborrits

🌍
Maxent
Maxent

🌍
Samuel Bartík
Samuel Bartík

💻
Chun Yeung Wong
Chun Yeung Wong

💻
TheMeanCanEHdian
TheMeanCanEHdian

💻
Gylesie
Gylesie

💻
Fhd-pro
Fhd-pro

🌍
PovilasID
PovilasID

🌍
byakurau
byakurau

🌍
miknii
miknii

🌍
Mackenzie
Mackenzie

💻
soup
soup

📖
PovilasID
PovilasID

🌍
byakurau
byakurau

🌍
miknii
miknii

🌍
Mackenzie
Mackenzie

💻
soup
soup

📖
ceptonit
ceptonit

📖
aedelbro
aedelbro

💻
diff --git a/cypress/e2e/discover.cy.ts b/cypress/e2e/discover.cy.ts index 3489061b0e..545f25658b 100644 --- a/cypress/e2e/discover.cy.ts +++ b/cypress/e2e/discover.cy.ts @@ -36,7 +36,9 @@ describe('Discover', () => { }); it('loads upcoming movies', () => { - cy.intercept('/api/v1/discover/movies/upcoming*').as('getUpcomingMovies'); + cy.intercept('/api/v1/discover/movies?page=1&primaryReleaseDateGte*').as( + 'getUpcomingMovies' + ); cy.visit('/'); cy.wait('@getUpcomingMovies'); clickFirstTitleCardInSlider('Upcoming Movies'); @@ -50,7 +52,9 @@ describe('Discover', () => { }); it('loads upcoming series', () => { - cy.intercept('/api/v1/discover/tv/upcoming*').as('getUpcomingSeries'); + cy.intercept('/api/v1/discover/tv?page=1&firstAirDateGte=*').as( + 'getUpcomingSeries' + ); cy.visit('/'); cy.wait('@getUpcomingSeries'); clickFirstTitleCardInSlider('Upcoming Series'); diff --git a/cypress/e2e/settings/discover-customization.cy.ts b/cypress/e2e/settings/discover-customization.cy.ts new file mode 100644 index 0000000000..a0756ae219 --- /dev/null +++ b/cypress/e2e/settings/discover-customization.cy.ts @@ -0,0 +1,163 @@ +describe('Discover Customization', () => { + beforeEach(() => { + cy.loginAsAdmin(); + cy.intercept('/api/v1/settings/discover').as('getDiscoverSliders'); + }); + + it('show the discover customization settings', () => { + cy.visit('/'); + + cy.get('[data-testid=discover-start-editing]').click(); + + cy.get('[data-testid=create-slider-header') + .should('contain', 'Create New Slider') + .scrollIntoView(); + + // There should be some built in options + cy.get('[data-testid=discover-slider-edit-mode]').should( + 'contain', + 'Recently Added' + ); + cy.get('[data-testid=discover-slider-edit-mode]').should( + 'contain', + 'Recent Requests' + ); + }); + + it('can drag to re-order elements and save to persist the changes', () => { + let dataTransfer = new DataTransfer(); + cy.visit('/'); + + cy.get('[data-testid=discover-start-editing]').click(); + + cy.get('[data-testid=discover-slider-edit-mode]') + .first() + .trigger('dragstart', { dataTransfer }); + cy.get('[data-testid=discover-slider-edit-mode]') + .eq(1) + .trigger('drop', { dataTransfer }); + cy.get('[data-testid=discover-slider-edit-mode]') + .eq(1) + .trigger('dragend', { dataTransfer }); + + cy.get('[data-testid=discover-slider-edit-mode]') + .eq(1) + .should('contain', 'Recently Added'); + + cy.get('[data-testid=discover-customize-submit').click(); + cy.wait('@getDiscoverSliders'); + + cy.reload(); + + cy.get('[data-testid=discover-start-editing]').click(); + + dataTransfer = new DataTransfer(); + + cy.get('[data-testid=discover-slider-edit-mode]') + .eq(1) + .should('contain', 'Recently Added'); + + cy.get('[data-testid=discover-slider-edit-mode]') + .first() + .trigger('dragstart', { dataTransfer }); + cy.get('[data-testid=discover-slider-edit-mode]') + .eq(1) + .trigger('drop', { dataTransfer }); + cy.get('[data-testid=discover-slider-edit-mode]') + .eq(1) + .trigger('dragend', { dataTransfer }); + + cy.get('[data-testid=discover-slider-edit-mode]') + .eq(1) + .should('contain', 'Recent Requests'); + + cy.get('[data-testid=discover-customize-submit').click(); + cy.wait('@getDiscoverSliders'); + }); + + it('can create a new discover option and remove it', () => { + cy.visit('/'); + cy.intercept('/api/v1/settings/discover/*').as('discoverSlider'); + cy.intercept('/api/v1/search/keyword*').as('searchKeyword'); + + cy.get('[data-testid=discover-start-editing]').click(); + + const sliderTitle = 'Custom Keyword Slider'; + + cy.get('#sliderType').select('TMDB Movie Keyword'); + + cy.get('#title').type(sliderTitle); + // First confirm that an invalid keyword doesn't allow us to submit anything + cy.get('#data').type('invalidkeyword{enter}', { delay: 100 }); + cy.wait('@searchKeyword'); + + cy.get('[data-testid=create-discover-option-form]') + .find('button') + .should('be.disabled'); + + cy.get('#data').clear(); + cy.get('#data').type('time travel{enter}', { delay: 100 }); + + // Confirming we have some results + cy.contains('.slider-header', sliderTitle) + .next('[data-testid=media-slider]') + .find('[data-testid=title-card]'); + + cy.get('[data-testid=create-discover-option-form]').submit(); + + cy.wait('@discoverSlider'); + cy.wait('@getDiscoverSliders'); + cy.wait(1000); + + cy.get('[data-testid=discover-slider-edit-mode]') + .first() + .should('contain', sliderTitle); + + // Make sure its still there even if we reload + cy.reload(); + + cy.get('[data-testid=discover-start-editing]').click(); + + cy.get('[data-testid=discover-slider-edit-mode]') + .first() + .should('contain', sliderTitle); + + // Verify it's not rendering on our discover page (its still disabled!) + cy.visit('/'); + + cy.get('.slider-header').should('not.contain', sliderTitle); + + cy.get('[data-testid=discover-start-editing]').click(); + + // Enable it, and check again + cy.get('[data-testid=discover-slider-edit-mode]') + .first() + .find('[role="checkbox"]') + .click(); + + cy.get('[data-testid=discover-customize-submit').click(); + cy.wait('@getDiscoverSliders'); + + cy.visit('/'); + + cy.contains('.slider-header', sliderTitle) + .next('[data-testid=media-slider]') + .find('[data-testid=title-card]'); + + cy.get('[data-testid=discover-start-editing]').click(); + + // let's delete it and confirm its deleted. + cy.get('[data-testid=discover-slider-edit-mode]') + .first() + .find('[data-testid=discover-slider-remove-button]') + .click(); + + cy.wait('@discoverSlider'); + cy.wait('@getDiscoverSliders'); + cy.wait(1000); + + cy.get('[data-testid=discover-slider-edit-mode]') + .first() + .should('not.contain', sliderTitle); + }); +}); diff --git a/cypress/e2e/settings/general-settings.cy.ts b/cypress/e2e/settings/general-settings.cy.ts index 3717f65b08..bcfce1a328 100644 --- a/cypress/e2e/settings/general-settings.cy.ts +++ b/cypress/e2e/settings/general-settings.cy.ts @@ -16,7 +16,7 @@ describe('General Settings', () => { cy.visit('/settings'); cy.get('#trustProxy').click(); - cy.get('form').submit(); + cy.get('[data-testid=settings-main-form]').submit(); cy.get('[data-testid=modal-title]').should( 'contain', 'Server Restart Required' @@ -26,7 +26,7 @@ describe('General Settings', () => { cy.get('[data-testid=modal-title]').should('not.exist'); cy.get('[type=checkbox]#trustProxy').click(); - cy.get('form').submit(); + cy.get('[data-testid=settings-main-form]').submit(); cy.get('[data-testid=modal-title]').should('not.exist'); }); }); diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 98e26f59f7..abaef46aae 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -28,6 +28,7 @@ docker run -d \ --name overseerr \ -e LOG_LEVEL=debug \ -e TZ=Asia/Tokyo \ + -e PORT=5055 `#optional` \ -p 5055:5055 \ -v /path/to/appdata/config:/app/config \ --restart unless-stopped \ @@ -81,6 +82,7 @@ services: environment: - LOG_LEVEL=debug - TZ=Asia/Tokyo + - PORT=5055 #optional ports: - 5055:5055 volumes: @@ -88,7 +90,7 @@ services: restart: unless-stopped ``` -Then, start all services defined in the your Compose file: +Then, start all services defined in the Compose file: ```bash docker-compose up -d @@ -146,8 +148,6 @@ Then, create and start the Overseerr container: docker run -d --name overseerr -e LOG_LEVEL=debug -e TZ=Asia/Tokyo -p 5055:5055 -v "overseerr-data:/app/config" --restart unless-stopped sctx/overseerr:latest ``` -If using a named volume like above, you can safely ignore the warning about the `/app/config` folder being incorrectly mounted on the setup page. - To access the files inside the volume created above, navigate to `\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\overseerr-data\_data` using File Explorer. {% hint style="info" %} @@ -155,7 +155,7 @@ Docker on Windows works differently than it does on Linux; it runs Docker inside **If you must run Docker on Windows, you should put the `/app/config` directory mount inside the VM and not on the Windows host.** (This also applies to other containers with SQLite databases.) -Named volumes, like in the example commands above, are automatically mounted inside the VM. +Named volumes, like in the example commands above, are automatically mounted inside the VM. Therefore the warning on the setup about the `/app/config` folder being incorrectly mounted page should be ignored. {% endhint %} ## Linux diff --git a/overseerr-api.yml b/overseerr-api.yml index f114cce1a4..ef31c749dc 100644 --- a/overseerr-api.yml +++ b/overseerr-api.yml @@ -26,6 +26,8 @@ tags: description: Endpoints related to retrieving movies and their details. - name: tv description: Endpoints related to retrieving TV series and their details. + - name: other + description: Endpoints related to other TMDB data - name: person description: Endpoints related to retrieving person details. - name: media @@ -600,6 +602,17 @@ components: name: type: string example: Adventure + Company: + type: object + properties: + id: + type: number + example: 1 + logo_path: + type: string + nullable: true + name: + type: string ProductionCompany: type: object properties: @@ -1039,6 +1052,8 @@ components: nullable: true status: type: number + example: 0 + description: Availability of the media. 1 = `UNKNOWN`, 2 = `PENDING`, 3 = `PROCESSING`, 4 = `PARTIALLY_AVAILABLE`, 5 = `AVAILABLE` requests: type: array readOnly: true @@ -1780,6 +1795,40 @@ components: message: type: string example: A comment + DiscoverSlider: + type: object + properties: + id: + type: number + example: 1 + type: + type: number + example: 1 + title: + type: string + nullable: true + isBuiltIn: + type: boolean + enabled: + type: boolean + data: + type: string + example: '1234' + nullable: true + required: + - type + - enabled + - title + - data + WatchProviderRegion: + type: object + properties: + iso_3166_1: + type: string + english_name: + type: string + native_name: + type: string securitySchemes: cookieAuth: type: apiKey @@ -3042,6 +3091,133 @@ paths: responses: '204': description: Test notification attempted + /settings/discover: + get: + summary: Get all discover sliders + description: Returns all discovery sliders. Built-in and custom made. + tags: + - settings + responses: + '200': + description: Returned all discovery sliders + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DiscoverSlider' + post: + summary: Batch update all sliders. + description: | + Batch update all sliders at once. Should also be used for creation. Will only update sliders provided + and will not delete any sliders not present in the request. If a slider is missing a required field, + it will be ignored. Requires the `ADMIN` permission. + tags: + - settings + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DiscoverSlider' + responses: + '200': + description: Returned all newly updated discovery sliders + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DiscoverSlider' + /settings/discover/{sliderId}: + put: + summary: Update a single slider + description: | + Updates a single slider and return the newly updated slider. Requires the `ADMIN` permission. + tags: + - settings + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + title: + type: string + example: 'Slider Title' + type: + type: number + example: 1 + data: + type: string + example: '1' + responses: + '200': + description: Returns newly added discovery slider + content: + application/json: + schema: + $ref: '#/components/schemas/DiscoverSlider' + delete: + summary: Delete slider by ID + description: Deletes the slider with the provided sliderId. Requires the `ADMIN` permission. + tags: + - settings + parameters: + - in: path + name: sliderId + required: true + schema: + type: number + responses: + '200': + description: Slider successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/DiscoverSlider' + /settings/discover/add: + post: + summary: Add a new slider + description: | + Add a single slider and return the newly created slider. Requires the `ADMIN` permission. + tags: + - settings + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + title: + type: string + example: 'New Slider' + type: + type: number + example: 1 + data: + type: string + example: '1' + responses: + '200': + description: Returns newly added discovery slider + content: + application/json: + schema: + $ref: '#/components/schemas/DiscoverSlider' + /settings/discover/reset: + get: + summary: Reset all discover sliders + description: Resets all discovery sliders to the default values. Requires the `ADMIN` permission. + tags: + - settings + responses: + '204': + description: All sliders reset to defaults /settings/about: get: summary: Get server stats @@ -3862,6 +4038,86 @@ paths: - $ref: '#/components/schemas/MovieResult' - $ref: '#/components/schemas/TvResult' - $ref: '#/components/schemas/PersonResult' + /search/keyword: + get: + summary: Search for keywords + description: Returns a list of TMDB keywords matching the search query + tags: + - search + parameters: + - in: query + name: query + required: true + schema: + type: string + example: 'christmas' + - in: query + name: page + schema: + type: number + example: 1 + default: 1 + responses: + '200': + description: Results + content: + application/json: + schema: + type: object + properties: + page: + type: number + example: 1 + totalPages: + type: number + example: 20 + totalResults: + type: number + example: 200 + results: + type: array + items: + $ref: '#/components/schemas/Keyword' + /search/company: + get: + summary: Search for companies + description: Returns a list of TMDB companies matching the search query. (Will not return origin country) + tags: + - search + parameters: + - in: query + name: query + required: true + schema: + type: string + example: 'Disney' + - in: query + name: page + schema: + type: number + example: 1 + default: 1 + responses: + '200': + description: Results + content: + application/json: + schema: + type: object + properties: + page: + type: number + example: 1 + totalPages: + type: number + example: 20 + totalResults: + type: number + example: 200 + results: + type: array + items: + $ref: '#/components/schemas/Company' /discover/movies: get: summary: Discover movies @@ -3883,13 +4139,63 @@ paths: - in: query name: genre schema: - type: number + type: string example: 18 - in: query name: studio schema: type: number example: 1 + - in: query + name: keywords + schema: + type: string + example: 1,2 + - in: query + name: sortBy + schema: + type: string + example: popularity.desc + - in: query + name: primaryReleaseDateGte + schema: + type: string + example: 2022-01-01 + - in: query + name: primaryReleaseDateLte + schema: + type: string + example: 2023-01-01 + - in: query + name: withRuntimeGte + schema: + type: number + example: 60 + - in: query + name: withRuntimeLte + schema: + type: number + example: 120 + - in: query + name: voteAverageGte + schema: + type: number + example: 7 + - in: query + name: voteAverageLte + schema: + type: number + example: 10 + - in: query + name: watchRegion + schema: + type: string + example: US + - in: query + name: watchProviders + schema: + type: string + example: 8|9 responses: '200': description: Results @@ -4119,6 +4425,56 @@ paths: schema: type: number example: 1 + - in: query + name: keywords + schema: + type: string + example: 1,2 + - in: query + name: sortBy + schema: + type: string + example: popularity.desc + - in: query + name: firstAirDateGte + schema: + type: string + example: 2022-01-01 + - in: query + name: firstAirDateLte + schema: + type: string + example: 2023-01-01 + - in: query + name: withRuntimeGte + schema: + type: number + example: 60 + - in: query + name: withRuntimeLte + schema: + type: number + example: 120 + - in: query + name: voteAverageGte + schema: + type: number + example: 7 + - in: query + name: voteAverageLte + schema: + type: number + example: 10 + - in: query + name: watchRegion + schema: + type: string + example: US + - in: query + name: watchProviders + schema: + type: string + example: 8|9 responses: '200': description: Results @@ -4797,7 +5153,7 @@ paths: required: true schema: type: string - enum: [pending, approve, decline, available] + enum: [approve, decline] responses: '200': description: Request status changed @@ -5917,6 +6273,89 @@ paths: application/json: schema: $ref: '#/components/schemas/Issue' + /keyword/{keywordId}: + get: + summary: Get keyword + description: | + Returns a single keyword in JSON format. + tags: + - other + parameters: + - in: path + name: keywordId + required: true + schema: + type: number + example: 1 + responses: + '200': + description: Keyword returned + content: + application/json: + schema: + $ref: '#/components/schemas/Keyword' + /watchproviders/regions: + get: + summary: Get watch provider regions + description: | + Returns a list of all available watch provider regions. + tags: + - other + responses: + '200': + description: Watch provider regions returned + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/WatchProviderRegion' + /watchproviders/movies: + get: + summary: Get watch provider movies + description: | + Returns a list of all available watch providers for movies. + tags: + - other + parameters: + - in: query + name: watchRegion + required: true + schema: + type: string + example: US + responses: + '200': + description: Watch providers for movies returned + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/WatchProviderDetails' + /watchproviders/tv: + get: + summary: Get watch provider series + description: | + Returns a list of all available watch providers for series. + tags: + - other + parameters: + - in: query + name: watchRegion + required: true + schema: + type: string + example: US + responses: + '200': + description: Watch providers for series returned + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/WatchProviderDetails' security: - cookieAuth: [] - apiKey: [] diff --git a/package.json b/package.json index 0aa65b7137..71c29460c1 100644 --- a/package.json +++ b/package.json @@ -29,144 +29,148 @@ }, "license": "MIT", "dependencies": { - "@formatjs/intl-displaynames": "6.0.3", - "@formatjs/intl-locale": "3.0.3", - "@formatjs/intl-pluralrules": "5.0.3", + "@formatjs/intl-displaynames": "6.2.3", + "@formatjs/intl-locale": "3.0.11", + "@formatjs/intl-pluralrules": "5.1.8", "@formatjs/intl-utils": "3.8.4", - "@headlessui/react": "0.0.0-insiders.b301f04", - "@heroicons/react": "1.0.6", + "@headlessui/react": "1.7.7", + "@heroicons/react": "2.0.13", "@supercharge/request-ip": "1.2.0", - "@svgr/webpack": "6.3.1", - "@tanem/react-nprogress": "5.0.11", - "ace-builds": "1.9.6", - "axios": "0.27.2", + "@svgr/webpack": "6.5.1", + "@tanem/react-nprogress": "5.0.22", + "ace-builds": "1.14.0", + "axios": "1.2.2", "axios-rate-limit": "1.3.0", - "bcrypt": "5.0.1", + "bcrypt": "5.1.0", "bowser": "2.11.0", "connect-typeorm": "1.1.4", "cookie-parser": "1.4.6", - "copy-to-clipboard": "3.3.2", + "copy-to-clipboard": "3.3.3", "country-flag-icons": "1.5.5", - "cronstrue": "2.11.0", + "cronstrue": "2.21.0", "csurf": "1.11.0", - "date-fns": "2.29.1", + "date-fns": "2.29.3", + "dayjs": "1.11.7", "email-templates": "9.0.0", - "express": "4.18.1", + "express": "4.18.2", "express-openapi-validator": "4.13.8", - "express-rate-limit": "6.5.1", + "express-rate-limit": "6.7.0", "express-session": "1.17.3", "formik": "2.2.9", "gravatar-url": "3.1.0", "intl": "1.2.5", "lodash": "4.17.21", - "next": "12.2.5", + "next": "12.3.4", "node-cache": "5.1.2", - "node-gyp": "9.1.0", + "node-gyp": "9.3.1", "node-schedule": "2.1.0", - "nodemailer": "6.7.8", - "openpgp": "5.4.0", + "nodemailer": "6.8.0", + "openpgp": "5.5.0", "plex-api": "5.3.2", "pug": "3.0.2", "pulltorefreshjs": "0.1.22", "react": "18.2.0", "react-ace": "10.1.0", "react-animate-height": "2.1.2", + "react-aria": "3.22.0", "react-dom": "18.2.0", - "react-intersection-observer": "9.4.0", - "react-intl": "6.0.5", - "react-markdown": "8.0.3", + "react-intersection-observer": "9.4.1", + "react-intl": "6.2.5", + "react-markdown": "8.0.4", "react-popper-tooltip": "4.4.2", - "react-select": "5.4.0", - "react-spring": "9.5.2", + "react-select": "5.7.0", + "react-spring": "9.6.1", + "react-tailwindcss-datepicker-sct": "1.3.4", "react-toast-notifications": "2.5.1", "react-truncate-markup": "5.1.2", - "react-use-clipboard": "1.0.8", + "react-use-clipboard": "1.0.9", "reflect-metadata": "0.1.13", "secure-random-password": "0.2.3", - "semver": "7.3.7", - "sqlite3": "5.0.11", - "swagger-ui-express": "4.5.0", - "swr": "1.3.0", - "typeorm": "0.3.7", + "semver": "7.3.8", + "sqlite3": "5.1.4", + "swagger-ui-express": "4.6.0", + "swr": "2.0.0", + "typeorm": "0.3.11", "web-push": "3.5.0", - "winston": "3.8.1", + "winston": "3.8.2", "winston-daily-rotate-file": "4.7.1", "xml2js": "0.4.23", "yamljs": "0.3.0", - "yup": "0.32.11" + "yup": "0.32.11", + "zod": "3.20.2" }, "devDependencies": { - "@babel/cli": "7.18.10", - "@commitlint/cli": "17.0.3", - "@commitlint/config-conventional": "17.0.3", - "@semantic-release/changelog": "6.0.1", + "@babel/cli": "7.20.7", + "@commitlint/cli": "17.4.0", + "@commitlint/config-conventional": "17.4.0", + "@semantic-release/changelog": "6.0.2", "@semantic-release/commit-analyzer": "9.0.2", "@semantic-release/exec": "6.0.3", "@semantic-release/git": "10.0.1", - "@tailwindcss/aspect-ratio": "0.4.0", - "@tailwindcss/forms": "0.5.2", - "@tailwindcss/typography": "0.5.4", + "@tailwindcss/aspect-ratio": "0.4.2", + "@tailwindcss/forms": "0.5.3", + "@tailwindcss/typography": "0.5.8", "@types/bcrypt": "5.0.0", "@types/cookie-parser": "1.4.3", "@types/country-flag-icons": "1.2.0", "@types/csurf": "1.11.2", "@types/email-templates": "8.0.4", - "@types/express": "4.17.13", - "@types/express-session": "1.17.4", - "@types/lodash": "4.14.183", + "@types/express": "4.17.15", + "@types/express-session": "1.17.5", + "@types/lodash": "4.14.191", "@types/node": "17.0.36", "@types/node-schedule": "2.1.0", - "@types/nodemailer": "6.4.5", + "@types/nodemailer": "6.4.7", "@types/pulltorefreshjs": "0.1.5", - "@types/react": "18.0.17", - "@types/react-dom": "18.0.6", + "@types/react": "18.0.26", + "@types/react-dom": "18.0.10", "@types/react-transition-group": "4.4.5", "@types/secure-random-password": "0.2.1", - "@types/semver": "7.3.12", + "@types/semver": "7.3.13", "@types/swagger-ui-express": "4.1.3", "@types/web-push": "3.3.2", "@types/xml2js": "0.4.11", "@types/yamljs": "0.2.31", "@types/yup": "0.29.14", - "@typescript-eslint/eslint-plugin": "5.33.1", - "@typescript-eslint/parser": "5.33.1", - "autoprefixer": "10.4.8", + "@typescript-eslint/eslint-plugin": "5.48.0", + "@typescript-eslint/parser": "5.48.0", + "autoprefixer": "10.4.13", "babel-plugin-react-intl": "8.2.25", "babel-plugin-react-intl-auto": "3.3.0", - "commitizen": "4.2.5", + "commitizen": "4.2.6", "copyfiles": "2.4.1", "cy-mobile-commands": "0.3.0", - "cypress": "10.6.0", + "cypress": "12.3.0", "cz-conventional-changelog": "3.3.0", - "eslint": "8.22.0", - "eslint-config-next": "12.2.5", - "eslint-config-prettier": "8.5.0", - "eslint-plugin-formatjs": "4.1.0", + "eslint": "8.31.0", + "eslint-config-next": "12.3.4", + "eslint-config-prettier": "8.6.0", + "eslint-plugin-formatjs": "4.3.9", "eslint-plugin-jsx-a11y": "6.6.1", - "eslint-plugin-no-relative-import-paths": "1.4.0", + "eslint-plugin-no-relative-import-paths": "1.5.2", "eslint-plugin-prettier": "4.2.1", - "eslint-plugin-react": "7.30.1", + "eslint-plugin-react": "7.31.11", "eslint-plugin-react-hooks": "4.6.0", "extract-react-intl-messages": "4.1.1", - "husky": "8.0.1", - "lint-staged": "12.4.3", - "nodemon": "2.0.19", - "postcss": "8.4.16", - "prettier": "2.7.1", - "prettier-plugin-organize-imports": "3.1.0", - "prettier-plugin-tailwindcss": "0.1.13", - "semantic-release": "19.0.3", + "husky": "8.0.3", + "lint-staged": "13.1.0", + "nodemon": "2.0.20", + "postcss": "8.4.20", + "prettier": "2.8.1", + "prettier-plugin-organize-imports": "3.2.1", + "prettier-plugin-tailwindcss": "0.2.1", + "semantic-release": "19.0.5", "semantic-release-docker-buildx": "1.0.1", - "tailwindcss": "3.1.8", + "tailwindcss": "3.2.4", "ts-node": "10.9.1", - "tsc-alias": "1.7.0", - "tsconfig-paths": "4.1.0", - "typescript": "4.7.4" + "tsc-alias": "1.8.2", + "tsconfig-paths": "4.1.2", + "typescript": "4.9.4" }, "resolutions": { "sqlite3/node-gyp": "8.4.1", - "@types/react": "18.0.17", - "@types/react-dom": "18.0.6" + "@types/react": "18.0.26", + "@types/react-dom": "18.0.10" }, "config": { "commitizen": { diff --git a/server/api/externalapi.ts b/server/api/externalapi.ts index cc1e429ff3..33e40e4d4f 100644 --- a/server/api/externalapi.ts +++ b/server/api/externalapi.ts @@ -69,6 +69,30 @@ class ExternalAPI { return response.data; } + protected async post( + endpoint: string, + data: Record, + config?: AxiosRequestConfig, + ttl?: number + ): Promise { + const cacheKey = this.serializeCacheKey(endpoint, { + config: config?.params, + data, + }); + const cachedItem = this.cache?.get(cacheKey); + if (cachedItem) { + return cachedItem; + } + + const response = await this.axios.post(endpoint, data, config); + + if (this.cache) { + this.cache.set(cacheKey, response.data, ttl ?? DEFAULT_TTL); + } + + return response.data; + } + protected async getRolling( endpoint: string, config?: AxiosRequestConfig, diff --git a/server/api/rottentomatoes.ts b/server/api/rottentomatoes.ts index e190b7b974..7695e3987d 100644 --- a/server/api/rottentomatoes.ts +++ b/server/api/rottentomatoes.ts @@ -1,28 +1,40 @@ import cacheManager from '@server/lib/cache'; +import { getSettings } from '@server/lib/settings'; import ExternalAPI from './externalapi'; -interface RTSearchResult { - meterClass: 'certified_fresh' | 'fresh' | 'rotten'; - meterScore: number; - url: string; +interface RTAlgoliaSearchResponse { + results: { + hits: RTAlgoliaHit[]; + index: 'content_rt' | 'people_rt'; + }[]; } -interface RTTvSearchResult extends RTSearchResult { +interface RTAlgoliaHit { + emsId: string; + emsVersionId: string; + tmsId: string; + type: string; title: string; - startYear: number; - endYear: number; -} -interface RTMovieSearchResult extends RTSearchResult { - name: string; - url: string; - year: number; -} - -interface RTMultiSearchResponse { - tvCount: number; - tvSeries: RTTvSearchResult[]; - movieCount: number; - movies: RTMovieSearchResult[]; + titles: string[]; + description: string; + releaseYear: string; + rating: string; + genres: string[]; + updateDate: string; + isEmsSearchable: boolean; + rtId: number; + vanity: string; + aka: string[]; + posterImageUrl: string; + rottenTomatoes: { + audienceScore: number; + criticsIconUrl: string; + wantToSeeCount: number; + audienceIconUrl: string; + scoreSentiment: string; + certifiedFresh: boolean; + criticsScore: number; + }; } export interface RTRating { @@ -47,13 +59,20 @@ export interface RTRating { */ class RottenTomatoes extends ExternalAPI { constructor() { + const settings = getSettings(); super( - 'https://www.rottentomatoes.com/api/private', - {}, + 'https://79frdp12pn-dsn.algolia.net/1/indexes/*', + { + 'x-algolia-agent': + 'Algolia%20for%20JavaScript%20(4.14.3)%3B%20Browser%20(lite)', + 'x-algolia-api-key': '175588f6e5f8319b27702e4cc4013561', + 'x-algolia-application-id': '79FRDP12PN', + }, { headers: { 'Content-Type': 'application/json', Accept: 'application/json', + 'x-algolia-usertoken': settings.clientId, }, nodeCache: cacheManager.getCache('rt').data, } @@ -61,14 +80,11 @@ class RottenTomatoes extends ExternalAPI { } /** - * Search the 1.0 api for the movie title + * Search the RT algolia api for the movie title * * We compare the release date to make sure its the correct * match. But it's not guaranteed to have results. * - * We use the 1.0 API here because the 2.0 search api does - * not return audience ratings. - * * @param name Movie name * @param year Release Year */ @@ -77,30 +93,45 @@ class RottenTomatoes extends ExternalAPI { year: number ): Promise { try { - const data = await this.get('/v2.0/search/', { - params: { q: name, limit: 10 }, + const data = await this.post('/queries', { + requests: [ + { + indexName: 'content_rt', + query: name, + params: 'filters=isEmsSearchable%20%3D%201&hitsPerPage=20', + }, + ], }); + const contentResults = data.results.find((r) => r.index === 'content_rt'); + + if (!contentResults) { + return null; + } + // First, attempt to match exact name and year - let movie = data.movies.find( - (movie) => movie.year === year && movie.name === name + let movie = contentResults.hits.find( + (movie) => movie.releaseYear === year.toString() && movie.title === name ); // If we don't find a movie, try to match partial name and year if (!movie) { - movie = data.movies.find( - (movie) => movie.year === year && movie.name.includes(name) + movie = contentResults.hits.find( + (movie) => + movie.releaseYear === year.toString() && movie.title.includes(name) ); } // If we still dont find a movie, try to match just on year if (!movie) { - movie = data.movies.find((movie) => movie.year === year); + movie = contentResults.hits.find( + (movie) => movie.releaseYear === year.toString() + ); } // One last try, try exact name match only if (!movie) { - movie = data.movies.find((movie) => movie.name === name); + movie = contentResults.hits.find((movie) => movie.title === name); } if (!movie) { @@ -108,16 +139,15 @@ class RottenTomatoes extends ExternalAPI { } return { - title: movie.name, - url: `https://www.rottentomatoes.com${movie.url}`, - criticsRating: - movie.meterClass === 'certified_fresh' - ? 'Certified Fresh' - : movie.meterClass === 'fresh' - ? 'Fresh' - : 'Rotten', - criticsScore: movie.meterScore, - year: movie.year, + title: movie.title, + url: `https://www.rottentomatoes.com/m/${movie.vanity}`, + criticsRating: movie.rottenTomatoes.certifiedFresh + ? 'Certified Fresh' + : movie.rottenTomatoes.criticsScore >= 60 + ? 'Fresh' + : 'Rotten', + criticsScore: movie.rottenTomatoes.criticsScore, + year: Number(movie.releaseYear), }; } catch (e) { throw new Error( @@ -131,14 +161,28 @@ class RottenTomatoes extends ExternalAPI { year?: number ): Promise { try { - const data = await this.get('/v2.0/search/', { - params: { q: name, limit: 10 }, + const data = await this.post('/queries', { + requests: [ + { + indexName: 'content_rt', + query: name, + params: 'filters=isEmsSearchable%20%3D%201&hitsPerPage=20', + }, + ], }); - let tvshow: RTTvSearchResult | undefined = data.tvSeries[0]; + const contentResults = data.results.find((r) => r.index === 'content_rt'); + + if (!contentResults) { + return null; + } + + let tvshow: RTAlgoliaHit | undefined = contentResults.hits[0]; if (year) { - tvshow = data.tvSeries.find((series) => series.startYear === year); + tvshow = contentResults.hits.find( + (series) => series.releaseYear === year.toString() + ); } if (!tvshow) { @@ -147,10 +191,11 @@ class RottenTomatoes extends ExternalAPI { return { title: tvshow.title, - url: `https://www.rottentomatoes.com${tvshow.url}`, - criticsRating: tvshow.meterClass === 'fresh' ? 'Fresh' : 'Rotten', - criticsScore: tvshow.meterScore, - year: tvshow.startYear, + url: `https://www.rottentomatoes.com/tv/${tvshow.vanity}`, + criticsRating: + tvshow.rottenTomatoes.criticsScore >= 60 ? 'Fresh' : 'Rotten', + criticsScore: tvshow.rottenTomatoes.criticsScore, + year: Number(tvshow.releaseYear), }; } catch (e) { throw new Error(`[RT API] Failed to retrieve tv ratings: ${e.message}`); diff --git a/server/api/servarr/base.ts b/server/api/servarr/base.ts index 2b8ec4cb8f..c004b47469 100644 --- a/server/api/servarr/base.ts +++ b/server/api/servarr/base.ts @@ -158,7 +158,12 @@ class ServarrBase extends ExternalAPI { public getQueue = async (): Promise<(QueueItem & QueueItemAppendT)[]> => { try { const response = await this.axios.get>( - `/queue` + `/queue`, + { + params: { + includeEpisode: true, + }, + } ); return response.data.records; diff --git a/server/api/servarr/sonarr.ts b/server/api/servarr/sonarr.ts index a5b9c1e8d0..eca0208c72 100644 --- a/server/api/servarr/sonarr.ts +++ b/server/api/servarr/sonarr.ts @@ -13,6 +13,21 @@ interface SonarrSeason { percentOfEpisodes: number; }; } +interface EpisodeResult { + seriesId: number; + episodeFileId: number; + seasonNumber: number; + episodeNumber: number; + title: string; + airDate: string; + airDateUtc: string; + overview: string; + hasFile: boolean; + monitored: boolean; + absoluteEpisodeNumber: number; + unverifiedSceneNumbering: boolean; + id: number; +} export interface SonarrSeries { title: string; @@ -82,7 +97,11 @@ export interface LanguageProfile { name: string; } -class SonarrAPI extends ServarrBase<{ seriesId: number; episodeId: number }> { +class SonarrAPI extends ServarrBase<{ + seriesId: number; + episodeId: number; + episode: EpisodeResult; +}> { constructor({ url, apiKey }: { url: string; apiKey: string }) { super({ url, apiKey, apiName: 'Sonarr', cacheName: 'sonarr' }); } diff --git a/server/api/themoviedb/index.ts b/server/api/themoviedb/index.ts index ea05b8ab99..7aad32c1e7 100644 --- a/server/api/themoviedb/index.ts +++ b/server/api/themoviedb/index.ts @@ -3,9 +3,12 @@ import cacheManager from '@server/lib/cache'; import { sortBy } from 'lodash'; import type { TmdbCollection, + TmdbCompanySearchResponse, TmdbExternalIdResponse, TmdbGenre, TmdbGenresResult, + TmdbKeyword, + TmdbKeywordSearchResponse, TmdbLanguage, TmdbMovieDetails, TmdbNetwork, @@ -19,6 +22,8 @@ import type { TmdbSeasonWithEpisodes, TmdbTvDetails, TmdbUpcomingMoviesResponse, + TmdbWatchProviderDetails, + TmdbWatchProviderRegion, } from './interfaces'; interface SearchOptions { @@ -32,30 +37,41 @@ interface SingleSearchOptions extends SearchOptions { year?: number; } +export type SortOptions = + | 'popularity.asc' + | 'popularity.desc' + | 'release_date.asc' + | 'release_date.desc' + | 'revenue.asc' + | 'revenue.desc' + | 'primary_release_date.asc' + | 'primary_release_date.desc' + | 'original_title.asc' + | 'original_title.desc' + | 'vote_average.asc' + | 'vote_average.desc' + | 'vote_count.asc' + | 'vote_count.desc' + | 'first_air_date.asc' + | 'first_air_date.desc'; + interface DiscoverMovieOptions { page?: number; includeAdult?: boolean; language?: string; primaryReleaseDateGte?: string; primaryReleaseDateLte?: string; + withRuntimeGte?: string; + withRuntimeLte?: string; + voteAverageGte?: string; + voteAverageLte?: string; originalLanguage?: string; - genre?: number; - studio?: number; - sortBy?: - | 'popularity.asc' - | 'popularity.desc' - | 'release_date.asc' - | 'release_date.desc' - | 'revenue.asc' - | 'revenue.desc' - | 'primary_release_date.asc' - | 'primary_release_date.desc' - | 'original_title.asc' - | 'original_title.desc' - | 'vote_average.asc' - | 'vote_average.desc' - | 'vote_count.asc' - | 'vote_count.desc'; + genre?: string; + studio?: string; + keywords?: string; + sortBy?: SortOptions; + watchRegion?: string; + watchProviders?: string; } interface DiscoverTvOptions { @@ -63,19 +79,18 @@ interface DiscoverTvOptions { language?: string; firstAirDateGte?: string; firstAirDateLte?: string; + withRuntimeGte?: string; + withRuntimeLte?: string; + voteAverageGte?: string; + voteAverageLte?: string; includeEmptyReleaseDate?: boolean; originalLanguage?: string; genre?: number; network?: number; - sortBy?: - | 'popularity.asc' - | 'popularity.desc' - | 'vote_average.asc' - | 'vote_average.desc' - | 'vote_count.asc' - | 'vote_count.desc' - | 'first_air_date.asc' - | 'first_air_date.desc'; + keywords?: string; + sortBy?: SortOptions; + watchRegion?: string; + watchProviders?: string; } class TheMovieDb extends ExternalAPI { @@ -237,7 +252,7 @@ class TheMovieDb extends ExternalAPI { params: { language, append_to_response: - 'credits,external_ids,videos,release_dates,watch/providers', + 'credits,external_ids,videos,keywords,release_dates,watch/providers', }, }, 43200 @@ -440,8 +455,25 @@ class TheMovieDb extends ExternalAPI { originalLanguage, genre, studio, + keywords, + withRuntimeGte, + withRuntimeLte, + voteAverageGte, + voteAverageLte, + watchProviders, + watchRegion, }: DiscoverMovieOptions = {}): Promise => { try { + const defaultFutureDate = new Date( + Date.now() + 1000 * 60 * 60 * 24 * (365 * 1.5) + ) + .toISOString() + .split('T')[0]; + + const defaultPastDate = new Date('1900-01-01') + .toISOString() + .split('T')[0]; + const data = await this.get('/discover/movie', { params: { sort_by: sortBy, @@ -449,11 +481,31 @@ class TheMovieDb extends ExternalAPI { include_adult: includeAdult, language, region: this.region, - with_original_language: originalLanguage ?? this.originalLanguage, - 'primary_release_date.gte': primaryReleaseDateGte, - 'primary_release_date.lte': primaryReleaseDateLte, + with_original_language: + originalLanguage && originalLanguage !== 'all' + ? originalLanguage + : originalLanguage === 'all' + ? undefined + : this.originalLanguage, + // Set our release date values, but check if one is set and not the other, + // so we can force a past date or a future date. TMDB Requires both values if one is set! + 'primary_release_date.gte': + !primaryReleaseDateGte && primaryReleaseDateLte + ? defaultPastDate + : primaryReleaseDateGte, + 'primary_release_date.lte': + !primaryReleaseDateLte && primaryReleaseDateGte + ? defaultFutureDate + : primaryReleaseDateLte, with_genres: genre, with_companies: studio, + with_keywords: keywords, + 'with_runtime.gte': withRuntimeGte, + 'with_runtime.lte': withRuntimeLte, + 'vote_average.gte': voteAverageGte, + 'vote_average.lte': voteAverageLte, + watch_region: watchRegion, + with_watch_providers: watchProviders, }, }); @@ -473,20 +525,57 @@ class TheMovieDb extends ExternalAPI { originalLanguage, genre, network, + keywords, + withRuntimeGte, + withRuntimeLte, + voteAverageGte, + voteAverageLte, + watchProviders, + watchRegion, }: DiscoverTvOptions = {}): Promise => { try { + const defaultFutureDate = new Date( + Date.now() + 1000 * 60 * 60 * 24 * (365 * 1.5) + ) + .toISOString() + .split('T')[0]; + + const defaultPastDate = new Date('1900-01-01') + .toISOString() + .split('T')[0]; + const data = await this.get('/discover/tv', { params: { sort_by: sortBy, page, language, region: this.region, - 'first_air_date.gte': firstAirDateGte, - 'first_air_date.lte': firstAirDateLte, - with_original_language: originalLanguage ?? this.originalLanguage, + // Set our release date values, but check if one is set and not the other, + // so we can force a past date or a future date. TMDB Requires both values if one is set! + 'first_air_date.gte': + !firstAirDateGte && firstAirDateLte + ? defaultPastDate + : firstAirDateGte, + 'first_air_date.lte': + !firstAirDateLte && firstAirDateGte + ? defaultFutureDate + : firstAirDateLte, + with_original_language: + originalLanguage && originalLanguage !== 'all' + ? originalLanguage + : originalLanguage === 'all' + ? undefined + : this.originalLanguage, include_null_first_air_dates: includeEmptyReleaseDate, with_genres: genre, with_networks: network, + with_keywords: keywords, + 'with_runtime.gte': withRuntimeGte, + 'with_runtime.lte': withRuntimeLte, + 'vote_average.gte': voteAverageGte, + 'vote_average.lte': voteAverageLte, + with_watch_providers: watchProviders, + watch_region: watchRegion, }, }); @@ -874,6 +963,152 @@ class TheMovieDb extends ExternalAPI { throw new Error(`[TMDB] Failed to fetch TV genres: ${e.message}`); } } + + public async getKeywordDetails({ + keywordId, + }: { + keywordId: number; + }): Promise { + try { + const data = await this.get( + `/keyword/${keywordId}`, + undefined, + 604800 // 7 days + ); + + return data; + } catch (e) { + throw new Error(`[TMDB] Failed to fetch keyword: ${e.message}`); + } + } + + public async searchKeyword({ + query, + page = 1, + }: { + query: string; + page?: number; + }): Promise { + try { + const data = await this.get( + '/search/keyword', + { + params: { + query, + page, + }, + }, + 86400 // 24 hours + ); + + return data; + } catch (e) { + throw new Error(`[TMDB] Failed to search keyword: ${e.message}`); + } + } + + public async searchCompany({ + query, + page = 1, + }: { + query: string; + page?: number; + }): Promise { + try { + const data = await this.get( + '/search/company', + { + params: { + query, + page, + }, + }, + 86400 // 24 hours + ); + + return data; + } catch (e) { + throw new Error(`[TMDB] Failed to search companies: ${e.message}`); + } + } + + public async getAvailableWatchProviderRegions({ + language, + }: { + language?: string; + }) { + try { + const data = await this.get<{ results: TmdbWatchProviderRegion[] }>( + '/watch/providers/regions', + { + params: { + language: language ?? this.originalLanguage, + }, + }, + 86400 // 24 hours + ); + + return data.results; + } catch (e) { + throw new Error( + `[TMDB] Failed to fetch available watch regions: ${e.message}` + ); + } + } + + public async getMovieWatchProviders({ + language, + watchRegion, + }: { + language?: string; + watchRegion: string; + }) { + try { + const data = await this.get<{ results: TmdbWatchProviderDetails[] }>( + '/watch/providers/movie', + { + params: { + language: language ?? this.originalLanguage, + watch_region: watchRegion, + }, + }, + 86400 // 24 hours + ); + + return data.results; + } catch (e) { + throw new Error( + `[TMDB] Failed to fetch movie watch providers: ${e.message}` + ); + } + } + + public async getTvWatchProviders({ + language, + watchRegion, + }: { + language?: string; + watchRegion: string; + }) { + try { + const data = await this.get<{ results: TmdbWatchProviderDetails[] }>( + '/watch/providers/tv', + { + params: { + language: language ?? this.originalLanguage, + watch_region: watchRegion, + }, + }, + 86400 // 24 hours + ); + + return data.results; + } catch (e) { + throw new Error( + `[TMDB] Failed to fetch TV watch providers: ${e.message}` + ); + } + } } export default TheMovieDb; diff --git a/server/api/themoviedb/interfaces.ts b/server/api/themoviedb/interfaces.ts index 6d005dc94d..955e1b12eb 100644 --- a/server/api/themoviedb/interfaces.ts +++ b/server/api/themoviedb/interfaces.ts @@ -171,6 +171,9 @@ export interface TmdbMovieDetails { id: number; results?: { [iso_3166_1: string]: TmdbWatchProviders }; }; + keywords: { + keywords: TmdbKeyword[]; + }; } export interface TmdbVideo { @@ -428,3 +431,24 @@ export interface TmdbWatchProviderDetails { provider_id: number; provider_name: string; } + +export interface TmdbKeywordSearchResponse extends TmdbPaginatedResponse { + results: TmdbKeyword[]; +} + +// We have production companies, but the company search results return less data +export interface TmdbCompany { + id: number; + logo_path?: string; + name: string; +} + +export interface TmdbCompanySearchResponse extends TmdbPaginatedResponse { + results: TmdbCompany[]; +} + +export interface TmdbWatchProviderRegion { + iso_3166_1: string; + english_name: string; + native_name: string; +} diff --git a/server/constants/discover.ts b/server/constants/discover.ts new file mode 100644 index 0000000000..a19f07422e --- /dev/null +++ b/server/constants/discover.ts @@ -0,0 +1,98 @@ +import type DiscoverSlider from '@server/entity/DiscoverSlider'; + +export enum DiscoverSliderType { + RECENTLY_ADDED = 1, + RECENT_REQUESTS, + PLEX_WATCHLIST, + TRENDING, + POPULAR_MOVIES, + MOVIE_GENRES, + UPCOMING_MOVIES, + STUDIOS, + POPULAR_TV, + TV_GENRES, + UPCOMING_TV, + NETWORKS, + TMDB_MOVIE_KEYWORD, + TMDB_MOVIE_GENRE, + TMDB_TV_KEYWORD, + TMDB_TV_GENRE, + TMDB_SEARCH, + TMDB_STUDIO, + TMDB_NETWORK, +} + +export const defaultSliders: Partial[] = [ + { + type: DiscoverSliderType.RECENTLY_ADDED, + enabled: true, + isBuiltIn: true, + order: 0, + }, + { + type: DiscoverSliderType.RECENT_REQUESTS, + enabled: true, + isBuiltIn: true, + order: 1, + }, + { + type: DiscoverSliderType.PLEX_WATCHLIST, + enabled: true, + isBuiltIn: true, + order: 2, + }, + { + type: DiscoverSliderType.TRENDING, + enabled: true, + isBuiltIn: true, + order: 3, + }, + { + type: DiscoverSliderType.POPULAR_MOVIES, + enabled: true, + isBuiltIn: true, + order: 4, + }, + { + type: DiscoverSliderType.MOVIE_GENRES, + enabled: true, + isBuiltIn: true, + order: 5, + }, + { + type: DiscoverSliderType.UPCOMING_MOVIES, + enabled: true, + isBuiltIn: true, + order: 6, + }, + { + type: DiscoverSliderType.STUDIOS, + enabled: true, + isBuiltIn: true, + order: 7, + }, + { + type: DiscoverSliderType.POPULAR_TV, + enabled: true, + isBuiltIn: true, + order: 8, + }, + { + type: DiscoverSliderType.TV_GENRES, + enabled: true, + isBuiltIn: true, + order: 9, + }, + { + type: DiscoverSliderType.UPCOMING_TV, + enabled: true, + isBuiltIn: true, + order: 10, + }, + { + type: DiscoverSliderType.NETWORKS, + enabled: true, + isBuiltIn: true, + order: 11, + }, +]; diff --git a/server/datasource.ts b/server/datasource.ts index a683929897..d4eadaa10d 100644 --- a/server/datasource.ts +++ b/server/datasource.ts @@ -34,7 +34,7 @@ const dataSource = new DataSource( process.env.NODE_ENV !== 'production' ? devConfig : prodConfig ); -export const getRepository = ( +export const getRepository = ( target: EntityTarget ): Repository => { return dataSource.getRepository(target); diff --git a/server/entity/DiscoverSlider.ts b/server/entity/DiscoverSlider.ts new file mode 100644 index 0000000000..261419a078 --- /dev/null +++ b/server/entity/DiscoverSlider.ts @@ -0,0 +1,69 @@ +import type { DiscoverSliderType } from '@server/constants/discover'; +import { defaultSliders } from '@server/constants/discover'; +import { getRepository } from '@server/datasource'; +import logger from '@server/logger'; +import { + Column, + CreateDateColumn, + Entity, + PrimaryGeneratedColumn, + UpdateDateColumn, +} from 'typeorm'; + +@Entity() +class DiscoverSlider { + public static async bootstrapSliders(): Promise { + const sliderRepository = getRepository(DiscoverSlider); + + for (const slider of defaultSliders) { + const existingSlider = await sliderRepository.findOne({ + where: { + type: slider.type, + }, + }); + + if (!existingSlider) { + logger.info('Creating built-in discovery slider', { + label: 'Discover Slider', + slider, + }); + await sliderRepository.save(new DiscoverSlider(slider)); + } + } + } + + @PrimaryGeneratedColumn() + public id: number; + + @Column({ type: 'int' }) + public type: DiscoverSliderType; + + @Column({ type: 'int' }) + public order: number; + + @Column({ default: false }) + public isBuiltIn: boolean; + + @Column({ default: true }) + public enabled: boolean; + + @Column({ nullable: true }) + // Title is not required for built in sliders because we will + // use translations for them. + public title?: string; + + @Column({ nullable: true }) + public data?: string; + + @CreateDateColumn() + public createdAt: Date; + + @UpdateDateColumn() + public updatedAt: Date; + + constructor(init?: Partial) { + Object.assign(this, init); + } +} + +export default DiscoverSlider; diff --git a/server/entity/MediaRequest.ts b/server/entity/MediaRequest.ts index eefbc11f37..fad97ef6b6 100644 --- a/server/entity/MediaRequest.ts +++ b/server/entity/MediaRequest.ts @@ -767,7 +767,16 @@ export class MediaRequest { if ( media[this.is4k ? 'status4k' : 'status'] === MediaStatus.AVAILABLE ) { - throw new Error('Media already available'); + logger.warn('Media already exists, marking request as APPROVED', { + label: 'Media Request', + requestId: this.id, + mediaId: this.media.id, + }); + + const requestRepository = getRepository(MediaRequest); + this.status = MediaRequestStatus.APPROVED; + await requestRepository.save(this); + return; } const radarrMovieOptions: RadarrMovieOptions = { @@ -908,7 +917,16 @@ export class MediaRequest { if ( media[this.is4k ? 'status4k' : 'status'] === MediaStatus.AVAILABLE ) { - throw new Error('Media already available'); + logger.warn('Media already exists, marking request as APPROVED', { + label: 'Media Request', + requestId: this.id, + mediaId: this.media.id, + }); + + const requestRepository = getRepository(MediaRequest); + this.status = MediaRequestStatus.APPROVED; + await requestRepository.save(this); + return; } const tmdb = new TheMovieDb(); diff --git a/server/index.ts b/server/index.ts index 12df2f1fd7..93703402e5 100644 --- a/server/index.ts +++ b/server/index.ts @@ -1,5 +1,6 @@ import PlexAPI from '@server/api/plexapi'; import dataSource, { getRepository } from '@server/datasource'; +import DiscoverSlider from '@server/entity/DiscoverSlider'; import { Session } from '@server/entity/Session'; import { User } from '@server/entity/User'; import { startJobs } from '@server/job/schedule'; @@ -95,6 +96,9 @@ app // Start Jobs startJobs(); + // Bootstrap Discovery Sliders + await DiscoverSlider.bootstrapSliders(); + const server = express(); if (settings.main.trustProxy) { server.enable('trust proxy'); diff --git a/server/lib/downloadtracker.ts b/server/lib/downloadtracker.ts index 4aef968f12..cf29313e9f 100644 --- a/server/lib/downloadtracker.ts +++ b/server/lib/downloadtracker.ts @@ -5,6 +5,12 @@ import { getSettings } from '@server/lib/settings'; import logger from '@server/logger'; import { uniqWith } from 'lodash'; +interface EpisodeNumberResult { + seasonNumber: number; + episodeNumber: number; + absoluteEpisodeNumber: number; + id: number; +} export interface DownloadingItem { mediaType: MediaType; externalId: number; @@ -14,6 +20,7 @@ export interface DownloadingItem { timeLeft: string; estimatedCompletionTime: Date; title: string; + episode?: EpisodeNumberResult; } class DownloadTracker { @@ -164,6 +171,7 @@ class DownloadTracker { status: item.status, timeLeft: item.timeleft, title: item.title, + episode: item.episode, })); if (queueItems.length > 0) { diff --git a/server/lib/imageproxy.ts b/server/lib/imageproxy.ts index 34a097d5f5..4ba6b97a75 100644 --- a/server/lib/imageproxy.ts +++ b/server/lib/imageproxy.ts @@ -192,9 +192,11 @@ class ImageProxy { const buffer = Buffer.from(response.data, 'binary'); const extension = path.split('.').pop() ?? ''; - const maxAge = Number(response.headers['cache-control'].split('=')[1]); + const maxAge = Number( + (response.headers['cache-control'] ?? '0').split('=')[1] + ); const expireAt = Date.now() + maxAge * 1000; - const etag = response.headers.etag.replace(/"/g, ''); + const etag = (response.headers.etag ?? '').replace(/"/g, ''); await this.writeToCacheDir( directory, diff --git a/server/migration/1672041273674-AddDiscoverSlider.ts b/server/migration/1672041273674-AddDiscoverSlider.ts new file mode 100644 index 0000000000..81cb143249 --- /dev/null +++ b/server/migration/1672041273674-AddDiscoverSlider.ts @@ -0,0 +1,15 @@ +import type { MigrationInterface, QueryRunner } from 'typeorm'; + +export class AddDiscoverSlider1672041273674 implements MigrationInterface { + name = 'AddDiscoverSlider1672041273674'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TABLE "discover_slider" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "type" integer NOT NULL, "order" integer NOT NULL, "isBuiltIn" boolean NOT NULL DEFAULT (0), "enabled" boolean NOT NULL DEFAULT (1), "title" varchar, "data" varchar, "createdAt" datetime NOT NULL DEFAULT (datetime('now')), "updatedAt" datetime NOT NULL DEFAULT (datetime('now')))` + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP TABLE "discover_slider"`); + } +} diff --git a/server/models/Movie.ts b/server/models/Movie.ts index 3c4686b2cc..19f812dd18 100644 --- a/server/models/Movie.ts +++ b/server/models/Movie.ts @@ -9,6 +9,7 @@ import type { Crew, ExternalIds, Genre, + Keyword, ProductionCompany, WatchProviders, } from './common'; @@ -83,6 +84,7 @@ export interface MovieDetails { externalIds: ExternalIds; plexUrl?: string; watchProviders?: WatchProviders[]; + keywords: Keyword[]; } export const mapProductionCompany = ( @@ -142,4 +144,8 @@ export const mapMovieDetails = ( externalIds: mapExternalIds(movie.external_ids), mediaInfo: media, watchProviders: mapWatchProviders(movie['watch/providers']?.results ?? {}), + keywords: movie.keywords.keywords.map((keyword) => ({ + id: keyword.id, + name: keyword.name, + })), }); diff --git a/server/routes/discover.ts b/server/routes/discover.ts index b39a83325e..ce9e3afff1 100644 --- a/server/routes/discover.ts +++ b/server/routes/discover.ts @@ -1,5 +1,7 @@ import PlexTvAPI from '@server/api/plextv'; +import type { SortOptions } from '@server/api/themoviedb'; import TheMovieDb from '@server/api/themoviedb'; +import type { TmdbKeyword } from '@server/api/themoviedb/interfaces'; import { MediaType } from '@server/constants/media'; import { getRepository } from '@server/datasource'; import Media from '@server/entity/Media'; @@ -20,6 +22,7 @@ import { mapNetwork } from '@server/models/Tv'; import { isMovie, isPerson } from '@server/utils/typeHelpers'; import { Router } from 'express'; import { sortBy } from 'lodash'; +import { z } from 'zod'; export const createTmdbWithRegionLanguage = (user?: User): TheMovieDb => { const settings = getSettings(); @@ -46,25 +49,76 @@ export const createTmdbWithRegionLanguage = (user?: User): TheMovieDb => { const discoverRoutes = Router(); +const QueryFilterOptions = z.object({ + page: z.coerce.string().optional(), + sortBy: z.coerce.string().optional(), + primaryReleaseDateGte: z.coerce.string().optional(), + primaryReleaseDateLte: z.coerce.string().optional(), + firstAirDateGte: z.coerce.string().optional(), + firstAirDateLte: z.coerce.string().optional(), + studio: z.coerce.string().optional(), + genre: z.coerce.string().optional(), + keywords: z.coerce.string().optional(), + language: z.coerce.string().optional(), + withRuntimeGte: z.coerce.string().optional(), + withRuntimeLte: z.coerce.string().optional(), + voteAverageGte: z.coerce.string().optional(), + voteAverageLte: z.coerce.string().optional(), + network: z.coerce.string().optional(), + watchProviders: z.coerce.string().optional(), + watchRegion: z.coerce.string().optional(), +}); + +export type FilterOptions = z.infer; + discoverRoutes.get('/movies', async (req, res, next) => { const tmdb = createTmdbWithRegionLanguage(req.user); try { + const query = QueryFilterOptions.parse(req.query); + const keywords = query.keywords; const data = await tmdb.getDiscoverMovies({ - page: Number(req.query.page), - language: req.locale ?? (req.query.language as string), - genre: req.query.genre ? Number(req.query.genre) : undefined, - studio: req.query.studio ? Number(req.query.studio) : undefined, + page: Number(query.page), + sortBy: query.sortBy as SortOptions, + language: req.locale ?? query.language, + originalLanguage: query.language, + genre: query.genre, + studio: query.studio, + primaryReleaseDateLte: query.primaryReleaseDateLte + ? new Date(query.primaryReleaseDateLte).toISOString().split('T')[0] + : undefined, + primaryReleaseDateGte: query.primaryReleaseDateGte + ? new Date(query.primaryReleaseDateGte).toISOString().split('T')[0] + : undefined, + keywords, + withRuntimeGte: query.withRuntimeGte, + withRuntimeLte: query.withRuntimeLte, + voteAverageGte: query.voteAverageGte, + voteAverageLte: query.voteAverageLte, + watchProviders: query.watchProviders, + watchRegion: query.watchRegion, }); const media = await Media.getRelatedMedia( data.results.map((result) => result.id) ); + let keywordData: TmdbKeyword[] = []; + if (keywords) { + const splitKeywords = keywords.split(','); + + keywordData = await Promise.all( + splitKeywords.map(async (keywordId) => { + return await tmdb.getKeywordDetails({ keywordId: Number(keywordId) }); + }) + ); + } + return res.status(200).json({ page: data.page, totalPages: data.total_pages, totalResults: data.total_results, + keywords: keywordData, results: data.results.map((result) => mapMovieResult( result, @@ -163,7 +217,7 @@ discoverRoutes.get<{ genreId: string }>( const data = await tmdb.getDiscoverMovies({ page: Number(req.query.page), language: req.locale ?? (req.query.language as string), - genre: Number(req.params.genreId), + genre: req.params.genreId as string, }); const media = await Media.getRelatedMedia( @@ -210,7 +264,7 @@ discoverRoutes.get<{ studioId: string }>( const data = await tmdb.getDiscoverMovies({ page: Number(req.query.page), language: req.locale ?? (req.query.language as string), - studio: Number(req.params.studioId), + studio: req.params.studioId as string, }); const media = await Media.getRelatedMedia( @@ -296,21 +350,50 @@ discoverRoutes.get('/tv', async (req, res, next) => { const tmdb = createTmdbWithRegionLanguage(req.user); try { + const query = QueryFilterOptions.parse(req.query); + const keywords = query.keywords; const data = await tmdb.getDiscoverTv({ - page: Number(req.query.page), - language: req.locale ?? (req.query.language as string), - genre: req.query.genre ? Number(req.query.genre) : undefined, - network: req.query.network ? Number(req.query.network) : undefined, + page: Number(query.page), + sortBy: query.sortBy as SortOptions, + language: req.locale ?? query.language, + genre: query.genre ? Number(query.genre) : undefined, + network: query.network ? Number(query.network) : undefined, + firstAirDateLte: query.firstAirDateLte + ? new Date(query.firstAirDateLte).toISOString().split('T')[0] + : undefined, + firstAirDateGte: query.firstAirDateGte + ? new Date(query.firstAirDateGte).toISOString().split('T')[0] + : undefined, + originalLanguage: query.language, + keywords, + withRuntimeGte: query.withRuntimeGte, + withRuntimeLte: query.withRuntimeLte, + voteAverageGte: query.voteAverageGte, + voteAverageLte: query.voteAverageLte, + watchProviders: query.watchProviders, + watchRegion: query.watchRegion, }); const media = await Media.getRelatedMedia( data.results.map((result) => result.id) ); + let keywordData: TmdbKeyword[] = []; + if (keywords) { + const splitKeywords = keywords.split(','); + + keywordData = await Promise.all( + splitKeywords.map(async (keywordId) => { + return await tmdb.getKeywordDetails({ keywordId: Number(keywordId) }); + }) + ); + } + return res.status(200).json({ page: data.page, totalPages: data.total_pages, totalResults: data.total_results, + keywords: keywordData, results: data.results.map((result) => mapTvResult( result, @@ -643,7 +726,9 @@ discoverRoutes.get<{ language: string }, GenreSliderItem[]>( await Promise.all( genres.map(async (genre) => { - const genreData = await tmdb.getDiscoverMovies({ genre: genre.id }); + const genreData = await tmdb.getDiscoverMovies({ + genre: genre.id.toString(), + }); mappedGenres.push({ id: genre.id, diff --git a/server/routes/index.ts b/server/routes/index.ts index 9561e171b1..f76f09fa09 100644 --- a/server/routes/index.ts +++ b/server/routes/index.ts @@ -4,11 +4,14 @@ import type { TmdbMovieResult, TmdbTvResult, } from '@server/api/themoviedb/interfaces'; +import { getRepository } from '@server/datasource'; +import DiscoverSlider from '@server/entity/DiscoverSlider'; import type { StatusResponse } from '@server/interfaces/api/settingsInterfaces'; import { Permission } from '@server/lib/permissions'; import { getSettings } from '@server/lib/settings'; import logger from '@server/logger'; import { checkUser, isAuthenticated } from '@server/middleware/auth'; +import { mapWatchProviderDetails } from '@server/models/common'; import { mapProductionCompany } from '@server/models/Movie'; import { mapNetwork } from '@server/models/Tv'; import settingsRoutes from '@server/routes/settings'; @@ -102,6 +105,13 @@ router.get('/settings/public', async (req, res) => { return res.status(200).json(settings.fullPublicSettings); } }); +router.get('/settings/discover', isAuthenticated(), async (_req, res) => { + const sliderRepository = getRepository(DiscoverSlider); + + const sliders = await sliderRepository.find({ order: { order: 'ASC' } }); + + return res.json(sliders); +}); router.use('/settings', isAuthenticated(Permission.ADMIN), settingsRoutes); router.use('/search', isAuthenticated(), searchRoutes); router.use('/discover', isAuthenticated(), discoverRoutes); @@ -269,6 +279,87 @@ router.get('/backdrops', async (req, res, next) => { } }); +router.get('/keyword/:keywordId', async (req, res, next) => { + const tmdb = createTmdbWithRegionLanguage(); + + try { + const result = await tmdb.getKeywordDetails({ + keywordId: Number(req.params.keywordId), + }); + + return res.status(200).json(result); + } catch (e) { + logger.debug('Something went wrong retrieving keyword data', { + label: 'API', + errorMessage: e.message, + }); + return next({ + status: 500, + message: 'Unable to retrieve keyword data.', + }); + } +}); + +router.get('/watchproviders/regions', async (req, res, next) => { + const tmdb = createTmdbWithRegionLanguage(); + + try { + const result = await tmdb.getAvailableWatchProviderRegions({}); + return res.status(200).json(result); + } catch (e) { + logger.debug('Something went wrong retrieving watch provider regions', { + label: 'API', + errorMessage: e.message, + }); + return next({ + status: 500, + message: 'Unable to retrieve watch provider regions.', + }); + } +}); + +router.get('/watchproviders/movies', async (req, res, next) => { + const tmdb = createTmdbWithRegionLanguage(); + + try { + const result = await tmdb.getMovieWatchProviders({ + watchRegion: req.query.watchRegion as string, + }); + + return res.status(200).json(mapWatchProviderDetails(result)); + } catch (e) { + logger.debug('Something went wrong retrieving movie watch providers', { + label: 'API', + errorMessage: e.message, + }); + return next({ + status: 500, + message: 'Unable to retrieve movie watch providers.', + }); + } +}); + +router.get('/watchproviders/tv', async (req, res, next) => { + const tmdb = createTmdbWithRegionLanguage(); + + try { + const result = await tmdb.getTvWatchProviders({ + watchRegion: req.query.watchRegion as string, + }); + + return res.status(200).json(mapWatchProviderDetails(result)); + } catch (e) { + logger.debug('Something went wrong retrieving tv watch providers', { + label: 'API', + errorMessage: e.message, + }); + return next({ + status: 500, + message: 'Unable to retrieve tv watch providers.', + }); + } +}); + router.get('/', (_req, res) => { return res.status(200).json({ api: 'Overseerr API', diff --git a/server/routes/issue.ts b/server/routes/issue.ts index 6349bb74a5..953b375740 100644 --- a/server/routes/issue.ts +++ b/server/routes/issue.ts @@ -308,7 +308,9 @@ issueRoutes.post<{ issueId: string }, Issue, { message: string }>( issueRoutes.post<{ issueId: string; status: string }, Issue>( '/:issueId/:status', - isAuthenticated(Permission.MANAGE_ISSUES), + isAuthenticated([Permission.MANAGE_ISSUES, Permission.CREATE_ISSUES], { + type: 'or', + }), async (req, res, next) => { const issueRepository = getRepository(Issue); // Satisfy typescript here. User is set, we assure you! @@ -321,6 +323,16 @@ issueRoutes.post<{ issueId: string; status: string }, Issue>( where: { id: Number(req.params.issueId) }, }); + if ( + !req.user?.hasPermission(Permission.MANAGE_ISSUES) && + issue.createdBy.id !== req.user?.id + ) { + return next({ + status: 401, + message: 'You do not have permission to modify this issue.', + }); + } + let newStatus: IssueStatus | undefined; switch (req.params.status) { diff --git a/server/routes/person.ts b/server/routes/person.ts index 009d62af73..7f5d62236b 100644 --- a/server/routes/person.ts +++ b/server/routes/person.ts @@ -1,7 +1,5 @@ import TheMovieDb from '@server/api/themoviedb'; -import { MediaStatus } from '@server/constants/media'; import Media from '@server/entity/Media'; -import { getSettings } from '@server/lib/settings'; import logger from '@server/logger'; import { mapCastCredits, @@ -36,7 +34,6 @@ personRoutes.get('/:id', async (req, res, next) => { personRoutes.get('/:id/combined_credits', async (req, res, next) => { const tmdb = new TheMovieDb(); - const settings = getSettings(); try { const combinedCredits = await tmdb.getPersonCombinedCredits({ @@ -44,30 +41,14 @@ personRoutes.get('/:id/combined_credits', async (req, res, next) => { language: req.locale ?? (req.query.language as string), }); - let castMedia = await Media.getRelatedMedia( + const castMedia = await Media.getRelatedMedia( combinedCredits.cast.map((result) => result.id) ); - let crewMedia = await Media.getRelatedMedia( + const crewMedia = await Media.getRelatedMedia( combinedCredits.crew.map((result) => result.id) ); - if (settings.main.hideAvailable) { - castMedia = castMedia.filter( - (media) => - (media.mediaType === 'movie' || media.mediaType === 'tv') && - media.status !== MediaStatus.AVAILABLE && - media.status !== MediaStatus.PARTIALLY_AVAILABLE - ); - - crewMedia = crewMedia.filter( - (media) => - (media.mediaType === 'movie' || media.mediaType === 'tv') && - media.status !== MediaStatus.AVAILABLE && - media.status !== MediaStatus.PARTIALLY_AVAILABLE - ); - } - return res.status(200).json({ cast: combinedCredits.cast .map((result) => diff --git a/server/routes/request.ts b/server/routes/request.ts index 9c9d96a825..83c05b4856 100644 --- a/server/routes/request.ts +++ b/server/routes/request.ts @@ -492,8 +492,10 @@ requestRoutes.post<{ relations: { requestedBy: true, modifiedBy: true }, }); - await request.updateParentStatus(); - await request.sendMedia(); + // this also triggers updating the parent media's status & sending to *arr + request.status = MediaRequestStatus.APPROVED; + await requestRepository.save(request); + return res.status(200).json(request); } catch (e) { logger.error('Error processing request retry', { diff --git a/server/routes/search.ts b/server/routes/search.ts index 1152bce316..b9254221ad 100644 --- a/server/routes/search.ts +++ b/server/routes/search.ts @@ -56,4 +56,50 @@ searchRoutes.get('/', async (req, res, next) => { } }); +searchRoutes.get('/keyword', async (req, res, next) => { + const tmdb = new TheMovieDb(); + + try { + const results = await tmdb.searchKeyword({ + query: req.query.query as string, + page: Number(req.query.page), + }); + + return res.status(200).json(results); + } catch (e) { + logger.debug('Something went wrong retrieving keyword search results', { + label: 'API', + errorMessage: e.message, + query: req.query.query, + }); + return next({ + status: 500, + message: 'Unable to retrieve keyword search results.', + }); + } +}); + +searchRoutes.get('/company', async (req, res, next) => { + const tmdb = new TheMovieDb(); + + try { + const results = await tmdb.searchCompany({ + query: req.query.query as string, + page: Number(req.query.page), + }); + + return res.status(200).json(results); + } catch (e) { + logger.debug('Something went wrong retrieving company search results', { + label: 'API', + errorMessage: e.message, + query: req.query.query, + }); + return next({ + status: 500, + message: 'Unable to retrieve company search results.', + }); + } +}); + export default searchRoutes; diff --git a/server/routes/settings/discover.ts b/server/routes/settings/discover.ts new file mode 100644 index 0000000000..344ce72bea --- /dev/null +++ b/server/routes/settings/discover.ts @@ -0,0 +1,131 @@ +import { getRepository } from '@server/datasource'; +import DiscoverSlider from '@server/entity/DiscoverSlider'; +import logger from '@server/logger'; +import { Router } from 'express'; + +const discoverSettingRoutes = Router(); + +discoverSettingRoutes.post('/', async (req, res) => { + const sliderRepository = getRepository(DiscoverSlider); + + const sliders = req.body as DiscoverSlider[]; + + if (!Array.isArray(sliders)) { + return res.status(400).json({ message: 'Invalid request body.' }); + } + + for (let x = 0; x < sliders.length; x++) { + const slider = sliders[x]; + const existingSlider = await sliderRepository.findOne({ + where: { + id: slider.id, + }, + }); + + if (existingSlider && slider.id) { + existingSlider.enabled = slider.enabled; + existingSlider.order = x; + + // Only allow changes to the following when the slider is not built in + if (!existingSlider.isBuiltIn) { + existingSlider.title = slider.title; + existingSlider.data = slider.data; + existingSlider.type = slider.type; + } + + await sliderRepository.save(existingSlider); + } else { + const newSlider = new DiscoverSlider({ + isBuiltIn: false, + data: slider.data, + title: slider.title, + enabled: slider.enabled, + order: x, + type: slider.type, + }); + await sliderRepository.save(newSlider); + } + } + + return res.json(sliders); +}); + +discoverSettingRoutes.post('/add', async (req, res) => { + const sliderRepository = getRepository(DiscoverSlider); + + const slider = req.body as DiscoverSlider; + + const newSlider = new DiscoverSlider({ + isBuiltIn: false, + data: slider.data, + title: slider.title, + enabled: false, + order: -1, + type: slider.type, + }); + await sliderRepository.save(newSlider); + + return res.json(newSlider); +}); + +discoverSettingRoutes.get('/reset', async (_req, res) => { + const sliderRepository = getRepository(DiscoverSlider); + + await sliderRepository.clear(); + await DiscoverSlider.bootstrapSliders(); + + return res.status(204).send(); +}); + +discoverSettingRoutes.put('/:sliderId', async (req, res, next) => { + const sliderRepository = getRepository(DiscoverSlider); + + const slider = req.body as DiscoverSlider; + + try { + const existingSlider = await sliderRepository.findOneOrFail({ + where: { + id: Number(req.params.sliderId), + }, + }); + + // Only allow changes to the following when the slider is not built in + if (!existingSlider.isBuiltIn) { + existingSlider.title = slider.title; + existingSlider.data = slider.data; + existingSlider.type = slider.type; + } + + await sliderRepository.save(existingSlider); + + return res.status(200).json(existingSlider); + } catch (e) { + logger.error('Something went wrong updating a slider.', { + label: 'API', + errorMessage: e.message, + }); + next({ status: 404, message: 'Slider not found or cannot be updated.' }); + } +}); + +discoverSettingRoutes.delete('/:sliderId', async (req, res, next) => { + const sliderRepository = getRepository(DiscoverSlider); + + try { + const slider = await sliderRepository.findOneOrFail({ + where: { id: Number(req.params.sliderId), isBuiltIn: false }, + }); + + await sliderRepository.remove(slider); + + return res.status(204).send(); + } catch (e) { + logger.error('Something went wrong deleting a slider.', { + label: 'API', + errorMessage: e.message, + }); + next({ status: 404, message: 'Slider not found or cannot be deleted.' }); + } +}); + +export default discoverSettingRoutes; diff --git a/server/routes/settings/index.ts b/server/routes/settings/index.ts index 7205b18966..8023ba960a 100644 --- a/server/routes/settings/index.ts +++ b/server/routes/settings/index.ts @@ -21,6 +21,7 @@ import type { JobId, MainSettings } from '@server/lib/settings'; import { getSettings } from '@server/lib/settings'; import logger from '@server/logger'; import { isAuthenticated } from '@server/middleware/auth'; +import discoverSettingRoutes from '@server/routes/settings/discover'; import { appDataPath } from '@server/utils/appDataVolume'; import { getAppVersion } from '@server/utils/appVersion'; import { Router } from 'express'; @@ -40,6 +41,7 @@ const settingsRoutes = Router(); settingsRoutes.use('/notifications', notificationRoutes); settingsRoutes.use('/radarr', radarrRoutes); settingsRoutes.use('/sonarr', sonarrRoutes); +settingsRoutes.use('/discover', discoverSettingRoutes); const filteredMainSettings = ( user: User, diff --git a/server/subscriber/IssueCommentSubscriber.ts b/server/subscriber/IssueCommentSubscriber.ts index cb95ba008c..71db981da5 100644 --- a/server/subscriber/IssueCommentSubscriber.ts +++ b/server/subscriber/IssueCommentSubscriber.ts @@ -4,6 +4,7 @@ import { MediaType } from '@server/constants/media'; import { getRepository } from '@server/datasource'; import IssueComment from '@server/entity/IssueComment'; import Media from '@server/entity/Media'; +import { User } from '@server/entity/User'; import notificationManager, { Notification } from '@server/lib/notifications'; import { Permission } from '@server/lib/permissions'; import logger from '@server/logger'; @@ -32,6 +33,10 @@ export class IssueCommentSubscriber }) ).issue; + const createdBy = await getRepository(User).findOneOrFail({ + where: { id: issue.createdBy.id }, + }); + const media = await getRepository(Media).findOneOrFail({ where: { id: issue.media.id }, }); @@ -71,9 +76,9 @@ export class IssueCommentSubscriber notifyAdmin: true, notifySystem: true, notifyUser: - !issue.createdBy.hasPermission(Permission.MANAGE_ISSUES) && - issue.createdBy.id !== entity.user.id - ? issue.createdBy + !createdBy.hasPermission(Permission.MANAGE_ISSUES) && + createdBy.id !== entity.user.id + ? createdBy : undefined, }); } diff --git a/server/subscriber/IssueSubscriber.ts b/server/subscriber/IssueSubscriber.ts index eb40204151..d54523cf83 100644 --- a/server/subscriber/IssueSubscriber.ts +++ b/server/subscriber/IssueSubscriber.ts @@ -87,6 +87,7 @@ export class IssueSubscriber implements EntitySubscriberInterface { notifySystem: true, notifyUser: !entity.createdBy.hasPermission(Permission.MANAGE_ISSUES) && + entity.modifiedBy?.id !== entity.createdBy.id && (type === Notification.ISSUE_RESOLVED || type === Notification.ISSUE_REOPENED) ? entity.createdBy diff --git a/server/types/express-session.d.ts b/server/types/express-session.d.ts new file mode 100644 index 0000000000..c4842b096e --- /dev/null +++ b/server/types/express-session.d.ts @@ -0,0 +1,9 @@ +import 'express-session'; + +// Declaration merging to apply our own types to SessionData +// See: (https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/express-session/index.d.ts#L23) +declare module 'express-session' { + interface SessionData { + userId: number; + } +} diff --git a/server/types/express.d.ts b/server/types/express.d.ts index 7b82477adb..2fe842382e 100644 --- a/server/types/express.d.ts +++ b/server/types/express.d.ts @@ -1,6 +1,7 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ import type { User } from '@server/entity/User'; import type { NextFunction, Request, Response } from 'express'; +import 'express-session'; declare global { namespace Express { @@ -16,11 +17,3 @@ declare global { next: NextFunction ) => Promise | void | NextFunction; } - -// Declaration merging to apply our own types to SessionData -// See: (https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/express-session/index.d.ts#L23) -declare module 'express-session' { - export interface SessionData { - userId: number; - } -} diff --git a/src/components/CollectionDetails/index.tsx b/src/components/CollectionDetails/index.tsx index 52bd8a2693..0136113a91 100644 --- a/src/components/CollectionDetails/index.tsx +++ b/src/components/CollectionDetails/index.tsx @@ -10,13 +10,13 @@ import useSettings from '@app/hooks/useSettings'; import { Permission, useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; import Error from '@app/pages/_error'; -import { DownloadIcon } from '@heroicons/react/outline'; +import { ArrowDownTrayIcon } from '@heroicons/react/24/outline'; import { MediaStatus } from '@server/constants/media'; import type { Collection } from '@server/models/Collection'; import { uniq } from 'lodash'; import Link from 'next/link'; import { useRouter } from 'next/router'; -import { useState } from 'react'; +import { useMemo, useState } from 'react'; import { defineMessages, useIntl } from 'react-intl'; import useSWR from 'swr'; @@ -51,6 +51,28 @@ const CollectionDetails = ({ collection }: CollectionDetailsProps) => { const { data: genres } = useSWR<{ id: number; name: string }[]>(`/api/v1/genres/movie`); + const [downloadStatus, downloadStatus4k] = useMemo(() => { + return [ + data?.parts.flatMap((item) => + item.mediaInfo?.downloadStatus ? item.mediaInfo?.downloadStatus : [] + ), + data?.parts.flatMap((item) => + item.mediaInfo?.downloadStatus4k ? item.mediaInfo?.downloadStatus4k : [] + ), + ]; + }, [data?.parts]); + + const [titles, titles4k] = useMemo(() => { + return [ + data?.parts + .filter((media) => (media.mediaInfo?.downloadStatus ?? []).length > 0) + .map((title) => title.title), + data?.parts + .filter((media) => (media.mediaInfo?.downloadStatus4k ?? []).length > 0) + .map((title) => title.title), + ]; + }, [data?.parts]); + if (!data && !error) { return ; } @@ -205,6 +227,8 @@ const CollectionDetails = ({ collection }: CollectionDetailsProps) => {
(part.mediaInfo?.downloadStatus ?? []).length > 0 )} @@ -218,6 +242,8 @@ const CollectionDetails = ({ collection }: CollectionDetailsProps) => { ) && ( @@ -250,7 +276,7 @@ const CollectionDetails = ({ collection }: CollectionDetailsProps) => { }} text={ <> - + {intl.formatMessage( hasRequestable @@ -269,7 +295,7 @@ const CollectionDetails = ({ collection }: CollectionDetailsProps) => { setIs4k(true); }} > - + {intl.formatMessage(messages.requestcollection4k)} diff --git a/src/components/Common/Alert/index.tsx b/src/components/Common/Alert/index.tsx index 8ffb4a2559..93ddd988fc 100644 --- a/src/components/Common/Alert/index.tsx +++ b/src/components/Common/Alert/index.tsx @@ -1,8 +1,8 @@ import { - ExclamationIcon, + ExclamationTriangleIcon, InformationCircleIcon, XCircleIcon, -} from '@heroicons/react/solid'; +} from '@heroicons/react/24/solid'; interface AlertProps { title?: React.ReactNode; @@ -16,7 +16,7 @@ const Alert = ({ title, children, type }: AlertProps) => { 'border border-yellow-500 backdrop-blur bg-yellow-400 bg-opacity-20', titleColor: 'text-yellow-100', textColor: 'text-yellow-300', - svg: , + svg: , }; switch (type) { diff --git a/src/components/Common/Button/index.tsx b/src/components/Common/Button/index.tsx index 7dc4e637d6..a4df31150d 100644 --- a/src/components/Common/Button/index.tsx +++ b/src/components/Common/Button/index.tsx @@ -46,7 +46,7 @@ function Button

( ref?: React.Ref> ): JSX.Element { const buttonStyle = [ - 'inline-flex items-center justify-center border border-transparent leading-5 font-medium rounded-md focus:outline-none transition ease-in-out duration-150 cursor-pointer disabled:opacity-50 whitespace-nowrap', + 'inline-flex items-center justify-center border leading-5 font-medium rounded-md focus:outline-none transition ease-in-out duration-150 cursor-pointer disabled:opacity-50 whitespace-nowrap', ]; switch (buttonType) { case 'primary': @@ -71,7 +71,7 @@ function Button

( break; case 'ghost': buttonStyle.push( - 'text-white bg-transaprent border-gray-600 hover:border-gray-200 focus:border-gray-100 active:border-gray-100' + 'text-white bg-transparent border-gray-600 hover:border-gray-200 focus:border-gray-100 active:border-gray-100' ); break; default: diff --git a/src/components/Common/ButtonWithDropdown/index.tsx b/src/components/Common/ButtonWithDropdown/index.tsx index be6815b940..b5bc0cb649 100644 --- a/src/components/Common/ButtonWithDropdown/index.tsx +++ b/src/components/Common/ButtonWithDropdown/index.tsx @@ -1,7 +1,7 @@ import useClickOutside from '@app/hooks/useClickOutside'; import { withProperties } from '@app/utils/typeHelpers'; import { Transition } from '@headlessui/react'; -import { ChevronDownIcon } from '@heroicons/react/solid'; +import { ChevronDownIcon } from '@heroicons/react/24/solid'; import type { AnchorHTMLAttributes, ButtonHTMLAttributes } from 'react'; import { Fragment, useRef, useState } from 'react'; diff --git a/src/components/Common/ConfirmButton/index.tsx b/src/components/Common/ConfirmButton/index.tsx index 1f5756cb99..4234da68a6 100644 --- a/src/components/Common/ConfirmButton/index.tsx +++ b/src/components/Common/ConfirmButton/index.tsx @@ -1,6 +1,6 @@ import Button from '@app/components/Common/Button'; import useClickOutside from '@app/hooks/useClickOutside'; -import { useRef, useState } from 'react'; +import { forwardRef, useRef, useState } from 'react'; interface ConfirmButtonProps { onClick: () => void; @@ -9,50 +9,51 @@ interface ConfirmButtonProps { children: React.ReactNode; } -const ConfirmButton = ({ - onClick, - children, - confirmText, - className, -}: ConfirmButtonProps) => { - const ref = useRef(null); - useClickOutside(ref, () => setIsClicked(false)); - const [isClicked, setIsClicked] = useState(false); - return ( - - ); -}; +

+ {children} +
+
+ {confirmText} +
+ + ); + } +); + +ConfirmButton.displayName = 'ConfirmButton'; export default ConfirmButton; diff --git a/src/components/Common/MultiRangeSlider/index.tsx b/src/components/Common/MultiRangeSlider/index.tsx new file mode 100644 index 0000000000..c3da2b5778 --- /dev/null +++ b/src/components/Common/MultiRangeSlider/index.tsx @@ -0,0 +1,113 @@ +import Tooltip from '@app/components/Common/Tooltip'; +import useDebouncedState from '@app/hooks/useDebouncedState'; +import { useEffect, useRef } from 'react'; + +type MultiRangeSliderProps = { + min: number; + max: number; + defaultMinValue?: number; + defaultMaxValue?: number; + subText?: string; + onUpdateMin: (min: number) => void; + onUpdateMax: (max: number) => void; +}; + +const MultiRangeSlider = ({ + min, + max, + defaultMinValue, + defaultMaxValue, + subText, + onUpdateMin, + onUpdateMax, +}: MultiRangeSliderProps) => { + const touched = useRef(false); + const [valueMin, finalValueMin, setValueMin] = useDebouncedState( + defaultMinValue ?? min + ); + const [valueMax, finalValueMax, setValueMax] = useDebouncedState( + defaultMaxValue ?? max + ); + + const minThumb = ((valueMin - min) / (max - min)) * 100; + const maxThumb = ((valueMax - min) / (max - min)) * 100; + + useEffect(() => { + if (touched.current) { + onUpdateMin(finalValueMin); + } + }, [finalValueMin, onUpdateMin]); + + useEffect(() => { + if (touched.current) { + onUpdateMax(finalValueMax); + } + }, [finalValueMax, onUpdateMax]); + + useEffect(() => { + touched.current = false; + setValueMax(defaultMaxValue ?? max); + setValueMin(defaultMinValue ?? min); + }, [defaultMinValue, defaultMaxValue, setValueMax, setValueMin, min, max]); + + return ( +
+ + = valueMax && valueMin !== min ? 'z-30' : 'z-10' + }`} + onChange={(e) => { + const value = Number(e.target.value); + + if (value <= valueMax) { + touched.current = true; + setValueMin(value); + } + }} + /> + + + { + const value = Number(e.target.value); + + if (value >= valueMin) { + touched.current = true; + setValueMax(value); + } + }} + /> + +
+ {subText && ( +
+ {subText} +
+ )} +
+ ); +}; + +export default MultiRangeSlider; diff --git a/src/components/Common/SensitiveInput/index.tsx b/src/components/Common/SensitiveInput/index.tsx index 6652f5519e..ae11b9517f 100644 --- a/src/components/Common/SensitiveInput/index.tsx +++ b/src/components/Common/SensitiveInput/index.tsx @@ -1,4 +1,4 @@ -import { EyeIcon, EyeOffIcon } from '@heroicons/react/solid'; +import { EyeIcon, EyeSlashIcon } from '@heroicons/react/24/solid'; import { Field } from 'formik'; import { useState } from 'react'; @@ -43,7 +43,7 @@ const SensitiveInput = ({ as = 'input', ...props }: SensitiveInputProps) => { type="button" className="input-action" > - {isHidden ? : } + {isHidden ? : } ); diff --git a/src/components/Common/SlideCheckbox/index.tsx b/src/components/Common/SlideCheckbox/index.tsx new file mode 100644 index 0000000000..a514d6c031 --- /dev/null +++ b/src/components/Common/SlideCheckbox/index.tsx @@ -0,0 +1,38 @@ +type SlideCheckboxProps = { + onClick: () => void; + checked?: boolean; +}; + +const SlideCheckbox = ({ onClick, checked = false }: SlideCheckboxProps) => { + return ( + { + onClick(); + }} + onKeyDown={(e) => { + if (e.key === 'Enter' || e.key === 'Space') { + onClick(); + } + }} + className={`relative inline-flex h-5 w-10 flex-shrink-0 cursor-pointer items-center justify-center pt-2 focus:outline-none`} + > + + + + ); +}; + +export default SlideCheckbox; diff --git a/src/components/Common/SlideOver/index.tsx b/src/components/Common/SlideOver/index.tsx index e7ccf7063c..48c1f8549e 100644 --- a/src/components/Common/SlideOver/index.tsx +++ b/src/components/Common/SlideOver/index.tsx @@ -1,7 +1,7 @@ /* eslint-disable jsx-a11y/click-events-have-key-events */ import { useLockBodyScroll } from '@app/hooks/useLockBodyScroll'; import { Transition } from '@headlessui/react'; -import { XIcon } from '@heroicons/react/outline'; +import { XMarkIcon } from '@heroicons/react/24/outline'; import { Fragment, useEffect, useRef, useState } from 'react'; import ReactDOM from 'react-dom'; @@ -67,11 +67,11 @@ const SlideOver = ({ > {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}
e.stopPropagation()} > -
+

@@ -83,7 +83,7 @@ const SlideOver = ({ className="text-gray-200 transition duration-150 ease-in-out hover:text-white" onClick={() => onClose()} > - +

@@ -95,8 +95,10 @@ const SlideOver = ({
)} -
- {children} +
+
+ {children} +
diff --git a/src/components/Common/StatusBadgeMini/index.tsx b/src/components/Common/StatusBadgeMini/index.tsx index 0653c7d804..a7e24a3780 100644 --- a/src/components/Common/StatusBadgeMini/index.tsx +++ b/src/components/Common/StatusBadgeMini/index.tsx @@ -1,41 +1,67 @@ -import { - BellIcon, - CheckIcon, - ClockIcon, - MinusSmIcon, -} from '@heroicons/react/solid'; +import Spinner from '@app/assets/spinner.svg'; +import { CheckCircleIcon } from '@heroicons/react/20/solid'; +import { BellIcon, ClockIcon, MinusSmallIcon } from '@heroicons/react/24/solid'; import { MediaStatus } from '@server/constants/media'; interface StatusBadgeMiniProps { status: MediaStatus; is4k?: boolean; + inProgress?: boolean; + // Should the badge shrink on mobile to a smaller size? (TitleCard) + shrink?: boolean; } -const StatusBadgeMini = ({ status, is4k = false }: StatusBadgeMiniProps) => { - const badgeStyle = ['w-5 rounded-full p-0.5 text-white ring-1']; +const StatusBadgeMini = ({ + status, + is4k = false, + inProgress = false, + shrink = false, +}: StatusBadgeMiniProps) => { + const badgeStyle = [ + `rounded-full bg-opacity-80 shadow-md ${ + shrink ? 'w-4 sm:w-5 border p-0' : 'w-5 ring-1 p-0.5' + }`, + ]; + let indicatorIcon: React.ReactNode; switch (status) { case MediaStatus.PROCESSING: - badgeStyle.push('bg-indigo-500 ring-indigo-400'); + badgeStyle.push( + 'bg-indigo-500 border-indigo-400 ring-indigo-400 text-indigo-100' + ); indicatorIcon = ; break; case MediaStatus.AVAILABLE: - badgeStyle.push('bg-green-500 ring-green-400'); - indicatorIcon = ; + badgeStyle.push( + 'bg-green-500 border-green-400 ring-green-400 text-green-100' + ); + indicatorIcon = ; break; case MediaStatus.PENDING: - badgeStyle.push('bg-yellow-500 ring-yellow-400'); + badgeStyle.push( + 'bg-yellow-500 border-yellow-400 ring-yellow-400 text-yellow-100' + ); indicatorIcon = ; break; case MediaStatus.PARTIALLY_AVAILABLE: - badgeStyle.push('bg-green-500 ring-green-400'); - indicatorIcon = ; + badgeStyle.push( + 'bg-green-500 border-green-400 ring-green-400 text-green-100' + ); + indicatorIcon = ; break; } + if (inProgress) { + indicatorIcon = ; + } + return ( -
+
{indicatorIcon}
{is4k && 4K}
diff --git a/src/components/Common/Tag/index.tsx b/src/components/Common/Tag/index.tsx new file mode 100644 index 0000000000..dcb426d40f --- /dev/null +++ b/src/components/Common/Tag/index.tsx @@ -0,0 +1,24 @@ +import { TagIcon } from '@heroicons/react/24/outline'; +import React from 'react'; + +type TagProps = { + children: React.ReactNode; + iconSvg?: JSX.Element; +}; + +const Tag = ({ children, iconSvg }: TagProps) => { + return ( +
+ {iconSvg ? ( + React.cloneElement(iconSvg, { + className: 'mr-1 h-4 w-4', + }) + ) : ( + + )} + {children} +
+ ); +}; + +export default Tag; diff --git a/src/components/Common/Tooltip/index.tsx b/src/components/Common/Tooltip/index.tsx index 82bc7a7a9d..e8574699ef 100644 --- a/src/components/Common/Tooltip/index.tsx +++ b/src/components/Common/Tooltip/index.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import ReactDOM from 'react-dom'; import type { Config } from 'react-popper-tooltip'; import { usePopperTooltip } from 'react-popper-tooltip'; @@ -6,9 +7,15 @@ type TooltipProps = { content: React.ReactNode; children: React.ReactElement; tooltipConfig?: Partial; + className?: string; }; -const Tooltip = ({ children, content, tooltipConfig }: TooltipProps) => { +const Tooltip = ({ + children, + content, + tooltipConfig, + className, +}: TooltipProps) => { const { getTooltipProps, setTooltipRef, setTriggerRef, visible } = usePopperTooltip({ followCursor: true, @@ -17,20 +24,30 @@ const Tooltip = ({ children, content, tooltipConfig }: TooltipProps) => { ...tooltipConfig, }); + const tooltipStyle = [ + 'z-50 text-sm absolute font-normal bg-gray-800 px-2 py-1 rounded border border-gray-600 shadow text-gray-100', + ]; + + if (className) { + tooltipStyle.push(className); + } + return ( <> {React.cloneElement(children, { ref: setTriggerRef })} - {visible && content && ( -
- {content} -
- )} + {visible && + content && + ReactDOM.createPortal( +
+ {content} +
, + document.body + )} ); }; diff --git a/src/components/CompanyTag/index.tsx b/src/components/CompanyTag/index.tsx new file mode 100644 index 0000000000..7c49b8ccac --- /dev/null +++ b/src/components/CompanyTag/index.tsx @@ -0,0 +1,28 @@ +import Spinner from '@app/assets/spinner.svg'; +import Tag from '@app/components/Common/Tag'; +import { BuildingOffice2Icon } from '@heroicons/react/24/outline'; +import type { ProductionCompany, TvNetwork } from '@server/models/common'; +import useSWR from 'swr'; + +type CompanyTagProps = { + type: 'studio' | 'network'; + companyId: number; +}; + +const CompanyTag = ({ companyId, type }: CompanyTagProps) => { + const { data, error } = useSWR( + `/api/v1/${type}/${companyId}` + ); + + if (!data && !error) { + return ( + + + + ); + } + + return }>{data?.name}; +}; + +export default CompanyTag; diff --git a/src/components/Discover/CreateSlider/index.tsx b/src/components/Discover/CreateSlider/index.tsx new file mode 100644 index 0000000000..24b9d3fdc2 --- /dev/null +++ b/src/components/Discover/CreateSlider/index.tsx @@ -0,0 +1,506 @@ +import Button from '@app/components/Common/Button'; +import Tooltip from '@app/components/Common/Tooltip'; +import { sliderTitles } from '@app/components/Discover/constants'; +import MediaSlider from '@app/components/MediaSlider'; +import { encodeURIExtraParams } from '@app/hooks/useDiscover'; +import type { + TmdbCompanySearchResponse, + TmdbGenre, + TmdbKeywordSearchResponse, +} from '@server/api/themoviedb/interfaces'; +import { DiscoverSliderType } from '@server/constants/discover'; +import type DiscoverSlider from '@server/entity/DiscoverSlider'; +import type { GenreSliderItem } from '@server/interfaces/api/discoverInterfaces'; +import type { Keyword, ProductionCompany } from '@server/models/common'; +import axios from 'axios'; +import { Field, Form, Formik } from 'formik'; +import { useCallback, useEffect, useState } from 'react'; +import { defineMessages, useIntl } from 'react-intl'; +import AsyncSelect from 'react-select/async'; +import { useToasts } from 'react-toast-notifications'; +import * as Yup from 'yup'; + +const messages = defineMessages({ + addSlider: 'Add Slider', + editSlider: 'Edit Slider', + slidernameplaceholder: 'Slider Name', + providetmdbkeywordid: 'Provide a TMDB Keyword ID', + providetmdbgenreid: 'Provide a TMDB Genre ID', + providetmdbsearch: 'Provide a search query', + providetmdbstudio: 'Provide TMDB Studio ID', + providetmdbnetwork: 'Provide TMDB Network ID', + addsuccess: 'Created new slider and saved discover customization settings.', + addfail: 'Failed to create new slider.', + editsuccess: 'Edited slider and saved discover customization settings.', + editfail: 'Failed to edit slider.', + needresults: 'You need to have at least 1 result.', + validationDatarequired: 'You must provide a data value.', + validationTitlerequired: 'You must provide a title.', + addcustomslider: 'Create Custom Slider', + searchKeywords: 'Search keywords…', + searchGenres: 'Search genres…', + searchStudios: 'Search studios…', + starttyping: 'Starting typing to search.', + nooptions: 'No results.', +}); + +type CreateSliderProps = { + onCreate: () => void; + slider?: Partial; +}; + +type CreateOption = { + type: DiscoverSliderType; + title: string; + dataUrl: string; + params?: string; + titlePlaceholderText: string; + dataPlaceholderText: string; +}; + +const CreateSlider = ({ onCreate, slider }: CreateSliderProps) => { + const intl = useIntl(); + const { addToast } = useToasts(); + const [resultCount, setResultCount] = useState(0); + const [defaultDataValue, setDefaultDataValue] = useState< + { label: string; value: number }[] | null + >(null); + + useEffect(() => { + if (slider) { + const loadDefaultKeywords = async (): Promise => { + if (!slider.data) { + return; + } + + const keywords = await Promise.all( + slider.data.split(',').map(async (keywordId) => { + const keyword = await axios.get( + `/api/v1/keyword/${keywordId}` + ); + + return keyword.data; + }) + ); + + setDefaultDataValue( + keywords.map((keyword) => ({ + label: keyword.name, + value: keyword.id, + })) + ); + }; + + const loadDefaultGenre = async (): Promise => { + if (!slider.data) { + return; + } + + const response = await axios.get( + `/api/v1/genres/${ + slider.type === DiscoverSliderType.TMDB_MOVIE_GENRE ? 'movie' : 'tv' + }` + ); + + const genre = response.data.find( + (genre) => genre.id === Number(slider.data) + ); + + setDefaultDataValue([ + { + label: genre?.name ?? '', + value: genre?.id ?? 0, + }, + ]); + }; + + const loadDefaultCompany = async (): Promise => { + if (!slider.data) { + return; + } + + const response = await axios.get( + `/api/v1/studio/${slider.data}` + ); + + const studio = response.data; + + setDefaultDataValue([ + { + label: studio.name ?? '', + value: studio.id ?? 0, + }, + ]); + }; + + switch (slider.type) { + case DiscoverSliderType.TMDB_MOVIE_KEYWORD: + case DiscoverSliderType.TMDB_TV_KEYWORD: + loadDefaultKeywords(); + break; + case DiscoverSliderType.TMDB_MOVIE_GENRE: + case DiscoverSliderType.TMDB_TV_GENRE: + loadDefaultGenre(); + break; + case DiscoverSliderType.TMDB_STUDIO: + loadDefaultCompany(); + break; + } + } + }, [slider]); + + const CreateSliderSchema = Yup.object().shape({ + title: Yup.string().required( + intl.formatMessage(messages.validationTitlerequired) + ), + data: Yup.string().required( + intl.formatMessage(messages.validationDatarequired) + ), + }); + + const updateResultCount = useCallback( + (count: number) => { + setResultCount(count); + }, + [setResultCount] + ); + + const loadKeywordOptions = async (inputValue: string) => { + const results = await axios.get( + '/api/v1/search/keyword', + { + params: { + query: encodeURIExtraParams(inputValue), + }, + } + ); + + return results.data.results.map((result) => ({ + label: result.name, + value: result.id, + })); + }; + + const loadCompanyOptions = async (inputValue: string) => { + if (inputValue === '') { + return []; + } + + const results = await axios.get( + '/api/v1/search/company', + { + params: { + query: encodeURIExtraParams(inputValue), + }, + } + ); + + return results.data.results.map((result) => ({ + label: result.name, + value: result.id, + })); + }; + + const loadMovieGenreOptions = async () => { + const results = await axios.get( + '/api/v1/discover/genreslider/movie' + ); + + return results.data.map((result) => ({ + label: result.name, + value: result.id, + })); + }; + + const loadTvGenreOptions = async () => { + const results = await axios.get( + '/api/v1/discover/genreslider/tv' + ); + + return results.data.map((result) => ({ + label: result.name, + value: result.id, + })); + }; + + const options: CreateOption[] = [ + { + type: DiscoverSliderType.TMDB_MOVIE_KEYWORD, + title: intl.formatMessage(sliderTitles.tmdbmoviekeyword), + dataUrl: '/api/v1/discover/movies', + params: 'keywords=$value', + titlePlaceholderText: intl.formatMessage(messages.slidernameplaceholder), + dataPlaceholderText: intl.formatMessage(messages.providetmdbkeywordid), + }, + { + type: DiscoverSliderType.TMDB_TV_KEYWORD, + title: intl.formatMessage(sliderTitles.tmdbtvkeyword), + dataUrl: '/api/v1/discover/tv', + params: 'keywords=$value', + titlePlaceholderText: intl.formatMessage(messages.slidernameplaceholder), + dataPlaceholderText: intl.formatMessage(messages.providetmdbkeywordid), + }, + { + type: DiscoverSliderType.TMDB_MOVIE_GENRE, + title: intl.formatMessage(sliderTitles.tmdbmoviegenre), + dataUrl: '/api/v1/discover/movies/genre/$value', + titlePlaceholderText: intl.formatMessage(messages.slidernameplaceholder), + dataPlaceholderText: intl.formatMessage(messages.providetmdbgenreid), + }, + { + type: DiscoverSliderType.TMDB_TV_GENRE, + title: intl.formatMessage(sliderTitles.tmdbtvgenre), + dataUrl: '/api/v1/discover/tv/genre/$value', + titlePlaceholderText: intl.formatMessage(messages.slidernameplaceholder), + dataPlaceholderText: intl.formatMessage(messages.providetmdbgenreid), + }, + { + type: DiscoverSliderType.TMDB_STUDIO, + title: intl.formatMessage(sliderTitles.tmdbstudio), + dataUrl: '/api/v1/discover/movies/studio/$value', + titlePlaceholderText: intl.formatMessage(messages.slidernameplaceholder), + dataPlaceholderText: intl.formatMessage(messages.providetmdbstudio), + }, + { + type: DiscoverSliderType.TMDB_NETWORK, + title: intl.formatMessage(sliderTitles.tmdbnetwork), + dataUrl: '/api/v1/discover/tv/network/$value', + titlePlaceholderText: intl.formatMessage(messages.slidernameplaceholder), + dataPlaceholderText: intl.formatMessage(messages.providetmdbnetwork), + }, + { + type: DiscoverSliderType.TMDB_SEARCH, + title: intl.formatMessage(sliderTitles.tmdbsearch), + dataUrl: '/api/v1/search', + params: 'query=$value', + titlePlaceholderText: intl.formatMessage(messages.slidernameplaceholder), + dataPlaceholderText: intl.formatMessage(messages.providetmdbsearch), + }, + ]; + + return ( + { + try { + if (slider) { + await axios.put(`/api/v1/settings/discover/${slider.id}`, { + type: Number(values.sliderType), + title: values.title, + data: values.data, + }); + } else { + await axios.post('/api/v1/settings/discover/add', { + type: Number(values.sliderType), + title: values.title, + data: values.data, + }); + } + + addToast( + intl.formatMessage( + slider ? messages.editsuccess : messages.addsuccess + ), + { + appearance: 'success', + autoDismiss: true, + } + ); + onCreate(); + resetForm(); + } catch (e) { + addToast( + intl.formatMessage(slider ? messages.editfail : messages.addfail), + { + appearance: 'error', + autoDismiss: true, + } + ); + } + }} + > + {({ values, isValid, isSubmitting, errors, touched, setFieldValue }) => { + const activeOption = options.find( + (option) => option.type === Number(values.sliderType) + ); + + let dataInput: React.ReactNode; + + switch (activeOption?.type) { + case DiscoverSliderType.TMDB_MOVIE_KEYWORD: + case DiscoverSliderType.TMDB_TV_KEYWORD: + dataInput = ( + + inputValue === '' + ? intl.formatMessage(messages.starttyping) + : intl.formatMessage(messages.nooptions) + } + defaultValue={defaultDataValue} + loadOptions={loadKeywordOptions} + placeholder={intl.formatMessage(messages.searchKeywords)} + onChange={(value) => { + const keywords = value.map((item) => item.value).join(','); + + setFieldValue('data', keywords); + }} + /> + ); + break; + case DiscoverSliderType.TMDB_MOVIE_GENRE: + dataInput = ( + { + setFieldValue('data', value?.value.toString()); + }} + /> + ); + break; + case DiscoverSliderType.TMDB_TV_GENRE: + dataInput = ( + { + setFieldValue('data', value?.value.toString()); + }} + /> + ); + break; + case DiscoverSliderType.TMDB_STUDIO: + dataInput = ( + { + setFieldValue('data', value?.value.toString()); + }} + /> + ); + break; + default: + dataInput = ( + + ); + } + + return ( +
+
+ + {options.map((option) => ( + + ))} + + + {errors.title && + touched.title && + typeof errors.title === 'string' && ( +
{errors.title}
+ )} + {dataInput} + {errors.data && + touched.data && + typeof errors.data === 'string' && ( +
{errors.data}
+ )} +
+ {resultCount === 0 ? ( + +
+ +
+
+ ) : ( +
+ +
+ )} +
+ + {activeOption && values.title && values.data && ( +
+ +
+ )} +
+ ); + }} +
+ ); +}; + +export default CreateSlider; diff --git a/src/components/Discover/DiscoverMovies.tsx b/src/components/Discover/DiscoverMovieKeyword/index.tsx similarity index 52% rename from src/components/Discover/DiscoverMovies.tsx rename to src/components/Discover/DiscoverMovieKeyword/index.tsx index b9ec8dea84..7ae2e989fc 100644 --- a/src/components/Discover/DiscoverMovies.tsx +++ b/src/components/Discover/DiscoverMovieKeyword/index.tsx @@ -1,16 +1,20 @@ import Header from '@app/components/Common/Header'; import ListView from '@app/components/Common/ListView'; import PageTitle from '@app/components/Common/PageTitle'; -import useDiscover from '@app/hooks/useDiscover'; +import useDiscover, { encodeURIExtraParams } from '@app/hooks/useDiscover'; +import globalMessages from '@app/i18n/globalMessages'; import Error from '@app/pages/_error'; +import type { TmdbKeyword } from '@server/api/themoviedb/interfaces'; import type { MovieResult } from '@server/models/Search'; +import { useRouter } from 'next/router'; import { defineMessages, useIntl } from 'react-intl'; const messages = defineMessages({ - discovermovies: 'Popular Movies', + keywordMovies: '{keywordTitle} Movies', }); -const DiscoverMovies = () => { +const DiscoverMovieKeyword = () => { + const router = useRouter(); const intl = useIntl(); const { @@ -21,13 +25,25 @@ const DiscoverMovies = () => { titles, fetchMore, error, - } = useDiscover('/api/v1/discover/movies'); + firstResultData, + } = useDiscover( + `/api/v1/discover/movies`, + { + keywords: encodeURIExtraParams(router.query.keywords as string), + } + ); if (error) { return ; } - const title = intl.formatMessage(messages.discovermovies); + const title = isLoadingInitialData + ? intl.formatMessage(globalMessages.loading) + : intl.formatMessage(messages.keywordMovies, { + keywordTitle: firstResultData?.keywords + .map((k) => `${k.name[0].toUpperCase()}${k.name.substring(1)}`) + .join(', '), + }); return ( <> @@ -48,4 +64,4 @@ const DiscoverMovies = () => { ); }; -export default DiscoverMovies; +export default DiscoverMovieKeyword; diff --git a/src/components/Discover/DiscoverMovies/index.tsx b/src/components/Discover/DiscoverMovies/index.tsx new file mode 100644 index 0000000000..2cc5117707 --- /dev/null +++ b/src/components/Discover/DiscoverMovies/index.tsx @@ -0,0 +1,147 @@ +import Button from '@app/components/Common/Button'; +import Header from '@app/components/Common/Header'; +import ListView from '@app/components/Common/ListView'; +import PageTitle from '@app/components/Common/PageTitle'; +import type { FilterOptions } from '@app/components/Discover/constants'; +import { + countActiveFilters, + prepareFilterValues, +} from '@app/components/Discover/constants'; +import FilterSlideover from '@app/components/Discover/FilterSlideover'; +import useDiscover from '@app/hooks/useDiscover'; +import { useUpdateQueryParams } from '@app/hooks/useUpdateQueryParams'; +import Error from '@app/pages/_error'; +import { BarsArrowDownIcon, FunnelIcon } from '@heroicons/react/24/solid'; +import type { SortOptions as TMDBSortOptions } from '@server/api/themoviedb'; +import type { MovieResult } from '@server/models/Search'; +import { useRouter } from 'next/router'; +import { useState } from 'react'; +import { defineMessages, useIntl } from 'react-intl'; + +const messages = defineMessages({ + discovermovies: 'Movies', + activefilters: + '{count, plural, one {# Active Filter} other {# Active Filters}}', + sortPopularityAsc: 'Popularity Ascending', + sortPopularityDesc: 'Popularity Descending', + sortReleaseDateAsc: 'Release Date Ascending', + sortReleaseDateDesc: 'Release Date Descending', + sortTmdbRatingAsc: 'TMDB Rating Ascending', + sortTmdbRatingDesc: 'TMDB Rating Descending', + sortTitleAsc: 'Title (A-Z) Ascending', + sortTitleDesc: 'Title (Z-A) Descending', +}); + +const SortOptions: Record = { + PopularityAsc: 'popularity.asc', + PopularityDesc: 'popularity.desc', + ReleaseDateAsc: 'release_date.asc', + ReleaseDateDesc: 'release_date.desc', + TmdbRatingAsc: 'vote_average.asc', + TmdbRatingDesc: 'vote_average.desc', + TitleAsc: 'original_title.asc', + TitleDesc: 'original_title.desc', +} as const; + +const DiscoverMovies = () => { + const intl = useIntl(); + const router = useRouter(); + const updateQueryParams = useUpdateQueryParams({}); + + const preparedFilters = prepareFilterValues(router.query); + + const { + isLoadingInitialData, + isEmpty, + isLoadingMore, + isReachingEnd, + titles, + fetchMore, + error, + } = useDiscover( + '/api/v1/discover/movies', + preparedFilters + ); + const [showFilters, setShowFilters] = useState(false); + + if (error) { + return ; + } + + const title = intl.formatMessage(messages.discovermovies); + + return ( + <> + +
+
{title}
+
+
+ + + + +
+ setShowFilters(false)} + show={showFilters} + /> +
+ +
+
+
+ 0) + } + isReachingEnd={isReachingEnd} + onScrollBottom={fetchMore} + /> + + ); +}; + +export default DiscoverMovies; diff --git a/src/components/Discover/DiscoverSliderEdit/index.tsx b/src/components/Discover/DiscoverSliderEdit/index.tsx new file mode 100644 index 0000000000..970a9887a6 --- /dev/null +++ b/src/components/Discover/DiscoverSliderEdit/index.tsx @@ -0,0 +1,334 @@ +import Button from '@app/components/Common/Button'; +import SlideCheckbox from '@app/components/Common/SlideCheckbox'; +import Tag from '@app/components/Common/Tag'; +import Tooltip from '@app/components/Common/Tooltip'; +import CompanyTag from '@app/components/CompanyTag'; +import { sliderTitles } from '@app/components/Discover/constants'; +import CreateSlider from '@app/components/Discover/CreateSlider'; +import GenreTag from '@app/components/GenreTag'; +import KeywordTag from '@app/components/KeywordTag'; +import globalMessages from '@app/i18n/globalMessages'; +import { MagnifyingGlassIcon } from '@heroicons/react/24/outline'; +import { + ArrowUturnLeftIcon, + Bars3Icon, + ChevronDownIcon, + ChevronUpIcon, + PencilIcon, + XMarkIcon, +} from '@heroicons/react/24/solid'; +import { DiscoverSliderType } from '@server/constants/discover'; +import type DiscoverSlider from '@server/entity/DiscoverSlider'; +import axios from 'axios'; +import { useRef, useState } from 'react'; +import { useDrag, useDrop } from 'react-aria'; +import { defineMessages, useIntl } from 'react-intl'; +import { useToasts } from 'react-toast-notifications'; + +const messages = defineMessages({ + deletesuccess: 'Sucessfully deleted slider.', + deletefail: 'Failed to delete slider.', + remove: 'Remove', + enable: 'Toggle Visibility', +}); + +const Position = { + None: 'None', + Above: 'Above', + Below: 'Below', +} as const; + +type DiscoverSliderEditProps = { + slider: Partial; + onEnable: () => void; + onDelete: () => void; + onPositionUpdate: ( + updatedItemId: number, + position: keyof typeof Position, + isClickable: boolean + ) => void; + children: React.ReactNode; + disableUpButton: boolean; + disableDownButton: boolean; +}; + +const DiscoverSliderEdit = ({ + slider, + children, + onEnable, + onDelete, + onPositionUpdate, + disableUpButton, + disableDownButton, +}: DiscoverSliderEditProps) => { + const intl = useIntl(); + const { addToast } = useToasts(); + const [isEditing, setIsEditing] = useState(false); + const ref = useRef(null); + const [hoverPosition, setHoverPosition] = useState( + Position.None + ); + + const { dragProps, isDragging } = useDrag({ + getItems() { + return [{ id: (slider.id ?? -1).toString(), title: slider.title ?? '' }]; + }, + }); + + const deleteSlider = async () => { + try { + await axios.delete(`/api/v1/settings/discover/${slider.id}`); + addToast(intl.formatMessage(messages.deletesuccess), { + appearance: 'success', + autoDismiss: true, + }); + onDelete(); + } catch (e) { + addToast(intl.formatMessage(messages.deletefail), { + appearance: 'error', + autoDismiss: true, + }); + } + }; + + const { dropProps } = useDrop({ + ref, + onDropMove: (e) => { + if (ref.current) { + const middlePoint = ref.current.offsetHeight / 2; + + if (e.y < middlePoint) { + setHoverPosition(Position.Above); + } else { + setHoverPosition(Position.Below); + } + } + }, + onDropExit: () => { + setHoverPosition(Position.None); + }, + onDrop: async (e) => { + const items = await Promise.all( + e.items + .filter((item) => item.kind === 'text' && item.types.has('id')) + .map(async (item) => { + if (item.kind === 'text') { + return item.getText('id'); + } + }) + ); + if (items?.[0]) { + const dropped = Number(items[0]); + onPositionUpdate(dropped, hoverPosition, false); + } + }, + }); + + const getSliderTitle = (slider: Partial): string => { + switch (slider.type) { + case DiscoverSliderType.RECENTLY_ADDED: + return intl.formatMessage(sliderTitles.recentlyAdded); + case DiscoverSliderType.RECENT_REQUESTS: + return intl.formatMessage(sliderTitles.recentrequests); + case DiscoverSliderType.PLEX_WATCHLIST: + return intl.formatMessage(sliderTitles.plexwatchlist); + case DiscoverSliderType.TRENDING: + return intl.formatMessage(sliderTitles.trending); + case DiscoverSliderType.POPULAR_MOVIES: + return intl.formatMessage(sliderTitles.popularmovies); + case DiscoverSliderType.MOVIE_GENRES: + return intl.formatMessage(sliderTitles.moviegenres); + case DiscoverSliderType.UPCOMING_MOVIES: + return intl.formatMessage(sliderTitles.upcoming); + case DiscoverSliderType.STUDIOS: + return intl.formatMessage(sliderTitles.studios); + case DiscoverSliderType.POPULAR_TV: + return intl.formatMessage(sliderTitles.populartv); + case DiscoverSliderType.TV_GENRES: + return intl.formatMessage(sliderTitles.tvgenres); + case DiscoverSliderType.UPCOMING_TV: + return intl.formatMessage(sliderTitles.upcomingtv); + case DiscoverSliderType.NETWORKS: + return intl.formatMessage(sliderTitles.networks); + case DiscoverSliderType.TMDB_MOVIE_KEYWORD: + return intl.formatMessage(sliderTitles.tmdbmoviekeyword); + case DiscoverSliderType.TMDB_TV_KEYWORD: + return intl.formatMessage(sliderTitles.tmdbtvkeyword); + case DiscoverSliderType.TMDB_MOVIE_GENRE: + return intl.formatMessage(sliderTitles.tmdbmoviegenre); + case DiscoverSliderType.TMDB_TV_GENRE: + return intl.formatMessage(sliderTitles.tmdbtvgenre); + case DiscoverSliderType.TMDB_STUDIO: + return intl.formatMessage(sliderTitles.tmdbstudio); + case DiscoverSliderType.TMDB_NETWORK: + return intl.formatMessage(sliderTitles.tmdbnetwork); + case DiscoverSliderType.TMDB_SEARCH: + return intl.formatMessage(sliderTitles.tmdbsearch); + default: + return 'Unknown Slider'; + } + }; + + return ( +
+ {hoverPosition === Position.Above && ( +
+ )} + {hoverPosition === Position.Below && ( +
+ )} +
+
+ +
{getSliderTitle(slider)}
+
+
+ {(slider.type === DiscoverSliderType.TMDB_MOVIE_KEYWORD || + slider.type === DiscoverSliderType.TMDB_TV_KEYWORD) && ( +
+ {slider.data?.split(',').map((keywordId) => ( + + ))} +
+ )} + {(slider.type === DiscoverSliderType.TMDB_NETWORK || + slider.type === DiscoverSliderType.TMDB_STUDIO) && ( + + )} + {(slider.type === DiscoverSliderType.TMDB_TV_GENRE || + slider.type === DiscoverSliderType.TMDB_MOVIE_GENRE) && ( + + )} + {slider.type === DiscoverSliderType.TMDB_SEARCH && ( + }>{slider.data} + )} +
+
+ {!slider.isBuiltIn && ( + <> + {!isEditing ? ( + + ) : ( + + )} + + + )} +
+ + +
+
+ +
+ { + onEnable(); + }} + checked={slider.enabled} + /> +
+
+
+
+
+ {isEditing ? ( +
+ { + onDelete(); + setIsEditing(false); + }} + slider={slider} + /> +
+ ) : ( +
+ {children} +
+ )} +
+ ); +}; + +export default DiscoverSliderEdit; diff --git a/src/components/Discover/DiscoverTv/index.tsx b/src/components/Discover/DiscoverTv/index.tsx new file mode 100644 index 0000000000..bd3a170150 --- /dev/null +++ b/src/components/Discover/DiscoverTv/index.tsx @@ -0,0 +1,145 @@ +import Button from '@app/components/Common/Button'; +import Header from '@app/components/Common/Header'; +import ListView from '@app/components/Common/ListView'; +import PageTitle from '@app/components/Common/PageTitle'; +import type { FilterOptions } from '@app/components/Discover/constants'; +import { + countActiveFilters, + prepareFilterValues, +} from '@app/components/Discover/constants'; +import FilterSlideover from '@app/components/Discover/FilterSlideover'; +import useDiscover from '@app/hooks/useDiscover'; +import { useUpdateQueryParams } from '@app/hooks/useUpdateQueryParams'; +import Error from '@app/pages/_error'; +import { BarsArrowDownIcon, FunnelIcon } from '@heroicons/react/24/solid'; +import type { SortOptions as TMDBSortOptions } from '@server/api/themoviedb'; +import type { TvResult } from '@server/models/Search'; +import { useRouter } from 'next/router'; +import { useState } from 'react'; +import { defineMessages, useIntl } from 'react-intl'; + +const messages = defineMessages({ + discovertv: 'Series', + activefilters: + '{count, plural, one {# Active Filter} other {# Active Filters}}', + sortPopularityAsc: 'Popularity Ascending', + sortPopularityDesc: 'Popularity Descending', + sortFirstAirDateAsc: 'First Air Date Ascending', + sortFirstAirDateDesc: 'First Air Date Descending', + sortTmdbRatingAsc: 'TMDB Rating Ascending', + sortTmdbRatingDesc: 'TMDB Rating Descending', + sortTitleAsc: 'Title (A-Z) Ascending', + sortTitleDesc: 'Title (Z-A) Descending', +}); + +const SortOptions: Record = { + PopularityAsc: 'popularity.asc', + PopularityDesc: 'popularity.desc', + FirstAirDateAsc: 'first_air_date.asc', + FirstAirDateDesc: 'first_air_date.desc', + TmdbRatingAsc: 'vote_average.asc', + TmdbRatingDesc: 'vote_average.desc', + TitleAsc: 'original_title.asc', + TitleDesc: 'original_title.desc', +} as const; + +const DiscoverTv = () => { + const intl = useIntl(); + const router = useRouter(); + const [showFilters, setShowFilters] = useState(false); + const preparedFilters = prepareFilterValues(router.query); + const updateQueryParams = useUpdateQueryParams({}); + + const { + isLoadingInitialData, + isEmpty, + isLoadingMore, + isReachingEnd, + titles, + fetchMore, + error, + } = useDiscover('/api/v1/discover/tv', { + ...preparedFilters, + }); + + if (error) { + return ; + } + + const title = intl.formatMessage(messages.discovertv); + + return ( + <> + +
+
{title}
+
+
+ + + + +
+ setShowFilters(false)} + show={showFilters} + /> +
+ +
+
+
+ 0) + } + onScrollBottom={fetchMore} + /> + + ); +}; + +export default DiscoverTv; diff --git a/src/components/Discover/DiscoverTv.tsx b/src/components/Discover/DiscoverTvKeyword/index.tsx similarity index 52% rename from src/components/Discover/DiscoverTv.tsx rename to src/components/Discover/DiscoverTvKeyword/index.tsx index 404b1aa5b1..0c04113862 100644 --- a/src/components/Discover/DiscoverTv.tsx +++ b/src/components/Discover/DiscoverTvKeyword/index.tsx @@ -1,16 +1,20 @@ import Header from '@app/components/Common/Header'; import ListView from '@app/components/Common/ListView'; import PageTitle from '@app/components/Common/PageTitle'; -import useDiscover from '@app/hooks/useDiscover'; +import useDiscover, { encodeURIExtraParams } from '@app/hooks/useDiscover'; +import globalMessages from '@app/i18n/globalMessages'; import Error from '@app/pages/_error'; +import type { TmdbKeyword } from '@server/api/themoviedb/interfaces'; import type { TvResult } from '@server/models/Search'; +import { useRouter } from 'next/router'; import { defineMessages, useIntl } from 'react-intl'; const messages = defineMessages({ - discovertv: 'Popular Series', + keywordSeries: '{keywordTitle} Series', }); -const DiscoverTv = () => { +const DiscoverTvKeyword = () => { + const router = useRouter(); const intl = useIntl(); const { @@ -21,13 +25,25 @@ const DiscoverTv = () => { titles, fetchMore, error, - } = useDiscover('/api/v1/discover/tv'); + firstResultData, + } = useDiscover( + `/api/v1/discover/tv`, + { + keywords: encodeURIExtraParams(router.query.keywords as string), + } + ); if (error) { return ; } - const title = intl.formatMessage(messages.discovertv); + const title = isLoadingInitialData + ? intl.formatMessage(globalMessages.loading) + : intl.formatMessage(messages.keywordSeries, { + keywordTitle: firstResultData?.keywords + .map((k) => `${k.name[0].toUpperCase()}${k.name.substring(1)}`) + .join(', '), + }); return ( <> @@ -38,14 +54,14 @@ const DiscoverTv = () => { 0) } + isReachingEnd={isReachingEnd} onScrollBottom={fetchMore} /> ); }; -export default DiscoverTv; +export default DiscoverTvKeyword; diff --git a/src/components/Discover/FilterSlideover/index.tsx b/src/components/Discover/FilterSlideover/index.tsx new file mode 100644 index 0000000000..10ee0fea24 --- /dev/null +++ b/src/components/Discover/FilterSlideover/index.tsx @@ -0,0 +1,297 @@ +import Button from '@app/components/Common/Button'; +import MultiRangeSlider from '@app/components/Common/MultiRangeSlider'; +import SlideOver from '@app/components/Common/SlideOver'; +import type { FilterOptions } from '@app/components/Discover/constants'; +import { countActiveFilters } from '@app/components/Discover/constants'; +import LanguageSelector from '@app/components/LanguageSelector'; +import { + CompanySelector, + GenreSelector, + KeywordSelector, + WatchProviderSelector, +} from '@app/components/Selector'; +import useSettings from '@app/hooks/useSettings'; +import { + useBatchUpdateQueryParams, + useUpdateQueryParams, +} from '@app/hooks/useUpdateQueryParams'; +import { XCircleIcon } from '@heroicons/react/24/outline'; +import { defineMessages, useIntl } from 'react-intl'; +import Datepicker from 'react-tailwindcss-datepicker-sct'; + +const messages = defineMessages({ + filters: 'Filters', + activefilters: + '{count, plural, one {# Active Filter} other {# Active Filters}}', + releaseDate: 'Release Date', + firstAirDate: 'First Air Date', + from: 'From', + to: 'To', + studio: 'Studio', + genres: 'Genres', + keywords: 'Keywords', + originalLanguage: 'Original Language', + runtimeText: '{minValue}-{maxValue} minute runtime', + ratingText: 'Ratings between {minValue} and {maxValue}', + clearfilters: 'Clear Active Filters', + tmdbuserscore: 'TMDB User Score', + runtime: 'Runtime', + streamingservices: 'Streaming Services', +}); + +type FilterSlideoverProps = { + show: boolean; + onClose: () => void; + type: 'movie' | 'tv'; + currentFilters: FilterOptions; +}; + +const FilterSlideover = ({ + show, + onClose, + type, + currentFilters, +}: FilterSlideoverProps) => { + const intl = useIntl(); + const { currentSettings } = useSettings(); + const updateQueryParams = useUpdateQueryParams({}); + const batchUpdateQueryParams = useBatchUpdateQueryParams({}); + + const dateGte = + type === 'movie' ? 'primaryReleaseDateGte' : 'firstAirDateGte'; + const dateLte = + type === 'movie' ? 'primaryReleaseDateLte' : 'firstAirDateLte'; + + return ( + onClose()} + > +
+
+
+ {intl.formatMessage( + type === 'movie' ? messages.releaseDate : messages.firstAirDate + )} +
+
+
+
{intl.formatMessage(messages.from)}
+ { + updateQueryParams( + dateGte, + value?.startDate ? (value.startDate as string) : undefined + ); + }} + inputName="fromdate" + useRange={false} + asSingle + containerClassName="datepicker-wrapper" + inputClassName="pr-1 sm:pr-4 text-base leading-5" + /> +
+
+
{intl.formatMessage(messages.to)}
+ { + updateQueryParams( + dateLte, + value?.startDate ? (value.startDate as string) : undefined + ); + }} + inputName="todate" + useRange={false} + asSingle + containerClassName="datepicker-wrapper" + inputClassName="pr-1 sm:pr-4 text-base leading-5" + /> +
+
+
+ {type === 'movie' && ( + <> + + {intl.formatMessage(messages.studio)} + + { + updateQueryParams('studio', value?.value.toString()); + }} + /> + + )} + + {intl.formatMessage(messages.genres)} + + { + updateQueryParams('genre', value?.map((v) => v.value).join(',')); + }} + /> + + {intl.formatMessage(messages.keywords)} + + { + updateQueryParams('keywords', value?.map((v) => v.value).join(',')); + }} + /> + + {intl.formatMessage(messages.originalLanguage)} + + { + updateQueryParams('language', value); + }} + /> + + {intl.formatMessage(messages.runtime)} + +
+ { + updateQueryParams( + 'withRuntimeGte', + min !== 0 && Number(currentFilters.withRuntimeLte) !== 400 + ? min.toString() + : undefined + ); + }} + onUpdateMax={(max) => { + updateQueryParams( + 'withRuntimeLte', + max !== 400 && Number(currentFilters.withRuntimeGte) !== 0 + ? max.toString() + : undefined + ); + }} + defaultMaxValue={ + currentFilters.withRuntimeLte + ? Number(currentFilters.withRuntimeLte) + : undefined + } + defaultMinValue={ + currentFilters.withRuntimeGte + ? Number(currentFilters.withRuntimeGte) + : undefined + } + subText={intl.formatMessage(messages.runtimeText, { + minValue: currentFilters.withRuntimeGte ?? 0, + maxValue: currentFilters.withRuntimeLte ?? 400, + })} + /> +
+ + {intl.formatMessage(messages.tmdbuserscore)} + +
+ { + updateQueryParams( + 'voteAverageGte', + min !== 1 && Number(currentFilters.voteAverageLte) !== 10 + ? min.toString() + : undefined + ); + }} + onUpdateMax={(max) => { + updateQueryParams( + 'voteAverageLte', + max !== 10 && Number(currentFilters.voteAverageGte) !== 1 + ? max.toString() + : undefined + ); + }} + subText={intl.formatMessage(messages.ratingText, { + minValue: currentFilters.voteAverageGte ?? 1, + maxValue: currentFilters.voteAverageLte ?? 10, + })} + /> +
+ + {intl.formatMessage(messages.streamingservices)} + + Number(v)) ?? + [] + } + onChange={(region, providers) => { + if (providers.length) { + batchUpdateQueryParams({ + watchRegion: region, + watchProviders: providers.join('|'), + }); + } else { + batchUpdateQueryParams({ + watchRegion: undefined, + watchProviders: undefined, + }); + } + }} + /> +
+ +
+
+
+ ); +}; + +export default FilterSlideover; diff --git a/src/components/Discover/MovieGenreSlider/index.tsx b/src/components/Discover/MovieGenreSlider/index.tsx index 4899d3496b..106d14a514 100644 --- a/src/components/Discover/MovieGenreSlider/index.tsx +++ b/src/components/Discover/MovieGenreSlider/index.tsx @@ -1,7 +1,7 @@ import { genreColorMap } from '@app/components/Discover/constants'; import GenreCard from '@app/components/GenreCard'; import Slider from '@app/components/Slider'; -import { ArrowCircleRightIcon } from '@heroicons/react/outline'; +import { ArrowRightCircleIcon } from '@heroicons/react/24/outline'; import type { GenreSliderItem } from '@server/interfaces/api/discoverInterfaces'; import Link from 'next/link'; import React from 'react'; @@ -28,7 +28,7 @@ const MovieGenreSlider = () => { {intl.formatMessage(messages.moviegenres)} - +
@@ -43,7 +43,7 @@ const MovieGenreSlider = () => { image={`https://image.tmdb.org/t/p/w1280_filter(duotone,${ genreColorMap[genre.id] ?? genreColorMap[0] })${genre.backdrops[4]}`} - url={`/discover/movies/genre/${genre.id}`} + url={`/discover/movies?genre=${genre.id}`} /> ))} placeholder={} diff --git a/src/components/Discover/PlexWatchlistSlider/index.tsx b/src/components/Discover/PlexWatchlistSlider/index.tsx new file mode 100644 index 0000000000..76fba57ca7 --- /dev/null +++ b/src/components/Discover/PlexWatchlistSlider/index.tsx @@ -0,0 +1,79 @@ +import Slider from '@app/components/Slider'; +import TmdbTitleCard from '@app/components/TitleCard/TmdbTitleCard'; +import { UserType, useUser } from '@app/hooks/useUser'; +import { ArrowRightCircleIcon } from '@heroicons/react/24/outline'; +import type { WatchlistItem } from '@server/interfaces/api/discoverInterfaces'; +import Link from 'next/link'; +import { defineMessages, useIntl } from 'react-intl'; +import useSWR from 'swr'; + +const messages = defineMessages({ + plexwatchlist: 'Your Plex Watchlist', + emptywatchlist: + 'Media added to your Plex Watchlist will appear here.', +}); + +const PlexWatchlistSlider = () => { + const intl = useIntl(); + const { user } = useUser(); + + const { data: watchlistItems, error: watchlistError } = useSWR<{ + page: number; + totalPages: number; + totalResults: number; + results: WatchlistItem[]; + }>(user?.userType === UserType.PLEX ? '/api/v1/discover/watchlist' : null, { + revalidateOnMount: true, + }); + + if ( + user?.userType !== UserType.PLEX || + (watchlistItems && + watchlistItems.results.length === 0 && + !user?.settings?.watchlistSyncMovies && + !user?.settings?.watchlistSyncTv) || + watchlistError + ) { + return null; + } + + return ( + <> + + ( + + {msg} + + ), + })} + items={watchlistItems?.results.map((item) => ( + + ))} + /> + + ); +}; + +export default PlexWatchlistSlider; diff --git a/src/components/Discover/RecentRequestsSlider/index.tsx b/src/components/Discover/RecentRequestsSlider/index.tsx new file mode 100644 index 0000000000..96309d613a --- /dev/null +++ b/src/components/Discover/RecentRequestsSlider/index.tsx @@ -0,0 +1,49 @@ +import { sliderTitles } from '@app/components/Discover/constants'; +import RequestCard from '@app/components/RequestCard'; +import Slider from '@app/components/Slider'; +import { ArrowRightCircleIcon } from '@heroicons/react/24/outline'; +import type { RequestResultsResponse } from '@server/interfaces/api/requestInterfaces'; +import Link from 'next/link'; +import { useIntl } from 'react-intl'; +import useSWR from 'swr'; + +const RecentRequestsSlider = () => { + const intl = useIntl(); + const { data: requests, error: requestError } = + useSWR( + '/api/v1/request?filter=all&take=10&sort=modified&skip=0', + { + revalidateOnMount: true, + } + ); + + if (requests && requests.results.length === 0 && !requestError) { + return null; + } + + return ( + <> + + ( + + ))} + placeholder={} + /> + + ); +}; + +export default RecentRequestsSlider; diff --git a/src/components/Discover/RecentlyAddedSlider/index.tsx b/src/components/Discover/RecentlyAddedSlider/index.tsx new file mode 100644 index 0000000000..078f86ba33 --- /dev/null +++ b/src/components/Discover/RecentlyAddedSlider/index.tsx @@ -0,0 +1,53 @@ +import Slider from '@app/components/Slider'; +import TmdbTitleCard from '@app/components/TitleCard/TmdbTitleCard'; +import { Permission, useUser } from '@app/hooks/useUser'; +import type { MediaResultsResponse } from '@server/interfaces/api/mediaInterfaces'; +import { defineMessages, useIntl } from 'react-intl'; +import useSWR from 'swr'; + +const messages = defineMessages({ + recentlyAdded: 'Recently Added', +}); + +const RecentlyAddedSlider = () => { + const intl = useIntl(); + const { hasPermission } = useUser(); + const { data: media, error: mediaError } = useSWR( + '/api/v1/media?filter=allavailable&take=20&sort=mediaAdded', + { revalidateOnMount: true } + ); + + if ( + (media && !media.results.length && !mediaError) || + !hasPermission([Permission.MANAGE_REQUESTS, Permission.RECENT_VIEW], { + type: 'or', + }) + ) { + return null; + } + + return ( + <> +
+
+ {intl.formatMessage(messages.recentlyAdded)} +
+
+ ( + + ))} + /> + + ); +}; + +export default RecentlyAddedSlider; diff --git a/src/components/Discover/TvGenreSlider/index.tsx b/src/components/Discover/TvGenreSlider/index.tsx index 820012c321..34dfd1c74f 100644 --- a/src/components/Discover/TvGenreSlider/index.tsx +++ b/src/components/Discover/TvGenreSlider/index.tsx @@ -1,7 +1,7 @@ import { genreColorMap } from '@app/components/Discover/constants'; import GenreCard from '@app/components/GenreCard'; import Slider from '@app/components/Slider'; -import { ArrowCircleRightIcon } from '@heroicons/react/outline'; +import { ArrowRightCircleIcon } from '@heroicons/react/24/outline'; import type { GenreSliderItem } from '@server/interfaces/api/discoverInterfaces'; import Link from 'next/link'; import React from 'react'; @@ -28,7 +28,7 @@ const TvGenreSlider = () => { {intl.formatMessage(messages.tvgenres)} - +
@@ -43,7 +43,7 @@ const TvGenreSlider = () => { image={`https://image.tmdb.org/t/p/w1280_filter(duotone,${ genreColorMap[genre.id] ?? genreColorMap[0] })${genre.backdrops[4]}`} - url={`/discover/tv/genre/${genre.id}`} + url={`/discover/tv?genre=${genre.id}`} /> ))} placeholder={} diff --git a/src/components/Discover/constants.ts b/src/components/Discover/constants.ts index b53c42c129..6fcbe43cb0 100644 --- a/src/components/Discover/constants.ts +++ b/src/components/Discover/constants.ts @@ -1,3 +1,7 @@ +import type { ParsedUrlQuery } from 'querystring'; +import { defineMessages } from 'react-intl'; +import { z } from 'zod'; + type AvailableColors = | 'black' | 'red' @@ -61,3 +65,142 @@ export const genreColorMap: Record = { 10767: colorTones.lightgreen, // Talk 10768: colorTones.darkred, // War & Politics }; + +export const sliderTitles = defineMessages({ + recentrequests: 'Recent Requests', + popularmovies: 'Popular Movies', + populartv: 'Popular Series', + upcomingtv: 'Upcoming Series', + recentlyAdded: 'Recently Added', + upcoming: 'Upcoming Movies', + trending: 'Trending', + plexwatchlist: 'Your Plex Watchlist', + moviegenres: 'Movie Genres', + tvgenres: 'Series Genres', + studios: 'Studios', + networks: 'Networks', + tmdbmoviekeyword: 'TMDB Movie Keyword', + tmdbtvkeyword: 'TMDB Series Keyword', + tmdbmoviegenre: 'TMDB Movie Genre', + tmdbtvgenre: 'TMDB Series Genre', + tmdbnetwork: 'TMDB Network', + tmdbstudio: 'TMDB Studio', + tmdbsearch: 'TMDB Search', +}); + +export const QueryFilterOptions = z.object({ + sortBy: z.string().optional(), + primaryReleaseDateGte: z.string().optional(), + primaryReleaseDateLte: z.string().optional(), + firstAirDateGte: z.string().optional(), + firstAirDateLte: z.string().optional(), + studio: z.string().optional(), + genre: z.string().optional(), + keywords: z.string().optional(), + language: z.string().optional(), + withRuntimeGte: z.string().optional(), + withRuntimeLte: z.string().optional(), + voteAverageGte: z.string().optional(), + voteAverageLte: z.string().optional(), + watchRegion: z.string().optional(), + watchProviders: z.string().optional(), +}); + +export type FilterOptions = z.infer; + +export const prepareFilterValues = ( + inputValues: ParsedUrlQuery +): FilterOptions => { + const filterValues: FilterOptions = {}; + + const values = QueryFilterOptions.parse(inputValues); + + if (values.sortBy) { + filterValues.sortBy = values.sortBy; + } + + if (values.primaryReleaseDateGte) { + filterValues.primaryReleaseDateGte = values.primaryReleaseDateGte; + } + + if (values.primaryReleaseDateLte) { + filterValues.primaryReleaseDateLte = values.primaryReleaseDateLte; + } + + if (values.firstAirDateGte) { + filterValues.firstAirDateGte = values.firstAirDateGte; + } + + if (values.firstAirDateLte) { + filterValues.firstAirDateLte = values.firstAirDateLte; + } + + if (values.studio) { + filterValues.studio = values.studio; + } + + if (values.genre) { + filterValues.genre = values.genre; + } + + if (values.keywords) { + filterValues.keywords = values.keywords; + } + + if (values.language) { + filterValues.language = values.language; + } + + if (values.withRuntimeGte) { + filterValues.withRuntimeGte = values.withRuntimeGte; + } + + if (values.withRuntimeLte) { + filterValues.withRuntimeLte = values.withRuntimeLte; + } + + if (values.voteAverageGte) { + filterValues.voteAverageGte = values.voteAverageGte; + } + + if (values.voteAverageLte) { + filterValues.voteAverageLte = values.voteAverageLte; + } + + if (values.watchProviders) { + filterValues.watchProviders = values.watchProviders; + } + + if (values.watchRegion) { + filterValues.watchRegion = values.watchRegion; + } + + return filterValues; +}; + +export const countActiveFilters = (filterValues: FilterOptions): number => { + let totalCount = 0; + const clonedFilters = Object.assign({}, filterValues); + + if (clonedFilters.voteAverageGte || filterValues.voteAverageLte) { + totalCount += 1; + delete clonedFilters.voteAverageGte; + delete clonedFilters.voteAverageLte; + } + + if (clonedFilters.withRuntimeGte || filterValues.withRuntimeLte) { + totalCount += 1; + delete clonedFilters.withRuntimeGte; + delete clonedFilters.withRuntimeLte; + } + + if (clonedFilters.watchProviders) { + totalCount += 1; + delete clonedFilters.watchProviders; + delete clonedFilters.watchRegion; + } + + totalCount += Object.keys(clonedFilters).length; + + return totalCount; +}; diff --git a/src/components/Discover/index.tsx b/src/components/Discover/index.tsx index 24dc6fea51..b9071b424b 100644 --- a/src/components/Discover/index.tsx +++ b/src/components/Discover/index.tsx @@ -1,189 +1,430 @@ +import Button from '@app/components/Common/Button'; +import ConfirmButton from '@app/components/Common/ConfirmButton'; +import LoadingSpinner from '@app/components/Common/LoadingSpinner'; import PageTitle from '@app/components/Common/PageTitle'; +import Tooltip from '@app/components/Common/Tooltip'; +import { sliderTitles } from '@app/components/Discover/constants'; +import CreateSlider from '@app/components/Discover/CreateSlider'; +import DiscoverSliderEdit from '@app/components/Discover/DiscoverSliderEdit'; import MovieGenreSlider from '@app/components/Discover/MovieGenreSlider'; import NetworkSlider from '@app/components/Discover/NetworkSlider'; +import PlexWatchlistSlider from '@app/components/Discover/PlexWatchlistSlider'; +import RecentlyAddedSlider from '@app/components/Discover/RecentlyAddedSlider'; +import RecentRequestsSlider from '@app/components/Discover/RecentRequestsSlider'; import StudioSlider from '@app/components/Discover/StudioSlider'; import TvGenreSlider from '@app/components/Discover/TvGenreSlider'; import MediaSlider from '@app/components/MediaSlider'; -import RequestCard from '@app/components/RequestCard'; -import Slider from '@app/components/Slider'; -import TmdbTitleCard from '@app/components/TitleCard/TmdbTitleCard'; -import { Permission, UserType, useUser } from '@app/hooks/useUser'; -import { ArrowCircleRightIcon } from '@heroicons/react/outline'; -import type { WatchlistItem } from '@server/interfaces/api/discoverInterfaces'; -import type { MediaResultsResponse } from '@server/interfaces/api/mediaInterfaces'; -import type { RequestResultsResponse } from '@server/interfaces/api/requestInterfaces'; -import Link from 'next/link'; +import { encodeURIExtraParams } from '@app/hooks/useDiscover'; +import { Permission, useUser } from '@app/hooks/useUser'; +import globalMessages from '@app/i18n/globalMessages'; +import { Transition } from '@headlessui/react'; +import { + ArrowDownOnSquareIcon, + ArrowPathIcon, + ArrowUturnLeftIcon, + PencilIcon, + PlusIcon, +} from '@heroicons/react/24/solid'; +import { DiscoverSliderType } from '@server/constants/discover'; +import type DiscoverSlider from '@server/entity/DiscoverSlider'; +import axios from 'axios'; +import { useEffect, useState } from 'react'; import { defineMessages, useIntl } from 'react-intl'; +import { useToasts } from 'react-toast-notifications'; import useSWR from 'swr'; const messages = defineMessages({ discover: 'Discover', - recentrequests: 'Recent Requests', - popularmovies: 'Popular Movies', - populartv: 'Popular Series', - upcomingtv: 'Upcoming Series', - recentlyAdded: 'Recently Added', - upcoming: 'Upcoming Movies', - trending: 'Trending', - plexwatchlist: 'Your Plex Watchlist', emptywatchlist: 'Media added to your Plex Watchlist will appear here.', + resettodefault: 'Reset to Default', + resetwarning: + 'Reset all sliders to default. This will also delete any custom sliders!', + updatesuccess: 'Updated discover customization settings.', + updatefailed: + 'Something went wrong updating the discover customization settings.', + resetsuccess: 'Sucessfully reset discover customization settings.', + resetfailed: + 'Something went wrong resetting the discover customization settings.', + customizediscover: 'Customize Discover', + stopediting: 'Stop Editing', + createnewslider: 'Create New Slider', }); const Discover = () => { const intl = useIntl(); - const { user, hasPermission } = useUser(); + const { hasPermission } = useUser(); + const { addToast } = useToasts(); + const { + data: discoverData, + error: discoverError, + mutate, + } = useSWR('/api/v1/settings/discover'); + const [sliders, setSliders] = useState[]>([]); + const [isEditing, setIsEditing] = useState(false); - const { data: media, error: mediaError } = useSWR( - '/api/v1/media?filter=allavailable&take=20&sort=mediaAdded', - { revalidateOnMount: true } - ); + // We need to sync the state here so that we can modify the changes locally without commiting + // anything to the server until the user decides to save the changes + useEffect(() => { + if (discoverData && !isEditing) { + setSliders(discoverData); + } + }, [discoverData, isEditing]); + + const hasChanged = () => !Object.is(discoverData, sliders); + + const updateSliders = async () => { + try { + await axios.post('/api/v1/settings/discover', sliders); + + addToast(intl.formatMessage(messages.updatesuccess), { + appearance: 'success', + autoDismiss: true, + }); + setIsEditing(false); + mutate(); + } catch (e) { + addToast(intl.formatMessage(messages.updatefailed), { + appearance: 'error', + autoDismiss: true, + }); + } + }; + + const resetSliders = async () => { + try { + await axios.get('/api/v1/settings/discover/reset'); - const { data: requests, error: requestError } = - useSWR( - '/api/v1/request?filter=all&take=10&sort=modified&skip=0', - { - revalidateOnMount: true, - } - ); - - const { data: watchlistItems, error: watchlistError } = useSWR<{ - page: number; - totalPages: number; - totalResults: number; - results: WatchlistItem[]; - }>(user?.userType === UserType.PLEX ? '/api/v1/discover/watchlist' : null, { - revalidateOnMount: true, - }); + addToast(intl.formatMessage(messages.resetsuccess), { + appearance: 'success', + autoDismiss: true, + }); + setIsEditing(false); + mutate(); + } catch (e) { + addToast(intl.formatMessage(messages.resetfailed), { + appearance: 'error', + autoDismiss: true, + }); + } + }; + + const now = new Date(); + const offset = now.getTimezoneOffset(); + const upcomingDate = new Date(now.getTime() - offset * 60 * 1000) + .toISOString() + .split('T')[0]; + + if (!discoverData && !discoverError) { + return ; + } return ( <> - {(!media || !!media.results.length) && - !mediaError && - hasPermission([Permission.MANAGE_REQUESTS, Permission.RECENT_VIEW], { - type: 'or', - }) && ( - <> -
-
- {intl.formatMessage(messages.recentlyAdded)} + {hasPermission(Permission.ADMIN) && ( + <> + {isEditing && ( +
+
+ + + {intl.formatMessage(messages.createnewslider)} +
-
- ( - + { + const newSliders = await mutate(); + + if (newSliders) { + setSliders(newSliders); + } + }} /> - ))} - /> - - )} - {(!requests || !!requests.results.length) && !requestError && ( - <> - - ( - - ))} - placeholder={} - /> +
+
+ )} + + + + + + + resetSliders()} + confirmText={intl.formatMessage(globalMessages.areyousure)} + className="w-full sm:w-auto" + > + + {intl.formatMessage(messages.resettodefault)} + + + + )} - {user?.userType === UserType.PLEX && - (!watchlistItems || - !!watchlistItems.results.length || - user.settings?.watchlistSyncMovies || - user.settings?.watchlistSyncTv) && - !watchlistError && ( - <> - - ( - - {msg} - - ), - })} - items={watchlistItems?.results.map((item) => ( - - ))} - /> - - )} - - - - - - - - - + {(isEditing ? sliders : discoverData)?.map((slider, index) => { + let sliderComponent: React.ReactNode; + + switch (slider.type) { + case DiscoverSliderType.RECENTLY_ADDED: + sliderComponent = ; + break; + case DiscoverSliderType.RECENT_REQUESTS: + sliderComponent = ; + break; + case DiscoverSliderType.PLEX_WATCHLIST: + sliderComponent = ; + break; + case DiscoverSliderType.TRENDING: + sliderComponent = ( + + ); + break; + case DiscoverSliderType.POPULAR_MOVIES: + sliderComponent = ( + + ); + break; + case DiscoverSliderType.MOVIE_GENRES: + sliderComponent = ; + break; + case DiscoverSliderType.UPCOMING_MOVIES: + sliderComponent = ( + + ); + break; + case DiscoverSliderType.STUDIOS: + sliderComponent = ; + break; + case DiscoverSliderType.POPULAR_TV: + sliderComponent = ( + + ); + break; + case DiscoverSliderType.TV_GENRES: + sliderComponent = ; + break; + case DiscoverSliderType.UPCOMING_TV: + sliderComponent = ( + + ); + break; + case DiscoverSliderType.NETWORKS: + sliderComponent = ; + break; + case DiscoverSliderType.TMDB_MOVIE_KEYWORD: + sliderComponent = ( + + ); + break; + case DiscoverSliderType.TMDB_TV_KEYWORD: + sliderComponent = ( + + ); + break; + case DiscoverSliderType.TMDB_MOVIE_GENRE: + sliderComponent = ( + + ); + break; + case DiscoverSliderType.TMDB_TV_GENRE: + sliderComponent = ( + + ); + break; + case DiscoverSliderType.TMDB_STUDIO: + sliderComponent = ( + + ); + break; + case DiscoverSliderType.TMDB_NETWORK: + sliderComponent = ( + + ); + break; + case DiscoverSliderType.TMDB_SEARCH: + sliderComponent = ( + + ); + break; + } + + if (isEditing) { + return ( + { + const newSliders = await mutate(); + + if (newSliders) { + setSliders(newSliders); + } + }} + onEnable={() => { + const tempSliders = sliders.slice(); + tempSliders[index].enabled = !tempSliders[index].enabled; + setSliders(tempSliders); + }} + onPositionUpdate={(updatedItemId, position, hasClickedArrows) => { + const originalPosition = sliders.findIndex( + (item) => item.id === updatedItemId + ); + const originalItem = sliders[originalPosition]; + + const tempSliders = sliders.slice(); + + tempSliders.splice(originalPosition, 1); + hasClickedArrows + ? tempSliders.splice( + position === 'Above' ? index - 1 : index + 1, + 0, + originalItem + ) + : tempSliders.splice( + position === 'Above' && index > originalPosition + ? Math.max(index - 1, 0) + : index, + 0, + originalItem + ); + + setSliders(tempSliders); + }} + disableUpButton={index === 0} + disableDownButton={index === sliders.length - 1} + > + {sliderComponent} + + ); + } + + if (!slider.enabled) { + return null; + } + + return ( +
{sliderComponent}
+ ); + })} ); }; diff --git a/src/components/DownloadBlock/index.tsx b/src/components/DownloadBlock/index.tsx index 0597e3a6a3..6bb04b54f3 100644 --- a/src/components/DownloadBlock/index.tsx +++ b/src/components/DownloadBlock/index.tsx @@ -1,23 +1,39 @@ import Badge from '@app/components/Common/Badge'; +import { Permission, useUser } from '@app/hooks/useUser'; import type { DownloadingItem } from '@server/lib/downloadtracker'; import { defineMessages, FormattedRelativeTime, useIntl } from 'react-intl'; const messages = defineMessages({ estimatedtime: 'Estimated {time}', + formattedTitle: '{title}: Season {seasonNumber} Episode {episodeNumber}', }); interface DownloadBlockProps { downloadItem: DownloadingItem; is4k?: boolean; + title?: string; } -const DownloadBlock = ({ downloadItem, is4k = false }: DownloadBlockProps) => { +const DownloadBlock = ({ + downloadItem, + is4k = false, + title, +}: DownloadBlockProps) => { const intl = useIntl(); + const { hasPermission } = useUser(); return (
- {downloadItem.title} + {hasPermission(Permission.ADMIN) + ? downloadItem.title + : downloadItem.episode + ? intl.formatMessage(messages.formattedTitle, { + title, + seasonNumber: downloadItem?.episode?.seasonNumber, + episodeNumber: downloadItem?.episode?.episodeNumber, + }) + : title}
{ + const { data, error } = useSWR(`/api/v1/genres/${type}`); + + if (!data && !error) { + return ( + + + + ); + } + + const genre = data?.find((genre) => genre.id === genreId); + + return }>{genre?.name}; +}; + +export default GenreTag; diff --git a/src/components/IssueBlock/index.tsx b/src/components/IssueBlock/index.tsx index c337c721cc..d4cb9d0e0f 100644 --- a/src/components/IssueBlock/index.tsx +++ b/src/components/IssueBlock/index.tsx @@ -3,10 +3,10 @@ import { issueOptions } from '@app/components/IssueModal/constants'; import { useUser } from '@app/hooks/useUser'; import { CalendarIcon, - ExclamationIcon, + ExclamationTriangleIcon, EyeIcon, UserIcon, -} from '@heroicons/react/solid'; +} from '@heroicons/react/24/solid'; import type Issue from '@server/entity/Issue'; import Link from 'next/link'; import { useIntl } from 'react-intl'; @@ -31,7 +31,7 @@ const IssueBlock = ({ issue }: IssueBlockProps) => {
- + {intl.formatMessage(issueOption.name)} diff --git a/src/components/IssueDetails/IssueComment/index.tsx b/src/components/IssueDetails/IssueComment/index.tsx index b941c9f318..e1e265b0e4 100644 --- a/src/components/IssueDetails/IssueComment/index.tsx +++ b/src/components/IssueDetails/IssueComment/index.tsx @@ -2,7 +2,7 @@ import Button from '@app/components/Common/Button'; import Modal from '@app/components/Common/Modal'; import { Permission, useUser } from '@app/hooks/useUser'; import { Menu, Transition } from '@headlessui/react'; -import { DotsVerticalIcon } from '@heroicons/react/solid'; +import { EllipsisVerticalIcon } from '@heroicons/react/24/solid'; import type { default as IssueCommentType } from '@server/entity/IssueComment'; import axios from 'axios'; import { Field, Form, Formik } from 'formik'; @@ -104,7 +104,7 @@ const IssueComment = ({
Open options -
+
); }; diff --git a/src/components/IssueList/IssueItem/index.tsx b/src/components/IssueList/IssueItem/index.tsx index 00e4863162..8a20b46a39 100644 --- a/src/components/IssueList/IssueItem/index.tsx +++ b/src/components/IssueList/IssueItem/index.tsx @@ -4,7 +4,7 @@ import CachedImage from '@app/components/Common/CachedImage'; import { issueOptions } from '@app/components/IssueModal/constants'; import { Permission, useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; -import { EyeIcon } from '@heroicons/react/solid'; +import { EyeIcon } from '@heroicons/react/24/solid'; import { IssueStatus } from '@server/constants/issue'; import { MediaType } from '@server/constants/media'; import type Issue from '@server/entity/Issue'; diff --git a/src/components/IssueList/index.tsx b/src/components/IssueList/index.tsx index 0c2ee3a9c0..fe68ed660a 100644 --- a/src/components/IssueList/index.tsx +++ b/src/components/IssueList/index.tsx @@ -6,11 +6,11 @@ import IssueItem from '@app/components/IssueList/IssueItem'; import { useUpdateQueryParams } from '@app/hooks/useUpdateQueryParams'; import globalMessages from '@app/i18n/globalMessages'; import { + BarsArrowDownIcon, ChevronLeftIcon, ChevronRightIcon, - FilterIcon, - SortDescendingIcon, -} from '@heroicons/react/solid'; + FunnelIcon, +} from '@heroicons/react/24/solid'; import type { IssueResultsResponse } from '@server/interfaces/api/issueInterfaces'; import { useRouter } from 'next/router'; import { useEffect, useState } from 'react'; @@ -98,7 +98,7 @@ const IssueList = () => {
- + , diff --git a/src/components/KeywordTag/index.tsx b/src/components/KeywordTag/index.tsx new file mode 100644 index 0000000000..8d5065bbdc --- /dev/null +++ b/src/components/KeywordTag/index.tsx @@ -0,0 +1,24 @@ +import Spinner from '@app/assets/spinner.svg'; +import Tag from '@app/components/Common/Tag'; +import type { Keyword } from '@server/models/common'; +import useSWR from 'swr'; + +type KeywordTagProps = { + keywordId: number; +}; + +const KeywordTag = ({ keywordId }: KeywordTagProps) => { + const { data, error } = useSWR(`/api/v1/keyword/${keywordId}`); + + if (!data && !error) { + return ( + + + + ); + } + + return {data?.name}; +}; + +export default KeywordTag; diff --git a/src/components/Layout/LanguagePicker/index.tsx b/src/components/Layout/LanguagePicker/index.tsx index 0eec6b7d30..a8ebda5a72 100644 --- a/src/components/Layout/LanguagePicker/index.tsx +++ b/src/components/Layout/LanguagePicker/index.tsx @@ -3,7 +3,7 @@ import { availableLanguages } from '@app/context/LanguageContext'; import useClickOutside from '@app/hooks/useClickOutside'; import useLocale from '@app/hooks/useLocale'; import { Transition } from '@headlessui/react'; -import { TranslateIcon } from '@heroicons/react/solid'; +import { LanguageIcon } from '@heroicons/react/24/solid'; import { useRef, useState } from 'react'; import { defineMessages, useIntl } from 'react-intl'; @@ -28,7 +28,7 @@ const LanguagePicker = () => { aria-label="Language Picker" onClick={() => setDropdownOpen(true)} > - +
{ + const ref = useRef(null); + const intl = useIntl(); + const [isOpen, setIsOpen] = useState(false); + const { hasPermission } = useUser(); + const router = useRouter(); + useClickOutside(ref, () => { + setTimeout(() => { + if (isOpen) { + setIsOpen(false); + } + }, 150); + }); + + const toggle = () => setIsOpen(!isOpen); + + const menuLinks: MenuLink[] = [ + { + href: '/', + content: intl.formatMessage(menuMessages.dashboard), + svgIcon: , + svgIconSelected: , + activeRegExp: /^\/(discover\/?)?$/, + }, + { + href: '/discover/movies', + content: intl.formatMessage(menuMessages.browsemovies), + svgIcon: , + svgIconSelected: , + activeRegExp: /^\/discover\/movies$/, + }, + { + href: '/discover/tv', + content: intl.formatMessage(menuMessages.browsetv), + svgIcon: , + svgIconSelected: , + activeRegExp: /^\/discover\/tv$/, + }, + { + href: '/requests', + content: intl.formatMessage(menuMessages.requests), + svgIcon: , + svgIconSelected: , + activeRegExp: /^\/requests/, + }, + { + href: '/issues', + content: intl.formatMessage(menuMessages.issues), + svgIcon: , + svgIconSelected: , + activeRegExp: /^\/issues/, + requiredPermission: [ + Permission.MANAGE_ISSUES, + Permission.CREATE_ISSUES, + Permission.VIEW_ISSUES, + ], + permissionType: 'or', + }, + { + href: '/users', + content: intl.formatMessage(menuMessages.users), + svgIcon: , + svgIconSelected: , + activeRegExp: /^\/users/, + requiredPermission: Permission.MANAGE_USERS, + dataTestId: 'sidebar-menu-users', + }, + { + href: '/settings', + content: intl.formatMessage(menuMessages.settings), + svgIcon: , + svgIconSelected: , + activeRegExp: /^\/settings/, + requiredPermission: Permission.ADMIN, + dataTestId: 'sidebar-menu-settings', + }, + ]; + + const filteredLinks = menuLinks.filter( + (link) => !link.requiredPermission || hasPermission(link.requiredPermission) + ); + + return ( +
+ + {filteredLinks.map((link) => { + const isActive = router.pathname.match(link.activeRegExp); + return ( + + { + if (e.key === 'Enter') { + setIsOpen(false); + } + }} + onClick={() => setIsOpen(false)} + role="button" + tabIndex={0} + > + {cloneElement(isActive ? link.svgIconSelected : link.svgIcon, { + className: 'h-5 w-5', + })} + {link.content} + + + ); + })} + +
+
+ {filteredLinks.slice(0, 4).map((link) => { + const isActive = + router.pathname.match(link.activeRegExp) && !isOpen; + return ( + + + {cloneElement( + isActive ? link.svgIconSelected : link.svgIcon, + { + className: 'h-6 w-6', + } + )} + + + ); + })} + {filteredLinks.length > 4 && ( + + )} +
+
+
+ ); +}; + +export default MobileMenu; diff --git a/src/components/Layout/Notifications/index.tsx b/src/components/Layout/Notifications/index.tsx index eed2697eb6..5a86ef4376 100644 --- a/src/components/Layout/Notifications/index.tsx +++ b/src/components/Layout/Notifications/index.tsx @@ -1,4 +1,4 @@ -import { BellIcon } from '@heroicons/react/outline'; +import { BellIcon } from '@heroicons/react/24/outline'; const Notifications = () => { return ( diff --git a/src/components/Layout/SearchInput/index.tsx b/src/components/Layout/SearchInput/index.tsx index 3c971e37ed..5c2dc16798 100644 --- a/src/components/Layout/SearchInput/index.tsx +++ b/src/components/Layout/SearchInput/index.tsx @@ -1,6 +1,6 @@ import useSearchInput from '@app/hooks/useSearchInput'; -import { XCircleIcon } from '@heroicons/react/outline'; -import { SearchIcon } from '@heroicons/react/solid'; +import { XCircleIcon } from '@heroicons/react/24/outline'; +import { MagnifyingGlassIcon } from '@heroicons/react/24/solid'; import { defineMessages, useIntl } from 'react-intl'; const messages = defineMessages({ @@ -18,7 +18,7 @@ const SearchInput = () => {
- +
, - activeRegExp: /^\/(discover\/?(movies|tv)?)?$/, + activeRegExp: /^\/(discover\/?)?$/, + }, + { + href: '/discover/movies', + messagesKey: 'browsemovies', + svgIcon: , + activeRegExp: /^\/discover\/movies$/, + }, + { + href: '/discover/tv', + messagesKey: 'browsetv', + svgIcon: , + activeRegExp: /^\/discover\/tv$/, }, { href: '/requests', @@ -56,7 +72,7 @@ const SidebarLinks: SidebarLinkProps[] = [ href: '/issues', messagesKey: 'issues', svgIcon: ( - + ), activeRegExp: /^\/issues/, requiredPermission: [ @@ -126,7 +142,7 @@ const Sidebar = ({ open, setClosed }: SidebarProps) => { aria-label="Close sidebar" onClick={() => setClosed()} > - +
{ > {sidebarLink.svgIcon} {intl.formatMessage( - messages[sidebarLink.messagesKey] + menuMessages[sidebarLink.messagesKey] )} @@ -237,7 +253,9 @@ const Sidebar = ({ open, setClosed }: SidebarProps) => { data-testid={sidebarLink.dataTestId} > {sidebarLink.svgIcon} - {intl.formatMessage(messages[sidebarLink.messagesKey])} + {intl.formatMessage( + menuMessages[sidebarLink.messagesKey] + )} ); diff --git a/src/components/Layout/UserDropdown/index.tsx b/src/components/Layout/UserDropdown/index.tsx index 57481b7193..c21a9c5062 100644 --- a/src/components/Layout/UserDropdown/index.tsx +++ b/src/components/Layout/UserDropdown/index.tsx @@ -1,8 +1,11 @@ import MiniQuotaDisplay from '@app/components/Layout/UserDropdown/MiniQuotaDisplay'; import { useUser } from '@app/hooks/useUser'; import { Menu, Transition } from '@headlessui/react'; -import { ClockIcon, LogoutIcon } from '@heroicons/react/outline'; -import { CogIcon, UserIcon } from '@heroicons/react/solid'; +import { + ArrowRightOnRectangleIcon, + ClockIcon, +} from '@heroicons/react/24/outline'; +import { CogIcon, UserIcon } from '@heroicons/react/24/solid'; import axios from 'axios'; import type { LinkProps } from 'next/link'; import Link from 'next/link'; @@ -147,7 +150,7 @@ const UserDropdown = () => { }`} onClick={() => logout()} > - + {intl.formatMessage(messages.signout)} )} diff --git a/src/components/Layout/VersionStatus/index.tsx b/src/components/Layout/VersionStatus/index.tsx index 515ff20e99..e755750eab 100644 --- a/src/components/Layout/VersionStatus/index.tsx +++ b/src/components/Layout/VersionStatus/index.tsx @@ -1,9 +1,9 @@ import { - ArrowCircleUpIcon, + ArrowUpCircleIcon, BeakerIcon, - CodeIcon, + CodeBracketIcon, ServerIcon, -} from '@heroicons/react/outline'; +} from '@heroicons/react/24/outline'; import type { StatusResponse } from '@server/interfaces/api/settingsInterfaces'; import Link from 'next/link'; import { defineMessages, useIntl } from 'react-intl'; @@ -56,7 +56,7 @@ const VersionStatus = ({ onClick }: VersionStatusProps) => { }`} > {data.commitTag === 'local' ? ( - + ) : data.version.startsWith('develop-') ? ( ) : ( @@ -80,7 +80,7 @@ const VersionStatus = ({ onClick }: VersionStatusProps) => { )}
- {data.updateAvailable && } + {data.updateAvailable && } ); diff --git a/src/components/Layout/index.tsx b/src/components/Layout/index.tsx index 22c131aeef..b30b9712ae 100644 --- a/src/components/Layout/index.tsx +++ b/src/components/Layout/index.tsx @@ -1,3 +1,4 @@ +import MobileMenu from '@app/components/Layout/MobileMenu'; import SearchInput from '@app/components/Layout/SearchInput'; import Sidebar from '@app/components/Layout/Sidebar'; import UserDropdown from '@app/components/Layout/UserDropdown'; @@ -6,8 +7,7 @@ import type { AvailableLocale } from '@app/context/LanguageContext'; import useLocale from '@app/hooks/useLocale'; import useSettings from '@app/hooks/useSettings'; import { useUser } from '@app/hooks/useUser'; -import { MenuAlt2Icon } from '@heroicons/react/outline'; -import { ArrowLeftIcon } from '@heroicons/react/solid'; +import { ArrowLeftIcon, Bars3BottomLeftIcon } from '@heroicons/react/24/solid'; import { useRouter } from 'next/router'; import { useEffect, useState } from 'react'; @@ -56,6 +56,9 @@ const Layout = ({ children }: LayoutProps) => {
setSidebarOpen(false)} /> +
+ +
@@ -68,17 +71,17 @@ const Layout = ({ children }: LayoutProps) => { WebkitBackdropFilter: isScrolled ? 'blur(5px)' : undefined, }} > - -
+
+
- +
{intl.formatMessage(messages.seemore)}
diff --git a/src/components/MediaSlider/index.tsx b/src/components/MediaSlider/index.tsx index 9a9bc054c7..54b5cc801a 100644 --- a/src/components/MediaSlider/index.tsx +++ b/src/components/MediaSlider/index.tsx @@ -3,7 +3,7 @@ import PersonCard from '@app/components/PersonCard'; import Slider from '@app/components/Slider'; import TitleCard from '@app/components/TitleCard'; import useSettings from '@app/hooks/useSettings'; -import { ArrowCircleRightIcon } from '@heroicons/react/outline'; +import { ArrowRightCircleIcon } from '@heroicons/react/24/outline'; import { MediaStatus } from '@server/constants/media'; import type { MovieResult, @@ -27,14 +27,18 @@ interface MediaSliderProps { linkUrl?: string; sliderKey: string; hideWhenEmpty?: boolean; + extraParams?: string; + onNewTitles?: (titleCount: number) => void; } const MediaSlider = ({ title, url, linkUrl, + extraParams, sliderKey, hideWhenEmpty = false, + onNewTitles, }: MediaSliderProps) => { const settings = useSettings(); const { data, error, setSize, size } = useSWRInfinite( @@ -43,7 +47,9 @@ const MediaSlider = ({ return null; } - return `${url}?page=${pageIndex + 1}`; + return `${url}?page=${pageIndex + 1}${ + extraParams ? `&${extraParams}` : '' + }`; }, { initialSize: 2, @@ -72,7 +78,13 @@ const MediaSlider = ({ ) { setSize(size + 1); } - }, [titles, setSize, size, data]); + + if (onNewTitles) { + // We aren't reporting all titles. We just want to know if there are any titles + // at all for our purposes. + onNewTitles(titles.length); + } + }, [titles, setSize, size, data, onNewTitles]); if (hideWhenEmpty && (data?.[0].results ?? []).length === 0) { return null; @@ -137,9 +149,9 @@ const MediaSlider = ({
{linkUrl ? ( - - {title} - + + {title} + ) : ( diff --git a/src/components/MovieDetails/index.tsx b/src/components/MovieDetails/index.tsx index 85c3c553c6..795ab7ded9 100644 --- a/src/components/MovieDetails/index.tsx +++ b/src/components/MovieDetails/index.tsx @@ -9,6 +9,7 @@ import LoadingSpinner from '@app/components/Common/LoadingSpinner'; import PageTitle from '@app/components/Common/PageTitle'; import type { PlayButtonLink } from '@app/components/Common/PlayButton'; import PlayButton from '@app/components/Common/PlayButton'; +import Tag from '@app/components/Common/Tag'; import Tooltip from '@app/components/Common/Tooltip'; import ExternalLinkBlock from '@app/components/ExternalLinkBlock'; import IssueModal from '@app/components/IssueModal'; @@ -26,18 +27,18 @@ import globalMessages from '@app/i18n/globalMessages'; import Error from '@app/pages/_error'; import { sortCrewPriority } from '@app/utils/creditHelpers'; import { - ArrowCircleRightIcon, + ArrowRightCircleIcon, CloudIcon, CogIcon, - ExclamationIcon, + ExclamationTriangleIcon, FilmIcon, PlayIcon, TicketIcon, -} from '@heroicons/react/outline'; +} from '@heroicons/react/24/outline'; import { ChevronDoubleDownIcon, ChevronDoubleUpIcon, -} from '@heroicons/react/solid'; +} from '@heroicons/react/24/solid'; import type { RTRating } from '@server/api/rottentomatoes'; import { IssueStatus } from '@server/constants/issue'; import { MediaStatus } from '@server/constants/media'; @@ -222,7 +223,7 @@ const MovieDetails = ({ movie }: MovieDetailsProps) => { movieAttributes.push( data.genres .map((g) => ( - + {g.name} )) @@ -305,6 +306,8 @@ const MovieDetails = ({ movie }: MovieDetailsProps) => {
0} tmdbId={data.mediaInfo?.tmdbId} mediaType="movie" @@ -324,6 +327,8 @@ const MovieDetails = ({ movie }: MovieDetailsProps) => { ) && ( 0 @@ -385,7 +390,7 @@ const MovieDetails = ({ movie }: MovieDetailsProps) => { onClick={() => setShowIssueModal(true)} className="ml-2 first:ml-0" > - + )} @@ -443,12 +448,26 @@ const MovieDetails = ({ movie }: MovieDetailsProps) => { {intl.formatMessage(messages.viewfullcrew)} - +
)} + {data.keywords.length > 0 && ( +
+ {data.keywords.map((keyword) => ( + + + {keyword.name} + + + ))} +
+ )}
{data.collection && ( @@ -781,7 +800,7 @@ const MovieDetails = ({ movie }: MovieDetailsProps) => { {intl.formatMessage(messages.cast)} - +
@@ -815,7 +834,7 @@ const MovieDetails = ({ movie }: MovieDetailsProps) => { linkUrl={`/movie/${data.id}/similar`} hideWhenEmpty /> -
+
); }; diff --git a/src/components/PersonCard/index.tsx b/src/components/PersonCard/index.tsx index c2b7b64220..3ca8c17981 100644 --- a/src/components/PersonCard/index.tsx +++ b/src/components/PersonCard/index.tsx @@ -1,5 +1,5 @@ import CachedImage from '@app/components/Common/CachedImage'; -import { UserCircleIcon } from '@heroicons/react/solid'; +import { UserCircleIcon } from '@heroicons/react/24/solid'; import Link from 'next/link'; import { useState } from 'react'; diff --git a/src/components/PlexLoginButton/index.tsx b/src/components/PlexLoginButton/index.tsx index c89f10213f..3632317336 100644 --- a/src/components/PlexLoginButton/index.tsx +++ b/src/components/PlexLoginButton/index.tsx @@ -1,6 +1,6 @@ import globalMessages from '@app/i18n/globalMessages'; import PlexOAuth from '@app/utils/plex'; -import { LoginIcon } from '@heroicons/react/outline'; +import { ArrowLeftOnRectangleIcon } from '@heroicons/react/24/outline'; import { useState } from 'react'; import { defineMessages, useIntl } from 'react-intl'; @@ -49,7 +49,7 @@ const PlexLoginButton = ({ disabled={loading || isProcessing} className="plex-button" > - + {loading ? intl.formatMessage(globalMessages.loading) diff --git a/src/components/PullToRefresh/index.tsx b/src/components/PullToRefresh/index.tsx index dd782dbed2..68939c486b 100644 --- a/src/components/PullToRefresh/index.tsx +++ b/src/components/PullToRefresh/index.tsx @@ -1,4 +1,4 @@ -import { RefreshIcon } from '@heroicons/react/outline'; +import { ArrowPathIcon } from '@heroicons/react/24/outline'; import { useRouter } from 'next/router'; import PR from 'pulltorefreshjs'; import { useEffect } from 'react'; @@ -15,7 +15,7 @@ const PullToRefresh = () => { }, iconArrow: ReactDOMServer.renderToString(
- +
), iconRefreshing: ReactDOMServer.renderToString( @@ -23,7 +23,7 @@ const PullToRefresh = () => { className="animate-spin p-2" style={{ animationDirection: 'reverse' }} > - +
), instructionsPullToRefresh: ReactDOMServer.renderToString(
), diff --git a/src/components/RegionSelector/index.tsx b/src/components/RegionSelector/index.tsx index 5a714c7429..d0a0113eb5 100644 --- a/src/components/RegionSelector/index.tsx +++ b/src/components/RegionSelector/index.tsx @@ -1,6 +1,6 @@ import useSettings from '@app/hooks/useSettings'; import { Listbox, Transition } from '@headlessui/react'; -import { CheckIcon, ChevronDownIcon } from '@heroicons/react/solid'; +import { CheckIcon, ChevronDownIcon } from '@heroicons/react/24/solid'; import type { Region } from '@server/lib/settings'; import { hasFlag } from 'country-flag-icons'; import 'country-flag-icons/3x2/flags.css'; @@ -18,6 +18,8 @@ interface RegionSelectorProps { value: string; name: string; isUserSetting?: boolean; + disableAll?: boolean; + watchProviders?: boolean; onChange?: (fieldName: string, region: string) => void; } @@ -25,11 +27,15 @@ const RegionSelector = ({ name, value, isUserSetting = false, + disableAll = false, + watchProviders = false, onChange, }: RegionSelectorProps) => { const { currentSettings } = useSettings(); const intl = useIntl(); - const { data: regions } = useSWR('/api/v1/regions'); + const { data: regions } = useSWR( + watchProviders ? '/api/v1/watchproviders/regions' : '/api/v1/regions' + ); const [selectedRegion, setSelectedRegion] = useState(null); const allRegion: Region = useMemo( @@ -70,8 +76,8 @@ const RegionSelector = ({ }, [value, regions, allRegion]); useEffect(() => { - if (onChange && regions) { - onChange(name, selectedRegion?.iso_3166_1 ?? ''); + if (onChange && regions && selectedRegion) { + onChange(name, selectedRegion.iso_3166_1); } }, [onChange, selectedRegion, name, regions]); @@ -166,32 +172,34 @@ const RegionSelector = ({ )} )} - - {({ selected, active }) => ( -
- + {({ selected, active }) => ( +
- {intl.formatMessage(messages.regionDefault)} - - {selected && ( - + {intl.formatMessage(messages.regionDefault)} - )} -
- )} - + {selected && ( + + + + )} +
+ )} +
+ )} {sortedRegions?.map((region) => ( {({ selected, active }) => ( diff --git a/src/components/RequestBlock/index.tsx b/src/components/RequestBlock/index.tsx index e6a0c02bba..ca8cb5fa6b 100644 --- a/src/components/RequestBlock/index.tsx +++ b/src/components/RequestBlock/index.tsx @@ -12,8 +12,8 @@ import { PencilIcon, TrashIcon, UserIcon, - XIcon, -} from '@heroicons/react/solid'; + XMarkIcon, +} from '@heroicons/react/24/solid'; import { MediaRequestStatus } from '@server/constants/media'; import type { MediaRequest } from '@server/entity/MediaRequest'; import axios from 'axios'; @@ -149,7 +149,7 @@ const RequestBlock = ({ request, onUpdate }: RequestBlockProps) => { onClick={() => updateRequest('decline')} disabled={isUpdating} > - + diff --git a/src/components/RequestButton/index.tsx b/src/components/RequestButton/index.tsx index f71589448b..56e91810b8 100644 --- a/src/components/RequestButton/index.tsx +++ b/src/components/RequestButton/index.tsx @@ -3,12 +3,12 @@ import RequestModal from '@app/components/RequestModal'; import useSettings from '@app/hooks/useSettings'; import { Permission, useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; -import { DownloadIcon } from '@heroicons/react/outline'; +import { ArrowDownTrayIcon } from '@heroicons/react/24/outline'; import { CheckIcon, InformationCircleIcon, - XIcon, -} from '@heroicons/react/solid'; + XMarkIcon, +} from '@heroicons/react/24/solid'; import { MediaRequestStatus, MediaStatus } from '@server/constants/media'; import type Media from '@server/entity/Media'; import type { MediaRequest } from '@server/entity/MediaRequest'; @@ -158,7 +158,7 @@ const RequestButton = ({ action: () => { modifyRequest(activeRequest, 'decline'); }, - svg: , + svg: , } ); } else if ( @@ -186,7 +186,7 @@ const RequestButton = ({ action: () => { modifyRequests(activeRequests, 'decline'); }, - svg: , + svg: , } ); } @@ -228,7 +228,7 @@ const RequestButton = ({ action: () => { modifyRequest(active4kRequest, 'decline'); }, - svg: , + svg: , } ); } else if ( @@ -256,7 +256,7 @@ const RequestButton = ({ action: () => { modifyRequests(active4kRequests, 'decline'); }, - svg: , + svg: , } ); } @@ -282,7 +282,7 @@ const RequestButton = ({ setEditRequest(false); setShowRequestModal(true); }, - svg: , + svg: , }); } else if ( mediaType === 'tv' && @@ -301,7 +301,7 @@ const RequestButton = ({ setEditRequest(false); setShowRequestModal(true); }, - svg: , + svg: , }); } @@ -327,7 +327,7 @@ const RequestButton = ({ setEditRequest(false); setShowRequest4kModal(true); }, - svg: , + svg: , }); } else if ( mediaType === 'tv' && @@ -347,7 +347,7 @@ const RequestButton = ({ setEditRequest(false); setShowRequest4kModal(true); }, - svg: , + svg: , }); } diff --git a/src/components/RequestCard/index.tsx b/src/components/RequestCard/index.tsx index b98ecc7fba..a7a76beca2 100644 --- a/src/components/RequestCard/index.tsx +++ b/src/components/RequestCard/index.tsx @@ -9,12 +9,12 @@ import { Permission, useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; import { withProperties } from '@app/utils/typeHelpers'; import { + ArrowPathIcon, CheckIcon, PencilIcon, - RefreshIcon, TrashIcon, - XIcon, -} from '@heroicons/react/solid'; + XMarkIcon, +} from '@heroicons/react/24/solid'; import { MediaRequestStatus } from '@server/constants/media'; import type { MediaRequest } from '@server/entity/MediaRequest'; import type { MovieDetails } from '@server/models/Movie'; @@ -38,6 +38,7 @@ const messages = defineMessages({ editrequest: 'Edit Request', cancelrequest: 'Cancel Request', deleterequest: 'Delete Request', + unknowntitle: 'Unknown Title', }); const isMovie = (movie: MovieDetails | TvDetails): movie is MovieDetails => { @@ -136,6 +137,14 @@ const RequestCardError = ({ requestData }: RequestCardErrorProps) => { requestData.is4k ? 'status4k' : 'status' ] } + downloadItem={ + requestData.media[ + requestData.is4k + ? 'downloadStatus4k' + : 'downloadStatus' + ] + } + title={intl.formatMessage(messages.unknowntitle)} inProgress={ ( requestData.media[ @@ -146,6 +155,7 @@ const RequestCardError = ({ requestData }: RequestCardErrorProps) => { ).length > 0 } is4k={requestData.is4k} + mediaType={requestData.type} plexUrl={requestData.is4k ? plexUrl4k : plexUrl} serviceUrl={ requestData.is4k @@ -397,6 +407,12 @@ const RequestCard = ({ request, onTitleData }: RequestCardProps) => { status={ requestData.media[requestData.is4k ? 'status4k' : 'status'] } + downloadItem={ + requestData.media[ + requestData.is4k ? 'downloadStatus4k' : 'downloadStatus' + ] + } + title={isMovie(title) ? title.title : title.name} inProgress={ ( requestData.media[ @@ -425,7 +441,7 @@ const RequestCard = ({ request, onTitleData }: RequestCardProps) => { disabled={isRetrying} onClick={() => retryRequest()} > - @@ -467,7 +483,7 @@ const RequestCard = ({ request, onTitleData }: RequestCardProps) => { className="hidden sm:block" onClick={() => modifyRequest('decline')} > - + {intl.formatMessage(globalMessages.decline)} { className="sm:hidden" onClick={() => modifyRequest('decline')} > - +
@@ -524,7 +540,7 @@ const RequestCard = ({ request, onTitleData }: RequestCardProps) => { className="hidden sm:block" onClick={() => deleteRequest()} > - + {intl.formatMessage(globalMessages.cancel)} @@ -534,7 +550,7 @@ const RequestCard = ({ request, onTitleData }: RequestCardProps) => { className="sm:hidden" onClick={() => deleteRequest()} > - +
diff --git a/src/components/RequestList/RequestItem/index.tsx b/src/components/RequestList/RequestItem/index.tsx index 88bd29c8b7..dbce03e54a 100644 --- a/src/components/RequestList/RequestItem/index.tsx +++ b/src/components/RequestList/RequestItem/index.tsx @@ -8,12 +8,12 @@ import useDeepLinks from '@app/hooks/useDeepLinks'; import { Permission, useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; import { + ArrowPathIcon, CheckIcon, PencilIcon, - RefreshIcon, TrashIcon, - XIcon, -} from '@heroicons/react/solid'; + XMarkIcon, +} from '@heroicons/react/24/solid'; import { MediaRequestStatus } from '@server/constants/media'; import type { MediaRequest } from '@server/entity/MediaRequest'; import type { MovieDetails } from '@server/models/Movie'; @@ -39,6 +39,7 @@ const messages = defineMessages({ cancelRequest: 'Cancel Request', tmdbid: 'TMDB ID', tvdbid: 'TheTVDB ID', + unknowntitle: 'Unknown Title', }); const isMovie = (movie: MovieDetails | TvDetails): movie is MovieDetails => { @@ -128,6 +129,12 @@ const RequestItemError = ({ requestData.is4k ? 'status4k' : 'status' ] } + downloadItem={ + requestData.media[ + requestData.is4k ? 'downloadStatus4k' : 'downloadStatus' + ] + } + title={intl.formatMessage(messages.unknowntitle)} inProgress={ ( requestData.media[ @@ -138,6 +145,7 @@ const RequestItemError = ({ ).length > 0 } is4k={requestData.is4k} + mediaType={requestData.type} plexUrl={requestData.is4k ? plexUrl4k : plexUrl} serviceUrl={ requestData.is4k @@ -463,6 +471,12 @@ const RequestItem = ({ request, revalidateList }: RequestItemProps) => { status={ requestData.media[requestData.is4k ? 'status4k' : 'status'] } + downloadItem={ + requestData.media[ + requestData.is4k ? 'downloadStatus4k' : 'downloadStatus' + ] + } + title={isMovie(title) ? title.title : title.name} inProgress={ ( requestData.media[ @@ -587,7 +601,7 @@ const RequestItem = ({ request, revalidateList }: RequestItemProps) => { disabled={isRetrying} onClick={() => retryRequest()} > - @@ -628,7 +642,7 @@ const RequestItem = ({ request, revalidateList }: RequestItemProps) => { buttonType="danger" onClick={() => modifyRequest('decline')} > - + {intl.formatMessage(globalMessages.decline)} @@ -658,7 +672,7 @@ const RequestItem = ({ request, revalidateList }: RequestItemProps) => { confirmText={intl.formatMessage(globalMessages.areyousure)} className="w-full" > - + {intl.formatMessage(messages.cancelRequest)} )} diff --git a/src/components/RequestList/index.tsx b/src/components/RequestList/index.tsx index 0fa94d05db..bffd7c0671 100644 --- a/src/components/RequestList/index.tsx +++ b/src/components/RequestList/index.tsx @@ -7,11 +7,11 @@ import { useUpdateQueryParams } from '@app/hooks/useUpdateQueryParams'; import { useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; import { + BarsArrowDownIcon, ChevronLeftIcon, ChevronRightIcon, - FilterIcon, - SortDescendingIcon, -} from '@heroicons/react/solid'; + FunnelIcon, +} from '@heroicons/react/24/solid'; import type { RequestResultsResponse } from '@server/interfaces/api/requestInterfaces'; import Link from 'next/link'; import { useRouter } from 'next/router'; @@ -139,7 +139,7 @@ const RequestList = () => {
- + { return (data?.seasons ?? []) - .filter((season) => season.seasonNumber !== 0) + .filter( + (season) => season.seasonNumber !== 0 && season.episodeCount !== 0 + ) .map((season) => season.seasonNumber); }; @@ -555,7 +557,10 @@ const TvRequestModal = ({ {data?.seasons - .filter((season) => season.seasonNumber !== 0) + .filter( + (season) => + season.seasonNumber !== 0 && season.episodeCount !== 0 + ) .map((season) => { const seasonRequest = getSeasonRequest( season.seasonNumber diff --git a/src/components/ResetPassword/RequestResetLink.tsx b/src/components/ResetPassword/RequestResetLink.tsx index 28d854f1a8..d5b7e87503 100644 --- a/src/components/ResetPassword/RequestResetLink.tsx +++ b/src/components/ResetPassword/RequestResetLink.tsx @@ -2,7 +2,7 @@ import Button from '@app/components/Common/Button'; import ImageFader from '@app/components/Common/ImageFader'; import PageTitle from '@app/components/Common/PageTitle'; import LanguagePicker from '@app/components/Layout/LanguagePicker'; -import { ArrowLeftIcon, MailIcon } from '@heroicons/react/solid'; +import { ArrowLeftIcon, EnvelopeIcon } from '@heroicons/react/24/solid'; import axios from 'axios'; import { Field, Form, Formik } from 'formik'; import Link from 'next/link'; @@ -128,7 +128,7 @@ const ResetPassword = () => { type="submit" disabled={isSubmitting || !isValid} > - + {intl.formatMessage(messages.emailresetlink)} diff --git a/src/components/ResetPassword/index.tsx b/src/components/ResetPassword/index.tsx index dd6446424d..4c8bcfa3ae 100644 --- a/src/components/ResetPassword/index.tsx +++ b/src/components/ResetPassword/index.tsx @@ -3,7 +3,7 @@ import ImageFader from '@app/components/Common/ImageFader'; import SensitiveInput from '@app/components/Common/SensitiveInput'; import LanguagePicker from '@app/components/Layout/LanguagePicker'; import globalMessages from '@app/i18n/globalMessages'; -import { SupportIcon } from '@heroicons/react/outline'; +import { LifebuoyIcon } from '@heroicons/react/24/outline'; import axios from 'axios'; import { Form, Formik } from 'formik'; import Link from 'next/link'; @@ -168,7 +168,7 @@ const ResetPassword = () => { type="submit" disabled={isSubmitting || !isValid} > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/Selector/index.tsx b/src/components/Selector/index.tsx new file mode 100644 index 0000000000..3b863fd72c --- /dev/null +++ b/src/components/Selector/index.tsx @@ -0,0 +1,457 @@ +import CachedImage from '@app/components/Common/CachedImage'; +import { SmallLoadingSpinner } from '@app/components/Common/LoadingSpinner'; +import Tooltip from '@app/components/Common/Tooltip'; +import RegionSelector from '@app/components/RegionSelector'; +import { encodeURIExtraParams } from '@app/hooks/useDiscover'; +import useSettings from '@app/hooks/useSettings'; +import { ArrowDownIcon, ArrowUpIcon } from '@heroicons/react/20/solid'; +import { CheckCircleIcon } from '@heroicons/react/24/solid'; +import type { + TmdbCompanySearchResponse, + TmdbGenre, + TmdbKeywordSearchResponse, +} from '@server/api/themoviedb/interfaces'; +import type { GenreSliderItem } from '@server/interfaces/api/discoverInterfaces'; +import type { + Keyword, + ProductionCompany, + WatchProviderDetails, +} from '@server/models/common'; +import axios from 'axios'; +import { orderBy } from 'lodash'; +import { useEffect, useMemo, useState } from 'react'; +import { defineMessages, useIntl } from 'react-intl'; +import type { MultiValue, SingleValue } from 'react-select'; +import AsyncSelect from 'react-select/async'; +import useSWR from 'swr'; + +const messages = defineMessages({ + searchKeywords: 'Search keywords…', + searchGenres: 'Select genres…', + searchStudios: 'Search studios…', + starttyping: 'Starting typing to search.', + nooptions: 'No results.', + showmore: 'Show More', + showless: 'Show Less', +}); + +type SingleVal = { + label: string; + value: number; +}; + +type BaseSelectorMultiProps = { + defaultValue?: string; + isMulti: true; + onChange: (value: MultiValue | null) => void; +}; + +type BaseSelectorSingleProps = { + defaultValue?: string; + isMulti?: false; + onChange: (value: SingleValue | null) => void; +}; + +export const CompanySelector = ({ + defaultValue, + isMulti, + onChange, +}: BaseSelectorSingleProps | BaseSelectorMultiProps) => { + const intl = useIntl(); + const [defaultDataValue, setDefaultDataValue] = useState< + { label: string; value: number }[] | null + >(null); + + useEffect(() => { + const loadDefaultCompany = async (): Promise => { + if (!defaultValue) { + return; + } + + const response = await axios.get( + `/api/v1/studio/${defaultValue}` + ); + + const studio = response.data; + + setDefaultDataValue([ + { + label: studio.name ?? '', + value: studio.id ?? 0, + }, + ]); + }; + + loadDefaultCompany(); + }, [defaultValue]); + + const loadCompanyOptions = async (inputValue: string) => { + if (inputValue === '') { + return []; + } + + const results = await axios.get( + '/api/v1/search/company', + { + params: { + query: encodeURIExtraParams(inputValue), + }, + } + ); + + return results.data.results.map((result) => ({ + label: result.name, + value: result.id, + })); + }; + + return ( + + inputValue === '' + ? intl.formatMessage(messages.starttyping) + : intl.formatMessage(messages.nooptions) + } + loadOptions={loadCompanyOptions} + placeholder={intl.formatMessage(messages.searchStudios)} + onChange={(value) => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + onChange(value as any); + }} + /> + ); +}; + +type GenreSelectorProps = (BaseSelectorMultiProps | BaseSelectorSingleProps) & { + type: 'movie' | 'tv'; +}; + +export const GenreSelector = ({ + isMulti, + defaultValue, + onChange, + type, +}: GenreSelectorProps) => { + const intl = useIntl(); + const [defaultDataValue, setDefaultDataValue] = useState< + { label: string; value: number }[] | null + >(null); + + useEffect(() => { + const loadDefaultGenre = async (): Promise => { + if (!defaultValue) { + return; + } + + const genres = defaultValue.split(','); + + const response = await axios.get(`/api/v1/genres/${type}`); + + const genreData = genres + .filter((genre) => response.data.find((gd) => gd.id === Number(genre))) + .map((g) => response.data.find((gd) => gd.id === Number(g))) + .map((g) => ({ + label: g?.name ?? '', + value: g?.id ?? 0, + })); + + setDefaultDataValue(genreData); + }; + + loadDefaultGenre(); + }, [defaultValue, type]); + + const loadGenreOptions = async () => { + const results = await axios.get( + `/api/v1/discover/genreslider/${type}` + ); + + return results.data.map((result) => ({ + label: result.name, + value: result.id, + })); + }; + + return ( + { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + onChange(value as any); + }} + /> + ); +}; + +export const KeywordSelector = ({ + isMulti, + defaultValue, + onChange, +}: BaseSelectorMultiProps | BaseSelectorSingleProps) => { + const intl = useIntl(); + const [defaultDataValue, setDefaultDataValue] = useState< + { label: string; value: number }[] | null + >(null); + + useEffect(() => { + const loadDefaultKeywords = async (): Promise => { + if (!defaultValue) { + return; + } + + const keywords = await Promise.all( + defaultValue.split(',').map(async (keywordId) => { + const keyword = await axios.get( + `/api/v1/keyword/${keywordId}` + ); + + return keyword.data; + }) + ); + + setDefaultDataValue( + keywords.map((keyword) => ({ + label: keyword.name, + value: keyword.id, + })) + ); + }; + + loadDefaultKeywords(); + }, [defaultValue]); + + const loadKeywordOptions = async (inputValue: string) => { + const results = await axios.get( + '/api/v1/search/keyword', + { + params: { + query: encodeURIExtraParams(inputValue), + }, + } + ); + + return results.data.results.map((result) => ({ + label: result.name, + value: result.id, + })); + }; + + return ( + + inputValue === '' + ? intl.formatMessage(messages.starttyping) + : intl.formatMessage(messages.nooptions) + } + defaultValue={defaultDataValue} + loadOptions={loadKeywordOptions} + placeholder={intl.formatMessage(messages.searchKeywords)} + onChange={(value) => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + onChange(value as any); + }} + /> + ); +}; + +type WatchProviderSelectorProps = { + type: 'movie' | 'tv'; + region?: string; + activeProviders?: number[]; + onChange: (region: string, value: number[]) => void; +}; + +export const WatchProviderSelector = ({ + type, + onChange, + region, + activeProviders, +}: WatchProviderSelectorProps) => { + const intl = useIntl(); + const { currentSettings } = useSettings(); + const [showMore, setShowMore] = useState(false); + const [watchRegion, setWatchRegion] = useState( + region ? region : currentSettings.region ? currentSettings.region : 'US' + ); + const [activeProvider, setActiveProvider] = useState( + activeProviders ?? [] + ); + const { data, isLoading } = useSWR( + `/api/v1/watchproviders/${ + type === 'movie' ? 'movies' : 'tv' + }?watchRegion=${watchRegion}` + ); + + useEffect(() => { + onChange(watchRegion, activeProvider); + }, [activeProvider, watchRegion, onChange]); + + const orderedData = useMemo(() => { + if (!data) { + return []; + } + + return orderBy(data, ['display_priority'], ['asc']); + }, [data]); + + const toggleProvider = (id: number) => { + if (activeProvider.includes(id)) { + setActiveProvider(activeProvider.filter((p) => p !== id)); + } else { + setActiveProvider([...activeProvider, id]); + } + }; + + const initialProviders = orderedData.slice(0, 24); + const otherProviders = orderedData.slice(24); + + return ( + <> + { + if (value !== watchRegion) { + setActiveProvider([]); + } + setWatchRegion(value); + }} + disableAll + watchProviders + /> + {isLoading ? ( + + ) : ( +
+
+ {initialProviders.map((provider) => { + const isActive = activeProvider.includes(provider.id); + return ( + +
toggleProvider(provider.id)} + onKeyDown={(e) => { + if (e.key === 'Enter') { + toggleProvider(provider.id); + } + }} + role="button" + tabIndex={0} + > + + {isActive && ( +
+ +
+ )} +
+
+ ); + })} +
+ {showMore && otherProviders.length > 0 && ( +
+ {otherProviders.map((provider) => { + const isActive = activeProvider.includes(provider.id); + return ( + +
toggleProvider(provider.id)} + onKeyDown={(e) => { + if (e.key === 'Enter') { + toggleProvider(provider.id); + } + }} + role="button" + tabIndex={0} + > + + {isActive && ( +
+ +
+ )} +
+
+ ); + })} +
+ )} + {otherProviders.length > 0 && ( + + )} +
+ )} + + ); +}; diff --git a/src/components/Settings/CopyButton.tsx b/src/components/Settings/CopyButton.tsx index da48fe5db7..c50213d3b6 100644 --- a/src/components/Settings/CopyButton.tsx +++ b/src/components/Settings/CopyButton.tsx @@ -1,4 +1,4 @@ -import { ClipboardCopyIcon } from '@heroicons/react/solid'; +import { ClipboardDocumentIcon } from '@heroicons/react/24/solid'; import { useEffect } from 'react'; import { defineMessages, useIntl } from 'react-intl'; import { useToasts } from 'react-toast-notifications'; @@ -32,7 +32,7 @@ const CopyButton = ({ textToCopy }: { textToCopy: string }) => { }} className="input-action" > - + ); }; diff --git a/src/components/Settings/LibraryItem.tsx b/src/components/Settings/LibraryItem.tsx index eba0de4035..29a1030b29 100644 --- a/src/components/Settings/LibraryItem.tsx +++ b/src/components/Settings/LibraryItem.tsx @@ -1,4 +1,4 @@ -import { CheckIcon, XIcon } from '@heroicons/react/solid'; +import { CheckIcon, XMarkIcon } from '@heroicons/react/24/solid'; interface LibraryItemProps { isEnabled?: boolean; @@ -41,7 +41,7 @@ const LibraryItem = ({ isEnabled, name, onToggle }: LibraryItemProps) => { : 'opacity-100 duration-200 ease-in' } absolute inset-0 flex h-full w-full items-center justify-center transition-opacity`} > - +
{ (values.enabled && !values.types) } > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/Settings/Notifications/NotificationsEmail.tsx b/src/components/Settings/Notifications/NotificationsEmail.tsx index 242c0b859a..46d10d6cc9 100644 --- a/src/components/Settings/Notifications/NotificationsEmail.tsx +++ b/src/components/Settings/Notifications/NotificationsEmail.tsx @@ -3,7 +3,7 @@ import LoadingSpinner from '@app/components/Common/LoadingSpinner'; import SensitiveInput from '@app/components/Common/SensitiveInput'; import SettingsBadge from '@app/components/Settings/SettingsBadge'; import globalMessages from '@app/i18n/globalMessages'; -import { BeakerIcon, SaveIcon } from '@heroicons/react/outline'; +import { ArrowDownOnSquareIcon, BeakerIcon } from '@heroicons/react/24/outline'; import axios from 'axios'; import { Field, Form, Formik } from 'formik'; import { useState } from 'react'; @@ -460,7 +460,7 @@ const NotificationsEmail = () => { type="submit" disabled={isSubmitting || !isValid || isTesting} > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/Settings/Notifications/NotificationsGotify/index.tsx b/src/components/Settings/Notifications/NotificationsGotify/index.tsx index 77fb21b8df..390d2ed94e 100644 --- a/src/components/Settings/Notifications/NotificationsGotify/index.tsx +++ b/src/components/Settings/Notifications/NotificationsGotify/index.tsx @@ -2,7 +2,7 @@ import Button from '@app/components/Common/Button'; import LoadingSpinner from '@app/components/Common/LoadingSpinner'; import NotificationTypeSelector from '@app/components/NotificationTypeSelector'; import globalMessages from '@app/i18n/globalMessages'; -import { BeakerIcon, SaveIcon } from '@heroicons/react/solid'; +import { ArrowDownOnSquareIcon, BeakerIcon } from '@heroicons/react/24/solid'; import axios from 'axios'; import { Field, Form, Formik } from 'formik'; import { useState } from 'react'; @@ -242,7 +242,7 @@ const NotificationsGotify = () => { (values.enabled && !values.types) } > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/Settings/Notifications/NotificationsLunaSea/index.tsx b/src/components/Settings/Notifications/NotificationsLunaSea/index.tsx index 116363252c..390cac3d28 100644 --- a/src/components/Settings/Notifications/NotificationsLunaSea/index.tsx +++ b/src/components/Settings/Notifications/NotificationsLunaSea/index.tsx @@ -2,7 +2,7 @@ import Button from '@app/components/Common/Button'; import LoadingSpinner from '@app/components/Common/LoadingSpinner'; import NotificationTypeSelector from '@app/components/NotificationTypeSelector'; import globalMessages from '@app/i18n/globalMessages'; -import { BeakerIcon, SaveIcon } from '@heroicons/react/outline'; +import { ArrowDownOnSquareIcon, BeakerIcon } from '@heroicons/react/24/outline'; import axios from 'axios'; import { Field, Form, Formik } from 'formik'; import { useState } from 'react'; @@ -247,7 +247,7 @@ const NotificationsLunaSea = () => { (values.enabled && !values.types) } > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/Settings/Notifications/NotificationsPushbullet/index.tsx b/src/components/Settings/Notifications/NotificationsPushbullet/index.tsx index bf6a5956e0..00cd179ae4 100644 --- a/src/components/Settings/Notifications/NotificationsPushbullet/index.tsx +++ b/src/components/Settings/Notifications/NotificationsPushbullet/index.tsx @@ -3,7 +3,7 @@ import LoadingSpinner from '@app/components/Common/LoadingSpinner'; import SensitiveInput from '@app/components/Common/SensitiveInput'; import NotificationTypeSelector from '@app/components/NotificationTypeSelector'; import globalMessages from '@app/i18n/globalMessages'; -import { BeakerIcon, SaveIcon } from '@heroicons/react/outline'; +import { ArrowDownOnSquareIcon, BeakerIcon } from '@heroicons/react/24/outline'; import axios from 'axios'; import { Field, Form, Formik } from 'formik'; import { useState } from 'react'; @@ -239,7 +239,7 @@ const NotificationsPushbullet = () => { (values.enabled && !values.types) } > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/Settings/Notifications/NotificationsPushover/index.tsx b/src/components/Settings/Notifications/NotificationsPushover/index.tsx index d2e90ac9c7..93e4a285b8 100644 --- a/src/components/Settings/Notifications/NotificationsPushover/index.tsx +++ b/src/components/Settings/Notifications/NotificationsPushover/index.tsx @@ -2,7 +2,7 @@ import Button from '@app/components/Common/Button'; import LoadingSpinner from '@app/components/Common/LoadingSpinner'; import NotificationTypeSelector from '@app/components/NotificationTypeSelector'; import globalMessages from '@app/i18n/globalMessages'; -import { BeakerIcon, SaveIcon } from '@heroicons/react/outline'; +import { ArrowDownOnSquareIcon, BeakerIcon } from '@heroicons/react/24/outline'; import axios from 'axios'; import { Field, Form, Formik } from 'formik'; import { useState } from 'react'; @@ -272,7 +272,7 @@ const NotificationsPushover = () => { (values.enabled && !values.types) } > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/Settings/Notifications/NotificationsSlack/index.tsx b/src/components/Settings/Notifications/NotificationsSlack/index.tsx index 09c6344370..ac31d3c1ad 100644 --- a/src/components/Settings/Notifications/NotificationsSlack/index.tsx +++ b/src/components/Settings/Notifications/NotificationsSlack/index.tsx @@ -2,7 +2,7 @@ import Button from '@app/components/Common/Button'; import LoadingSpinner from '@app/components/Common/LoadingSpinner'; import NotificationTypeSelector from '@app/components/NotificationTypeSelector'; import globalMessages from '@app/i18n/globalMessages'; -import { BeakerIcon, SaveIcon } from '@heroicons/react/outline'; +import { ArrowDownOnSquareIcon, BeakerIcon } from '@heroicons/react/24/outline'; import axios from 'axios'; import { Field, Form, Formik } from 'formik'; import { useState } from 'react'; @@ -225,7 +225,7 @@ const NotificationsSlack = () => { (values.enabled && !values.types) } > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/Settings/Notifications/NotificationsTelegram.tsx b/src/components/Settings/Notifications/NotificationsTelegram.tsx index 1959604e3f..690731e6e9 100644 --- a/src/components/Settings/Notifications/NotificationsTelegram.tsx +++ b/src/components/Settings/Notifications/NotificationsTelegram.tsx @@ -3,7 +3,7 @@ import LoadingSpinner from '@app/components/Common/LoadingSpinner'; import SensitiveInput from '@app/components/Common/SensitiveInput'; import NotificationTypeSelector from '@app/components/NotificationTypeSelector'; import globalMessages from '@app/i18n/globalMessages'; -import { BeakerIcon, SaveIcon } from '@heroicons/react/outline'; +import { ArrowDownOnSquareIcon, BeakerIcon } from '@heroicons/react/24/outline'; import axios from 'axios'; import { Field, Form, Formik } from 'formik'; import { useState } from 'react'; @@ -321,7 +321,7 @@ const NotificationsTelegram = () => { type="submit" disabled={isSubmitting || !isValid || isTesting} > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/Settings/Notifications/NotificationsWebPush/index.tsx b/src/components/Settings/Notifications/NotificationsWebPush/index.tsx index 0f56c0c94a..5ff7ebf5f8 100644 --- a/src/components/Settings/Notifications/NotificationsWebPush/index.tsx +++ b/src/components/Settings/Notifications/NotificationsWebPush/index.tsx @@ -2,7 +2,7 @@ import Alert from '@app/components/Common/Alert'; import Button from '@app/components/Common/Button'; import LoadingSpinner from '@app/components/Common/LoadingSpinner'; import globalMessages from '@app/i18n/globalMessages'; -import { BeakerIcon, SaveIcon } from '@heroicons/react/outline'; +import { ArrowDownOnSquareIcon, BeakerIcon } from '@heroicons/react/24/outline'; import axios from 'axios'; import { Field, Form, Formik } from 'formik'; import { useEffect, useState } from 'react'; @@ -149,7 +149,7 @@ const NotificationsWebPush = () => { type="submit" disabled={isSubmitting || isTesting} > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/Settings/Notifications/NotificationsWebhook/index.tsx b/src/components/Settings/Notifications/NotificationsWebhook/index.tsx index 375d869c80..14f1e672eb 100644 --- a/src/components/Settings/Notifications/NotificationsWebhook/index.tsx +++ b/src/components/Settings/Notifications/NotificationsWebhook/index.tsx @@ -2,8 +2,11 @@ import Button from '@app/components/Common/Button'; import LoadingSpinner from '@app/components/Common/LoadingSpinner'; import NotificationTypeSelector from '@app/components/NotificationTypeSelector'; import globalMessages from '@app/i18n/globalMessages'; -import { BeakerIcon, SaveIcon } from '@heroicons/react/outline'; -import { QuestionMarkCircleIcon, RefreshIcon } from '@heroicons/react/solid'; +import { ArrowDownOnSquareIcon, BeakerIcon } from '@heroicons/react/24/outline'; +import { + ArrowPathIcon, + QuestionMarkCircleIcon, +} from '@heroicons/react/24/solid'; import axios from 'axios'; import { Field, Form, Formik } from 'formik'; import dynamic from 'next/dynamic'; @@ -291,7 +294,7 @@ const NotificationsWebhook = () => { }} className="mr-2" > - + {intl.formatMessage(messages.resetPayload)} { (values.enabled && !values.types) } > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/Settings/SettingsAbout/Releases/index.tsx b/src/components/Settings/SettingsAbout/Releases/index.tsx index 601d4f4496..93ffd6def7 100644 --- a/src/components/Settings/SettingsAbout/Releases/index.tsx +++ b/src/components/Settings/SettingsAbout/Releases/index.tsx @@ -4,7 +4,7 @@ import LoadingSpinner from '@app/components/Common/LoadingSpinner'; import Modal from '@app/components/Common/Modal'; import globalMessages from '@app/i18n/globalMessages'; import { Transition } from '@headlessui/react'; -import { DocumentTextIcon } from '@heroicons/react/outline'; +import { DocumentTextIcon } from '@heroicons/react/24/outline'; import dynamic from 'next/dynamic'; import { Fragment, useState } from 'react'; import { defineMessages, FormattedRelativeTime, useIntl } from 'react-intl'; diff --git a/src/components/Settings/SettingsAbout/index.tsx b/src/components/Settings/SettingsAbout/index.tsx index 1d3f056634..5c2a17ddd3 100644 --- a/src/components/Settings/SettingsAbout/index.tsx +++ b/src/components/Settings/SettingsAbout/index.tsx @@ -6,7 +6,7 @@ import PageTitle from '@app/components/Common/PageTitle'; import Releases from '@app/components/Settings/SettingsAbout/Releases'; import globalMessages from '@app/i18n/globalMessages'; import Error from '@app/pages/_error'; -import { InformationCircleIcon } from '@heroicons/react/solid'; +import { InformationCircleIcon } from '@heroicons/react/24/solid'; import type { SettingsAboutResponse, StatusResponse, diff --git a/src/components/Settings/SettingsJobsCache/index.tsx b/src/components/Settings/SettingsJobsCache/index.tsx index 2600115bc2..cd98561955 100644 --- a/src/components/Settings/SettingsJobsCache/index.tsx +++ b/src/components/Settings/SettingsJobsCache/index.tsx @@ -9,8 +9,8 @@ import useLocale from '@app/hooks/useLocale'; import globalMessages from '@app/i18n/globalMessages'; import { formatBytes } from '@app/utils/numberHelpers'; import { Transition } from '@headlessui/react'; -import { PlayIcon, StopIcon, TrashIcon } from '@heroicons/react/outline'; -import { PencilIcon } from '@heroicons/react/solid'; +import { PlayIcon, StopIcon, TrashIcon } from '@heroicons/react/24/outline'; +import { PencilIcon } from '@heroicons/react/24/solid'; import type { CacheItem, CacheResponse, diff --git a/src/components/Settings/SettingsLogs/index.tsx b/src/components/Settings/SettingsLogs/index.tsx index fbf5d5e039..4b559e6215 100644 --- a/src/components/Settings/SettingsLogs/index.tsx +++ b/src/components/Settings/SettingsLogs/index.tsx @@ -13,13 +13,13 @@ import { Transition } from '@headlessui/react'; import { ChevronLeftIcon, ChevronRightIcon, - ClipboardCopyIcon, - DocumentSearchIcon, - FilterIcon, + ClipboardDocumentIcon, + DocumentMagnifyingGlassIcon, + FunnelIcon, + MagnifyingGlassIcon, PauseIcon, PlayIcon, - SearchIcon, -} from '@heroicons/react/solid'; +} from '@heroicons/react/24/solid'; import type { LogMessage, LogsResultsResponse, @@ -252,7 +252,7 @@ const SettingsLogs = () => {
- + {
- + { type="submit" disabled={isSubmitting || !isValid} > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsDiscord.tsx b/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsDiscord.tsx index 121018fcc8..841e5f77f0 100644 --- a/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsDiscord.tsx +++ b/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsDiscord.tsx @@ -3,7 +3,7 @@ import LoadingSpinner from '@app/components/Common/LoadingSpinner'; import NotificationTypeSelector from '@app/components/NotificationTypeSelector'; import { useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; -import { SaveIcon } from '@heroicons/react/outline'; +import { ArrowDownOnSquareIcon } from '@heroicons/react/24/outline'; import type { UserSettingsNotificationsResponse } from '@server/interfaces/api/userSettingsInterfaces'; import axios from 'axios'; import { Field, Form, Formik } from 'formik'; @@ -156,7 +156,7 @@ const UserNotificationsDiscord = () => { type="submit" disabled={isSubmitting || !isValid} > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsEmail.tsx b/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsEmail.tsx index 942ea707d3..137c7f65c5 100644 --- a/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsEmail.tsx +++ b/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsEmail.tsx @@ -8,7 +8,7 @@ import { OpenPgpLink } from '@app/components/Settings/Notifications/Notification import SettingsBadge from '@app/components/Settings/SettingsBadge'; import { useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; -import { SaveIcon } from '@heroicons/react/outline'; +import { ArrowDownOnSquareIcon } from '@heroicons/react/24/outline'; import type { UserSettingsNotificationsResponse } from '@server/interfaces/api/userSettingsInterfaces'; import axios from 'axios'; import { Form, Formik } from 'formik'; @@ -151,7 +151,7 @@ const UserEmailSettings = () => { type="submit" disabled={isSubmitting || !isValid} > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsTelegram.tsx b/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsTelegram.tsx index 5f665fa603..94109713e5 100644 --- a/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsTelegram.tsx +++ b/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsTelegram.tsx @@ -3,7 +3,7 @@ import LoadingSpinner from '@app/components/Common/LoadingSpinner'; import NotificationTypeSelector from '@app/components/NotificationTypeSelector'; import { useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; -import { SaveIcon } from '@heroicons/react/outline'; +import { ArrowDownOnSquareIcon } from '@heroicons/react/24/outline'; import type { UserSettingsNotificationsResponse } from '@server/interfaces/api/userSettingsInterfaces'; import axios from 'axios'; import { Field, Form, Formik } from 'formik'; @@ -185,7 +185,7 @@ const UserTelegramSettings = () => { type="submit" disabled={isSubmitting || !isValid} > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsWebPush.tsx b/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsWebPush.tsx index 80a0ec72be..2c940d292c 100644 --- a/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsWebPush.tsx +++ b/src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsWebPush.tsx @@ -5,7 +5,7 @@ import NotificationTypeSelector, { } from '@app/components/NotificationTypeSelector'; import { useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; -import { SaveIcon } from '@heroicons/react/outline'; +import { ArrowDownOnSquareIcon } from '@heroicons/react/24/outline'; import type { UserSettingsNotificationsResponse } from '@server/interfaces/api/userSettingsInterfaces'; import axios from 'axios'; import { Form, Formik } from 'formik'; @@ -103,7 +103,7 @@ const UserWebPushSettings = () => { type="submit" disabled={isSubmitting || !isValid} > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/UserProfile/UserSettings/UserNotificationSettings/index.tsx b/src/components/UserProfile/UserSettings/UserNotificationSettings/index.tsx index 97f1236995..b93c6da6cf 100644 --- a/src/components/UserProfile/UserSettings/UserNotificationSettings/index.tsx +++ b/src/components/UserProfile/UserSettings/UserNotificationSettings/index.tsx @@ -9,7 +9,7 @@ import SettingsTabs from '@app/components/Common/SettingsTabs'; import { useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; import Error from '@app/pages/_error'; -import { CloudIcon, MailIcon } from '@heroicons/react/solid'; +import { CloudIcon, EnvelopeIcon } from '@heroicons/react/24/solid'; import type { UserSettingsNotificationsResponse } from '@server/interfaces/api/userSettingsInterfaces'; import { useRouter } from 'next/router'; import { defineMessages, useIntl } from 'react-intl'; @@ -41,7 +41,7 @@ const UserNotificationSettings = ({ text: intl.formatMessage(messages.email), content: ( - + {intl.formatMessage(messages.email)} ), diff --git a/src/components/UserProfile/UserSettings/UserPasswordChange/index.tsx b/src/components/UserProfile/UserSettings/UserPasswordChange/index.tsx index aea79f72d6..bf65e84409 100644 --- a/src/components/UserProfile/UserSettings/UserPasswordChange/index.tsx +++ b/src/components/UserProfile/UserSettings/UserPasswordChange/index.tsx @@ -6,7 +6,7 @@ import SensitiveInput from '@app/components/Common/SensitiveInput'; import { Permission, useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; import Error from '@app/pages/_error'; -import { SaveIcon } from '@heroicons/react/outline'; +import { ArrowDownOnSquareIcon } from '@heroicons/react/24/outline'; import axios from 'axios'; import { Form, Formik } from 'formik'; import { useRouter } from 'next/router'; @@ -233,7 +233,7 @@ const UserPasswordChange = () => { type="submit" disabled={isSubmitting || !isValid} > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/UserProfile/UserSettings/UserPermissions/index.tsx b/src/components/UserProfile/UserSettings/UserPermissions/index.tsx index 84b671b5fd..889edaf756 100644 --- a/src/components/UserProfile/UserSettings/UserPermissions/index.tsx +++ b/src/components/UserProfile/UserSettings/UserPermissions/index.tsx @@ -6,7 +6,7 @@ import PermissionEdit from '@app/components/PermissionEdit'; import { useUser } from '@app/hooks/useUser'; import globalMessages from '@app/i18n/globalMessages'; import Error from '@app/pages/_error'; -import { SaveIcon } from '@heroicons/react/outline'; +import { ArrowDownOnSquareIcon } from '@heroicons/react/24/outline'; import axios from 'axios'; import { Form, Formik } from 'formik'; import { useRouter } from 'next/router'; @@ -120,7 +120,7 @@ const UserPermissions = () => { type="submit" disabled={isSubmitting} > - + {isSubmitting ? intl.formatMessage(globalMessages.saving) diff --git a/src/components/UserProfile/index.tsx b/src/components/UserProfile/index.tsx index c8bf3b2a66..bb0f7504e7 100644 --- a/src/components/UserProfile/index.tsx +++ b/src/components/UserProfile/index.tsx @@ -8,7 +8,7 @@ import TmdbTitleCard from '@app/components/TitleCard/TmdbTitleCard'; import ProfileHeader from '@app/components/UserProfile/ProfileHeader'; import { Permission, UserType, useUser } from '@app/hooks/useUser'; import Error from '@app/pages/_error'; -import { ArrowCircleRightIcon } from '@heroicons/react/outline'; +import { ArrowRightCircleIcon } from '@heroicons/react/24/outline'; import type { WatchlistResponse } from '@server/interfaces/api/discoverInterfaces'; import type { QuotaResponse, @@ -291,7 +291,7 @@ const UserProfile = () => { > {intl.formatMessage(messages.recentrequests)} - +
@@ -332,7 +332,7 @@ const UserProfile = () => { > {intl.formatMessage(messages.plexwatchlist)} - +
diff --git a/src/hooks/useDiscover.ts b/src/hooks/useDiscover.ts index 96ea9cc716..f9aff8e296 100644 --- a/src/hooks/useDiscover.ts +++ b/src/hooks/useDiscover.ts @@ -27,9 +27,30 @@ interface DiscoverResult { firstResultData?: BaseSearchResult & S; } -const useDiscover = >( +const extraEncodes: [RegExp, string][] = [ + [/\(/g, '%28'], + [/\)/g, '%29'], + [/!/g, '%21'], + [/\*/g, '%2A'], +]; + +export const encodeURIExtraParams = (string: string): string => { + let finalString = encodeURIComponent(string); + + extraEncodes.forEach((encode) => { + finalString = finalString.replace(encode[0], encode[1]); + }); + + return finalString; +}; + +const useDiscover = < + T extends BaseMedia, + S = Record, + O = Record +>( endpoint: string, - options?: Record, + options?: O, { hideAvailable = true } = {} ): DiscoverResult => { const settings = useSettings(); @@ -47,7 +68,10 @@ const useDiscover = >( }; const finalQueryString = Object.keys(params) - .map((paramKey) => `${paramKey}=${params[paramKey]}`) + .map( + (paramKey) => + `${paramKey}=${encodeURIExtraParams(params[paramKey] as string)}` + ) .join('&'); return `${endpoint}?${finalQueryString}`; diff --git a/src/hooks/useSearchInput.ts b/src/hooks/useSearchInput.ts index 54876357f7..a60b28c075 100644 --- a/src/hooks/useSearchInput.ts +++ b/src/hooks/useSearchInput.ts @@ -8,23 +8,6 @@ import useDebouncedState from './useDebouncedState'; type Url = string | UrlObject; -const extraEncodes: [RegExp, string][] = [ - [/\(/g, '%28'], - [/\)/g, '%29'], - [/!/g, '%21'], - [/\*/g, '%2A'], -]; - -const encodeURIExtraParams = (string: string): string => { - let finalString = encodeURIComponent(string); - - extraEncodes.forEach((encode) => { - finalString = finalString.replace(encode[0], encode[1]); - }); - - return finalString; -}; - interface SearchObject { searchValue: string; searchOpen: boolean; @@ -55,7 +38,7 @@ const useSearchInput = (): SearchObject => { pathname: router.pathname, query: { ...router.query, - query: encodeURIExtraParams(debouncedValue), + query: debouncedValue, }, }); } else { @@ -63,7 +46,7 @@ const useSearchInput = (): SearchObject => { router .push({ pathname: '/search', - query: { query: encodeURIExtraParams(debouncedValue) }, + query: { query: debouncedValue }, }) .then(() => window.scrollTo(0, 0)); } @@ -106,7 +89,7 @@ const useSearchInput = (): SearchObject => { * is on /search */ useEffect(() => { - if (router.query.query !== encodeURIExtraParams(debouncedValue)) { + if (router.query.query !== debouncedValue) { setSearchValue( router.query.query ? decodeURIComponent(router.query.query as string) diff --git a/src/hooks/useUpdateQueryParams.ts b/src/hooks/useUpdateQueryParams.ts index e2ef801def..7b991267f0 100644 --- a/src/hooks/useUpdateQueryParams.ts +++ b/src/hooks/useUpdateQueryParams.ts @@ -132,3 +132,20 @@ export const useUpdateQueryParams = ( [filter, updateQueryParams] ); }; + +export const useBatchUpdateQueryParams = ( + filter: ParsedUrlQuery +): ((items: Record) => void) => { + const updateQueryParams = useQueryParams(); + + return useCallback( + (items: Record) => { + const query = { + ...filter, + ...items, + }; + updateQueryParams(query, 'replace'); + }, + [filter, updateQueryParams] + ); +}; diff --git a/src/hooks/useUser.ts b/src/hooks/useUser.ts index 4dfcf09029..192b3fe9da 100644 --- a/src/hooks/useUser.ts +++ b/src/hooks/useUser.ts @@ -2,8 +2,8 @@ import { UserType } from '@server/constants/user'; import type { PermissionCheckOptions } from '@server/lib/permissions'; import { hasPermission, Permission } from '@server/lib/permissions'; import type { NotificationAgentKey } from '@server/lib/settings'; +import type { MutatorCallback } from 'swr'; import useSWR from 'swr'; -import type { MutatorCallback } from 'swr/dist/types'; export { Permission, UserType }; export type { PermissionCheckOptions }; diff --git a/src/i18n/locale/ar.json b/src/i18n/locale/ar.json index e6d6c81594..3727be972a 100644 --- a/src/i18n/locale/ar.json +++ b/src/i18n/locale/ar.json @@ -69,8 +69,6 @@ "components.Discover.TvGenreList.seriesgenres": "نوع المسلسل", "components.Discover.TvGenreSlider.tvgenres": "نوع المسلسل", "components.Discover.discover": "إكتشف", - "components.Discover.discovermovies": "أفلام ذات شعبية", - "components.Discover.discovertv": "مسلسلات ذات شعبية", "components.Discover.popularmovies": "أفلام ذات شعبية", "components.Discover.populartv": "مسلسلات ذات شعبية", "components.Discover.recentlyAdded": "أضيف مؤخرا", @@ -669,8 +667,6 @@ "components.Settings.SonarrModal.selectRootFolder": "إختار مجلد الحفظ", "components.Settings.SonarrModal.selecttags": "إختار العلامات", "components.Settings.menuGeneralSettings": "عام", - "components.Settings.generalsettingsDescription": "ضبط الإعدادات الإفتراضية والأساسية لـ أوفرسيرر.", - "components.Settings.locale": "لغة العرض", "components.Settings.manualscanDescription": "عادةً٫ سيتم عمل هذا الفحص مرة واحدة كل 24 ساعة. أوفرسيرر سيفحص المحتوى المضاف مؤخرا في مكتبة بليكس بشكل مكثف. إذا كانت هذه المرة الأولى التي تقوم بها بإعداد بليكس يستحسن أن تقوم بعمل فحص يدوي كامل لمرة واحدة!", "components.Settings.menuAbout": "حول", "components.Settings.plex": "بليكس", @@ -678,14 +674,12 @@ "components.Settings.noDefaultServer": "على الأقل {serverType} سيرفر واحد يجب أن يكون معدا كإفتراضي لإتاحة تنفيذ طلبات الـ {mediaType}.", "components.Settings.plexsettings": "إعدادات بليكس", "components.Settings.serviceSettingsDescription": "قم بإعداد {serverType} سيرفراتك بالإسفل. تستطيع الاتصال بأكثر من سيرفر {serverType} ولكن إثنان فقط يمكن إعدادهما كإفتراضيين واحد لمحتوى الفور كي والاخر لغير الفور كي. الذين يملكون إذونات مسؤول بإمكانهم تجاوز السيرفر المخصص لتنفيذ الطلبات الجديدة قبل الموافقة.", - "components.Settings.regionTip": "تصفية المحتوى حسب توفره بالمنطقة", "components.Settings.serverpresetManualMessage": "ضبط يدوي", "components.Settings.sonarrsettings": "إعدادات سونار", "components.Settings.tautulliSettingsDescription": "بشكل إختياري أضبط إعدادات سيرفرك الخاص بـ Tautulli.أوفرسيرر سيقوم بجلب بيانات سجل المشاهدة لمحتوى بليكس من Tautulli.", "components.Settings.webhook": "ويب هوك Webhook", "components.Settings.webpush": "ويب بوش Web Push", "components.Setup.configureplex": "إعداد بليكس", - "components.Settings.trustProxyTip": "السماح لأوفرسيرر لتسجيل عناوين الأي بي خلف اتصال بروكسي (يجب إعادة تحميل الصفحة لتطبيق هذا الخيار)", "components.Settings.SonarrModal.server4k": "سيرفر الـ 4K", "components.Settings.SonarrModal.servername": "إسم السيرفر", "components.Settings.SonarrModal.ssl": "إستخدم SSL", @@ -712,16 +706,8 @@ "components.Settings.addradarr": "إضافة سيرفر رادار", "components.Settings.address": "العناوين", "components.Settings.addsonarr": "إضافة سيرفر سونار", - "components.Settings.apikey": "مفتاح API", - "components.Settings.applicationTitle": "عنوان التطبيق", - "components.Settings.applicationurl": "عنوان إرتباط التطبيق", - "components.Settings.cacheImages": "تفعيل التخزين المؤقت للصور", - "components.Settings.cacheImagesTip": "موازنة وتخزين كل الصور محليا ( يستهلك مساحة كبيرة من قرص التخزين )", "components.Settings.cancelscan": "إلغاء الفحص", "components.Settings.copied": "نسخ مفتاح الـ API.", - "components.Settings.csrfProtection": "تفعيل حماية CSRF", - "components.Settings.csrfProtectionHoverTip": "لا تقم بتفعيل هذا الخيار الا اذا كنت مدركا ومطلعا على ماتقوم به!", - "components.Settings.csrfProtectionTip": "إعداد مفتاح API خارجي لاعطاء تصريح الاطلاع ( قراءة فقط ) يتطلب إتصال HTTPS وافرسيرر يحتاج لإعاة تحميل الصفحة لتطبيق هذا التغيير", "components.Settings.currentlibrary": "المكتبة الحالية: {name}", "components.Settings.default": "الإفتراضي", "components.Settings.default4k": "فور كي الإفتراضي", @@ -729,9 +715,6 @@ "components.Settings.email": "البريد الإلكتروني", "components.Settings.enablessl": "إستخدم SSL", "components.Settings.externalUrl": "عنوان الإرتباط الخارجي", - "components.Settings.general": "عام", - "components.Settings.generalsettings": "الإعدادات العامة", - "components.Settings.hideAvailable": "إخفاء المحتوى المتوفّر", "components.Settings.hostname": "عنوان المضيف أو رقم الأي بي", "components.Settings.is4k": "فور كي", "components.Settings.librariesRemaining": "المكتبات المتبقية: {count}", @@ -750,14 +733,10 @@ "components.Settings.notifications": "التنبيهات", "components.Settings.notificationsettings": "اعدادات التنبيهات", "components.Settings.notrunning": "لا يعمل", - "components.Settings.originallanguage": "لغة العرض الخاصة بـ إكتشف المحتوى", - "components.Settings.originallanguageTip": "تصفية المحتوى بحسب اللغة الأصلية", - "components.Settings.partialRequestsEnabled": "السماح بطلب المسلسلات بشكل جزئي", "components.Settings.plexlibrariesDescription": "المكتبات التي سيقوم أوفرسيرر بفحصها. قم بإعداد وحفظ إعدادات الإتصال ببليكس ثم قم بالضغط على الزر بالإسفل اذا لم تظهر مكتبات بليكس بالقائمة.", "components.Settings.plexsettingsDescription": "ضبط إعدادات سيرفر بليكس. أوفرسيرر سيفحص مكتبات بليكس للتأكد من توفر المحتوى من عدمه.", "components.Settings.port": "المنفذ", "components.Settings.radarrsettings": "إعدادات رادار", - "components.Settings.region": "المنطقة الخاصة بـ إكتشاف محتوى جديد", "components.Settings.scan": "دمج المكتبات", "components.Settings.scanning": "جاري الدمج…", "components.Settings.serverLocal": "محلي", @@ -772,24 +751,16 @@ "components.Settings.startscan": "إبدأ الفحص", "components.Settings.tautulliApiKey": "مفتاح API", "components.Settings.tautulliSettings": "إعدادات Tautulli", - "components.Settings.toastApiKeyFailure": "حدث خطأ ما أثناء محاولة توريد مفتاح API جديد.", - "components.Settings.toastApiKeySuccess": "تم توريد مفتاح API جديد بنجاح!", "components.Settings.toastPlexConnecting": "جاري محاولة الإتصال ببليكس…", "components.Settings.toastPlexConnectingFailure": "فشل الإتصال ببليكس.", "components.Settings.toastPlexConnectingSuccess": "تم الإتصال ببليكس بنجاح!", "components.Settings.toastPlexRefresh": "جاري جلب قائمة السيرفرات من بليكس…", "components.Settings.toastPlexRefreshFailure": "فشل جلب قائمة السيرفرات.", "components.Settings.toastPlexRefreshSuccess": "تم جلب قائمة السيرفرات من بليكس بنجاح!", - "components.Settings.toastSettingsFailure": "حدث خطأ ما أثناء حفظ الإعدادات.", - "components.Settings.toastSettingsSuccess": "تم حفظ الإعدادات بنجاح!", "components.Settings.toastTautulliSettingsFailure": "حدث خطأ ما أثناء حفظ إعدادات Tautulli.", "components.Settings.toastTautulliSettingsSuccess": "تم حفظ إعدادات Tautulli بنجاح !", - "components.Settings.trustProxy": "تفعيل دعم البروكسي", "components.Settings.urlBase": "عنوان الإرتباط الأساسي", "components.Settings.validationApiKey": "يجب كتابة مفتاح API", - "components.Settings.validationApplicationTitle": "يجب كتابة عنوان التطبيق", - "components.Settings.validationApplicationUrl": "يجب كتابة عنوان إرتباط صحيح", - "components.Settings.validationApplicationUrlTrailingSlash": "يجب أن لا ينتهي عنوان الإرتباط بعلامة السلاش", "components.Settings.validationHostnameRequired": "يجب كتابة إسم مضيف أو رقم أي بي صحيح", "components.Settings.validationPortRequired": "يجب كتابة رقم منفذ صحيح", "components.Settings.validationUrl": "يجب كتابة عنوان ارتباط صحيح", diff --git a/src/i18n/locale/ca.json b/src/i18n/locale/ca.json index 5199a2a52d..a12dd2059d 100644 --- a/src/i18n/locale/ca.json +++ b/src/i18n/locale/ca.json @@ -187,8 +187,6 @@ "components.Discover.recentlyAdded": "Afegit recentment", "components.Discover.populartv": "Sèries populars", "components.Discover.popularmovies": "Pel·lícules populars", - "components.Discover.discovertv": "Sèries populars", - "components.Discover.discovermovies": "Pel·lícules populars", "components.Discover.discover": "Descobriu", "components.Discover.TvGenreSlider.tvgenres": "Gèneres de Sèries", "components.Discover.TvGenreList.seriesgenres": "Gèneres de Sèries", @@ -418,25 +416,16 @@ "components.Setup.finish": "Finalitza la configuració", "components.Setup.continue": "Continua", "components.Setup.configureservices": "Configureu els serveis", - "components.Settings.trustProxy": "Activeu l'assistència de servidor intermediari", "components.Settings.toastPlexRefresh": "S'està recuperant la llista de servidors de Plex…", "components.Setup.configureplex": "Configureu Plex", "components.Settings.webhook": "Webhook", "components.Settings.validationPortRequired": "Heu de proporcionar un número de port vàlid", "components.Settings.validationHostnameRequired": "Heu de proporcionar un nom d’amfitrió o una adreça IP vàlida", - "components.Settings.validationApplicationUrlTrailingSlash": "L'URL no pot acabar amb una barra inclinada final", - "components.Settings.validationApplicationUrl": "Heu de proporcionar un URL vàlid", - "components.Settings.validationApplicationTitle": "Heu de proporcionar un títol d'aplicació", - "components.Settings.trustProxyTip": "Permet a Overseerr registrar correctament les adreces IP del client darrere d’un servidor intermediari", - "components.Settings.toastSettingsSuccess": "La configuració s'ha desat correctament!", - "components.Settings.toastSettingsFailure": "S'ha produït un error en desar la configuració.", "components.Settings.toastPlexRefreshSuccess": "La llista de servidors Plex s'ha recuperat correctament!", "components.Settings.toastPlexRefreshFailure": "No s'ha pogut recuperar la llista de servidors Plex.", "components.Settings.toastPlexConnectingSuccess": "La connexió amb Plex s'ha establert correctament!", "components.Settings.toastPlexConnectingFailure": "No s'ha pogut connectar amb Plex.", "components.Settings.toastPlexConnecting": "S'està intentant connectar amb Plex…", - "components.Settings.toastApiKeySuccess": "Nova clau d'API generada correctament!", - "components.Settings.toastApiKeyFailure": "S'ha produït un error en generar una nova clau API.", "components.Settings.startscan": "Inicia l'exploració", "components.Settings.ssl": "SSL", "components.Settings.sonarrsettings": "Configuració de Sonarr", @@ -450,8 +439,6 @@ "components.Settings.serverLocal": "local", "components.Settings.scanning": "S'està sincronitzant …", "components.Settings.scan": "Sincronitza les biblioteques", - "components.Settings.regionTip": "Filtra el contingut per disponibilitat regional", - "components.Settings.region": "Regió per a la secció \"Descobriu\"", "components.Settings.radarrsettings": "Configuració de Radarr", "components.Settings.port": "Port", "components.Settings.plexsettingsDescription": "Configureu la paràmetres del vostre servidor Plex. Overseerr explora les vostres biblioteques Plex per determinar la disponibilitat de continguts.", @@ -459,9 +446,6 @@ "components.Settings.plexlibrariesDescription": "Les biblioteques en les que Overseerr explora títols. Configureu i deseu la configuració de la connexió Plex i feu clic al botó següent si no apareix cap.", "components.Settings.plexlibraries": "Biblioteques Plex", "components.Settings.plex": "Plex", - "components.Settings.partialRequestsEnabled": "Permet sol·licituds parcials de Sèries", - "components.Settings.originallanguageTip": "Filtra el contingut per l'idioma original", - "components.Settings.originallanguage": "Idioma per a la secció \"Descobriu\"", "components.Settings.manualscanDescription": "Normalment, només s’executarà una vegada cada 24 hores. Overseerr comprovarà de forma més agressiva el contingut afegit recentment del seu servidor Plex. Si és la primera vegada que configureu Plex, es recomana fer una exploració manual completa de la biblioteca!", "components.Settings.SettingsJobsCache.plex-recently-added-scan": "Exploració d'elements de Plex afegits recentment", "components.Settings.notrunning": "No s'està executant", @@ -474,33 +458,21 @@ "components.Settings.menuNotifications": "Notificacions", "components.Settings.menuLogs": "Registres", "components.Settings.menuJobs": "Tasques programades i memòria cau", - "components.Settings.hideAvailable": "Amaga els suports disponibles", - "components.Settings.generalsettingsDescription": "Configureu els paràmetres globals i predeterminats per a Overseerr.", "components.Settings.menuGeneralSettings": "General", "components.Settings.menuAbout": "Quant a", "components.Settings.manualscan": "Exploració manual de la biblioteca", "components.Settings.librariesRemaining": "Biblioteques restants: {count}", "components.Settings.hostname": "Nom de l’amfitrió o adreça IP", - "components.Settings.generalsettings": "Configuració general", - "components.Settings.general": "General", "components.Settings.deleteserverconfirm": "Esteu segur que voleu suprimir aquest servidor?", "components.Settings.currentlibrary": "Biblioteca actual: {name}", "components.Settings.cancelscan": "Cancel·la l'exploració", - "components.Settings.cacheImagesTip": "Posa en memòria cau i carrega imatges optimitzades (requereix una quantitat important d'espai en disc)", - "components.Settings.applicationTitle": "Títol de l'aplicació", "components.Settings.addsonarr": "Afegeix un servidor Sonarr", "components.Settings.activeProfile": "Perfil actiu", "components.Settings.enablessl": "Utilitza SSL", "components.Settings.email": "Adreça electrònica", "components.Settings.default4k": "4K predeterminat", "components.Settings.default": "Predeterminat", - "components.Settings.csrfProtectionTip": "Estableix l'accés a l'API externa de només lectura (requereix HTTPS)", - "components.Settings.csrfProtectionHoverTip": "NO activeu aquesta configuració tret que entengueu el que esteu fent!", - "components.Settings.csrfProtection": "Activeu la protecció CSRF", "components.Settings.copied": "S'ha copiat la clau API al porta-retalls.", - "components.Settings.cacheImages": "Activa la memòria cau d'imatges", - "components.Settings.applicationurl": "URL de l'aplicació", - "components.Settings.apikey": "Clau API", "components.Settings.address": "Adreça", "components.Settings.addradarr": "Afegeix un servidor Radarr", "components.Settings.SonarrModal.validationRootFolderRequired": "Heu de seleccionar una carpeta arrel", @@ -757,7 +729,6 @@ "components.UserProfile.UserSettings.UserGeneralSettings.applanguage": "Idioma de visualització", "components.Settings.webpush": "Web Push", "components.Settings.noDefault4kServer": "Cal marcar un servidor 4K de {serverType} com a predeterminat per permetre als usuaris enviar sol·licituds de {mediaType} en 4K.", - "components.Settings.locale": "Idioma de visualització", "components.Settings.is4k": "4K", "components.Settings.SettingsUsers.newPlexLoginTip": "Permetre als usuaris de Plex iniciar la sessió sense haver-los importat prèviament", "components.Settings.SettingsUsers.newPlexLogin": "Activa nou inici de sessió de Plex", @@ -1117,5 +1088,11 @@ "components.RequestModal.requestmovie4ktitle": "Sol·licitud de pel·lícula en 4K", "components.RequestModal.requestmovietitle": "Sol·licitud de pel·lícula", "components.RequestModal.requestseriestitle": "Sol·licitud de sèries", - "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Freqüència actual" + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Freqüència actual", + "components.TvDetails.Season.noepisodes": "Llista d'episodis no disponible.", + "components.Settings.SettingsJobsCache.image-cache-cleanup": "Neteja de la memòria cau d'imatges", + "components.Settings.SettingsJobsCache.imagecache": "Memòria cau d'imatges", + "components.Settings.SettingsJobsCache.imagecachecount": "Imatges a la memòria cau", + "components.Settings.SettingsJobsCache.imagecachesize": "Mida total de la memòria cau", + "components.Settings.SettingsJobsCache.imagecacheDescription": "Quan està activat a la configuració, Overseerr enviarà les imatges a la memòria cau de fonts externes preconfigurades. Les imatges emmagatzemades a la memòria cau es desen a la vostra carpeta de configuració. Podeu trobar els fitxers a {appDataPath}/cache/images." } diff --git a/src/i18n/locale/cs.json b/src/i18n/locale/cs.json index c4af1428d4..7479ef2120 100644 --- a/src/i18n/locale/cs.json +++ b/src/i18n/locale/cs.json @@ -1,11 +1,8 @@ { "components.Settings.notificationsettings": "Nastavení oznámení", - "components.Settings.locale": "Jazyk zobrazení", - "components.Settings.generalsettings": "Obecná nastavení", "components.Settings.enablessl": "Použít SSL", "components.Settings.default4k": "Výchozí 4K", "components.Settings.cancelscan": "Zrušit skenování", - "components.Settings.apikey": "API klíč", "components.Settings.activeProfile": "Aktivní profil", "components.Settings.SonarrModal.syncEnabled": "Povolit skenování", "components.Settings.SonarrModal.ssl": "Použít SSL", @@ -179,7 +176,6 @@ "components.Settings.mediaTypeSeries": "seriál", "components.Settings.mediaTypeMovie": "film", "components.Settings.is4k": "4K", - "components.Settings.general": "Obecné", "components.Settings.email": "E-mail", "components.Settings.default": "Výchozí", "components.Settings.address": "Adresy", @@ -381,12 +377,10 @@ "components.Discover.recentrequests": "Nedávné žádosti", "components.Discover.recentlyAdded": "Nedávno přidané", "components.Discover.populartv": "Populární Seriály", - "components.Discover.discovertv": "Populární Seriály", "components.Discover.DiscoverTvLanguage.languageSeries": "{language} Seriály", "components.Discover.DiscoverTvGenre.genreSeries": "{genre} Seriály", "components.Discover.DiscoverNetwork.networkSeries": "{network} Seriály", "components.Discover.popularmovies": "Populární filmy", - "components.Discover.discovermovies": "Populární filmy", "components.Discover.discover": "Objevte", "components.Discover.TvGenreSlider.tvgenres": "Žánry seriálů", "components.Discover.TvGenreList.seriesgenres": "Žánry seriálů", @@ -408,22 +402,18 @@ "components.Layout.VersionStatus.commitsbehind": "{commitsBehind} {commitsBehind, plural, one {commit} other {commitů}} za", "components.Setup.configureplex": "Konfigurovat Plex", "components.Settings.serverpresetRefreshing": "Načítání serverů…", - "components.Settings.applicationTitle": "Název aplikace", - "components.Settings.originallanguage": "Jazyk pro vyhledávání", "components.Settings.plexsettings": "Nastavení Plexu", "components.Settings.scan": "Synchronizovat knihovny", "components.Settings.plexlibraries": "Plex knihovny", - "components.Settings.applicationurl": "Adresa URL aplikace", "components.Settings.notrunning": "Není spuštěno", "components.Settings.radarrsettings": "Nastavení Radarru", - "components.Settings.region": "Region pro vyhledávání", "components.Settings.startscan": "Spustit skenování", "components.Settings.serverpresetManualMessage": "Manuální konfigurace", "components.Settings.sonarrsettings": "Nastavení Sonarru", "components.StatusBadge.status": "{status}", "components.IssueDetails.IssueDescription.description": "Popis", "components.IssueDetails.comments": "Komentáře", - "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Frekvence", + "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Nová frekvence", "components.IssueModal.issueOther": "Jiný", "components.RequestModal.requestadmin": "Tato žádost bude schválena automaticky.", "components.IssueModal.issueAudio": "Zvuk", @@ -629,17 +619,13 @@ "components.Settings.SonarrModal.testFirstRootFolders": "Test připojení pro načtení kořenových složek", "components.Settings.SonarrModal.validationApiKeyRequired": "Musíte zadat klíč API", "components.Settings.SonarrModal.validationApplicationUrl": "Musíte zadat platnou adresu URL", - "components.Settings.csrfProtectionTip": "Nastavení externího přístupu k rozhraní API pouze pro čtení (vyžaduje protokol HTTPS)", "components.Settings.deleteserverconfirm": "Opravdu chcete tento server odstranit?", "components.Settings.menuJobs": "Práce a mezipaměť", - "components.Settings.toastApiKeyFailure": "Při generování nového klíče API se něco pokazilo.", - "components.Settings.toastApiKeySuccess": "Nový klíč API byl úspěšně vygenerován!", "components.TvDetails.similar": "Podobné série", "components.TvDetails.streamingproviders": "V současné době streamuje na", "components.UserList.nouserstoimport": "Neexistují žádní uživatelé systému Plex, které by bylo možné importovat.", "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsSuccess": "Nastavení úspěšně uloženo!", "components.Settings.SettingsJobsCache.nextexecution": "Další spuštení", - "components.Settings.generalsettingsDescription": "Konfigurace globálních a výchozích nastavení pro Overseerr.", "components.TvDetails.nextAirDate": "Další datum vysílání", "components.TvDetails.viewfullcrew": "Zobrazit celé obsazení", "components.UserList.displayName": "Zobrazené jméno", @@ -704,15 +690,11 @@ "components.Settings.SonarrModal.toastSonarrTestFailure": "Nepodařilo se připojit k systému Sonarr.", "components.Settings.SonarrModal.toastSonarrTestSuccess": "Připojení Sonarr úspěšně navázáno!", "components.Settings.SonarrModal.validationBaseUrlLeadingSlash": "Základní adresa URL musí mít na začátku lomítko", - "components.Settings.cacheImages": "Povolení ukládání obrázků do mezipaměti", - "components.Settings.cacheImagesTip": "Ukládat do mezipaměti a poskytovat optimalizované obrazy (vyžaduje značné množství místa na disku)", "components.Settings.manualscanDescription": "Obvykle se provádí pouze jednou za 24 hodin. Overseerr bude kontrolovat nedávno přidané položky vašeho serveru Plex agresivněji. Pokud Plex konfigurujete poprvé, doporučujeme provést jednorázovou úplnou ruční kontrolu knihovny!", - "components.Settings.originallanguageTip": "Filtrování obsahu podle původního jazyka", "components.Settings.urlBase": "Základní adresa URL", "components.Settings.tautulliSettingsDescription": "Volitelně nakonfigurujte nastavení serveru Tautulli. Overseerr načte data historie sledování pro vaše média Plex z Tautulli.", "components.Settings.toastPlexConnecting": "Pokus o připojení k systému Plex…", "components.Settings.validationApiKey": "Musíte zadat klíč API", - "components.Settings.validationApplicationUrlTrailingSlash": "Adresa URL nesmí končit koncovým lomítkem", "components.Settings.validationHostnameRequired": "Musíte zadat platný název hostitele nebo IP adresu", "components.Settings.validationPortRequired": "Musíte zadat platné číslo portu", "components.Settings.validationUrl": "Musíte zadat platnou adresu URL", @@ -799,18 +781,12 @@ "components.Settings.addradarr": "Přidání serveru Radarr", "components.Settings.addsonarr": "Adding a Radarr server", "components.Settings.copied": "Zkopírování klíče API do schránky.", - "components.Settings.csrfProtection": "Povolení ochrany CSRF", "components.Settings.externalUrl": "Externí adresa URL", - "components.Settings.hideAvailable": "Skrýt dostupná média", "components.Settings.hostname": "Název hostitele nebo IP adresa", "components.Settings.manualscan": "Manuální skenování knihovny", - "components.Settings.partialRequestsEnabled": "Povolení požadavků na částečné série", "components.Settings.plexlibrariesDescription": "Knihovny Overseerr vyhledává tituly. Nastavte a uložte nastavení připojení k systému Plex a poté klikněte na tlačítko níže, pokud nejsou v seznamu uvedeny žádné knihovny.", "components.Settings.serverpresetLoad": "Stisknutím tlačítka načtete dostupné servery", - "components.Settings.toastSettingsSuccess": "Nastavení úspěšně uloženo!", "components.Settings.toastTautulliSettingsFailure": "Při ukládání nastavení Tautulli se něco pokazilo.", - "components.Settings.validationApplicationTitle": "Musíte uvést název žádosti", - "components.Settings.validationApplicationUrl": "Musíte zadat platnou adresu URL", "components.Settings.webAppUrl": "Webová aplikace Adresa URL", "components.Settings.validationUrlTrailingSlash": "Adresa URL nesmí končit koncovým lomítkem", "components.Settings.webAppUrlTip": "Volitelné přesměrování uživatelů na webovou aplikaci na vašem serveru namísto hostované webové aplikace", @@ -818,7 +794,7 @@ "components.Setup.scanbackground": "Skenování bude probíhat na pozadí. Mezitím můžete pokračovat v procesu nastavení.", "components.Setup.welcome": "Vítejte v Overseerr", "components.Setup.signinMessage": "Skenování bude probíhat na pozadí. Mezitím můžete pokračovat v procesu nastavení", - "components.TvDetails.TvCrew.fullseriescrew": "Posádka celé série", + "components.TvDetails.TvCrew.fullseriescrew": "Štáb celé série", "components.UserList.autogeneratepassword": "Automatické generování hesla", "components.UserList.autogeneratepasswordTip": "Zaslání hesla vygenerovaného serverem uživateli e-mailem", "components.UserList.deleteconfirm": "Opravdu chcete tohoto uživatele odstranit? Všechny údaje o jeho žádosti budou trvale odstraněny.", @@ -860,10 +836,7 @@ "components.Settings.noDefault4kServer": "Server 4K {serverType} musí být označen jako výchozí, aby uživatelé mohli odesílat požadavky 4K {mediaType}.", "components.Settings.noDefaultNon4kServer": "Pokud máte pouze jeden server {serverType} pro obsah jiný než 4K i 4K (nebo pokud stahujete pouze obsah 4K), váš server {serverType} by neměl být označen jako server 4K.", "components.Settings.noDefaultServer": "Aby mohly být zpracovány požadavky typu {mediaType}, musí být alespoň jeden server typu {serverType} označen jako výchozí.", - "components.Settings.regionTip": "Filtrování obsahu podle regionální dostupnosti", "components.Settings.plexsettingsDescription": "Knihovny Overseerr vyhledává tituly. Nastavte a uložte nastavení připojení k systému Plex a poté klikněte na tlačítko níže, pokud nejsou v seznamu uvedeny žádné knihovny.", - "components.Settings.toastSettingsFailure": "Při ukládání nastavení se něco pokazilo.", - "components.Settings.trustProxy": "Povolení podpory proxy serveru", "components.Settings.toastPlexRefresh": "Získání seznamu serverů z aplikace Plex…", "components.Settings.toastPlexRefreshSuccess": "Seznam serverů Plex úspěšně načten!", "components.UserList.passwordinfodescription": "Nakonfigurujte adresu URL aplikace a povolte e-mailová oznámení, která umožní automatické generování hesla.", @@ -889,7 +862,6 @@ "components.RequestCard.failedretry": "Při opakovaném pokusu o zadání požadavku se něco pokazilo.", "components.Settings.Notifications.NotificationsLunaSea.profileNameTip": "Vyžaduje se pouze v případě, že nepoužíváte profil default", "components.RequestCard.mediaerror": "{mediaType} Nenalezeno", - "components.Settings.trustProxyTip": "Povolit Overseerr správně registrovat IP adresy klientů za proxy serverem", "components.RequestList.RequestItem.mediaerror": "{mediaType} Nenalezeno", "components.RequestModal.QuotaDisplay.allowedRequests": "Můžete požádat o {limit} {type} každé {days} dny.", "components.RequestModal.SearchByNameModal.notvdbiddescription": "Tuto sérii jsme nemohli automaticky spárovat. Níže prosím vyberte správnou shodu.", @@ -971,7 +943,6 @@ "components.Settings.SonarrModal.validationLanguageProfileRequired": "Je třeba vybrat jazykový profil", "components.Settings.SonarrModal.validationNameRequired": "Je třeba zadat název serveru", "components.UserProfile.UserSettings.UserGeneralSettings.displayName": "Zobrazované jméno", - "components.Settings.csrfProtectionHoverTip": "Toto nastavení NEPOVOLUJTE, pokud nerozumíte tomu, co děláte!", "components.Settings.tautulliSettings": "Tautulli Nastavení", "components.Settings.toastTautulliSettingsSuccess": "Nastavení Tautulli úspěšně uloženo!", "components.UserProfile.UserSettings.unauthorizedDescription": "Nemáte oprávnění měnit nastavení tohoto uživatele.", @@ -1116,5 +1087,6 @@ "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Automaticky vyžádat sérii", "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Automaticky vyžádat filmy", "components.UserProfile.plexwatchlist": "Plex Watchlist", - "components.UserProfile.emptywatchlist": "Zde se zobrazí média přidaná do vašeho Plex Watchlistu." + "components.UserProfile.emptywatchlist": "Zde se zobrazí média přidaná do vašeho Plex Watchlistu.", + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Aktuální frekvence" } diff --git a/src/i18n/locale/da.json b/src/i18n/locale/da.json index 3df86ad8fa..3323ee669a 100644 --- a/src/i18n/locale/da.json +++ b/src/i18n/locale/da.json @@ -1,5 +1,4 @@ { - "components.Discover.discovermovies": "Populære Film", "components.MediaSlider.ShowMoreCard.seemore": "Se Mere", "components.Login.validationpasswordrequired": "Angiv et kodeord", "components.Login.validationemailrequired": "Angiv en gyldig email adresse", @@ -32,7 +31,6 @@ "components.Discover.recentlyAdded": "Tilføjet for nyligt", "components.Discover.populartv": "Populære Serier", "components.Discover.popularmovies": "Populære Film", - "components.Discover.discovertv": "Populære Serier", "components.Discover.discover": "Udforsk", "components.Discover.TvGenreSlider.tvgenres": "Seriegenrer", "components.Discover.TvGenreList.seriesgenres": "Seriegenrer", @@ -89,7 +87,7 @@ "components.RequestButton.approverequest4k": "Godkend 4K Forespørgsel", "components.RequestButton.approverequests": "Godkend {requestCount, plural, one {Forespørgsel} other {{requestCount} Forespørgsler}}", "components.RequestList.RequestItem.editrequest": "Redigér Forespørgsel", - "components.RequestList.RequestItem.mediaerror": "Den forbundne titel for denne forespørgsel er ikke længere tilgængelig.", + "components.RequestList.RequestItem.mediaerror": "{mediaType} Ikke fundet", "components.RequestList.RequestItem.modified": "Ændret", "components.RequestList.RequestItem.modifieduserdate": "{date} af {user}", "components.RequestList.RequestItem.requesteddate": "Forespurgt", @@ -224,7 +222,7 @@ "components.PermissionEdit.requestTvDescription": "Bliv notificeret når problemer er genåbnet af andre brugere.", "components.RegionSelector.regionServerDefault": "Standard ({region})", "components.RequestCard.deleterequest": "Slet Forespørgsel", - "components.RequestCard.mediaerror": "Den forbundne titel for denne forespørgsel er ikke længere tilgængelig.", + "components.RequestCard.mediaerror": "{mediaType} Ikke fundet", "components.RequestCard.seasons": "{seasonCount, plural, one {Sæson} other {Sæsoner}}", "components.RequestList.RequestItem.cancelRequest": "Annullér Forespørgsel", "components.RequestList.RequestItem.deleterequest": "Slet Forespørgsel", @@ -290,7 +288,7 @@ "components.RequestModal.errorediting": "Noget gik galt under redigeringen af forespørgslen.", "components.RequestModal.extras": "Ekstra", "components.RequestModal.numberofepisodes": "Antal Episoder", - "components.RequestModal.pending4krequest": "Afventende 4K Forespørgsler", + "components.RequestModal.pending4krequest": "Afventende 4K forespørgsler", "components.RequestModal.pendingapproval": "Din forespørgsel afventer godkendelse.", "components.ResetPassword.resetpasswordsuccessmessage": "Kodeord er nulstillet!", "components.Settings.Notifications.NotificationsLunaSea.profileName": "Profilnavn", @@ -403,8 +401,8 @@ "components.PermissionEdit.manageissuesDescription": "Giv tilladelse til at administrere medieproblemer.", "components.RequestCard.failedretry": "Noget gik galt ved nyt forsøg på forespørgslen.", "components.RequestModal.QuotaDisplay.requestsremaining": "{remaining, plural, =0 {Ingen} other {#}} {type} {remaining, plural, one {forespørgsel} other {forespørgsler}} tilbage", - "components.RequestModal.SearchByNameModal.notvdbiddescription": "Vi kunne ikke automatisk matche din forespørgsel. Vælg venligst det korrekte match fra listen nedenfor.", - "components.RequestModal.pendingrequest": "Afventende Forespørgsel", + "components.RequestModal.SearchByNameModal.notvdbiddescription": "Vi kunne ikke automatisk matche denne serie. Vælg venligst det rigtige match nedenfor.", + "components.RequestModal.pendingrequest": "Afventende forespørgsel", "components.Settings.Notifications.NotificationsPushover.userToken": "Bruger- eller Gruppenøgle", "components.Settings.Notifications.NotificationsPushover.userTokenTip": "Dit 30-tegns bruger- eller gruppe-ID", "components.Settings.Notifications.NotificationsPushover.validationUserTokenRequired": "Du skal angive en gyldig bruger- eller gruppenøgle", @@ -506,9 +504,9 @@ "components.Settings.SettingsJobsCache.canceljob": "Annullér Job", "components.Settings.SettingsJobsCache.download-sync": "Downloadsynkronisering", "components.Settings.SettingsJobsCache.editJobSchedule": "Modificér Job", - "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Frekvens", - "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "Hvert {jobScheduleHours}. time", - "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "Hvert {jobScheduleMinutes}. minut", + "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Ny frekvens", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "Hvert {jobScheduleHours}, plural, one {time} other {{jobScheduleHours} timer}", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "Hvert {jobScheduleMinutes}, plural, one {minut} other {{jobScheduleMinutes} minutter}}", "components.Settings.Notifications.authUser": "SMTP Brugernavn", "components.Settings.Notifications.botAPI": "Bot Autorisationstoken", "components.Settings.Notifications.encryptionImplicitTls": "Brug implicit TLS", @@ -602,13 +600,7 @@ "components.Settings.SonarrModal.validationRootFolderRequired": "Du skal angive en rodmappe", "components.Settings.address": "Adresse", "components.Settings.addsonarr": "Tilføj Sonarr Server", - "components.Settings.apikey": "API-nøgle", - "components.Settings.applicationTitle": "Applikationstitel", - "components.Settings.applicationurl": "Applikations-URL", - "components.Settings.cacheImagesTip": "Optimér og gem alle billeder lokalt (anvender en betydelig mængde diskplads)", "components.Settings.copied": "API-nøgle er kopieret til udklipsholder.", - "components.Settings.csrfProtection": "Aktivér CSRF Beskyttelse", - "components.Settings.csrfProtectionHoverTip": "Aktivér IKKE denne indstilling hvis ikke du forstår hvad du gør!", "components.Settings.currentlibrary": "Nuværende Bibliotek: {name}", "components.Settings.email": "Email", "components.Settings.enablessl": "Benyt SSL", @@ -626,17 +618,9 @@ "components.Settings.noDefaultServer": "Mindst én {serverType}server skal markeres som standard for at {mediaType}forespørgsler kan afvikles.", "components.Settings.notificationAgentSettingsDescription": "Konfigurér og aktivér notifikationsagenter.", "components.Settings.notifications": "Notifikationer", - "components.Settings.originallanguage": "Udforsk Sprog", - "components.Settings.originallanguageTip": "Filtrer indhold efter originalsprog", - "components.Settings.partialRequestsEnabled": "Tillad Delvise Serieforespørgsler", "components.Settings.plex": "Plex", "components.Settings.SettingsJobsCache.jobScheduleEditSaved": "Jobbet er blevet redigeret!", - "components.Settings.csrfProtectionTip": "Sæt ekstern API-adgang til skrivebeskyttet (kræver HTTPS)", - "components.Settings.generalsettingsDescription": "Konfigurér global- og standardindstillinger for Overseerr.", - "components.Settings.general": "Generelt", - "components.Settings.hideAvailable": "Skjul Tilgængelige Medier", "components.Settings.hostname": "Domænenavn eller IP Adresse", - "components.Settings.generalsettings": "Generelle Indstillinger", "components.Settings.menuAbout": "Om", "components.Settings.SettingsLogs.label": "Label", "components.Settings.SettingsLogs.level": "Alvorlighed", @@ -644,8 +628,6 @@ "components.Settings.SonarrModal.baseUrl": "URL Base", "components.Settings.SonarrModal.create4ksonarr": "Tilføj Ny 4K Sonarr Server", "components.Settings.SonarrModal.loadingprofiles": "Indlæser kvalitetsprofiler…", - "components.Settings.cacheImages": "Aktivér billede-caching", - "components.Settings.locale": "Grænsefladesprog", "components.Settings.manualscan": "Manuel Biblioteksskanning", "components.Settings.mediaTypeMovie": "film", "components.Settings.mediaTypeSeries": "serier", @@ -714,8 +696,6 @@ "components.Settings.sonarrsettings": "Sonarr-indstillinger", "components.Settings.ssl": "SSL", "components.Settings.startscan": "Start Skanning", - "components.Settings.toastApiKeySuccess": "Ny API-nøgle er blevet genereret!", - "components.Settings.validationApplicationUrl": "Du skal angive en gyldig URL", "components.Settings.webAppUrlTip": "Brugere dirigeres som alternativ til web-app'en på din server i stedet for den \"hostede\" web-app", "components.Settings.webAppUrl": "Web-App-URL", "components.Settings.webhook": "Webhook", @@ -727,7 +707,7 @@ "components.TvDetails.episodeRuntimeMinutes": "{runtime} minutter", "components.TvDetails.originallanguage": "Originalsprog", "components.TvDetails.originaltitle": "Originaltitel", - "components.UserList.importedfromplex": "{userCount, plural, one {# ny bruger} other {# nye brugere}} er blevet importeret fra Plex!", + "components.UserList.importedfromplex": "{userCount} Plex {userCount, plural, one {bruger} other {brugere}} importeret med succes!", "components.UserList.localLoginDisabled": "Indstillingen Aktivér Lokal Login er i øjeblikket deaktiveret.", "components.UserList.validationpasswordminchars": "Kodeordet er for kort; det skal mindst bestå af 8 tegn", "components.UserProfile.ProfileHeader.settings": "Redigér Indstillinger", @@ -751,9 +731,6 @@ "components.Settings.plexlibrariesDescription": "Bibliotekerne Overseerr skanner for titler. Konfigurér og gem dine Plex-forbindelsesindstillinger og klik på knappen nedenfor hvis der ikke er vist nogle biblioteker.", "components.Settings.plexsettingsDescription": "Konfigurér indstillingerne for din Plex server. Overseerr skanner dine Plex-biblioteker for at afgøre tilgængeligheden af indhold.", "components.Settings.radarrsettings": "Radarr-indstillinger", - "components.Settings.region": "Udforsk Region", - "components.Settings.trustProxy": "Aktivér Proxy-understøttelse", - "components.Settings.trustProxyTip": "Tillad Overseerr at registrere klienters IP addresser korrekt bag en proxy", "components.TvDetails.nextAirDate": "Næste Udsendelsesdato", "components.TvDetails.playonplex": "Afspil i Plex", "components.TvDetails.recommendations": "Anbefalinger", @@ -776,7 +753,7 @@ "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsSuccess": "Indstillingerne er blevet gemt!", "components.UserProfile.UserSettings.UserGeneralSettings.user": "Bruger", "components.UserProfile.UserSettings.UserNotificationSettings.discordId": "Bruger-ID", - "components.UserProfile.UserSettings.UserNotificationSettings.discordIdTip": "ID-nummeret for din brugerkonto", + "components.UserProfile.UserSettings.UserNotificationSettings.discordIdTip": "The flercifret ID number knyttet til din brugerkonto", "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingsfailed": "Notifikationsindstillingerne for Discord kunne ikke gemmes.", "components.UserProfile.UserSettings.UserNotificationSettings.pgpPublicKeyTip": "Kryptér emailbeskeder ved hjælp af OpenPGP", "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessToken": "Adgangstoken", @@ -792,7 +769,6 @@ "components.Settings.serverSecure": "sikker", "components.Settings.serverpresetLoad": "Klik på knappen for at indlæse tilgængelige servere", "components.Settings.services": "Tjenester", - "components.Settings.toastSettingsSuccess": "Indstillingerne er blevet gemt!", "components.Settings.webpush": "Web Push", "components.UserList.userlist": "Brugerliste", "components.Settings.plexsettings": "Plex-indstillinger", @@ -805,20 +781,15 @@ "components.TvDetails.showtype": "Serietype", "components.UserList.sortCreated": "Tilmeldingsdato", "components.UserList.deleteconfirm": "Er du sikker på at du vil slette denne bruger? Alle deres forespørgselsdata vil blive slettet permanent.", - "components.Settings.regionTip": "Filtrer indhold efter regional tilgængelighed", "components.Settings.serverpresetManualMessage": "Manuel konfiguration", "components.Settings.serverpresetRefreshing": "Henter servere…", "components.Settings.serviceSettingsDescription": "Konfigurér dine {serverType}server(e) nedenfor. Du kan forbinde til flere forskellige {serverType}servere men kun to af dem kan markeres som standard (én ikke-4K og én 4K). Administratorer kan ændre på serveren der bruges til at behandle nye forespørgsler inden godkendelse.", "components.Settings.settingUpPlexDescription": "For at sætte Plex op skal du enten indtaste oplysningerne manuelt eller vælge en server som hentes fra plex.tv. Klik på knappen til højre for rullemenuen for at hente en liste af tilgængelige servere.", - "components.Settings.toastApiKeyFailure": "Noget gik galt under genereringen af en nye API-nøgle.", "components.Settings.toastPlexConnectingFailure": "Kunne ikke forbinde til Plex.", "components.Settings.toastPlexConnectingSuccess": "Plex forbindelse er etableret!", "components.Settings.toastPlexRefresh": "Henter serverliste fra Plex…", "components.Settings.toastPlexRefreshFailure": "Kunne ikke hente Plex-serverliste.", "components.Settings.toastPlexRefreshSuccess": "Plex-serverliste er blevet hentet!", - "components.Settings.toastSettingsFailure": "Noget gik galt under opdateringen af indstillingerne.", - "components.Settings.validationApplicationTitle": "Du skal angive en applikationstitel", - "components.Settings.validationApplicationUrlTrailingSlash": "URL'en må ikke afsluttes med en skråstreg", "components.Settings.validationHostnameRequired": "Du skal angive et gyldigt domænenavn eller en gyldig IP adresse", "components.Setup.configureplex": "Konfigurér Plex", "components.Settings.validationPortRequired": "Du skal angive et gyldigt port-nummer", @@ -1026,5 +997,225 @@ "components.UserList.newplexsigninenabled": "Indstillingen Aktiver nyt Plex-login er i øjeblikket aktiveret. Plex-brugere med biblioteksadgang behøver ikke at blive importeret for at kunne logge ind.", "components.Settings.SettingsAbout.appDataPath": "Data mappe", "components.Settings.Notifications.NotificationsPushbullet.channelTag": "Kanal tag", - "i18n.importing": "Importerer…" + "i18n.importing": "Importerer…", + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Aktuel frekvens", + "components.Settings.SettingsJobsCache.image-cache-cleanup": "Oprydning af billedcache", + "components.Settings.SettingsJobsCache.imagecache": "Billedcache", + "components.Settings.experimentalTooltip": "Aktivering af denne indstilling kan resultere i uventet programadfærd", + "components.TvDetails.Season.noepisodes": "Episodelisten er ikke tilgængelig.", + "components.RequestBlock.edit": "Rediger forespørgsel", + "components.TitleCard.tmdbid": "TMDB ID", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "Din Plex Watchlist", + "components.Layout.UserDropdown.requests": "Forespørgsler", + "components.MovieDetails.physicalrelease": "Fysisk udgivelse", + "components.PermissionEdit.autorequestSeries": "Forespørg automatisk serier", + "components.RequestCard.cancelrequest": "Annuller forespørgsel", + "components.RequestList.RequestItem.tvdbid": "TheTVDB ID", + "components.RequestModal.requestcollectiontitle": "Anmod samling", + "components.Settings.SettingsJobsCache.imagecacheDescription": "Når det er aktiveret i indstillinger, vil Overseerr proxy og cache billeder fra forudkonfigurerede eksterne kilder. Cachelagrede billeder gemmes i din konfigurationsmappe. Du kan finde filerne i {appDataPath}/cache/images.", + "components.Settings.SettingsJobsCache.imagecachecount": "Cachelagrede billeder", + "components.Settings.SettingsLogs.viewdetails": "Se detaljer", + "components.Settings.SettingsJobsCache.imagecachesize": "Samlet cachestørrelse", + "components.StatusChecker.appUpdated": "{applicationTitle} Opdateret", + "components.StatusChecker.appUpdatedDescription": "Klik på knappen nedenfor for at genindlæse applikationen.", + "components.StatusChecker.reloadApp": "Genindlæs {applicationTitle}", + "components.TitleCard.cleardata": "Ryd data", + "components.TitleCard.tvdbid": "TheTVDB ID", + "components.RequestModal.requestmovie4ktitle": "Forespørg film i 4K", + "components.Settings.restartrequiredTooltip": "Overseerr skal genstartes for at ændringer til denne indstilling kan træde i kraft", + "components.StatusChecker.restartRequiredDescription": "Genstart venligst serveren for at anvende de opdaterede indstillinger.", + "components.UserProfile.emptywatchlist": "Medier føjet til din Plex Watchlist vises her.", + "components.MovieDetails.theatricalrelease": "Biografpremiere", + "components.PermissionEdit.viewrecent": "Vis nyligt tilføjet", + "components.PermissionEdit.viewrecentDescription": "Giv tilladelse til at se listen over nyligt tilføjede medier.", + "components.RequestCard.tmdbid": "TMDB ID", + "components.RequestCard.tvdbid": "TVDB ID", + "components.StatusChecker.restartRequired": "Server genstart påkrævet", + "components.RequestList.RequestItem.tmdbid": "TMDB ID", + "components.MovieDetails.digitalrelease": "Digital udgivelse", + "components.PermissionEdit.autorequest": "Automatisk forespørgsel", + "components.PermissionEdit.autorequestMovies": "Forespørg film automatisk", + "components.Settings.deleteServer": "Slet {serverType} server", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Forespørg automatisk film", + "components.ManageSlideOver.alltime": "Hele tiden", + "components.Settings.Notifications.enableMentions": "Aktiver omtaler", + "components.TvDetails.manageseries": "Administrer serier", + "components.MovieDetails.reportissue": "Rapporter et problem", + "components.MovieDetails.managemovie": "Administrer film", + "components.PermissionEdit.autorequestMoviesDescription": "Giv tilladelse til automatisk at indsende forespørgsler om ikke-4K-film via Plex Watchlist.", + "components.PermissionEdit.autorequestSeriesDescription": "Giv tilladelse til automatisk at indsende forespørgsler om ikke-4K-serier via Plex Watchlist.", + "components.TitleCard.mediaerror": "{mediaType} Ikke fundet", + "components.Discover.DiscoverWatchlist.watchlist": "Plex Watchlist", + "components.Discover.plexwatchlist": "Din Plex Watchlist", + "components.NotificationTypeSelector.mediaautorequested": "Forespørgsel indsendt automatisk", + "components.NotificationTypeSelector.mediaautorequestedDescription": "Få besked, når der automatisk indsendes nye medieanmodninger for emner på din Plex Watchlist.", + "components.PermissionEdit.viewwatchlists": "Se Plex Watchlists", + "components.Settings.advancedTooltip": "Forkert konfiguration af denne indstilling kan resultere i ødelagt funktionalitet", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Forespørg automatisk serier på dinPlex Watchlist", + "components.UserProfile.plexwatchlist": "Plex Watchlist", + "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "Film forespørgsler", + "components.AirDateBadge.airedrelative": "Sendt {relativeTime}", + "components.AirDateBadge.airsrelative": "Sendes {relativeTime}", + "components.MovieDetails.rtaudiencescore": "Rotten Tomatoes publikumsscore", + "components.PermissionEdit.viewwatchlistsDescription": "Giv tilladelse til at se andre brugeres Plex Watchlists.", + "components.RequestBlock.approve": "Godkend forespørgsel", + "components.RequestBlock.decline": "Afvis forespørgsel", + "components.RequestBlock.lastmodifiedby": "Sidst ændret af", + "components.RequestBlock.requestdate": "Forespørg dato", + "components.RequestCard.declinerequest": "Afvis forespørgsel", + "components.RequestCard.editrequest": "Rediger forespørgsel", + "components.Settings.SettingsJobsCache.plex-watchlist-sync": "Synkronisering af Plex Watchlist", + "components.StatusBadge.managemedia": "Administrer {mediaType}", + "components.StatusBadge.openinarr": "Åbn i {arr}", + "components.StatusBadge.playonplex": "Spil i Plex", + "components.TvDetails.Season.somethingwentwrong": "Noget gik galt under hentning af sæsondata.", + "components.TvDetails.reportissue": "Rapporter et problem", + "components.TvDetails.episodeCount": "{episodeCount, plural, one {# episode} other {# episoder}}", + "components.TvDetails.rtaudiencescore": "Rotten Tomatoes Publikumsresultat", + "components.TvDetails.rtcriticsscore": "Rotten Tomatoes Tomatometer", + "components.RequestBlock.languageprofile": "Sprogprofil", + "i18n.restartRequired": "Genstart påkrævet", + "components.Discover.emptywatchlist": "Medier, der er tilføjet til din Plex Watchlist, vises her.", + "components.MovieDetails.rtcriticsscore": "Rotten Tomatoes Tomatometer", + "components.MovieDetails.tmdbuserscore": "TMDB brugerscore", + "components.RequestBlock.delete": "Slet forespørgsel", + "components.RequestBlock.requestedby": "Forespurgt af", + "components.RequestCard.approverequest": "Godkend forespørgsel", + "components.RequestModal.SearchByNameModal.nomatches": "Vi var ikke i stand til at finde et match for denne serie.", + "components.RequestModal.requestcollection4ktitle": "Anmod om samling i 4K", + "components.RequestModal.requestmovietitle": "Forespørg film", + "components.RequestModal.requestseries4ktitle": "Forespørg serie i 4K", + "components.RequestModal.requestseriestitle": "Forespørg serie", + "components.TvDetails.seasonnumber": "Sæson {seasonNumber}", + "components.TvDetails.seasonstitle": "Sæsoner", + "components.TvDetails.status4k": "4K {status}", + "components.TvDetails.tmdbuserscore": "TMDB brugerscore", + "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "Serie forespørgsler", + "components.PermissionEdit.autorequestDescription": "Giv tilladelse til automatisk at indsende forespørgsler om ikke-4K-medier via Plex Watchlist.", + "components.ManageSlideOver.plays": "{playCount, antal} {playCount, plural, one {spil} other{spiller}}", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Forespørg automatisk film på din Plex Watchlist", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Forespørg automatisk serier", + "components.Discover.studios": "Studier", + "components.Discover.tmdbmoviegenre": "TMDB filmgenre", + "components.Settings.SettingsMain.apikey": "API nøgle", + "components.Settings.SettingsMain.applicationTitle": "Applikationstitel", + "components.Settings.SettingsMain.applicationurl": "Applikations-URL", + "components.Settings.SettingsMain.cacheImages": "Aktiver billedcaching", + "components.Settings.SettingsMain.locale": "Grænsefladesprog", + "components.Settings.SettingsMain.originallanguageTip": "Filtrer indhold efter originalsprog", + "components.Settings.SettingsMain.originallanguage": "Discover sprog", + "components.Discover.CreateSlider.searchStudios": "Søg studier…", + "components.Discover.CreateSlider.slidernameplaceholder": "Navn på skyder", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} Film", + "components.Discover.DiscoverSliderEdit.deletefail": "Kunne ikke slette skyderen.", + "components.Discover.DiscoverSliderEdit.deletesuccess": "Skyderen blev slettet.", + "components.Discover.DiscoverSliderEdit.enable": "Slå Synlighed til/fra", + "components.Discover.DiscoverSliderEdit.remove": "Fjern", + "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} Serie", + "components.Discover.CreateSlider.needresults": "Du skal have mindst 1 resultat.", + "components.Discover.CreateSlider.nooptions": "Ingen resultater.", + "components.Discover.CreateSlider.providetmdbgenreid": "Angiv et TMDB-genre-ID", + "components.Discover.CreateSlider.providetmdbkeywordid": "Angiv et TMDB-søgeords-id", + "components.Discover.CreateSlider.providetmdbnetwork": "Angiv TMDB-netværks-id", + "components.Discover.CreateSlider.providetmdbsearch": "Angiv en søgeforespørgsel", + "components.Discover.CreateSlider.providetmdbstudio": "Angiv TMDB Studio ID", + "components.Discover.CreateSlider.searchGenres": "Søg genrer…", + "components.Discover.CreateSlider.searchKeywords": "Søg nøgleord…", + "components.Discover.CreateSlider.starttyping": "Begynder at skrive for at søge.", + "components.Discover.CreateSlider.validationTitlerequired": "Du skal angive en titel.", + "components.Discover.CreateSlider.addSlider": "Tilføj skyder", + "components.Discover.CreateSlider.addcustomslider": "Opret brugerdefineret skyder", + "components.Discover.CreateSlider.addfail": "Kunne ikke oprette ny skyder.", + "components.Discover.CreateSlider.validationDatarequired": "Du skal angive en dataværdi.", + "components.Discover.createnewslider": "Opret ny skyder", + "components.Discover.customizediscover": "Tilpas Discover", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "Medier føjet til din Plex Watchlist vises her.", + "components.Discover.resetwarning": "Nulstil alle skydere til standard. Dette vil også slette eventuelle brugerdefinerede skydere!", + "components.Settings.SettingsMain.cacheImagesTip": "Cache eksterne billeder (anvender en betydelig mængde diskplads)", + "components.Settings.SettingsMain.csrfProtection": "Aktivér CSRF Beskyttelse", + "components.Settings.SettingsMain.generalsettings": "Generelle Indstillinger", + "components.Settings.SettingsMain.csrfProtectionTip": "Sæt ekstern API-adgang til skrivebeskyttet (kræver HTTPS)", + "components.Settings.SettingsMain.toastApiKeySuccess": "Ny API-nøgle er blevet genereret!", + "components.Settings.SettingsMain.toastSettingsFailure": "Noget gik galt da indstillingerne skulle gemmes.", + "components.Settings.SettingsMain.toastSettingsSuccess": "Indstillingerne er blevet gemt!", + "components.DownloadBlock.formattedTitle": "{title}: Sæson {seasonNumber} Episode {episodeNumber}", + "components.RequestCard.unknowntitle": "Ukendt titel", + "components.RequestList.RequestItem.unknowntitle": "Ukendt titel", + "components.StatusBadge.seasonepisodenumber": "S{seasonNumber}E{episodeNumber}", + "components.Discover.CreateSlider.addsuccess": "Oprettede en ny skyder og gemte indstillingerne for tilpasninger.", + "components.Discover.CreateSlider.editSlider": "Rediger skyder", + "components.Discover.CreateSlider.editfail": "Kunne ikke redigere skyderen.", + "components.Discover.CreateSlider.editsuccess": "Redigerede skyder og gemte Discover-tilpasningsindstillinger.", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "Din Plex Watchlist", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "Tilføjet for nyligt", + "components.Discover.moviegenres": "Filmgenrer", + "components.Discover.networks": "Netværk", + "components.Discover.resetfailed": "Noget gik galt med at nulstille indstillingerne for Discover-tilpasning.", + "components.Discover.resetsuccess": "Nulstilling af discover tilpasning lykkedes.", + "components.Discover.resettodefault": "Nulstil til standard", + "components.Discover.stopediting": "Stop redigering", + "components.Discover.tmdbmoviekeyword": "TMDB film nøgleord", + "components.Discover.tmdbnetwork": "TMDB netværk", + "components.Discover.tmdbsearch": "TMDB-søgning", + "components.Discover.tmdbstudio": "TMDB-studiet", + "components.Discover.tmdbtvgenre": "TMDB-serie Genre", + "components.Discover.tmdbtvkeyword": "TMDB-seriens nøgleord", + "components.Discover.tvgenres": "Seriegenrer", + "components.Discover.updatefailed": "Noget gik galt med at nulstille indstillingerne for Discover-tilpasning.", + "components.Discover.updatesuccess": "Opdaterede Discover-tilpasningsindstillinger.", + "components.Settings.SettingsMain.csrfProtectionHoverTip": "Du må IKKE aktivere denne indstilling, medmindre du ved, hvad du gør!", + "components.Settings.SettingsMain.general": "Generelt", + "components.Settings.SettingsMain.generalsettingsDescription": "Konfigurér global- og standardindstillinger for Overseerr.", + "components.Settings.SettingsMain.hideAvailable": "Skjul Tilgængelige Medier", + "components.Settings.SettingsMain.partialRequestsEnabled": "Tillad delvise serieanmodninger", + "components.Settings.SettingsMain.region": "Discover region", + "components.Settings.SettingsMain.regionTip": "Filtrér indhold efter regional tilgængelighed", + "components.Settings.SettingsMain.toastApiKeyFailure": "Noget gik galt under genereringen af en nye API-nøgle.", + "components.Settings.SettingsMain.trustProxy": "Aktivér Proxy-understøttelse", + "components.Settings.SettingsMain.trustProxyTip": "Tillad Overseerr at registrere klienters IP addresser korrekt bag en proxy", + "components.Settings.SettingsMain.validationApplicationTitle": "Du skal angive en applikationstitel", + "components.Settings.SettingsMain.validationApplicationUrl": "Du skal angive en gyldig URL", + "components.Settings.SettingsMain.validationApplicationUrlTrailingSlash": "URL'en må ikke afsluttes med en skråstreg", + "components.Discover.DiscoverMovies.sortPopularityAsc": "Popularitet stigende", + "components.Discover.DiscoverMovies.sortPopularityDesc": "Popularitet faldende", + "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Udgivelsesdato stigende", + "components.Discover.DiscoverMovies.discovermovies": "Film", + "components.Discover.DiscoverMovies.activefilters": "{count, flertal, en {# Active Filter} andre {# Active Filters}}", + "components.Discover.DiscoverMovies.sortReleaseDateDesc": "Udgivelsesdato faldende", + "components.Discover.DiscoverMovies.sortTitleAsc": "Titel (A-Z) stigende", + "components.Discover.DiscoverMovies.sortTitleDesc": "Titel (Z-A) faldende", + "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "TMDB-rating stigende", + "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "TMDB-rating faldende", + "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# Active Filter} andre{# Active Filters}}", + "components.Discover.DiscoverTv.discovertv": "Serier", + "components.Discover.DiscoverTv.sortFirstAirDateAsc": "Første udsendelsesdato stigende", + "components.Discover.DiscoverTv.sortFirstAirDateDesc": "Første udsendelsesdato faldende", + "components.Discover.DiscoverTv.sortTitleAsc": "Titel (A-Z) stigende", + "components.Discover.DiscoverTv.sortTmdbRatingAsc": "TMDB-rating stigende", + "components.Discover.DiscoverTv.sortTmdbRatingDesc": "TMDB-rating faldende", + "components.Discover.FilterSlideover.activefilters": "{count, plural, one {# Active Filter} andre{# Active Filters}}", + "components.Discover.FilterSlideover.clearfilters": "Ryd aktive filtre", + "components.Discover.FilterSlideover.filters": "Filtre", + "components.Discover.FilterSlideover.from": "Fra", + "components.Discover.FilterSlideover.genres": "Genrer", + "components.Discover.FilterSlideover.keywords": "Nøgleord", + "components.Discover.FilterSlideover.originalLanguage": "Originalsprog", + "components.Discover.FilterSlideover.ratingText": "Bedømmelser mellem {minValue} og {maxValue}", + "components.Discover.FilterSlideover.releaseDate": "Udgivelsesdato", + "components.Discover.FilterSlideover.runtime": "Spilletid", + "components.Discover.FilterSlideover.runtimeText": "{minValue}-{maxValue} spilletidsminutter", + "components.Discover.FilterSlideover.studio": "Studie", + "components.Discover.FilterSlideover.tmdbuserscore": "TMDB brugerscore", + "components.Layout.Sidebar.browsemovies": "Film", + "components.Layout.Sidebar.browsetv": "Serier", + "components.Selector.nooptions": "Ingen resultater.", + "components.Selector.searchGenres": "Vælg genrer…", + "components.Selector.searchKeywords": "Søg nøgleord…", + "components.Selector.starttyping": "Begynder at skrive for at søge.", + "components.Discover.DiscoverTv.sortPopularityDesc": "Popularitet faldende", + "components.Discover.DiscoverTv.sortPopularityAsc": "Popularitet stigende", + "components.Discover.DiscoverTv.sortTitleDesc": "Titel (Z-A) faldende", + "components.Discover.FilterSlideover.firstAirDate": "Første udsendelsesdato", + "components.Selector.searchStudios": "Søg efter studier…", + "components.Discover.FilterSlideover.to": "Til" } diff --git a/src/i18n/locale/de.json b/src/i18n/locale/de.json index 5c96a71513..86b7760728 100644 --- a/src/i18n/locale/de.json +++ b/src/i18n/locale/de.json @@ -1,6 +1,4 @@ { - "components.Discover.discovermovies": "Beliebte Filme", - "components.Discover.discovertv": "Beliebte Serien", "components.Discover.popularmovies": "Beliebte Filme", "components.Discover.populartv": "Beliebte Serien", "components.Discover.recentlyAdded": "Kürzlich hinzugefügt", @@ -101,16 +99,12 @@ "components.Settings.addradarr": "Radarr-Server hinzufügen", "components.Settings.address": "Adresse", "components.Settings.addsonarr": "Sonarr-Server hinzufügen", - "components.Settings.apikey": "API-Schlüssel", - "components.Settings.applicationurl": "Anwendungs-URL", "components.Settings.cancelscan": "Durchsuchung abbrechen", "components.Settings.copied": "API-Schlüssel in die Zwischenablage kopiert.", "components.Settings.currentlibrary": "Aktuelle Bibliothek: {name}", "components.Settings.default": "Standardmäßig", "components.Settings.default4k": "Standard-4K", "components.Settings.deleteserverconfirm": "Bist du sicher, dass du diesen Server löschen möchtest?", - "components.Settings.generalsettings": "Allgemeine Einstellungen", - "components.Settings.generalsettingsDescription": "Konfiguriere Globale und Standard Overseerr-Einstellungen.", "components.Settings.hostname": "Hostname oder IP-Adresse", "components.Settings.librariesRemaining": "Verbleibende Bibliotheken: {count}", "components.Settings.manualscan": "Manuelle Bibliotheksdurchsuchung", @@ -189,7 +183,7 @@ "i18n.deleting": "Löschen …", "components.UserList.userdeleteerror": "Beim Löschen des Benutzers ist etwas schief gelaufen.", "components.UserList.userdeleted": "Benutzer erfolgreich gelöscht!", - "components.UserList.deleteuser": "Benutzer löschen", + "components.UserList.deleteuser": "Delete User", "components.UserList.deleteconfirm": "Möchtest du diesen Benutzer wirklich löschen? Alle seine Anfragendaten werden dauerhaft entfernt.", "components.Settings.SonarrModal.testFirstRootFolders": "Teste die Verbindung, um Stammordner zu laden", "components.Settings.SonarrModal.testFirstQualityProfiles": "Teste die Verbindung, um Qualitätsprofile zu laden", @@ -201,12 +195,8 @@ "components.Settings.RadarrModal.loadingrootfolders": "Stammordner werden geladen …", "components.Settings.RadarrModal.loadingprofiles": "Qualitätsprofile werden geladen …", "components.TvDetails.anime": "Anime", - "components.Settings.toastApiKeySuccess": "Neuer API-Schlüssel erfolgreich generiert!", "components.TvDetails.showtype": "Serientyp", "components.TvDetails.network": "{networkCount, plural, one {Anbieter} other {Anbieter}}", - "components.Settings.toastSettingsSuccess": "Einstellungen erfolgreich gespeichert!", - "components.Settings.toastSettingsFailure": "Beim Speichern der Einstellungen ist etwas schief gelaufen.", - "components.Settings.toastApiKeyFailure": "Bei der Generierung eines neuen API-Schlüssels ist etwas schief gelaufen.", "components.Settings.SonarrModal.animerootfolder": "Animestammverzeichnis", "components.Settings.SonarrModal.animequalityprofile": "Animequalitätsprofil", "components.MovieDetails.studio": "{studioCount, plural, one {Studio} other {Studios}}", @@ -331,9 +321,8 @@ "components.NotificationTypeSelector.mediadeclinedDescription": "Sende eine Benachrichtigungen, wenn Medienanfragen abgelehnt wurden.", "components.RequestModal.autoapproval": "Automatische Genehmigung", "i18n.experimental": "Experimentell", - "components.Settings.hideAvailable": "Verfügbare Medien ausblenden", "components.RequestModal.requesterror": "Beim Senden der Anfragen ist etwas schief gelaufen.", - "components.RequestModal.SearchByNameModal.notvdbiddescription": "Wir konnten deine Anfrage nicht automatisch zuordnen. Bitte wähle eine korrekte Übereinstimmung aus der Liste aus.", + "components.RequestModal.SearchByNameModal.notvdbiddescription": "Wir konnten diese Serie nicht automatisch zuordnen. Bitte wähle unten eine korrekte Übereinstimmung aus.", "components.Login.signinwithplex": "Benutze dein Plex-Konto", "components.Login.signinheader": "Anmelden um fortzufahren", "components.Login.signingin": "Anmelden …", @@ -364,8 +353,6 @@ "components.Settings.serverpreset": "Server", "components.Settings.serverRemote": "entfernt", "components.Settings.serverLocal": "lokal", - "components.Settings.csrfProtectionTip": "Macht den externen API Zugang schreibgeschützt (setzt HTTPS voraus)", - "components.Settings.csrfProtection": "Aktiviere CSRF Schutz", "components.Settings.SonarrModal.toastSonarrTestSuccess": "Sonarr-Verbindung erfolgreich hergestellt!", "components.Settings.SonarrModal.toastSonarrTestFailure": "Verbindung zu Sonarr fehlgeschlagen.", "components.PermissionEdit.usersDescription": "Autorisierung zur Benutzerverwaltung erteilen. Benutzer mit dieser Berechtigung können keine Benutzer mit Admin-Recht ändern oder das Admin-Recht gewähren.", @@ -390,8 +377,6 @@ "components.MovieDetails.playonplex": "Auf Plex abspielen", "components.TvDetails.play4konplex": "In 4K auf Plex abspielen", "components.MovieDetails.play4konplex": "In 4K auf Plex abspielen", - "components.Settings.trustProxyTip": "Erlaubt es Overseerr Client IP Adressen hinter einem Proxy korrekt zu registrieren", - "components.Settings.trustProxy": "Proxy-Unterstützung aktivieren", "components.Settings.SettingsJobsCache.runnow": "Jetzt ausführen", "components.Settings.SettingsJobsCache.nextexecution": "Nächste Ausführung", "components.Settings.SettingsJobsCache.jobtype": "Art", @@ -418,8 +403,6 @@ "components.UserList.users": "Benutzer", "components.TvDetails.nextAirDate": "Nächstes Sendedatum", "components.Setup.setup": "Einrichtung", - "components.Settings.validationApplicationUrlTrailingSlash": "Die URL darf nicht mit einem abschließenden Schrägstrich enden", - "components.Settings.validationApplicationUrl": "Du musst eine gültige URL angeben", "components.Settings.SonarrModal.validationBaseUrlTrailingSlash": "Die Basis-URL darf nicht mit einem abschließenden Schrägstrich enden", "components.Settings.SonarrModal.validationBaseUrlLeadingSlash": "Die Basis-URL muss einen führenden Schrägstrich haben", "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "Die URL darf nicht mit einem abschließenden Schrägstrich enden", @@ -447,13 +430,10 @@ "components.PermissionEdit.viewrequestsDescription": "Autorisierung zur Anzeige der von anderen Benutzern eingereichten Medienanfragen.", "components.PermissionEdit.viewrequests": "Anfragen anzeigen", "components.Login.forgotpassword": "Passwort vergessen?", - "components.Settings.csrfProtectionHoverTip": "Aktiviere diese Option NICHT, es sei denn du weißt, was du tust!", "components.Settings.SettingsJobsCache.command": "Befehl", "components.Settings.SettingsAbout.preferredmethod": "Bevorzugt", "components.RequestModal.AdvancedRequester.requestas": "Anfragen als", "components.Discover.discover": "Entdecken", - "components.Settings.validationApplicationTitle": "Du musst einen Anwendungstitel angeben", - "components.Settings.applicationTitle": "Anwendungstitel", "components.Settings.SonarrModal.validationLanguageProfileRequired": "Du musst ein Qualitätsprofil auswählen", "components.Settings.SonarrModal.testFirstLanguageProfiles": "Teste die Verbindung zum Laden von Sprachprofilen", "components.Settings.SonarrModal.selectLanguageProfile": "Wähle ein Sprachprofil aus", @@ -515,16 +495,12 @@ "components.UserProfile.UserSettings.UserNotificationSettings.validationDiscordId": "Du musst eine gültige Benutzer-ID angeben", "components.UserProfile.UserSettings.UserNotificationSettings.discordIdTip": "Die mehrstellige ID-Nummer die mit deinem Benutzerkonto verbunden ist", "components.CollectionDetails.requestcollection4k": "Sammlung in 4K anfragen", - "components.Settings.region": "Region Entdecken", - "components.Settings.originallanguage": "Sprache Entdecken", "components.Discover.upcomingtv": "Kommende Serien", "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "Filtere Inhalte nach regionaler Verfügbarkeit", "components.UserProfile.UserSettings.UserGeneralSettings.region": "Region Entdecken", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "Filtere Inhalte nach Originalsprache", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "Sprache Entdecken", "components.Settings.webhook": "Webhook", - "components.Settings.regionTip": "Filtere Inhalte nach regionaler Verfügbarkeit", - "components.Settings.originallanguageTip": "Filtere Inhalte nach Originalsprache", "components.Settings.email": "E-Mail", "components.RegionSelector.regionDefault": "Alle Regionen", "components.RegionSelector.regionServerDefault": "Standard ({region})", @@ -582,7 +558,6 @@ "components.UserProfile.UserSettings.UserPermissions.unauthorizedDescription": "Sie können Ihre eigenen Berechtigungen nicht ändern.", "components.TvDetails.episodeRuntimeMinutes": "{runtime} Minuten", "components.TvDetails.episodeRuntime": "Episodenlaufzeit", - "components.Settings.partialRequestsEnabled": "Teilserienanfragen erlauben", "components.Settings.Notifications.pgpPrivateKey": "PGP Privater Schlüssel", "components.Settings.Notifications.pgpPassword": "PGP Passwort", "components.RequestModal.alreadyrequested": "Bereits Angefragt", @@ -607,10 +582,7 @@ "components.Settings.services": "Dienstleistungen", "components.Settings.plex": "Plex", "components.Settings.notifications": "Benachrichtigungen", - "components.Settings.general": "Allgemein", "components.Settings.enablessl": "SSL aktivieren", - "components.Settings.cacheImagesTip": "Alle Bilder Optimieren und lokal speichern (verbraucht viel Speicherplatz)", - "components.Settings.cacheImages": "Bild-Caching aktivieren", "components.Settings.SettingsUsers.users": "Benutzer", "components.Settings.SettingsLogs.time": "Zeitstempel", "components.Settings.SettingsLogs.showall": "Alle Protokolle anzeigen", @@ -639,7 +611,7 @@ "components.Settings.serviceSettingsDescription": "Konfiguriere unten deine {serverType}-Server. Du kannst mehrere {serverType}-Server verbinden, aber nur zwei davon können als Standard markiert werden (ein Nicht-4K- und ein 4K-Server). Administratoren können den Server überschreiben, auf dem neue Anfragen vor der Genehmigung verarbeitet werden.", "components.Settings.noDefaultServer": "Mindestens ein {serverType}-Server muss als Standard markiert sein, damit {mediaType}-Anfragen verarbeitet werden können.", "i18n.view": "Anzeigen", - "i18n.tvshow": "Serien", + "i18n.tvshow": "Serie", "i18n.testing": "Testen…", "i18n.test": "Test", "i18n.status": "Status", @@ -803,7 +775,6 @@ "components.UserList.displayName": "Anzeigename", "components.Settings.Notifications.encryption": "Verschlüsselungsmethode", "components.UserProfile.UserSettings.UserGeneralSettings.languageDefault": "Standard ({language})", - "components.Settings.locale": "Sprache darstellen", "components.Settings.Notifications.NotificationsLunaSea.agentenabled": "Dienst aktivieren", "components.UserProfile.UserSettings.UserNotificationSettings.webpush": "Web Push", "components.UserProfile.UserSettings.UserGeneralSettings.applanguage": "Sprache darstellen", @@ -864,14 +835,14 @@ "components.IssueDetails.toasteditdescriptionfailed": "Beim Bearbeiten der Problembeschreibung ist ein Fehler aufgetreten.", "components.IssueDetails.IssueDescription.description": "Beschreibung", "components.IssueDetails.IssueDescription.edit": "Beschreibung bearbeiten", - "components.IssueDetails.allepisodes": "Alle Folgen", + "components.IssueDetails.allepisodes": "Alle Episoden", "components.IssueDetails.allseasons": "Alle Staffeln", "components.IssueDetails.closeissue": "Problem schließen", "components.IssueDetails.closeissueandcomment": "Schließen mit Kommentar", "components.IssueDetails.comments": "Kommentare", "components.IssueDetails.deleteissue": "Problem löschen", "components.IssueDetails.deleteissueconfirm": "Soll dieses Problem wirklich gelöscht werden?", - "components.IssueDetails.episode": "Folge {episodeNumber}", + "components.IssueDetails.episode": "Episode {episodeNumber}", "components.IssueDetails.issuepagetitle": "Problem", "components.IssueDetails.issuetype": "Art", "components.IssueDetails.lastupdated": "Letzte Aktualisierung", @@ -903,7 +874,7 @@ "components.IssueModal.CreateIssueModal.allepisodes": "Alle Folgen", "components.IssueModal.CreateIssueModal.season": "Staffel {seasonNumber}", "components.IssueModal.CreateIssueModal.toastFailedCreate": "Beim Senden des Problems ist ein Fehler aufgetreten.", - "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Häufigkeit", + "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Neue Häufigkeit", "components.Settings.SettingsJobsCache.editJobSchedule": "Job ändern", "components.NotificationTypeSelector.userissuecommentDescription": "Sende eine Benachrichtigung, wenn andere Benutzer Kommentare zu Problemen abgeben.", "components.NotificationTypeSelector.issuecomment": "Problem Kommentar", @@ -1043,7 +1014,7 @@ "components.TitleCard.tmdbid": "TMDB-ID", "components.TitleCard.tvdbid": "TheTVDB-ID", "components.Discover.DiscoverWatchlist.discoverwatchlist": "Deine Plex-Watchlist", - "components.Discover.plexwatchlist": "Deine Plex-Watchlist", + "components.Discover.plexwatchlist": "Deine Plex Watchlist", "components.PermissionEdit.autorequest": "Automatische Anfrage", "components.PermissionEdit.autorequestSeries": "Auto-Anfrage-Serien", "components.PermissionEdit.autorequestMoviesDescription": "Autorisierung zur automatischen Anfrage von Nicht-4K-Medien über die Plex Watchlist.", @@ -1065,5 +1036,121 @@ "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Automatisch Serien auf deiner Plex Watchlist anfragen", "components.NotificationTypeSelector.mediaautorequestedDescription": "Erhalten eine Benachrichtigung, wenn neue Medienanfragen für Objekte auf deiner Plex Watchlist automatisch übermittelt werden.", "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Automatisch Filme auf deiner Plex Watchlist anfordern", - "components.NotificationTypeSelector.mediaautorequested": "Automatisch übermittelte Anfrage" + "components.NotificationTypeSelector.mediaautorequested": "Automatisch übermittelte Anfrage", + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Aktuelle Häufigkeit", + "components.StatusBadge.openinarr": "In {arr} öffnen", + "components.StatusBadge.playonplex": "Auf Plex abspielen", + "components.TvDetails.Season.somethingwentwrong": "Beim Datenabruf der Staffel ist etwas schief gelaufen.", + "components.UserProfile.emptywatchlist": "Hier erscheinen deine zur Plex Watchlist hinzugefügte Medien.", + "components.TvDetails.manageseries": "Serie verwalten", + "components.MovieDetails.managemovie": "Film verwalten", + "components.Discover.DiscoverWatchlist.watchlist": "Plex Watchlist", + "components.MovieDetails.reportissue": "Problem melden", + "components.Settings.SettingsLogs.viewdetails": "Details anzeigen", + "components.Settings.advancedTooltip": "Bei falscher Konfiguration dieser Einstellung, kann dies zu einer Funktionsstörung führen", + "components.Settings.restartrequiredTooltip": "Overseerr muss neu gestartet werden, damit Änderungen an dieser Einstellung wirksam werden", + "components.UserProfile.plexwatchlist": "Plex Watchlist", + "components.TvDetails.status4k": "4K {status}", + "components.PermissionEdit.viewwatchlists": "Plex Watchlist anzeigen", + "components.AirDateBadge.airedrelative": "Ausgestrahlt {relativeTime}", + "components.AirDateBadge.airsrelative": "Ausstrahlung {relativeTime}", + "components.Layout.UserDropdown.requests": "Anfragen", + "components.MovieDetails.rtaudiencescore": "Rotten Tomatoes Publikumswertung", + "components.MovieDetails.tmdbuserscore": "TMDB-Nutzerwertung", + "components.RequestCard.cancelrequest": "Anfrage abbrechen", + "components.TvDetails.rtaudiencescore": "Rotten Tomatoes Publikumswertung", + "components.TvDetails.rtcriticsscore": "Rotten Tomatoes Tomatometer", + "components.TvDetails.episodeCount": "{episodeCount, plural, one {# Episode} other {# Episoden}}", + "components.DownloadBlock.formattedTitle": "{title}: Staffel {seasonNumber} Episode {episodeNumber}", + "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "Film-Anfragen", + "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "Serien-Anfragen", + "components.MovieDetails.rtcriticsscore": "Rotten Tomatoes Tomatometer", + "components.PermissionEdit.viewwatchlistsDescription": "Autorisierung zur Anzeige von Plex Watchlists anderer Benutzer.", + "components.RequestBlock.approve": "Anfrage genehmigen", + "components.RequestBlock.decline": "Anfrage ablehnen", + "components.RequestBlock.delete": "Anfrage löschen", + "components.RequestBlock.edit": "Anfrage bearbeiten", + "components.RequestBlock.lastmodifiedby": "Zuletzt geändert von", + "components.RequestBlock.requestedby": "Angefragt von", + "components.RequestBlock.requestdate": "Anfrage-Datum", + "components.RequestCard.approverequest": "Anfrage genehmigen", + "components.RequestCard.declinerequest": "Anfrage ablehnen", + "components.RequestCard.editrequest": "Anfrage bearbeiten", + "components.RequestList.RequestItem.unknowntitle": "Unbekannter Titel", + "components.RequestModal.requestcollection4ktitle": "Sammlung in 4k anfragen", + "components.RequestModal.requestcollectiontitle": "Sammlung anfragen", + "components.RequestModal.requestmovie4ktitle": "Film in 4k anfragen", + "components.RequestModal.requestmovietitle": "Film anfragen", + "components.RequestModal.requestseries4ktitle": "Serie in 4k anfragen", + "components.RequestModal.requestseriestitle": "Serie anfragen", + "components.Settings.SettingsJobsCache.image-cache-cleanup": "Bild-Cache-Bereinigung", + "components.Settings.SettingsJobsCache.imagecache": "Bild-Cache", + "components.Settings.SettingsJobsCache.imagecacheDescription": "Wenn diese Funktion in den Einstellungen aktiviert ist, wird Overseerr Bilder aus vorkonfigurierten externen Quellen im Proxy-Cache zwischenspeichern. Bilder im Zwischenspeicher werden in deinem Konfigurationsordner gespeichert. Du findest die Dateien unter {appDataPath}/cache/images.", + "components.Settings.SettingsJobsCache.imagecachecount": "Bilder im Cache", + "components.Settings.SettingsJobsCache.imagecachesize": "Gesamtgröße des Caches", + "components.Settings.experimentalTooltip": "Die Aktivierung dieser Einstellung kann zu einem unerwarteten Verhalten der Anwendung führen", + "components.StatusBadge.managemedia": "{mediaType} verwalten", + "components.StatusBadge.seasonepisodenumber": "S{seasonNumber}F{episodeNumber}", + "components.TvDetails.reportissue": "Problem melden", + "components.TvDetails.seasonnumber": "Staffel {seasonNumber}", + "components.TvDetails.seasonstitle": "Staffeln", + "components.Discover.emptywatchlist": "Hier erscheinen deine zur Plex Watchlist hinzugefügte Medien.", + "components.RequestCard.unknowntitle": "Unbekannter Titel", + "components.RequestModal.SearchByNameModal.nomatches": "Wir konnten keine Übereinstimmung für diese Serie finden.", + "components.TvDetails.Season.noepisodes": "Liste der Episoden nicht verfügbar.", + "components.TvDetails.tmdbuserscore": "TMDB-Nutzerwertung", + "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} Serien", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "Kürzlich hinzugefügt", + "components.Discover.moviegenres": "Film Genre", + "components.Discover.studios": "Studios", + "components.Discover.tmdbmoviegenre": "TMDB Film Genre", + "components.Discover.tmdbtvgenre": "TMDB Serien Genre", + "components.Discover.tmdbtvkeyword": "TMDB Serien Keyword", + "components.Discover.tvgenres": "Serien Genre", + "components.Settings.SettingsMain.apikey": "API Schlüssel", + "components.Settings.SettingsMain.csrfProtection": "Aktivere CSRF Schutz", + "components.Settings.SettingsMain.applicationTitle": "Anwendungstitel", + "components.Settings.SettingsMain.csrfProtectionTip": "Limitiere externen API Zugriff auf Lese-Operationen (erfordert HTTPS)", + "components.Settings.SettingsMain.general": "Allgemein", + "components.Settings.SettingsMain.generalsettings": "Allgemeine Einstellungen", + "components.Settings.SettingsMain.locale": "Anzeigesprache", + "components.Settings.SettingsMain.hideAvailable": "Verfügbare Medien ausblenden", + "components.Settings.SettingsMain.toastApiKeySuccess": "Neuer API Schlüssel erfolgreich generiert!", + "components.Settings.SettingsMain.trustProxy": "Proxyunterstützung aktivieren", + "components.Settings.SettingsMain.validationApplicationUrl": "Du musst eine valide URL spezifizieren", + "components.Settings.SettingsMain.validationApplicationUrlTrailingSlash": "Die URL darf nicht mit einem Slash \"/\" enden", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} Filme", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "Deine Plex Watchlist", + "components.Discover.tmdbsearch": "TMDB Suche", + "components.Settings.SettingsMain.toastApiKeyFailure": "Etwas ist schiefgelaufen während der Generierung eines neuen API Schlüssels.", + "components.Settings.SettingsMain.toastSettingsSuccess": "Einstellungen erfolgreich gespeichert!", + "components.Discover.tmdbmoviekeyword": "TMDB Film Keyword", + "components.Settings.SettingsMain.validationApplicationTitle": "Du musst einen Anwendungstitel spezifizieren", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "Medien in deiner Plex Watchlist erscheinen hier.", + "components.Settings.SettingsMain.cacheImagesTip": "Cache extern gehostete Bilder (erfordert eine beträchtliche Menge an Speicherplatz)", + "components.Settings.SettingsMain.csrfProtectionHoverTip": "Aktiviere diese Einstellung nur wenn du weißt was du tust!", + "components.Discover.networks": "Sender", + "components.Discover.tmdbstudio": "TMDB Studio", + "components.Settings.SettingsMain.applicationurl": "Anwendung URL", + "components.Settings.SettingsMain.cacheImages": "Bild-Caching aktivieren", + "components.Settings.SettingsMain.generalsettingsDescription": "Konfiguration der globalen und Standardeinstellungen für Overseerr.", + "components.Settings.SettingsMain.originallanguage": "\"Entdecken\" Sprache", + "components.Settings.SettingsMain.partialRequestsEnabled": "Teilweise Serienanfragen zulassen", + "components.Settings.SettingsMain.region": "\"Entdecken\" Region", + "components.Settings.SettingsMain.toastSettingsFailure": "Beim Speichern der Einstellungen ist ein Fehler aufgetreten.", + "components.Settings.SettingsMain.regionTip": "Inhalte nach regionaler Verfügbarkeit filtern", + "components.Discover.tmdbnetwork": "TMDB Sender", + "components.Settings.SettingsMain.originallanguageTip": "Inhalt nach Originalsprache filtern", + "components.Settings.SettingsMain.trustProxyTip": "Erlaube Overseerr, Client-IP-Adressen hinter einem Proxy korrekt zu registrieren", + "components.Discover.CreateSlider.addSlider": "Slider hinzufügen", + "components.Discover.CreateSlider.addcustomslider": "Benutzerdefinierten Slider erstellen", + "components.Discover.CreateSlider.addfail": "Neuer Slider konnte nicht erstellt werden.", + "components.Discover.CreateSlider.addsuccess": "Ein neuer Slider wurde erstellt und die benutzerdefinierten Einstellungen wurden gespeichert.", + "components.Discover.CreateSlider.editSlider": "Slider bearbeiten", + "components.Discover.CreateSlider.editfail": "Slider konnte nicht bearbeitet werden.", + "components.Discover.CreateSlider.editsuccess": "Slider bearbeitet und benutzerdefinierte Einstellungen gespeichert.", + "components.Discover.CreateSlider.needresults": "Es muss mindestens 1 Ergebnis vorhanden sein.", + "components.Layout.Sidebar.browsemovies": "Filme", + "components.Layout.Sidebar.browsetv": "Serien", + "components.Discover.CreateSlider.nooptions": "Keine Ergebnisse." } diff --git a/src/i18n/locale/el.json b/src/i18n/locale/el.json index 729ee4279f..b569dbd5cc 100644 --- a/src/i18n/locale/el.json +++ b/src/i18n/locale/el.json @@ -76,8 +76,6 @@ "components.Login.email": "Διεύθυνση ηλεκτρονικού ταχυδρομείου", "components.Layout.VersionStatus.streamstable": "Overseer Σταθερή Έκδοση", "components.Discover.popularmovies": "Δημοφιλείς Ταινίες", - "components.Discover.discovertv": "Δημοφιλείς Σειρές", - "components.Discover.discovermovies": "Δημοφιλείς Ταινίες", "components.Discover.discover": "Ανακάλυψε", "components.Discover.TvGenreSlider.tvgenres": "Είδη Σειρών", "components.Discover.TvGenreList.seriesgenres": "Είδη Σειρών", @@ -646,21 +644,12 @@ "components.Settings.webAppUrlTip": "Προαιρετικά κατεύθυνε τους χρήστες στην εφαρμογή ιστού στον διακομιστή σας αντί για την εφαρμογή ιστού που \"φιλοξενείται\"", "components.Settings.webAppUrl": "Web App διεύθυνση URL", "components.Settings.validationPortRequired": "Πρέπει να δώσεις έναν έγκυρο αριθμό θύρας", - "components.Settings.validationApplicationUrlTrailingSlash": "Η διεύθυνση URL δεν πρέπει να τελειώνει με κάθετο", - "components.Settings.validationApplicationUrl": "Πρέπει να βάλεις μια έγκυρη διεύθυνση URL", - "components.Settings.validationApplicationTitle": "Πρέπει να δώσεις έναν τίτλο εφαρμογής", - "components.Settings.trustProxyTip": "Επίτρεψε στο Overseerr να καταχωρίζει σωστά τις διευθύνσεις IP του πελάτη πίσω από έναν διακομιστή μεσολάβησης", - "components.Settings.trustProxy": "Ενεργοποίηση υποστήριξης διαμεσολαβητή", - "components.Settings.toastSettingsSuccess": "Οι ρυθμίσεις αποθηκεύτηκαν με επιτυχία!", - "components.Settings.toastSettingsFailure": "Κάτι πήγε στραβά κατά την αποθήκευση των ρυθμίσεων.", "components.Settings.toastPlexRefreshSuccess": "Η λίστα διακομιστών Plex ανακτήθηκε με επιτυχία!", "components.Settings.toastPlexRefreshFailure": "Απέτυχε η ανάκτηση της λίστας με τους διακομιστές Plex.", "components.Settings.toastPlexRefresh": "Ανάκτηση λίστας διακομιστών από το Plex…", "components.Settings.toastPlexConnectingSuccess": "Η σύνδεση Plex δημιουργήθηκε με επιτυχία!", "components.Settings.toastPlexConnectingFailure": "Απέτυχε να συνδεθεί στο Plex.", "components.Settings.toastPlexConnecting": "Προσπάθεια σύνδεσης στο Plex…", - "components.Settings.toastApiKeySuccess": "Δημιουργήθηκε νέο κλειδί API με επιτυχία!", - "components.Settings.toastApiKeyFailure": "Κάτι πήγε στραβά κατά τη δημιουργία νέου κλειδιού API.", "components.Settings.startscan": "Έναρξη σάρωσης", "components.Settings.ssl": "SSL", "components.Settings.sonarrsettings": "Ρυθμίσεις Sonarr", @@ -676,8 +665,6 @@ "components.Settings.serverLocal": "τοπικά", "components.Settings.scanning": "Συγχρονίζει…", "components.Settings.scan": "Συγχρονισμός των βιβλιοθήκων", - "components.Settings.regionTip": "Φιλτράρει το περιεχόμενο βάσει της διαθεσιμότητας του περιεχομένου", - "components.Settings.region": "Ανακάλυψε βάσει την περιοχή", "components.Settings.radarrsettings": "Ρυθμίσεις Radarr", "components.Settings.port": "Θύρα", "components.Settings.plexsettingsDescription": "Διαμόρφωσε τις ρυθμίσεις του Plex διακομιστή σου. Το Overseerr σαρώνει τις βιβλιοθήκες του Plex για να προσδιορίσει τη διαθεσιμότητα περιεχομένου.", @@ -685,9 +672,6 @@ "components.Settings.plexlibrariesDescription": "Οι βιβλιοθήκες που το Overseerr θα σαρώνει για τίτλους. Ρύθμισε και αποθήκευσε τις ρυθμίσεις της σύνδεσης του Plex και, στη συνέχεια, κάνε κλικ στο παρακάτω κουμπί, εάν δεν εμφανιστύν οι βιβλιοθήκες.", "components.Settings.plexlibraries": "Βιβλιοθήκες Plex", "components.Settings.plex": "Plex", - "components.Settings.partialRequestsEnabled": "Να επιτρέπονται τα εν μέρει αιτήματα για τις Σειρές", - "components.Settings.originallanguage": "Ανακάλυψη με βάση την γλώσσα", - "components.Settings.originallanguageTip": "Φίλτραρε το περιεχόμενο με βάση την αρχική γλώσσα", "components.Settings.notrunning": "Δεν τρέχει", "components.Settings.notificationsettings": "Ρυθμίσεις Ειδοποιήσεων", "components.Settings.notifications": "Ειδοποιήσεις", @@ -707,29 +691,17 @@ "components.Settings.mediaTypeMovie": "ταινία", "components.Settings.manualscanDescription": "Κανονικά, αυτό εκτελείται μόνο μία φορά κάθε 24 ώρες. Το Overseerr θα ελέγχει πιο επιθετικά τις προσθήκες που έγιναν πρόσφατα στον διακομιστή Plex. Εάν αυτή είναι η πρώτη φορά που ρυθμίζεις το Plex, συνιστάται μια εφάπαξ πλήρης χειροκίνητη σάρωση βιβλιοθήκης!", "components.Settings.manualscan": "Χειροκίνητη σάρωση βιβλιοθήκης", - "components.Settings.locale": "Προβολή Γλώσσας", "components.Settings.librariesRemaining": "Βιβλιοθήκες που απομένουν: {count}", "components.Settings.is4k": "4K", "components.Settings.hostname": "Όνομα κεντρικού υπολογιστή ή διεύθυνση IP", - "components.Settings.hideAvailable": "Απόκρυψη διαθέσιμων μέσων", - "components.Settings.generalsettings": "Γενικές Ρυθμίσεις", - "components.Settings.general": "Γενικές", "components.Settings.enablessl": "Χρήση SSL", "components.Settings.email": "Email", "components.Settings.deleteserverconfirm": "Είσαι σίγουρος ότι θες να διαγράψεις αυτόν τον διακομιστή;", "components.Settings.default4k": "Προεπιλεγμένο 4K", "components.Settings.default": "Προκαθορισμένο", "components.Settings.currentlibrary": "Τρέχουσα βιβλιοθήκη: {name}", - "components.Settings.csrfProtectionTip": "Ορισμός εξωτερικής πρόσβασης API σε μόνο για ανάγνωση (απαιτείται HTTPS)", - "components.Settings.csrfProtectionHoverTip": "ΜΗΝ ενεργοποιήσεις αυτή τη ρύθμιση αν δεν καταλαβαίνεις τι κάνεις!", - "components.Settings.csrfProtection": "Ενεργοποίηση της προστασίας CSRF", "components.Settings.copied": "Αντιγράφηκε το κλειδί API στο πρόχειρο.", "components.Settings.cancelscan": "Ακύρωση σάρωσης", - "components.Settings.cacheImagesTip": "Βελτιστοποίηση και αποθήκευση όλων των εικόνων τοπικά (καταναλώνει σημαντικό χώρο στο δίσκο)", - "components.Settings.cacheImages": "Ενεργοποίηση προσωρινής αποθήκευσης εικόνων", - "components.Settings.applicationurl": "Διεύθυνση URL εφαρμογής", - "components.Settings.applicationTitle": "Τίτλος εφαρμογής", - "components.Settings.apikey": "Κλειδί API", "components.Settings.addsonarr": "Προσθήκη διακομιστή Sonarr", "components.Settings.address": "Διεύθυνση", "components.Settings.addradarr": "Προσθήκη διακομιστή Radarr", @@ -788,7 +760,6 @@ "components.Settings.SonarrModal.add": "Προσθήκη διακομιστή", "components.Settings.SettingsUsers.users": "Χρήστες", "components.Settings.SettingsUsers.userSettings": "Ρυθμίσεις χρήστη", - "components.Settings.generalsettingsDescription": "Διαμόρφωση των γενικών και προεπιλεγμένων ρυθμίσεων του Overseerr.", "components.Settings.SettingsUsers.userSettingsDescription": "Διαμόρφωση των γενικών και προεπιλεγμένων ρυθμίσεων του χρήστη.", "components.Settings.SettingsUsers.tvRequestLimitLabel": "Καθολικό όριο των αιτημάτων στις Σειρές", "components.Settings.SettingsUsers.toastSettingsSuccess": "Οι ρυθμίσεις του χρήστη αποθηκεύτηκαν επιτυχώς!", diff --git a/src/i18n/locale/en.json b/src/i18n/locale/en.json index d05928cd5c..72d58ca598 100644 --- a/src/i18n/locale/en.json +++ b/src/i18n/locale/en.json @@ -6,34 +6,119 @@ "components.CollectionDetails.overview": "Overview", "components.CollectionDetails.requestcollection": "Request Collection", "components.CollectionDetails.requestcollection4k": "Request Collection in 4K", + "components.Discover.CreateSlider.addSlider": "Add Slider", + "components.Discover.CreateSlider.addcustomslider": "Create Custom Slider", + "components.Discover.CreateSlider.addfail": "Failed to create new slider.", + "components.Discover.CreateSlider.addsuccess": "Created new slider and saved discover customization settings.", + "components.Discover.CreateSlider.editSlider": "Edit Slider", + "components.Discover.CreateSlider.editfail": "Failed to edit slider.", + "components.Discover.CreateSlider.editsuccess": "Edited slider and saved discover customization settings.", + "components.Discover.CreateSlider.needresults": "You need to have at least 1 result.", + "components.Discover.CreateSlider.nooptions": "No results.", + "components.Discover.CreateSlider.providetmdbgenreid": "Provide a TMDB Genre ID", + "components.Discover.CreateSlider.providetmdbkeywordid": "Provide a TMDB Keyword ID", + "components.Discover.CreateSlider.providetmdbnetwork": "Provide TMDB Network ID", + "components.Discover.CreateSlider.providetmdbsearch": "Provide a search query", + "components.Discover.CreateSlider.providetmdbstudio": "Provide TMDB Studio ID", + "components.Discover.CreateSlider.searchGenres": "Search genres…", + "components.Discover.CreateSlider.searchKeywords": "Search keywords…", + "components.Discover.CreateSlider.searchStudios": "Search studios…", + "components.Discover.CreateSlider.slidernameplaceholder": "Slider Name", + "components.Discover.CreateSlider.starttyping": "Starting typing to search.", + "components.Discover.CreateSlider.validationDatarequired": "You must provide a data value.", + "components.Discover.CreateSlider.validationTitlerequired": "You must provide a title.", "components.Discover.DiscoverMovieGenre.genreMovies": "{genre} Movies", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} Movies", "components.Discover.DiscoverMovieLanguage.languageMovies": "{language} Movies", + "components.Discover.DiscoverMovies.activefilters": "{count, plural, one {# Active Filter} other {# Active Filters}}", + "components.Discover.DiscoverMovies.discovermovies": "Movies", + "components.Discover.DiscoverMovies.sortPopularityAsc": "Popularity Ascending", + "components.Discover.DiscoverMovies.sortPopularityDesc": "Popularity Descending", + "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Release Date Ascending", + "components.Discover.DiscoverMovies.sortReleaseDateDesc": "Release Date Descending", + "components.Discover.DiscoverMovies.sortTitleAsc": "Title (A-Z) Ascending", + "components.Discover.DiscoverMovies.sortTitleDesc": "Title (Z-A) Descending", + "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "TMDB Rating Ascending", + "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "TMDB Rating Descending", "components.Discover.DiscoverNetwork.networkSeries": "{network} Series", + "components.Discover.DiscoverSliderEdit.deletefail": "Failed to delete slider.", + "components.Discover.DiscoverSliderEdit.deletesuccess": "Sucessfully deleted slider.", + "components.Discover.DiscoverSliderEdit.enable": "Toggle Visibility", + "components.Discover.DiscoverSliderEdit.remove": "Remove", "components.Discover.DiscoverStudio.studioMovies": "{studio} Movies", + "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# Active Filter} other {# Active Filters}}", + "components.Discover.DiscoverTv.discovertv": "Series", + "components.Discover.DiscoverTv.sortFirstAirDateAsc": "First Air Date Ascending", + "components.Discover.DiscoverTv.sortFirstAirDateDesc": "First Air Date Descending", + "components.Discover.DiscoverTv.sortPopularityAsc": "Popularity Ascending", + "components.Discover.DiscoverTv.sortPopularityDesc": "Popularity Descending", + "components.Discover.DiscoverTv.sortTitleAsc": "Title (A-Z) Ascending", + "components.Discover.DiscoverTv.sortTitleDesc": "Title (Z-A) Descending", + "components.Discover.DiscoverTv.sortTmdbRatingAsc": "TMDB Rating Ascending", + "components.Discover.DiscoverTv.sortTmdbRatingDesc": "TMDB Rating Descending", "components.Discover.DiscoverTvGenre.genreSeries": "{genre} Series", + "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} Series", "components.Discover.DiscoverTvLanguage.languageSeries": "{language} Series", "components.Discover.DiscoverWatchlist.discoverwatchlist": "Your Plex Watchlist", "components.Discover.DiscoverWatchlist.watchlist": "Plex Watchlist", + "components.Discover.FilterSlideover.activefilters": "{count, plural, one {# Active Filter} other {# Active Filters}}", + "components.Discover.FilterSlideover.clearfilters": "Clear Active Filters", + "components.Discover.FilterSlideover.filters": "Filters", + "components.Discover.FilterSlideover.firstAirDate": "First Air Date", + "components.Discover.FilterSlideover.from": "From", + "components.Discover.FilterSlideover.genres": "Genres", + "components.Discover.FilterSlideover.keywords": "Keywords", + "components.Discover.FilterSlideover.originalLanguage": "Original Language", + "components.Discover.FilterSlideover.ratingText": "Ratings between {minValue} and {maxValue}", + "components.Discover.FilterSlideover.releaseDate": "Release Date", + "components.Discover.FilterSlideover.runtime": "Runtime", + "components.Discover.FilterSlideover.runtimeText": "{minValue}-{maxValue} minute runtime", + "components.Discover.FilterSlideover.streamingservices": "Streaming Services", + "components.Discover.FilterSlideover.studio": "Studio", + "components.Discover.FilterSlideover.tmdbuserscore": "TMDB User Score", + "components.Discover.FilterSlideover.to": "To", "components.Discover.MovieGenreList.moviegenres": "Movie Genres", "components.Discover.MovieGenreSlider.moviegenres": "Movie Genres", "components.Discover.NetworkSlider.networks": "Networks", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "Media added to your Plex Watchlist will appear here.", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "Your Plex Watchlist", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "Recently Added", "components.Discover.StudioSlider.studios": "Studios", "components.Discover.TvGenreList.seriesgenres": "Series Genres", "components.Discover.TvGenreSlider.tvgenres": "Series Genres", + "components.Discover.createnewslider": "Create New Slider", + "components.Discover.customizediscover": "Customize Discover", "components.Discover.discover": "Discover", - "components.Discover.discovermovies": "Popular Movies", - "components.Discover.discovertv": "Popular Series", "components.Discover.emptywatchlist": "Media added to your Plex Watchlist will appear here.", + "components.Discover.moviegenres": "Movie Genres", + "components.Discover.networks": "Networks", "components.Discover.plexwatchlist": "Your Plex Watchlist", "components.Discover.popularmovies": "Popular Movies", "components.Discover.populartv": "Popular Series", "components.Discover.recentlyAdded": "Recently Added", "components.Discover.recentrequests": "Recent Requests", + "components.Discover.resetfailed": "Something went wrong resetting the discover customization settings.", + "components.Discover.resetsuccess": "Sucessfully reset discover customization settings.", + "components.Discover.resettodefault": "Reset to Default", + "components.Discover.resetwarning": "Reset all sliders to default. This will also delete any custom sliders!", + "components.Discover.stopediting": "Stop Editing", + "components.Discover.studios": "Studios", + "components.Discover.tmdbmoviegenre": "TMDB Movie Genre", + "components.Discover.tmdbmoviekeyword": "TMDB Movie Keyword", + "components.Discover.tmdbnetwork": "TMDB Network", + "components.Discover.tmdbsearch": "TMDB Search", + "components.Discover.tmdbstudio": "TMDB Studio", + "components.Discover.tmdbtvgenre": "TMDB Series Genre", + "components.Discover.tmdbtvkeyword": "TMDB Series Keyword", "components.Discover.trending": "Trending", + "components.Discover.tvgenres": "Series Genres", "components.Discover.upcoming": "Upcoming Movies", "components.Discover.upcomingmovies": "Upcoming Movies", "components.Discover.upcomingtv": "Upcoming Series", + "components.Discover.updatefailed": "Something went wrong updating the discover customization settings.", + "components.Discover.updatesuccess": "Updated discover customization settings.", "components.DownloadBlock.estimatedtime": "Estimated {time}", + "components.DownloadBlock.formattedTitle": "{title}: Season {seasonNumber} Episode {episodeNumber}", "components.IssueDetails.IssueComment.areyousuredelete": "Are you sure you want to delete this comment?", "components.IssueDetails.IssueComment.delete": "Delete Comment", "components.IssueDetails.IssueComment.edit": "Edit Comment", @@ -110,6 +195,8 @@ "components.LanguageSelector.originalLanguageDefault": "All Languages", "components.Layout.LanguagePicker.displaylanguage": "Display Language", "components.Layout.SearchInput.searchPlaceholder": "Search Movies & TV", + "components.Layout.Sidebar.browsemovies": "Movies", + "components.Layout.Sidebar.browsetv": "Series", "components.Layout.Sidebar.dashboard": "Discover", "components.Layout.Sidebar.issues": "Issues", "components.Layout.Sidebar.requests": "Requests", @@ -329,6 +416,7 @@ "components.RequestCard.seasons": "{seasonCount, plural, one {Season} other {Seasons}}", "components.RequestCard.tmdbid": "TMDB ID", "components.RequestCard.tvdbid": "TheTVDB ID", + "components.RequestCard.unknowntitle": "Unknown Title", "components.RequestList.RequestItem.cancelRequest": "Cancel Request", "components.RequestList.RequestItem.deleterequest": "Delete Request", "components.RequestList.RequestItem.editrequest": "Edit Request", @@ -341,6 +429,7 @@ "components.RequestList.RequestItem.seasons": "{seasonCount, plural, one {Season} other {Seasons}}", "components.RequestList.RequestItem.tmdbid": "TMDB ID", "components.RequestList.RequestItem.tvdbid": "TheTVDB ID", + "components.RequestList.RequestItem.unknowntitle": "Unknown Title", "components.RequestList.requests": "Requests", "components.RequestList.showallrequests": "Show All Requests", "components.RequestList.sortAdded": "Most Recent", @@ -419,6 +508,13 @@ "components.ResetPassword.validationpasswordrequired": "You must provide a password", "components.Search.search": "Search", "components.Search.searchresults": "Search Results", + "components.Selector.nooptions": "No results.", + "components.Selector.searchGenres": "Select genres…", + "components.Selector.searchKeywords": "Search keywords…", + "components.Selector.searchStudios": "Search studios…", + "components.Selector.showless": "Show Less", + "components.Selector.showmore": "Show More", + "components.Selector.starttyping": "Starting typing to search.", "components.Settings.Notifications.NotificationsGotify.agentenabled": "Enable Agent", "components.Settings.Notifications.NotificationsGotify.gotifysettingsfailed": "Gotify notification settings failed to save.", "components.Settings.Notifications.NotificationsGotify.gotifysettingssaved": "Gotify notification settings saved successfully!", @@ -685,6 +781,33 @@ "components.Settings.SettingsLogs.showall": "Show All Logs", "components.Settings.SettingsLogs.time": "Timestamp", "components.Settings.SettingsLogs.viewdetails": "View Details", + "components.Settings.SettingsMain.apikey": "API Key", + "components.Settings.SettingsMain.applicationTitle": "Application Title", + "components.Settings.SettingsMain.applicationurl": "Application URL", + "components.Settings.SettingsMain.cacheImages": "Enable Image Caching", + "components.Settings.SettingsMain.cacheImagesTip": "Cache externally sourced images (requires a significant amount of disk space)", + "components.Settings.SettingsMain.csrfProtection": "Enable CSRF Protection", + "components.Settings.SettingsMain.csrfProtectionHoverTip": "Do NOT enable this setting unless you understand what you are doing!", + "components.Settings.SettingsMain.csrfProtectionTip": "Set external API access to read-only (requires HTTPS)", + "components.Settings.SettingsMain.general": "General", + "components.Settings.SettingsMain.generalsettings": "General Settings", + "components.Settings.SettingsMain.generalsettingsDescription": "Configure global and default settings for Overseerr.", + "components.Settings.SettingsMain.hideAvailable": "Hide Available Media", + "components.Settings.SettingsMain.locale": "Display Language", + "components.Settings.SettingsMain.originallanguage": "Discover Language", + "components.Settings.SettingsMain.originallanguageTip": "Filter content by original language", + "components.Settings.SettingsMain.partialRequestsEnabled": "Allow Partial Series Requests", + "components.Settings.SettingsMain.region": "Discover Region", + "components.Settings.SettingsMain.regionTip": "Filter content by regional availability", + "components.Settings.SettingsMain.toastApiKeyFailure": "Something went wrong while generating a new API key.", + "components.Settings.SettingsMain.toastApiKeySuccess": "New API key generated successfully!", + "components.Settings.SettingsMain.toastSettingsFailure": "Something went wrong while saving settings.", + "components.Settings.SettingsMain.toastSettingsSuccess": "Settings saved successfully!", + "components.Settings.SettingsMain.trustProxy": "Enable Proxy Support", + "components.Settings.SettingsMain.trustProxyTip": "Allow Overseerr to correctly register client IP addresses behind a proxy", + "components.Settings.SettingsMain.validationApplicationTitle": "You must provide an application title", + "components.Settings.SettingsMain.validationApplicationUrl": "You must provide a valid URL", + "components.Settings.SettingsMain.validationApplicationUrlTrailingSlash": "URL must not end in a trailing slash", "components.Settings.SettingsUsers.defaultPermissions": "Default Permissions", "components.Settings.SettingsUsers.defaultPermissionsTip": "Initial permissions assigned to new users", "components.Settings.SettingsUsers.localLogin": "Enable Local Sign-In", @@ -755,16 +878,8 @@ "components.Settings.address": "Address", "components.Settings.addsonarr": "Add Sonarr Server", "components.Settings.advancedTooltip": "Incorrectly configuring this setting may result in broken functionality", - "components.Settings.apikey": "API Key", - "components.Settings.applicationTitle": "Application Title", - "components.Settings.applicationurl": "Application URL", - "components.Settings.cacheImages": "Enable Image Caching", - "components.Settings.cacheImagesTip": "Cache externally sourced images (requires a significant amount of disk space)", "components.Settings.cancelscan": "Cancel Scan", "components.Settings.copied": "Copied API key to clipboard.", - "components.Settings.csrfProtection": "Enable CSRF Protection", - "components.Settings.csrfProtectionHoverTip": "Do NOT enable this setting unless you understand what you are doing!", - "components.Settings.csrfProtectionTip": "Set external API access to read-only (requires HTTPS)", "components.Settings.currentlibrary": "Current Library: {name}", "components.Settings.default": "Default", "components.Settings.default4k": "Default 4K", @@ -774,14 +889,9 @@ "components.Settings.enablessl": "Use SSL", "components.Settings.experimentalTooltip": "Enabling this setting may result in unexpected application behavior", "components.Settings.externalUrl": "External URL", - "components.Settings.general": "General", - "components.Settings.generalsettings": "General Settings", - "components.Settings.generalsettingsDescription": "Configure global and default settings for Overseerr.", - "components.Settings.hideAvailable": "Hide Available Media", "components.Settings.hostname": "Hostname or IP Address", "components.Settings.is4k": "4K", "components.Settings.librariesRemaining": "Libraries Remaining: {count}", - "components.Settings.locale": "Display Language", "components.Settings.manualscan": "Manual Library Scan", "components.Settings.manualscanDescription": "Normally, this will only be run once every 24 hours. Overseerr will check your Plex server's recently added more aggressively. If this is your first time configuring Plex, a one-time full manual library scan is recommended!", "components.Settings.mediaTypeMovie": "movie", @@ -801,9 +911,6 @@ "components.Settings.notifications": "Notifications", "components.Settings.notificationsettings": "Notification Settings", "components.Settings.notrunning": "Not Running", - "components.Settings.originallanguage": "Discover Language", - "components.Settings.originallanguageTip": "Filter content by original language", - "components.Settings.partialRequestsEnabled": "Allow Partial Series Requests", "components.Settings.plex": "Plex", "components.Settings.plexlibraries": "Plex Libraries", "components.Settings.plexlibrariesDescription": "The libraries Overseerr scans for titles. Set up and save your Plex connection settings, then click the button below if no libraries are listed.", @@ -811,8 +918,6 @@ "components.Settings.plexsettingsDescription": "Configure the settings for your Plex server. Overseerr scans your Plex libraries to determine content availability.", "components.Settings.port": "Port", "components.Settings.radarrsettings": "Radarr Settings", - "components.Settings.region": "Discover Region", - "components.Settings.regionTip": "Filter content by regional availability", "components.Settings.restartrequiredTooltip": "Overseerr must be restarted for changes to this setting to take effect", "components.Settings.scan": "Sync Libraries", "components.Settings.scanning": "Syncing…", @@ -832,25 +937,16 @@ "components.Settings.tautulliApiKey": "API Key", "components.Settings.tautulliSettings": "Tautulli Settings", "components.Settings.tautulliSettingsDescription": "Optionally configure the settings for your Tautulli server. Overseerr fetches watch history data for your Plex media from Tautulli.", - "components.Settings.toastApiKeyFailure": "Something went wrong while generating a new API key.", - "components.Settings.toastApiKeySuccess": "New API key generated successfully!", "components.Settings.toastPlexConnecting": "Attempting to connect to Plex…", "components.Settings.toastPlexConnectingFailure": "Failed to connect to Plex.", "components.Settings.toastPlexConnectingSuccess": "Plex connection established successfully!", "components.Settings.toastPlexRefresh": "Retrieving server list from Plex…", "components.Settings.toastPlexRefreshFailure": "Failed to retrieve Plex server list.", "components.Settings.toastPlexRefreshSuccess": "Plex server list retrieved successfully!", - "components.Settings.toastSettingsFailure": "Something went wrong while saving settings.", - "components.Settings.toastSettingsSuccess": "Settings saved successfully!", "components.Settings.toastTautulliSettingsFailure": "Something went wrong while saving Tautulli settings.", "components.Settings.toastTautulliSettingsSuccess": "Tautulli settings saved successfully!", - "components.Settings.trustProxy": "Enable Proxy Support", - "components.Settings.trustProxyTip": "Allow Overseerr to correctly register client IP addresses behind a proxy", "components.Settings.urlBase": "URL Base", "components.Settings.validationApiKey": "You must provide an API key", - "components.Settings.validationApplicationTitle": "You must provide an application title", - "components.Settings.validationApplicationUrl": "You must provide a valid URL", - "components.Settings.validationApplicationUrlTrailingSlash": "URL must not end in a trailing slash", "components.Settings.validationHostnameRequired": "You must provide a valid hostname or IP address", "components.Settings.validationPortRequired": "You must provide a valid port number", "components.Settings.validationUrl": "You must provide a valid URL", @@ -875,6 +971,7 @@ "components.StatusBadge.managemedia": "Manage {mediaType}", "components.StatusBadge.openinarr": "Open in {arr}", "components.StatusBadge.playonplex": "Play on Plex", + "components.StatusBadge.seasonepisodenumber": "S{seasonNumber}E{episodeNumber}", "components.StatusBadge.status": "{status}", "components.StatusBadge.status4k": "4K {status}", "components.StatusChecker.appUpdated": "{applicationTitle} Updated", diff --git a/src/i18n/locale/es.json b/src/i18n/locale/es.json index a86022542d..003bb12d54 100644 --- a/src/i18n/locale/es.json +++ b/src/i18n/locale/es.json @@ -102,8 +102,6 @@ "components.Discover.recentlyAdded": "Agregado Recientemente", "components.Discover.populartv": "Series Populares", "components.Discover.popularmovies": "Películas Populares", - "components.Discover.discovertv": "Series Populares", - "components.Discover.discovermovies": "Películas Populares", "components.Settings.addsonarr": "Agregar servidor Sonarr", "components.Settings.address": "Dirección", "components.Settings.addradarr": "Agregar servidor Radarr", @@ -175,16 +173,12 @@ "components.Settings.manualscan": "Escaneo Manual de Biblioteca", "components.Settings.librariesRemaining": "Bibliotecas restantes: {count}", "components.Settings.hostname": "Nombre de host o Dirección IP", - "components.Settings.generalsettingsDescription": "Configuración global y ajustes por defecto de Overseerr.", - "components.Settings.generalsettings": "Configuración general", "components.Settings.deleteserverconfirm": "¿Está seguro de que desea eliminar este servidor?", "components.Settings.default4k": "4K predeterminado", "components.Settings.default": "Predeterminado", "components.Settings.currentlibrary": "Biblioteca actual: {name}", "components.Settings.copied": "Clave API copiada en el portapapeles.", "components.Settings.cancelscan": "Cancelar Escaneo", - "components.Settings.applicationurl": "URL de la aplicación", - "components.Settings.apikey": "Clave API", "components.Setup.tip": "Consejo", "i18n.deleting": "Eliminando…", "components.UserList.userdeleteerror": "Algo salió mal al eliminar al usuario.", @@ -204,10 +198,6 @@ "components.TvDetails.showtype": "Tipos de Series", "components.TvDetails.network": "{networkCount, plural, one {Red} other {Redes}}", "components.TvDetails.anime": "Anime", - "components.Settings.toastSettingsSuccess": "¡Ajustes guardados con éxito!", - "components.Settings.toastSettingsFailure": "Algo salió mal guardando la configuración.", - "components.Settings.toastApiKeySuccess": "¡Nueva clave API generada con éxito!", - "components.Settings.toastApiKeyFailure": "Algo salió mal generando una nueva clave API.", "components.Settings.SonarrModal.animerootfolder": "Carpeta raíz de anime", "components.Settings.SonarrModal.animequalityprofile": "Perfil de calidad de anime", "components.Settings.SettingsAbout.timezone": "Zona horaria", @@ -255,11 +245,11 @@ "components.Settings.Notifications.botAPI": "Token de Autorización del Bot", "components.NotificationTypeSelector.mediarequested": "Contenido Solicitado", "components.NotificationTypeSelector.mediafailedDescription": "Envía una notificación cuando el contenido no se agrega a los servicios (Radarr / Sonarr).", - "components.NotificationTypeSelector.mediafailed": "Contenido Fallido", + "components.NotificationTypeSelector.mediafailed": "Procesamiento de Petición Fallida", "components.NotificationTypeSelector.mediaavailableDescription": "Envía una notificación cuando el contenido solicitado está disponible.", - "components.NotificationTypeSelector.mediaavailable": "Contenido Disponible", + "components.NotificationTypeSelector.mediaavailable": "Petición Disponible", "components.NotificationTypeSelector.mediaapprovedDescription": "Envía una notificación cuando el contenido solicitado es aprobado manualmente.", - "components.NotificationTypeSelector.mediaapproved": "Contenido Aprobado", + "components.NotificationTypeSelector.mediaapproved": "Petición Aprobada", "i18n.request": "Solicitar", "components.Settings.Notifications.NotificationsPushover.validationUserTokenRequired": "Debes proporcionar una clave de usuario o grupo válida", "components.Settings.Notifications.NotificationsPushover.validationAccessTokenRequired": "Debes proporcionar un token de aplicación válido", @@ -327,11 +317,10 @@ "components.Login.password": "Contraseña", "components.Login.loginerror": "Algo salió mal al intentar iniciar sesión.", "components.Login.email": "Dirección de correo electrónico", - "components.NotificationTypeSelector.mediadeclined": "Contenido Rechazado", + "components.NotificationTypeSelector.mediadeclined": "Petición Rechazada", "components.RequestModal.autoapproval": "Aprobación Automática", "components.NotificationTypeSelector.mediadeclinedDescription": "Envía notificaciones cuando las solicitudes sean rechazadas.", "i18n.experimental": "Experimental", - "components.Settings.hideAvailable": "Ocultar los Medios Disponibles", "components.Login.signingin": "Iniciando sesión…", "components.Login.signin": "Iniciar Sesión", "components.PlexLoginButton.signinwithplex": "Iniciar Sesión", @@ -348,7 +337,7 @@ "components.Discover.DiscoverTvGenre.genreSeries": "Series de {genre}", "components.Discover.DiscoverStudio.studioMovies": "Películas de {studio}", "components.Discover.DiscoverNetwork.networkSeries": "Series de {network}", - "components.Discover.DiscoverMovieLanguage.languageMovies": "Películas en {language}", + "components.Discover.DiscoverMovieLanguage.languageMovies": "{language} Películas", "components.Discover.DiscoverMovieGenre.genreMovies": "Películas de {genre}", "i18n.loading": "Cargando…", "components.ResetPassword.emailresetlink": "Enviar enlace de recuperación por email", @@ -392,7 +381,7 @@ "components.PermissionEdit.advancedrequest": "Solicitudes Avanzadas", "components.PermissionEdit.adminDescription": "Acceso completo de administrador. Ignora otras comprobaciones de permisos.", "components.NotificationTypeSelector.mediaAutoApprovedDescription": "Envía notificaciones cuando los usuarios solicitan nuevos contenidos que se aprueban automáticamente.", - "components.NotificationTypeSelector.mediaAutoApproved": "Contenidos Aprobados Automáticamente", + "components.NotificationTypeSelector.mediaAutoApproved": "Petición Aprobada Automáticamente", "components.MovieDetails.playonplex": "Ver en Plex", "components.MovieDetails.play4konplex": "Ver en Plex en 4K", "components.MovieDetails.markavailable": "Marcar como Disponible", @@ -505,11 +494,6 @@ "components.Setup.setup": "Configuración", "components.Setup.scanbackground": "El escaneo seguirá en segundo plano. Puedes continuar mientras el proceso de configuración.", "components.Settings.webhook": "Webhook", - "components.Settings.validationApplicationUrlTrailingSlash": "La URL no puede acabar con una barra", - "components.Settings.validationApplicationUrl": "Debes indicar una URL válida", - "components.Settings.validationApplicationTitle": "Debes indicar un título de aplicación", - "components.Settings.trustProxyTip": "Permite a Overserr registrar correctamente la IP del cliente detrás de un proxy", - "components.Settings.trustProxy": "Habilitar soporte Proxy", "components.Settings.toastPlexRefreshSuccess": "¡Recibida la lista de servidores de Plex con éxito!", "components.Settings.toastPlexRefreshFailure": "Fallo al obtener la lista de servidores de Plex.", "components.Settings.toastPlexRefresh": "Obteniendo la lista de servidores desde Plex…", @@ -525,18 +509,9 @@ "components.Settings.serverLocal": "local", "components.Settings.scanning": "Sincronizando…", "components.Settings.scan": "Sincronizar Bibliotecas", - "components.Settings.regionTip": "Filtrar contenido por disponibilidad regional", - "components.Settings.region": "Región para la sección \"Descubrir\"", - "components.Settings.originallanguage": "Idioma para la sección Descubrir", - "components.Settings.partialRequestsEnabled": "Permitir Solicitudes Parciales de Series", - "components.Settings.originallanguageTip": "Filtrar contenido por idioma original", "components.Settings.notificationAgentSettingsDescription": "Configura y habilita los agentes de notificaciones.", "components.Settings.menuUsers": "Usuarios", "components.Settings.email": "Email", - "components.Settings.csrfProtectionTip": "Asigna acceso a una API externa en modo solo lectura (requiere HTTPS)", - "components.Settings.csrfProtectionHoverTip": "¡NO habilitar esta opción a menos que seas consciente de lo que estás haciendo!", - "components.Settings.csrfProtection": "Habilitar Protección CSRF", - "components.Settings.applicationTitle": "Título de la Aplicación", "components.Settings.SonarrModal.validationLanguageProfileRequired": "Debes seleccionar un perfil de idioma", "components.Settings.SonarrModal.validationBaseUrlTrailingSlash": "La URL BASE no puede terminar con una barra", "components.Settings.SonarrModal.validationBaseUrlLeadingSlash": "La URL Base debe comenzar con una barra", @@ -590,7 +565,6 @@ "components.Settings.services": "Servicios", "components.Settings.plex": "Plex", "components.Settings.notifications": "Notificaciones", - "components.Settings.general": "General", "components.Settings.SettingsUsers.users": "Usuarios", "components.Settings.SettingsJobsCache.jobsandcache": "Tareas y Caché", "components.Settings.SettingsAbout.about": "Acerca de", @@ -625,8 +599,6 @@ "components.UserProfile.UserSettings.UserPasswordChange.password": "Contraseña", "components.UserProfile.UserSettings.UserPasswordChange.nopermissionDescription": "No tienes permiso para modificar la contraseña del usuario.", "components.Settings.enablessl": "Usar SSL", - "components.Settings.cacheImagesTip": "Optimizar y guardar todas las imágenes localmente (consume mucho espacio en disco)", - "components.Settings.cacheImages": "Habilitar Cacheado de Imagen", "components.Settings.SettingsLogs.logDetails": "Detalles del Log", "components.Settings.SettingsLogs.extraData": "Datos Adicionales", "components.Settings.SettingsLogs.copyToClipboard": "Copiar al Portapapeles", @@ -818,7 +790,6 @@ "components.Settings.Notifications.validationTypes": "Debes seleccionar, al menos, un tipo de notificación", "components.Settings.SettingsUsers.localLoginTip": "Permite a los usuarios registrarse consumo email y password, en lugar de la OAuth de Plex", "components.Settings.webAppUrl": "Url de la Web App", - "components.Settings.locale": "Idioma en Pantalla", "components.UserList.displayName": "Nombre en Pantalla", "components.Settings.Notifications.encryption": "Método de Encriptación", "components.Settings.Notifications.encryptionDefault": "Usa STARTTLS si está disponible", @@ -901,7 +872,7 @@ "components.NotificationTypeSelector.userissuecommentDescription": "Notificar cuando incidencias reportadas por ti reciban nuevos comentarios.", "components.NotificationTypeSelector.userissueresolvedDescription": "Notificar cuando se resuelvan incidencias reportadas por ti.", "components.IssueModal.CreateIssueModal.whatswrong": "¿Qué sucede?", - "components.ManageSlideOver.manageModalClearMedia": "Limpiar Datos de los Contenidos", + "components.ManageSlideOver.manageModalClearMedia": "Limpiar Datos", "components.ManageSlideOver.manageModalTitle": "Gestionar {mediaType}", "components.ManageSlideOver.markavailable": "Marcar como Disponible", "components.ManageSlideOver.openarr": "Abrir en {arr}", @@ -937,7 +908,7 @@ "components.IssueModal.CreateIssueModal.season": "Temporada {seasonNumber}", "components.IssueModal.CreateIssueModal.toastSuccessCreate": "¡Incidencia reportada por {title} enviada con éxito!", "components.Layout.Sidebar.issues": "Incidencias", - "components.ManageSlideOver.downloadstatus": "Estado de la Descarga", + "components.ManageSlideOver.downloadstatus": "Descargas", "components.IssueModal.CreateIssueModal.problemepisode": "Episodio Afectado", "components.IssueModal.CreateIssueModal.reportissue": "Reportar Incidencia", "components.IssueModal.CreateIssueModal.submitissue": "Enviar Incidencia", @@ -973,5 +944,118 @@ "components.NotificationTypeSelector.adminissueresolvedDescription": "Notificar cuando otros usuarios resuelvan incidencias.", "components.NotificationTypeSelector.issuereopenedDescription": "Enviar notificaciones cuando se reabran incidencias.", "components.NotificationTypeSelector.userissuereopenedDescription": "Notificar cuando se reabran incidencias reportadas por ti.", - "components.NotificationTypeSelector.issuereopened": "Incidencia Reabierta" + "components.NotificationTypeSelector.issuereopened": "Incidencia Reabierta", + "i18n.import": "Importar", + "i18n.importing": "Importando…", + "components.MovieDetails.digitalrelease": "Lanzamiento Digital", + "components.MovieDetails.physicalrelease": "Lanzamiento Físico", + "components.MovieDetails.theatricalrelease": "Lanzamiento en cines", + "components.IssueDetails.commentplaceholder": "Añadir un comentario…", + "components.ManageSlideOver.markallseasons4kavailable": "Marcar Todas las Temporadas como Disponible en 4K", + "components.ManageSlideOver.markallseasonsavailable": "Marcar Todas las Temporadas como Disponible", + "components.MovieDetails.rtcriticsscore": "Tomatometer de Rotten Tomatoes", + "components.MovieDetails.rtaudiencescore": "Puntuación audiencia de Rotten Tomatoes", + "components.Discover.plexwatchlist": "Tu Lista de Visualización de Plex", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "Tu lista de seguimiento de Plex", + "components.ManageSlideOver.manageModalMedia": "Contenido", + "components.MovieDetails.managemovie": "Administrar Película", + "components.MovieDetails.reportissue": "Reportar una Incidencia", + "components.AirDateBadge.airedrelative": "Emitido {relativeTime}", + "components.AirDateBadge.airsrelative": "Emitiendo {relativeTime}", + "components.ManageSlideOver.pastdays": "Últimos {days, number} Días", + "components.Discover.CreateSlider.addSlider": "Crear deslizador", + "components.Discover.CreateSlider.addcustomslider": "Crear deslizador personalizado", + "components.Discover.CreateSlider.addfail": "Error al crear deslizador nuevo.", + "components.Discover.CreateSlider.addsuccess": "Nuevo deslizador creado y guardado de los ajustes personalizados.", + "components.Discover.CreateSlider.editSlider": "Modificar deslizador", + "components.Discover.CreateSlider.editfail": "Fallo al editar deslizador.", + "components.Discover.CreateSlider.nooptions": "Sin resultados.", + "components.Discover.CreateSlider.providetmdbgenreid": "Proporcione un ID de categoría de TMDB", + "components.Discover.CreateSlider.needresults": "Necesita tener al menos un resultado en la búsqueda.", + "components.Discover.CreateSlider.providetmdbkeywordid": "Proporcione una ID de TMDB de la palabra clave", + "components.Discover.CreateSlider.editsuccess": "Deslizador editado y ajustes personalizados guardados.", + "components.Discover.CreateSlider.providetmdbsearch": "Proporcione una consulta a buscar", + "components.Discover.CreateSlider.searchGenres": "Buscar categorías…", + "components.Discover.CreateSlider.searchKeywords": "Buscar palabras clave…", + "components.Discover.CreateSlider.searchStudios": "Buscar estudios…", + "components.Discover.CreateSlider.providetmdbstudio": "Proporcione la ID de TMDB del estudio", + "components.Discover.CreateSlider.providetmdbnetwork": "Proporcione la ID de TMDB de la cadena", + "components.Discover.CreateSlider.slidernameplaceholder": "Nombre del deslizador", + "components.Discover.CreateSlider.starttyping": "Escriba para buscar.", + "components.Discover.CreateSlider.validationDatarequired": "Debe proporcionar un valor.", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} Películas", + "components.Discover.CreateSlider.validationTitlerequired": "Debe proporcionar un título.", + "components.Discover.DiscoverSliderEdit.deletefail": "Error al borrar deslizador.", + "components.Discover.DiscoverSliderEdit.deletesuccess": "Deslizador eliminado con éxito.", + "components.Discover.DiscoverSliderEdit.remove": "Borrar", + "components.Discover.DiscoverSliderEdit.enable": "Alternar Visibilidad", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "Contenido añadido a tu lista de visualización de Plex aparecerá aquí.", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "Vista de Visualización de Plex", + "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} Series", + "components.Discover.createnewslider": "Crear Nuevo Deslizador", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "Añadido Recientemente", + "components.Discover.moviegenres": "Géneros de Películas", + "components.Discover.networks": "Cadenas", + "components.Discover.emptywatchlist": "Contenido añadido a tu lista de visualización de Plex aparecerá aquí.", + "components.Discover.resettodefault": "Restablecer valores Predeterminados", + "components.Discover.resetwarning": "Restablecer todos los deslizadores por defecto. ¡Esto también borrará los deslizadores personalizados!", + "components.Discover.resetfailed": "Algo falló restableciendo los ajustes personalizados de recomendaciones.", + "components.Discover.resetsuccess": "Se ha restablecido correctamente la configuración de personalización del recomendaciones.", + "components.Discover.stopediting": "Dejar de Editar", + "components.Discover.tmdbmoviegenre": "Género de películas TMDB", + "components.Discover.tmdbmoviekeyword": "Palabras clave de la película de TMDB", + "components.Discover.tmdbnetwork": "Cadena TMDB", + "components.Discover.studios": "Estudios", + "components.Discover.tvgenres": "Géneros de Series", + "components.Discover.tmdbsearch": "Búsqueda TMDB", + "components.Discover.tmdbstudio": "Estudio TMDB", + "components.Discover.tmdbtvgenre": "Género de Series TMDB", + "components.Discover.tmdbtvkeyword": "Palabra clave de Series TMDB", + "components.Discover.updatefailed": "Algo falló al actualizar las opciones personalizadas de recomendaciones.", + "components.Discover.updatesuccess": "Opciones personalizadas de recomendaciones actualizadas.", + "components.ManageSlideOver.opentautulli": "Abrir en Tautulli", + "components.ManageSlideOver.playedby": "Reproducido Por", + "components.MovieDetails.tmdbuserscore": "Puntuación de usuario de TMDB", + "components.Discover.DiscoverMovies.discovermovies": "Películas", + "components.Discover.DiscoverMovies.sortPopularityAsc": "Popularidad Ascendente", + "components.Discover.DiscoverMovies.sortPopularityDesc": "Popularidad descendente", + "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Fecha de salida Ascendente", + "components.Discover.DiscoverMovies.sortTitleAsc": "Título (A-Z) Ascendente", + "components.Discover.DiscoverMovies.sortTitleDesc": "Título (Z-A) Descendente", + "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "Ratio TMDB Ascendente", + "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "Ratio TMDB Descendente", + "components.Discover.DiscoverMovies.sortReleaseDateDesc": "Fecha de salida Descendente", + "components.Discover.DiscoverTv.sortPopularityAsc": "Popularidad Ascendente", + "components.Discover.DiscoverTv.sortPopularityDesc": "Popularidad Descendente", + "components.Discover.DiscoverTv.sortTitleAsc": "Título (A-Z) Ascendente", + "components.Discover.DiscoverTv.sortTitleDesc": "Título (Z-A) Descendente", + "components.Discover.DiscoverTv.discovertv": "Series", + "components.Discover.DiscoverTv.sortTmdbRatingAsc": "Puntuación TMDB Ascendente", + "components.Discover.DiscoverTv.sortFirstAirDateAsc": "Fecha de Primera Emisión Ascendente", + "components.Discover.DiscoverTv.sortFirstAirDateDesc": "Fecha de Primera Emisión Descendente", + "components.Discover.DiscoverTv.sortTmdbRatingDesc": "Puntuación TMDB Descendente", + "components.Discover.FilterSlideover.keywords": "Palabras claves", + "components.Discover.FilterSlideover.filters": "Filtros", + "components.Discover.FilterSlideover.clearfilters": "Limpiar Filtros Activos", + "components.Discover.FilterSlideover.firstAirDate": "Primera Fecha de Emisión", + "components.Discover.FilterSlideover.originalLanguage": "Idioma Original", + "components.Discover.FilterSlideover.releaseDate": "Fecha de Publicación", + "components.Discover.FilterSlideover.studio": "Estudio", + "components.Discover.FilterSlideover.tmdbuserscore": "Puntuación de Usuarios de TMDB", + "components.Discover.FilterSlideover.to": "A", + "components.Discover.FilterSlideover.from": "Desde", + "components.Discover.FilterSlideover.genres": "Géneros", + "components.Discover.FilterSlideover.ratingText": "Puntuaciones entre {minValue} y {maxValue}", + "components.Discover.customizediscover": "Personalizar Recomendaciones", + "components.Layout.Sidebar.browsetv": "Series", + "components.Layout.Sidebar.browsemovies": "Películas", + "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "Peticiones de Películas", + "components.ManageSlideOver.manageModalAdvanced": "Avanzado", + "components.ManageSlideOver.manageModalMedia4k": "Contenido 4K", + "components.DownloadBlock.formattedTitle": "{title}: Temporada {seasonNumber} Episodio {episodeNumber}", + "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "Peticiones de Series", + "components.NotificationTypeSelector.mediaautorequested": "Petición Enviada Automáticamente", + "components.Discover.DiscoverWatchlist.watchlist": "Lista de seguimiento Plex", + "components.Discover.FilterSlideover.streamingservices": "Servicios de Streaming", + "components.Layout.UserDropdown.requests": "Peticiones" } diff --git a/src/i18n/locale/fr.json b/src/i18n/locale/fr.json index ccf6f05958..6477d84b88 100644 --- a/src/i18n/locale/fr.json +++ b/src/i18n/locale/fr.json @@ -1,6 +1,4 @@ { - "components.Discover.discovermovies": "Films populaires", - "components.Discover.discovertv": "Séries populaires", "components.Discover.popularmovies": "Films populaires", "components.Discover.populartv": "Séries populaires", "components.Discover.recentlyAdded": "Ajouts récents", @@ -8,7 +6,7 @@ "components.Discover.trending": "Tendances", "components.Discover.upcoming": "Films à venir", "components.Discover.upcomingmovies": "Films à venir", - "components.Layout.SearchInput.searchPlaceholder": "Rechercher des films et des séries", + "components.Layout.SearchInput.searchPlaceholder": "Rechercher Films & Séries", "components.Layout.Sidebar.dashboard": "Découvrir", "components.Layout.Sidebar.requests": "Demandes", "components.Layout.Sidebar.settings": "Paramètres", @@ -101,16 +99,12 @@ "components.Settings.addradarr": "Ajouter un serveur Radarr", "components.Settings.address": "Adresse", "components.Settings.addsonarr": "Ajouter un serveur Sonarr", - "components.Settings.apikey": "Clé d'API", - "components.Settings.applicationurl": "URL de l'application", "components.Settings.cancelscan": "Annuler le scan", "components.Settings.copied": "Clé d'API copiée dans le presse-papier.", "components.Settings.currentlibrary": "Bibliothèque actuelle : {name}", "components.Settings.default": "Par défaut", "components.Settings.default4k": "4K par défaut", "components.Settings.deleteserverconfirm": "Êtes-vous sûr(e) de vouloir supprimer ce serveur ?", - "components.Settings.generalsettings": "Paramètres généraux", - "components.Settings.generalsettingsDescription": "Configurer les paramètres généraux et par défaut pour Overseerr.", "components.Settings.hostname": "Nom d'hôte ou adresse IP", "components.Settings.librariesRemaining": "Bibliothèques restantes : {count}", "components.Settings.manualscan": "Scan manuel des bibliothèques", @@ -203,10 +197,6 @@ "components.TvDetails.showtype": "Type de séries", "components.TvDetails.network": "{networkCount, plural, one {Diffuseur} other {Diffuseurs}}", "components.TvDetails.anime": "Animé", - "components.Settings.toastSettingsSuccess": "Les paramètres ont été enregistrés avec succès !", - "components.Settings.toastSettingsFailure": "Une erreur s'est produite durant l'enregistrement des paramètres.", - "components.Settings.toastApiKeySuccess": "Nouvelle clé API générée avec succès !", - "components.Settings.toastApiKeyFailure": "Une erreur s'est produite lors de la génération de la nouvelle clé API.", "components.Settings.SonarrModal.animerootfolder": "Dossier racine pour anime", "components.Settings.SonarrModal.animequalityprofile": "Profil qualité pour anime", "components.MovieDetails.studio": "{studioCount, plural, one {Studio} other {Studios}}", @@ -331,7 +321,6 @@ "components.NotificationTypeSelector.mediadeclined": "Demande refusée", "components.NotificationTypeSelector.mediadeclinedDescription": "Envoyer des notifications lorsqu'une demande de média est refusée.", "i18n.experimental": "Expérimentale", - "components.Settings.hideAvailable": "Masquer les médias disponibles", "components.RequestModal.requesterror": "Une erreur s'est produite lors de la demande.", "components.RequestModal.SearchByNameModal.notvdbiddescription": "Nous n'avons pas pu associer cette série automatiquement. Veuillez sélectionner l'association correcte dans la liste ci-dessous.", "components.Login.signinwithplex": "Utilisez votre compte Plex", @@ -343,8 +332,6 @@ "components.PlexLoginButton.signingin": "Connexion en cours…", "components.UserList.userssaved": "Les permissions d'utilisateur ont été enregistrées avec succès !", "components.UserList.bulkedit": "Modification en masse", - "components.Settings.csrfProtectionTip": "Définir l'accès à l'API externe en lecture seule (nécessite HTTPS)", - "components.Settings.csrfProtection": "Activer la protection CSRF", "components.PermissionEdit.usersDescription": "Autorise à gérer les utilisateurs. Les utilisateurs avec cette autorisation ne peuvent pas modifier les utilisateurs dotés de privilèges d'administrateur ni les accorder.", "components.PermissionEdit.users": "Gérer les utilisateurs", "components.PermissionEdit.requestDescription": "Autorise à demander des médias non-4K.", @@ -392,8 +379,6 @@ "components.MovieDetails.mark4kavailable": "Marquer comme disponible en 4K", "components.MovieDetails.playonplex": "Lire sur Plex", "components.MovieDetails.play4konplex": "Lire en 4K sur Plex", - "components.Settings.trustProxyTip": "Permettre Overseerr à enregistrer correctement les adresses IP des clients derrière un proxy", - "components.Settings.trustProxy": "Activer la prise en charge proxy", "components.Settings.SettingsJobsCache.jobsDescription": "Overseerr effectue certaines tâches de maintenance comme des tâches planifiées régulièrement, mais elles peuvent également être déclenchées manuellement ci-dessous. L'exécution manuelle d'une tâche ne modifiera pas sa planification.", "components.Settings.SettingsJobsCache.cachemisses": "Manqués", "components.Settings.SettingsJobsCache.runnow": "Exécuter", @@ -413,13 +398,9 @@ "components.Settings.SettingsJobsCache.cacheflushed": "Cache de {cachename} vidé.", "components.Settings.SettingsJobsCache.cacheDescription": "Overseerr met en cache les demandes aux points de terminaison d'API externes pour optimiser les performances et éviter de faire des appels d'API inutiles.", "components.Settings.SettingsJobsCache.cache": "Cache", - "components.Settings.applicationTitle": "Titre de l'application", "i18n.advanced": "Avancés", "components.UserList.users": "Utilisateurs", "components.Setup.setup": "Configuration", - "components.Settings.validationApplicationUrlTrailingSlash": "L'URL ne doit pas se terminer par une barre oblique finale", - "components.Settings.validationApplicationUrl": "Vous devez fournir une URL valide", - "components.Settings.csrfProtectionHoverTip": "N'activez PAS ce paramètre à moins que vous ne compreniez ce que vous faites !", "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "L'URL ne doit pas se terminer par une barre oblique finale", "components.Settings.SonarrModal.validationApplicationUrl": "Vous devez fournir une URL valide", "components.Settings.SettingsAbout.preferredmethod": "Préféré", @@ -450,11 +431,10 @@ "components.ResetPassword.gobacklogin": "Retourner à la page de connexion", "components.ResetPassword.emailresetlink": "Envoyer un lien de récupération par e-mail", "components.ResetPassword.email": "Adresse e-mail", - "components.ResetPassword.confirmpassword": "Confirmez le mot de passe", + "components.ResetPassword.confirmpassword": "Confirmation du mot de passe", "components.Login.forgotpassword": "Mot de passe oublié ?", "components.Settings.SettingsJobsCache.process": "Processus", "components.Settings.SettingsJobsCache.command": "Commande", - "components.Settings.validationApplicationTitle": "Vous devez fournir un titre d'application", "components.Settings.SonarrModal.validationLanguageProfileRequired": "Vous devez sélectionner un profil de langue", "components.Settings.SonarrModal.testFirstLanguageProfiles": "Tester la connexion pour charger les profils de langue", "components.Settings.SonarrModal.selectLanguageProfile": "Sélectionnez le profil de langue", @@ -519,11 +499,7 @@ "components.UserProfile.UserSettings.UserGeneralSettings.region": "Région à découvrir", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "Filtrer le contenu par langue d’origine", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "Langue à découvrir", - "components.Settings.regionTip": "Filtrer le contenu par disponibilité régionale", - "components.Settings.region": "Région à découvrir", - "components.Settings.originallanguageTip": "Filtrer le contenu par langue d’origine", "components.Discover.upcomingtv": "Séries à venir", - "components.Settings.originallanguage": "Langue à découvrir", "components.RegionSelector.regionDefault": "Toutes les régions", "components.Settings.webhook": "Webhook", "components.Settings.email": "E-mail", @@ -540,7 +516,7 @@ "components.Settings.SettingsJobsCache.download-sync": "Synchroniser les téléchargements", "components.Settings.SettingsJobsCache.download-sync-reset": "Reset de la synchronisation des téléchargements", "i18n.loading": "Chargement…", - "components.Discover.DiscoverMovieGenre.genreMovies": "Films {genre}", + "components.Discover.DiscoverMovieGenre.genreMovies": "{genre} Films", "components.Discover.DiscoverTvGenre.genreSeries": "Séries {genre}", "components.Discover.DiscoverStudio.studioMovies": "Films {studio}", "components.Discover.DiscoverNetwork.networkSeries": "Séries {network}", @@ -582,12 +558,11 @@ "components.UserProfile.UserSettings.UserPermissions.unauthorizedDescription": "Vous ne pouvez pas modifier vos propres permissions.", "components.Settings.Notifications.pgpPrivateKeyTip": "Signer des emails chiffrés en utilisant OpenPGP", "components.Settings.Notifications.pgpPasswordTip": "Signer des emails chiffrés en utilisant OpenPGP", - "components.Settings.Notifications.pgpPrivateKey": "PGP Clé privée", + "components.Settings.Notifications.pgpPrivateKey": "Clé privée PGP", "components.TvDetails.episodeRuntimeMinutes": "{runtime} minutes", "components.TvDetails.episodeRuntime": "Durée d'un épisode", - "components.Settings.Notifications.pgpPassword": "PGP mot de passe", + "components.Settings.Notifications.pgpPassword": "Mot de passe PGP", "components.RequestModal.AdvancedRequester.folder": "{path} ({space})", - "components.Settings.partialRequestsEnabled": "Permettre les demandes partielles des séries", "components.RequestModal.alreadyrequested": "Déjà demandé", "components.Discover.TvGenreSlider.tvgenres": "Genres de séries", "components.Discover.TvGenreList.seriesgenres": "Genres de séries", @@ -612,7 +587,6 @@ "components.Settings.services": "Applications", "components.Settings.plex": "Plex", "components.Settings.notifications": "Notifications", - "components.Settings.general": "Général", "components.Settings.enablessl": "Utiliser SSL", "components.Settings.SettingsUsers.users": "Utilisateurs", "components.Settings.SettingsLogs.showall": "Afficher tous les journaux", @@ -621,8 +595,6 @@ "components.ResetPassword.passwordreset": "Réinitialiser le mot de passe", "pages.internalservererror": "Erreur interne du serveur", "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailureVerifyCurrent": "Un problème est survenu lors de l'enregistrement du mot de passe. Votre mot de passe actuel a-t-il été saisi correctement ?", - "components.Settings.cacheImagesTip": "Met en cache localement et utilise des images optimisées (nécessite une quantité considérable d'espace disque)", - "components.Settings.cacheImages": "Activer la mise en cache d'image", "components.Settings.SettingsLogs.time": "Horodatage", "components.Settings.SettingsLogs.resumeLogs": "Résumer", "components.Settings.SettingsLogs.message": "Message", @@ -808,7 +780,6 @@ "components.Settings.webAppUrlTip": "Dirigez éventuellement les utilisateurs vers l'application Web sur votre serveur au lieu de l'application Web « hébergée »", "components.Settings.webAppUrl": "URL Application Web", "components.Settings.noDefault4kServer": "Un serveur 4K {serverType} doit être marqué par défaut afin de permettre aux utilisateurs de soumettre des requêtes 4K {mediaType}.", - "components.Settings.locale": "Langue d'affichage", "components.Settings.is4k": "4K", "components.Settings.SettingsUsers.newPlexLoginTip": "Autoriser les utilisateurs de Plex à se connecter sans être d'abord importés", "components.Settings.SettingsUsers.newPlexLogin": "Autoriser nouvelle connexion Plex", @@ -941,7 +912,7 @@ "components.ManageSlideOver.openarr4k": "Ouvrir dans {arr} 4K", "components.NotificationTypeSelector.issuecreated": "Problème signalé", "components.NotificationTypeSelector.issueresolvedDescription": "Envoyer des notifications lorsqu'un problème est résolu.", - "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Fréquence", + "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Nouvelle fréquence", "components.Settings.SettingsJobsCache.jobScheduleEditSaved": "Tâche modifiée avec succès !", "i18n.open": "Ouvert", "components.Settings.SettingsJobsCache.editJobSchedule": "Modifier la tâche", @@ -1033,8 +1004,8 @@ "components.MovieDetails.digitalrelease": "Sortie numérique", "components.MovieDetails.physicalrelease": "Sortie physique", "components.PermissionEdit.autorequest": "Demande automatique", - "components.Discover.DiscoverWatchlist.discoverwatchlist": "Ta Plex Watchlist", - "components.Discover.plexwatchlist": "Ta Plex Watchlist", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "Votre Watchlist Plex", + "components.Discover.plexwatchlist": "Votre Watchlist Plex", "components.MovieDetails.theatricalrelease": "Sortie en salles", "components.StatusChecker.reloadApp": "Recharger {applicationTitle}", "components.PermissionEdit.viewrecent": "Voir les ajouts récents", @@ -1045,8 +1016,8 @@ "components.RequestList.RequestItem.tmdbid": "TMDB ID", "components.RequestList.RequestItem.tvdbid": "TheTVDB ID", "components.NotificationTypeSelector.mediaautorequested": "Demande soumise automatiquement", - "components.PermissionEdit.autorequestMoviesDescription": "Autorise l'envoi de demande automatique pour les médias non-4K via la Plex Watchlist.", - "components.PermissionEdit.autorequestSeriesDescription": "Autorise l'envoi de demande automatique pour les médias non-4K via la Plex Watchlist.", + "components.PermissionEdit.autorequestMoviesDescription": "Autorise l'envoi de demande automatique pour les médias non-4K via la Watchlist Plex.", + "components.PermissionEdit.autorequestSeriesDescription": "Autorise l'envoi de demande automatique pour les médias non-4K via la Watchlist Plex.", "components.StatusChecker.appUpdatedDescription": "Veuillez cliquer sur le bouton ci-dessous pour recharger l'application.", "components.StatusChecker.restartRequiredDescription": "Veuillez redémarrer le serveur pour appliquer les paramètres mis à jour.", "components.TitleCard.cleardata": "Effacer les données", @@ -1055,20 +1026,20 @@ "components.TitleCard.tvdbid": "TheTVDB ID", "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Demander automatiquement les films", "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Demander automatiquement les Séries", - "components.PermissionEdit.autorequestDescription": "Autorise l'envoi de demande automatique pour les médias non-4K via la Plex Watchlist.", + "components.PermissionEdit.autorequestDescription": "Autorise l'envoi de demande automatique pour les médias non-4K via la Watchlist Plex.", "components.PermissionEdit.autorequestMovies": "Demander automatiquement les Films", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Demande automatiquement les séries de ta Plex Watchlist", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Demande automatiquement les séries de votre Watchlist Plex", "components.PermissionEdit.autorequestSeries": "Demander automatiquement les Séries", - "components.Settings.SettingsJobsCache.plex-watchlist-sync": "Synchronisation de la Plex Watchlist", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Demande automatiquement les films sur ta Plex Watchlist", - "components.NotificationTypeSelector.mediaautorequestedDescription": "Recevez une notification lorsque de nouvelles demandes de médias sont automatiquement soumises pour des éléments de votre Plex Watchlist.", + "components.Settings.SettingsJobsCache.plex-watchlist-sync": "Synchronisation de la Watchlist Plex", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Demande automatiquement les films sur votre Watchlist Plex", + "components.NotificationTypeSelector.mediaautorequestedDescription": "Recevez une notification lorsque de nouvelles demandes de médias sont automatiquement soumises pour des éléments de votre Watchlist Plex.", "components.StatusChecker.restartRequired": "Redémarrage du serveur requis", "components.StatusChecker.appUpdated": "{applicationTitle} mis à jour", "components.Settings.SettingsLogs.viewdetails": "Voir les détails", "components.Settings.advancedTooltip": "Une configuration incorrecte de ce paramètre peut entraîner un dysfonctionnement", "components.Settings.experimentalTooltip": "L'activation de ce paramètre peut entraîner un comportement inattendu de l'application", - "components.Discover.DiscoverWatchlist.watchlist": "Plex Watchlist", - "components.PermissionEdit.viewwatchlists": "Voir Plex Watchlists", + "components.Discover.DiscoverWatchlist.watchlist": "Watchlist Plex", + "components.PermissionEdit.viewwatchlists": "Voir Watchlist Plex", "components.TvDetails.reportissue": "Signaler un problème", "components.AirDateBadge.airedrelative": "Diffusé {relativeTime}", "components.AirDateBadge.airsrelative": "Diffusion {relativeTime}", @@ -1085,7 +1056,7 @@ "components.MovieDetails.rtaudiencescore": "Note d'audience de Rotten Tomatoes", "components.MovieDetails.rtcriticsscore": "Rotten Tomatoes Tomatomètre", "components.MovieDetails.tmdbuserscore": "Note des utilisateurs TMDB", - "components.PermissionEdit.viewwatchlistsDescription": "Autorise à voir la Plex Watchlist des autres utilisateurs.", + "components.PermissionEdit.viewwatchlistsDescription": "Autorise à voir la Watchlist Plex des autres utilisateurs.", "components.RequestBlock.approve": "Approuver la demande", "components.RequestBlock.decline": "Refuser la demande", "components.RequestBlock.delete": "Supprimer la demande", @@ -1104,17 +1075,150 @@ "components.TvDetails.rtaudiencescore": "Note d'audience de Rotten Tomatoes", "components.TvDetails.rtcriticsscore": "Rotten Tomatoes Tomatomètre", "components.TvDetails.tmdbuserscore": "Note des utilisateurs TMDB", - "components.UserProfile.plexwatchlist": "Plex Watchlist", + "components.UserProfile.plexwatchlist": "Watchlist Plex", "components.RequestCard.editrequest": "Modifier la demande", "components.Settings.restartrequiredTooltip": "Overseerr doit être redémarré pour que les modifications de ce paramètre prennent effet", "components.Settings.deleteServer": "Supprimer {serverType} serveur", "components.RequestModal.requestcollection4ktitle": "Demander la collection en 4K", - "components.Discover.emptywatchlist": "Les médias ajoutés à ta Plex Watchlist apparaîtront ici.", + "components.Discover.emptywatchlist": "Les médias ajoutés à ta Watchlist Plex apparaîtront ici.", "components.RequestModal.requestcollectiontitle": "Demander la collection", - "components.UserProfile.emptywatchlist": "Les médias ajoutés à ta Plex Watchlist apparaîtront ici.", + "components.UserProfile.emptywatchlist": "Les médias ajoutés à votre Watchlist Plex apparaîtront ici.", "components.RequestModal.SearchByNameModal.nomatches": "Nous n'avons pas pu trouver de correspondance pour cette série.", "components.RequestModal.requestmovie4ktitle": "Demander le film en 4K", "components.RequestModal.requestmovietitle": "Demander le film", "components.RequestModal.requestseries4ktitle": "Demander la série en 4K", - "components.RequestModal.requestseriestitle": "Demander la série" + "components.RequestModal.requestseriestitle": "Demander la série", + "components.Discover.CreateSlider.searchGenres": "Recherche par genres…", + "components.Discover.CreateSlider.searchStudios": "Recherche des studios…", + "components.Discover.CreateSlider.searchKeywords": "Recherche des mots clés…", + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Fréquence actuelle", + "components.Discover.CreateSlider.providetmdbkeywordid": "Fournissez un ID TMBD de mot-clé", + "components.RequestList.RequestItem.unknowntitle": "Titre inconnu", + "components.Settings.SettingsMain.toastSettingsFailure": "Un problème est survenu lors de l'enregistrement des paramètres.", + "components.Settings.SettingsMain.validationApplicationUrl": "Vous devez fournir une URL valide", + "components.TvDetails.Season.noepisodes": "Liste des épisodes non disponible.", + "components.StatusBadge.seasonepisodenumber": "S{seasonNumber}E{episodeNumber}", + "components.RequestCard.unknowntitle": "Titre inconnu", + "components.Settings.SettingsMain.csrfProtectionHoverTip": "N'activez PAS ce réglage à moins que vous sachiez vraiment ce que vous faites !", + "components.Settings.SettingsMain.csrfProtection": "Activer la protection CSRF", + "components.Settings.SettingsMain.locale": "Langue d'affichage", + "components.Settings.SettingsMain.toastApiKeySuccess": "Nouvelle clé d'API générée avec succès !", + "components.Settings.SettingsMain.toastApiKeyFailure": "Un problème est survenu lors de la génération de la nouvelle clé d'API.", + "components.Settings.SettingsMain.validationApplicationUrlTrailingSlash": "L'URL ne doit pas se terminer par une barre oblique", + "components.Settings.SettingsJobsCache.imagecachesize": "Taille totale du cache", + "components.Settings.SettingsMain.apikey": "Clé d'API", + "components.Settings.SettingsMain.general": "Général", + "components.Settings.SettingsMain.generalsettings": "Paramètres généraux", + "components.Settings.SettingsMain.toastSettingsSuccess": "Paramètres sauvegardés avec succès !", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "Les médias ajoutés à votre Watchlist Plex apparaîtront ici.", + "components.Discover.CreateSlider.validationTitlerequired": "Vous devez fournir un titre.", + "components.Discover.CreateSlider.validationDatarequired": "Vous devez fournir une valeur de données.", + "components.Discover.CreateSlider.starttyping": "Commencer à taper pour rechercher.", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "Récemment ajoutés", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "Votre Watchlist Plex", + "components.Discover.networks": "Diffuseurs", + "components.Discover.studios": "Studios", + "components.DownloadBlock.formattedTitle": "{title} : Saison {seasonNumber} Épisode {episodeNumber}", + "components.Settings.SettingsJobsCache.imagecachecount": "Images mises en cache", + "components.Settings.SettingsJobsCache.imagecache": "Cache d'images", + "components.Settings.SettingsJobsCache.imagecacheDescription": "Une fois activé dans les paramètres, Overseerr va récupérer et mettre en cache les images provenant de sources externes pré-configurées. Les images mises en cache sont enregistrées dans votre dossier de configuration. Vous pouvez trouver les fichiers dans le répertoire {appDataPath}/cache/images.", + "components.Discover.CreateSlider.nooptions": "Aucun résultat.", + "components.Discover.CreateSlider.needresults": "Vous devez avoir au moins 1 résultat.", + "components.Discover.CreateSlider.providetmdbsearch": "Fournissez une requête de recherche", + "components.Discover.CreateSlider.providetmdbgenreid": "Fournissez un ID TMBD de genre", + "components.Discover.CreateSlider.providetmdbnetwork": "Fournissez un ID TMDB d'un diffuseur", + "components.Discover.CreateSlider.providetmdbstudio": "Fournissez un ID TMDB d'un studio", + "components.Discover.CreateSlider.slidernameplaceholder": "Nom du slider", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} Films", + "components.Discover.CreateSlider.editsuccess": "Édition du slider et sauvegarde des paramètres de personnalisation.", + "components.Discover.CreateSlider.addSlider": "Ajouter un slider", + "components.Discover.CreateSlider.addcustomslider": "Créer un slider personnalisé", + "components.Discover.CreateSlider.addfail": "Échec lors de la création du nouveau slider.", + "components.Settings.SettingsJobsCache.image-cache-cleanup": "Nettoyage du cache d'images", + "components.Settings.SettingsMain.hideAvailable": "Masquer les médias disponibles", + "components.Settings.SettingsMain.originallanguageTip": "Filtrer le contenu par langue d’origine", + "components.Settings.SettingsMain.validationApplicationTitle": "Vous devez fournir un nom d'application", + "components.Discover.DiscoverSliderEdit.enable": "Basculer la visibilité", + "components.Discover.createnewslider": "Créer un nouveau slider", + "components.Discover.customizediscover": "Personnaliser Découvrir", + "components.Discover.resetsuccess": "Réinitialisation réussie des paramètres de personnalisation de Découvrir.", + "components.Discover.resetfailed": "Une erreur s'est produite lors de la réinitialisation des paramètres de personnalisation de Découvrir.", + "components.Discover.updatefailed": "Une erreur s'est produite lors de la mise à jour des paramètres de personnalisation de Découvrir.", + "components.Discover.updatesuccess": "Mise à jour des paramètres de personnalisation de Découvrir.", + "components.Discover.DiscoverMovies.activefilters": "{count, plural, one {# Filtre actif} other {# Filtres actifs}}", + "components.Discover.DiscoverMovies.discovermovies": "Films", + "components.Discover.DiscoverMovies.sortPopularityAsc": "Popularité croissante", + "components.Discover.DiscoverMovies.sortPopularityDesc": "Popularité décroissante", + "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Date de sortie Croissante", + "components.Discover.DiscoverMovies.sortReleaseDateDesc": "Date de sortie décroissante", + "components.Discover.DiscoverMovies.sortTitleAsc": "Titre (AZ) Croissant", + "components.Discover.DiscoverMovies.sortTitleDesc": "Titre (Z-A) Décroissant", + "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "Note TMDB croissante", + "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "Note TMDB décroissante", + "components.Discover.DiscoverSliderEdit.remove": "Retirer", + "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# Filtre actif} other {# Filtres actifs}}", + "components.Discover.DiscoverTv.discovertv": "Séries", + "components.Discover.DiscoverTv.sortFirstAirDateAsc": "Première date de diffusion croissante", + "components.Discover.DiscoverTv.sortFirstAirDateDesc": "Première date de diffusion décroissante", + "components.Discover.DiscoverTv.sortPopularityAsc": "Popularité croissante", + "components.Discover.DiscoverTv.sortPopularityDesc": "Popularité décroissante", + "components.Discover.DiscoverTv.sortTitleAsc": "Titre (A-Z) Croissant", + "components.Discover.DiscoverTv.sortTitleDesc": "Titre (Z-A) Décroissant", + "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} Séries", + "components.Discover.DiscoverTv.sortTmdbRatingAsc": "Note TMDB croissante", + "components.Discover.DiscoverTv.sortTmdbRatingDesc": "Note TMDB décroissante", + "components.Discover.FilterSlideover.clearfilters": "Effacer les Filtres actifs", + "components.Discover.FilterSlideover.filters": "Filtres", + "components.Discover.FilterSlideover.firstAirDate": "Première date de diffusion", + "components.Discover.FilterSlideover.from": "De", + "components.Discover.FilterSlideover.genres": "Genre(s)", + "components.Discover.FilterSlideover.keywords": "Mots clés", + "components.Discover.FilterSlideover.originalLanguage": "Langue originale", + "components.Discover.FilterSlideover.ratingText": "Note entre {minValue} and {maxValue}", + "components.Discover.FilterSlideover.releaseDate": "Date de sortie", + "components.Discover.FilterSlideover.runtime": "Durée", + "components.Discover.FilterSlideover.runtimeText": "Durée entre {minValue} et {maxValue} minutes", + "components.Discover.FilterSlideover.tmdbuserscore": "Note utilisateur TMDB", + "components.Discover.stopediting": "Arrêter l'édition", + "components.Layout.Sidebar.browsemovies": "Films", + "components.Selector.searchGenres": "Sélectionnez le(s) genre(s)…", + "components.Selector.searchKeywords": "Recherchez un ou plusieurs mots-clés…", + "components.Selector.searchStudios": "Recherchez un ou plusieurs studios…", + "components.Settings.SettingsMain.applicationurl": "URL de l'application", + "components.Settings.SettingsMain.cacheImages": "Activer la mise en cache d'image", + "components.Settings.SettingsMain.generalsettingsDescription": "Configurer les paramètres généraux et par défaut pour Overseerr.", + "components.Settings.SettingsMain.originallanguage": "Langue à découvrir", + "components.Settings.SettingsMain.region": "Région à découvrir", + "components.Settings.SettingsMain.regionTip": "Filtrer le contenu par disponibilité régionale", + "components.Settings.SettingsMain.trustProxy": "Activer la prise en charge proxy", + "components.Settings.SettingsMain.trustProxyTip": "Permettre Overseerr à enregistrer correctement les adresses IP des clients derrière un proxy", + "components.Settings.SettingsMain.applicationTitle": "Nom de l'application", + "components.Settings.SettingsMain.csrfProtectionTip": "Définir l'accès à l'API externe en lecture seule (nécessite HTTPS)", + "components.Settings.SettingsMain.cacheImagesTip": "Met en cache localement et utilise des images optimisées (nécessite une quantité considérable d'espace disque)", + "components.Settings.SettingsMain.partialRequestsEnabled": "Permettre les demandes partielles des séries", + "components.Discover.resettodefault": "Réinitialiser par défaut", + "components.Discover.resetwarning": "Réinitialisez tous les sliders par défaut. Cela supprimera également tous les sliders personnalisés !", + "components.Selector.nooptions": "Aucun résultat.", + "components.Discover.FilterSlideover.to": "À", + "components.Discover.CreateSlider.editSlider": "Modifier un slider", + "components.Discover.CreateSlider.editfail": "Échec de la modification du slider.", + "components.Discover.CreateSlider.addsuccess": "Le nouveau slider ainsi que les paramètres de la page Découvrir ont été enregistrés.", + "components.Discover.tmdbsearch": "Recherche TMDB", + "components.Discover.tmdbstudio": "Studio TMDB", + "components.Discover.DiscoverSliderEdit.deletefail": "Échec de la suppression du slider.", + "components.Discover.DiscoverSliderEdit.deletesuccess": "Slider supprimé avec succès.", + "components.Discover.FilterSlideover.activefilters": "{count, plural, one {# Filtre actif} other {# Filtres actifs}}", + "components.Discover.FilterSlideover.studio": "Studio", + "components.Layout.Sidebar.browsetv": "Série", + "components.Selector.showmore": "En voir plus", + "components.Discover.FilterSlideover.streamingservices": "Services de Streaming", + "components.Selector.showless": "En voir moins", + "components.Discover.moviegenres": "Genres de films", + "components.Discover.tvgenres": "Genres de séries", + "components.Discover.tmdbmoviegenre": "Genre de film TMDB", + "components.Discover.tmdbmoviekeyword": "Mot-clé de film TMDB", + "components.Selector.starttyping": "Commencer à taper pour chercher.", + "components.Discover.tmdbtvgenre": "Genre de séries TMDB", + "components.Discover.tmdbnetwork": "TMDB Diffuseurs", + "components.Discover.tmdbtvkeyword": "Mot-clé de série TMDB" } diff --git a/src/i18n/locale/he.json b/src/i18n/locale/he.json index 4f1942b42e..b8c502a969 100644 --- a/src/i18n/locale/he.json +++ b/src/i18n/locale/he.json @@ -1,5 +1,139 @@ { - "components.ManageSlideOver.alltime": "על הזמן", + "components.ManageSlideOver.alltime": "כל הזמנים", "components.Login.validationemailrequired": "חובה לספק כתובת מייל חוקית", - "components.NotificationTypeSelector.userissuereopenedDescription": "קבל התראה כשבעיות שפתחת נפתחות מחדש." + "components.NotificationTypeSelector.userissuereopenedDescription": "קבל התראה כשבעיות שפתחת נפתחות מחדש.", + "components.AppDataWarning.dockerVolumeMissingDescription": "ה {appDataPath} אחסון לא הוגדר כראוי. כל המידע יוסר כאשר הקונטיינר יעצור או יותחל מחדש.", + "components.CollectionDetails.overview": "תצוגה כללית", + "components.CollectionDetails.numberofmovies": "{כמות} סרטים", + "components.CollectionDetails.requestcollection": "אוסף בקשות", + "components.CollectionDetails.requestcollection4k": "אוסף בקשות ב4K", + "components.Discover.DiscoverMovieGenre.genreMovies": "סרטי {genre}", + "components.Discover.DiscoverMovieLanguage.languageMovies": "{language} סרטים", + "components.Discover.DiscoverNetwork.networkSeries": "{network} סדרות", + "components.Discover.DiscoverStudio.studioMovies": "{studio} סרטים", + "components.Discover.DiscoverTvGenre.genreSeries": "{genre} סדרות", + "components.Discover.DiscoverTvLanguage.languageSeries": "{language} סדרות", + "components.IssueDetails.commentplaceholder": "הוסף תגובה …", + "components.IssueDetails.comments": "תגובות", + "components.IssueDetails.deleteissue": "מחק מקרה", + "components.IssueDetails.deleteissueconfirm": "האם אתה בטוח שאתה רוצה למחוק את המקרה?", + "components.AirDateBadge.airsrelative": "ישודר בעוד {relativeTime}", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "רשימת הצפייה שלך", + "components.Discover.MovieGenreList.moviegenres": "סוגי סרטים", + "components.Discover.StudioSlider.studios": "אולפנים", + "components.Discover.TvGenreList.seriesgenres": "סוגי סדרות", + "components.Discover.TvGenreSlider.tvgenres": "סוגי סדרות", + "components.Discover.recentlyAdded": "נוספו לאחרונה", + "components.Discover.recentrequests": "בקשות אחרונות", + "components.Discover.trending": "חמים", + "components.Discover.upcoming": "סרטים שיצאו בקרוב", + "components.Discover.upcomingmovies": "סרטים שיצאו בקרוב", + "components.Discover.upcomingtv": "סדרות שיצאו בקרוב", + "components.DownloadBlock.estimatedtime": "{time} משוער", + "components.IssueDetails.IssueComment.delete": "מחיקת תגובה", + "components.IssueDetails.IssueComment.areyousuredelete": "האם תרצה למחוק את התגובה?", + "components.IssueDetails.IssueComment.edit": "לערוך תגובה", + "components.IssueDetails.IssueDescription.edit": "ערוך תיאור", + "components.IssueDetails.allepisodes": "כל הפרקים", + "components.IssueDetails.allseasons": "כל העונות", + "components.IssueDetails.closeissue": "סגור מקרה", + "components.IssueDetails.closeissueandcomment": "סגור עם תגובה", + "components.IssueDetails.episode": "פרק {episodeNumber}", + "components.IssueDetails.issuepagetitle": "מקרה", + "components.IssueDetails.playonplex": "הפעל בפלקס", + "components.IssueDetails.play4konplex": "הפעל 4K בפלקס", + "components.IssueDetails.problemepisode": "פרק מושפע", + "components.IssueDetails.toastissuedeleted": "מקרה נמחק בהצלחה!", + "components.IssueList.IssueItem.issuetype": "סוג", + "components.IssueList.IssueItem.opened": "נפתח", + "components.IssueList.IssueItem.openeduserdate": "{date} ע\"י {user}", + "components.IssueModal.issueSubtitles": "כתוביות", + "components.IssueModal.issueVideo": "וידאו", + "components.Layout.Sidebar.dashboard": "לגלות", + "components.Login.signingin": "התחברות…", + "components.Login.signinheader": "התחבר בשביל להמשיך", + "components.Login.signinwithoverseerr": "השתמש בחשבון {applicationTitle} שלך", + "components.Login.signinwithplex": "השתמש בחשבון הפלקס שלך", + "components.ManageSlideOver.downloadstatus": "הורדות", + "components.Discover.DiscoverWatchlist.watchlist": "רשימת צפייה", + "components.Discover.MovieGenreSlider.moviegenres": "סוגי סרטים", + "components.Discover.populartv": "סדרות פופולריות", + "components.IssueDetails.IssueComment.postedby": "פורסם לפני {relativeTime} ע\"י {username}", + "components.IssueDetails.IssueComment.postedbyedited": "פורסם לפני {relativeTime} ע\"י {username} (נערך)", + "components.IssueDetails.IssueDescription.description": "תיאור", + "components.IssueDetails.openedby": "#{issueId} נפתח לפני {relativeTime} ע\"י {username}", + "components.IssueDetails.openin4karr": "נפתח ב4K {arr}", + "components.IssueDetails.openinarr": "פתח ב {arr}", + "components.IssueList.IssueItem.problemepisode": "פרק מושפע", + "components.IssueList.sortAdded": "הכי עדכני", + "components.IssueList.sortModified": "עודכן לאחרונה", + "components.IssueModal.CreateIssueModal.allepisodes": "כל הפרקים", + "components.IssueModal.CreateIssueModal.providedetail": "אנא תפרט אודות המקרה שחווית.", + "components.IssueModal.CreateIssueModal.submitissue": "הגש מקרה", + "components.LanguageSelector.originalLanguageDefault": "כל השפות", + "components.Layout.Sidebar.requests": "בקשות", + "components.Layout.Sidebar.settings": "הגדרות", + "components.Layout.Sidebar.users": "משתמשים", + "components.Layout.UserDropdown.myprofile": "פרופיל", + "components.Layout.UserDropdown.settings": "הגדרות", + "components.Layout.VersionStatus.streamdevelop": "Overseerr פיתוח", + "components.AirDateBadge.airedrelative": "שודר ב-{relativeTime}", + "components.Discover.NetworkSlider.networks": "רשתות שידור", + "components.Discover.discover": "לגלות", + "components.Discover.plexwatchlist": "רשימת הצפייה שלך", + "components.Discover.popularmovies": "סרטים פופולרים", + "components.IssueDetails.IssueComment.validationComment": "אנא הכנס הודעה", + "components.IssueDetails.IssueDescription.deleteissue": "מחק מקרה", + "components.IssueDetails.issuetype": "סוג", + "components.IssueDetails.lastupdated": "עודכן לאחרונה", + "components.IssueDetails.leavecomment": "תגובה", + "components.IssueDetails.nocomments": "אין תגובות.", + "components.IssueDetails.problemseason": "עונה מושפעת", + "components.IssueDetails.reopenissue": "פתח מקרה מחדש", + "components.IssueDetails.reopenissueandcomment": "פתח מחדש עם תגובה", + "components.IssueDetails.season": "עונה {seasonNumber}", + "components.IssueDetails.toasteditdescriptionfailed": "משהו השתבש בזמן עריכת תיאור המקרה.", + "components.IssueDetails.toasteditdescriptionsuccess": "תיאור המקרה נערך בהצלחה!", + "components.IssueDetails.toastissuedeletefailed": "משהו השתבש בזמן מחיקת המקרה.", + "components.IssueDetails.toaststatusupdated": "סטאטוס המקרה עודכן בהצלחה!", + "components.IssueDetails.toaststatusupdatefailed": "משהו השתבש בזמן עדכון סטאטוס המקרה.", + "components.IssueDetails.unknownissuetype": "לא ידוע", + "components.IssueList.IssueItem.issuestatus": "סטאטוס", + "components.IssueList.IssueItem.unknownissuetype": "לא ידוע", + "components.IssueList.IssueItem.viewissue": "צפה במקרה", + "components.IssueList.issues": "מקרים", + "components.IssueList.showallissues": "הצג את כל המקרים", + "components.IssueModal.CreateIssueModal.allseasons": "כל העונות", + "components.IssueModal.CreateIssueModal.episode": "פרק {episodeNumber}", + "components.IssueModal.CreateIssueModal.extras": "תוספות", + "components.IssueModal.CreateIssueModal.problemepisode": "פרק מושפע", + "components.IssueModal.CreateIssueModal.season": "עונה {seasonNumber}", + "components.IssueModal.CreateIssueModal.problemseason": "עונה מושפעת", + "components.IssueModal.CreateIssueModal.toastFailedCreate": "משהו השתבש בזמן הגשת מקרה.", + "components.IssueModal.CreateIssueModal.reportissue": "דווח על מקרה", + "components.IssueModal.CreateIssueModal.whatswrong": "מה השתבש?", + "components.IssueModal.issueAudio": "שמע/אודיו", + "components.IssueModal.issueOther": "אחר", + "components.IssueModal.CreateIssueModal.toastviewissue": "צפה במקרה", + "components.IssueModal.CreateIssueModal.validationMessageRequired": "אנא כתוב תיאור", + "components.Layout.LanguagePicker.displaylanguage": "שפת תצוגה", + "components.Layout.SearchInput.searchPlaceholder": "חיפוש סרטים וסדרות", + "components.LanguageSelector.languageServerDefault": "ברירת מחדל({language})", + "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "בקשות סרטים", + "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "בקשות סדרות", + "components.Login.forgotpassword": "שכחת סיסמה?", + "components.Layout.VersionStatus.streamstable": "Overseerr יציבה", + "components.Login.email": "כתובת אימייל", + "components.ManageSlideOver.manageModalAdvanced": "מתקדם", + "components.ManageSlideOver.manageModalClearMedia": "מחק מידע", + "components.Discover.emptywatchlist": "מדיה נוספה לתוך רשימת צפייה תוצג פה.", + "components.IssueModal.CreateIssueModal.toastSuccessCreate": "דווח מקרה של {title} הוגש בהצלחה!", + "components.Layout.Sidebar.issues": "מקרים", + "components.Layout.UserDropdown.requests": "בקשות", + "components.Layout.UserDropdown.signout": "התנתק", + "components.Layout.VersionStatus.outofdate": "לא מעודכן", + "components.Login.loginerror": "משהו השתבש בזמן ההתחברות.", + "components.Login.password": "סיסמה", + "components.Login.signin": "התחברות", + "components.Login.validationpasswordrequired": "חובה לכתוב סיסמה" } diff --git a/src/i18n/locale/hi.json b/src/i18n/locale/hi.json index 0967ef424b..acaeb17056 100644 --- a/src/i18n/locale/hi.json +++ b/src/i18n/locale/hi.json @@ -1 +1,147 @@ -{} +{ + "components.CollectionDetails.numberofmovies": "{count} फिल्में", + "components.CollectionDetails.requestcollection": "संग्रह अनुरोध", + "components.Discover.DiscoverMovieLanguage.languageMovies": "{language} फिल्में", + "components.CollectionDetails.overview": "अवलोकन", + "components.CollectionDetails.requestcollection4k": "4K में संग्रह अनुरोध", + "components.AppDataWarning.dockerVolumeMissingDescription": "{appDataPath} वॉल्यूम माउंट ठीक से कॉन्फ़िगर नहीं किया गया था। कंटेनर के बंद होने या फिर से चालू होने पर सारा डेटा साफ़ हो जाएगा।", + "components.Discover.DiscoverMovieGenre.genreMovies": "{genre} फिल्में", + "components.AirDateBadge.airedrelative": "प्रसारित {relativeTime}", + "components.AirDateBadge.airsrelative": "प्रसारण {relativeTime}", + "components.Discover.CreateSlider.addSlider": "स्लाइडर जोड़ें", + "components.Discover.CreateSlider.addcustomslider": "कस्टम स्लाइडर बनाएँ", + "components.Discover.CreateSlider.addfail": "नया स्लाइडर बनाने में विफल.", + "components.Discover.CreateSlider.addsuccess": "नया स्लाइडर बनाया गया और खोज अनुकूलन सेटिंग्स को सहेजा गया.", + "components.Discover.CreateSlider.editSlider": "स्लाइडर संपादित करें", + "components.Discover.CreateSlider.editfail": "स्लाइडर संपादित करने में विफल।", + "components.Discover.CreateSlider.editsuccess": "संपादित स्लाइडर और सहेजी गई खोज अनुकूलन सेटिंग्स।", + "components.Discover.CreateSlider.nooptions": "कोई परिणाम नहीं।", + "components.Discover.CreateSlider.needresults": "आपके पास कम से कम 1 परिणाम होना चाहिए।", + "components.Discover.CreateSlider.providetmdbgenreid": "एक TMDB शैली आईडी प्रदान करें", + "components.Discover.CreateSlider.providetmdbkeywordid": "एक TMDB कीवर्ड आईडी प्रदान करें", + "components.Discover.CreateSlider.providetmdbnetwork": "टीएमडीबी नेटवर्क आईडी प्रदान करें", + "components.Discover.CreateSlider.providetmdbstudio": "TMDB स्टूडियो आईडी दें", + "components.Discover.CreateSlider.providetmdbsearch": "एक खोज क्वेरी प्रदान करें", + "components.Discover.CreateSlider.searchGenres": "खोज शैलियां…", + "components.Discover.CreateSlider.searchKeywords": "मुख्य शब्द खोजे…", + "components.Discover.CreateSlider.searchStudios": "स्टूडियो खोजें…", + "components.Discover.CreateSlider.validationDatarequired": "आपको एक डेटा मान प्रदान करना होगा।", + "components.Discover.CreateSlider.validationTitlerequired": "आपको एक शीर्षक प्रदान करना होगा।", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} फिल्में", + "pages.somethingwentwrong": "कुछ गलत हो गया", + "components.Discover.createnewslider": "नया स्लाइडर बनाएं", + "components.Discover.CreateSlider.slidernameplaceholder": "स्लाइडर का नाम", + "components.Discover.CreateSlider.starttyping": "खोजने के लिए लिखना प्रारंभ कर रहा है.", + "components.UserList.importfromplex": "Plex उपयोगकर्ता आयात करें", + "components.UserList.userdeleted": "उपयोगकर्ता सफलतापूर्वक हटा दिया गया!", + "components.UserList.userdeleteerror": "उपयोगकर्ता को हटाते समय कुछ गलत हुआ.", + "components.UserList.sortDisplayName": "प्रदर्शित होने वाला नाम", + "components.UserList.sortRequests": "अनुरोध संख्या", + "components.UserList.user": "उपयोगकर्ता", + "components.UserList.password": "पासवर्ड", + "components.UserList.plexuser": "Plex उपयोगकर्ता", + "components.UserList.email": "मेल पता", + "components.UserList.edituser": "उपयोगकर्ता अनुमतियां संपादित करें", + "components.UserList.importfromplexerror": "Plex उपयोगकर्ताओं को आयात करते समय कुछ गलत हुआ.", + "components.UserList.role": "भूमिका", + "components.UserList.userlist": "उपयोगकर्ता सूची", + "components.UserList.users": "उपयोगकर्ता", + "components.UserList.userssaved": "उपयोगकर्ता अनुमतियां सफलतापूर्वक सहेजी गईं!", + "components.UserList.validationEmail": "आपको एक मान्य ईमेल पता प्रदान करना होगा", + "components.UserProfile.ProfileHeader.joindate": "शामिल हुए {joindate}", + "components.UserList.passwordinfodescription": "एप्लिकेशन URL कॉन्फ़िगर करें और स्वचालित पासवर्ड जनरेशन की अनुमति देने के लिए ईमेल सूचनाएं सक्षम करें।", + "components.UserList.nouserstoimport": "आयात करने के लिए कोई Plex उपयोगकर्ता नहीं हैं।", + "components.UserList.totalrequests": "अनुरोध", + "components.UserList.usercreatedfailed": "उपयोगकर्ता बनाते समय कुछ गड़बड़ी हुई.", + "components.UserList.sortCreated": "संलग्न तिथि", + "components.UserList.validationpasswordminchars": "पारण शब्द बहुत छोटा है; कम से कम 8 वर्ण होने चाहिए", + "components.UserList.localuser": "स्थानीय उपयोगकर्ता", + "components.UserList.owner": "स्वामी", + "components.UserList.usercreatedfailedexisting": "प्रदान किया गया ईमेल पता पहले से ही किसी अन्य उपयोगकर्ता द्वारा उपयोग में है।", + "components.UserList.usercreatedsuccess": "उपयोगकर्ता सफलतापूर्वक बनाया गया!", + "components.UserList.userfail": "उपयोगकर्ता अनुमतियां सहेजते समय कोई गड़बड़ी हुई.", + "components.UserList.displayName": "प्रदर्शित होने वाला नाम", + "components.UserProfile.ProfileHeader.profile": "प्रोफ़ाइल देखें", + "components.UserProfile.ProfileHeader.settings": "सेटिंग्स बदलें", + "components.Discover.DiscoverTvGenre.genreSeries": "{genre} शृंखला", + "components.Discover.DiscoverTvLanguage.languageSeries": "{language} शृंखला", + "components.Discover.MovieGenreList.moviegenres": "फिल्म शैली", + "components.Discover.DiscoverNetwork.networkSeries": "{network} शृंखला", + "components.Discover.DiscoverStudio.studioMovies": "{studio} फिल्में", + "components.Discover.DiscoverSliderEdit.deletefail": "स्लाइडर को हटाने में विफल रहा।.", + "components.Discover.DiscoverSliderEdit.deletesuccess": "स्लाइडर सफलतापूर्वक हटाया गया.", + "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} शृंखला", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "आपकी प्लेक्स वॉचलिस्ट", + "components.Discover.NetworkSlider.networks": "नेटवर्क", + "components.Discover.DiscoverMovies.sortPopularityDesc": "घटती लोकप्रियता", + "components.Discover.DiscoverMovies.sortReleaseDateAsc": "बढ़ती रिलीज की तारीख", + "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "TMDB रेटिंग आरोही", + "components.Discover.DiscoverSliderEdit.enable": "दृश्यता टॉगल करें", + "components.Discover.DiscoverTv.discovertv": "शृंखला", + "components.Discover.DiscoverTv.sortFirstAirDateAsc": "पहली एयर डेट आरोही", + "components.Discover.DiscoverTv.sortFirstAirDateDesc": "पहली एयर डेट अवरोही", + "components.Discover.DiscoverTv.sortPopularityAsc": "बढ़ती लोकप्रियता", + "components.Discover.DiscoverTv.sortTitleAsc": "शीर्षक (क-ख-घ) आरोही", + "components.Discover.DiscoverTv.sortTitleDesc": "शीर्षक (क-ख-घ) अवरोही", + "components.Discover.DiscoverTv.sortTmdbRatingAsc": "TMDB रेटिंग आरोही", + "components.Discover.DiscoverTv.sortTmdbRatingDesc": "TMDB रेटिंग अवरोही", + "components.Discover.DiscoverWatchlist.watchlist": "प्लेक्स वॉचलिस्ट", + "components.Discover.FilterSlideover.clearfilters": "सक्रिय फिल्टर साफ़ करें", + "components.Discover.FilterSlideover.filters": "फ़िल्टर", + "components.Discover.FilterSlideover.firstAirDate": "पहला एयर डेट", + "components.Discover.FilterSlideover.genres": "शैलियां", + "components.Discover.FilterSlideover.originalLanguage": "मूल भाषा", + "components.Discover.FilterSlideover.ratingText": "{minValue} और {maxValue} के बीच रेटिंग्स", + "components.Discover.FilterSlideover.runtime": "रनटाइम", + "components.Discover.FilterSlideover.studio": "स्टुडियो", + "components.Discover.FilterSlideover.to": "तक", + "pages.serviceunavailable": "सेवा अनुपलब्ध है", + "components.Discover.DiscoverMovies.sortPopularityAsc": "बढ़ती लोकप्रियता", + "components.Discover.DiscoverMovies.sortTitleDesc": "शीर्षक (क-ख-घ) अवरोही", + "components.Discover.DiscoverMovies.discovermovies": "फिल्में", + "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "TMDB रेटिंग अवरोही", + "components.Discover.DiscoverMovies.sortReleaseDateDesc": "घटती रिलीज की तारीख", + "components.Discover.DiscoverMovies.sortTitleAsc": "शीर्षक (क-ख-घ) आरोही", + "components.Discover.DiscoverSliderEdit.remove": "निकालें", + "components.Discover.DiscoverTv.sortPopularityDesc": "घटती लोकप्रियता", + "components.Discover.FilterSlideover.releaseDate": "रिलीज़ की तारीख", + "components.Discover.FilterSlideover.runtimeText": "{minValue}-{maxValue} मिनट का रनटाइम", + "components.Discover.FilterSlideover.from": "से", + "components.Discover.FilterSlideover.streamingservices": "स्ट्रीमिंग सेवाएं", + "components.Discover.FilterSlideover.tmdbuserscore": "TMDB उपयोगकर्ता स्कोर", + "components.Discover.FilterSlideover.keywords": "खोजशब्दों", + "components.Discover.MovieGenreSlider.moviegenres": "फिल्म शैली", + "components.Discover.DiscoverMovies.activefilters": "{गिनती, बहुवचन, एक {# सक्रिय फ़िल्टर} अन्य {# सक्रिय फ़िल्टर}}", + "components.Discover.DiscoverTv.activefilters": "{गिनती, बहुवचन, एक {# सक्रिय फ़िल्टर} अन्य {# सक्रिय फ़िल्टर}}", + "components.Discover.FilterSlideover.activefilters": "{गिनती, बहुवचन, एक {# सक्रिय फ़िल्टर} अन्य {# सक्रिय फ़िल्टर}}", + "components.Discover.networks": "नेटवर्क", + "components.Discover.plexwatchlist": "आपकी प्लेक्स वॉचलिस्ट", + "components.Discover.popularmovies": "लोकप्रिय फिल्में", + "components.Discover.studios": "स्टूडियो", + "components.Discover.tmdbnetwork": "TMDB नेटवर्क", + "components.Discover.tmdbsearch": "TMDB खोज", + "components.Discover.recentlyAdded": "हाल ही में जोड़ा गया", + "components.Discover.recentrequests": "हाल के अनुरोध", + "components.Discover.trending": "ट्रेंडिंग", + "components.Discover.TvGenreList.seriesgenres": "श्रृंखला शैलियों", + "components.Discover.TvGenreSlider.tvgenres": "श्रृंखला शैलियों", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "हाल ही में जोड़ा गया", + "components.Discover.StudioSlider.studios": "स्टूडियो", + "components.Discover.customizediscover": "डिस्कवर को अनुकूलित करें", + "components.Discover.emptywatchlist": "आपकी Plex वॉचलिस्ट में जोड़ा गया मीडिया यहां दिखाई देगा.", + "components.Discover.populartv": "लोकप्रिय श्रृंखला", + "components.Discover.resetfailed": "खोज अनुकूलन सेटिंग्स को रीसेट करने में कुछ गलत हो गया।", + "components.Discover.resettodefault": "डिफ़ॉल्ट पर रीसेट करें", + "components.Discover.stopediting": "संपादन बंद करो", + "components.Discover.tmdbmoviegenre": "टीएमडीबी मूवी शैली", + "components.Discover.tmdbmoviekeyword": "TMDB मूवी कीवर्ड", + "components.Discover.tmdbstudio": "TMDB स्टूडियो", + "components.Discover.tmdbtvkeyword": "TMDB सीरीज कीवर्ड", + "components.Discover.tvgenres": "श्रृंखला शैलियों", + "components.Discover.moviegenres": "फिल्म शैली", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "आपकी प्लेक्स वॉचलिस्ट", + "components.Discover.resetwarning": "सभी स्लाइडर्स को डिफ़ॉल्ट रूप से रीसेट करें। यह किसी भी कस्टम स्लाइडर को भी हटा देगा!", + "components.Discover.tmdbtvgenre": "TMDB श्रृंखला शैली", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "आपकी Plex वॉचलिस्ट में जोड़ा गया मीडिया यहां दिखाई देगा.", + "components.Discover.discover": "खोज" +} diff --git a/src/i18n/locale/hr.json b/src/i18n/locale/hr.json index 710ba1fbd8..a1cf669741 100644 --- a/src/i18n/locale/hr.json +++ b/src/i18n/locale/hr.json @@ -1,33 +1,31 @@ { - "components.CollectionDetails.numberofmovies": "{count} Filmovi", + "components.CollectionDetails.numberofmovies": "{count} filmova", "components.CollectionDetails.overview": "Pregled", - "components.CollectionDetails.requestcollection4k": "Zahtjev za serijalom u 4K", - "components.CollectionDetails.requestcollection": "Zahtjev za serijalom", - "components.Discover.DiscoverMovieGenre.genreMovies": "{genre} Filmovi", - "components.Discover.DiscoverMovieLanguage.languageMovies": "{language} Filmovi", - "components.Discover.DiscoverNetwork.networkSeries": "{network} Serije", - "components.Discover.DiscoverStudio.studioMovies": "{studio} Filmovi", + "components.CollectionDetails.requestcollection4k": "Zahtjev za zbirkom u 4K", + "components.CollectionDetails.requestcollection": "Zahtjev za zbirkom", + "components.Discover.DiscoverMovieGenre.genreMovies": "{genre} filmovi", + "components.Discover.DiscoverMovieLanguage.languageMovies": "{language} filmovi", + "components.Discover.DiscoverNetwork.networkSeries": "{network} serije", + "components.Discover.DiscoverStudio.studioMovies": "{studio} filmovi", "components.Discover.discover": "Otkrivanje", - "components.Discover.discovermovies": "Popularni Filmovi", - "components.Discover.discovertv": "Popularne Serije", - "components.Discover.DiscoverTvGenre.genreSeries": "{genre} Serije", - "components.Discover.DiscoverTvLanguage.languageSeries": "{language} Serije", - "components.Discover.DiscoverWatchlist.discoverwatchlist": "Vaš Plex popis za gledanje", - "components.Discover.MovieGenreList.moviegenres": "Filmski Žanrovi", + "components.Discover.DiscoverTvGenre.genreSeries": "{genre} serije", + "components.Discover.DiscoverTvLanguage.languageSeries": "{language} serije", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "Tvoj Plex popis gledanja", + "components.Discover.MovieGenreList.moviegenres": "Filmski žanrovi", "components.Discover.StudioSlider.studios": "Studio", - "components.Discover.TvGenreList.seriesgenres": "Serijski Žanrovi", - "components.Discover.TvGenreSlider.tvgenres": "Serijski Žanrovi", - "components.Discover.plexwatchlist": "Vaš Plex popis za gledanje", - "components.Discover.popularmovies": "Popularni Filmovi", - "components.Discover.recentlyAdded": "Nedavno Dodano", - "components.Discover.recentrequests": "Nedavni Zahtjevi", - "components.Discover.trending": "Popularno", - "components.IssueDetails.IssueComment.edit": "Uredi Komentar", + "components.Discover.TvGenreList.seriesgenres": "Serijski žanrovi", + "components.Discover.TvGenreSlider.tvgenres": "Serijski žanrovi", + "components.Discover.plexwatchlist": "Tvoj Plex popis gledanja", + "components.Discover.popularmovies": "Popularni filmovi", + "components.Discover.recentlyAdded": "Nedavno dodani", + "components.Discover.recentrequests": "Nedavni zahtjevi", + "components.Discover.trending": "U trendu", + "components.IssueDetails.IssueComment.edit": "Uredi komentar", "components.IssueDetails.IssueDescription.deleteissue": "Izbriši problem", "components.IssueDetails.IssueDescription.description": "Opis", "components.IssueDetails.IssueDescription.edit": "Uredi opis", - "components.IssueDetails.allepisodes": "Sve Epizode", - "components.IssueDetails.closeissue": "Zatvori Problem", + "components.IssueDetails.allepisodes": "Sve epizode", + "components.IssueDetails.closeissue": "Zatvori problem", "components.IssueDetails.closeissueandcomment": "Zatvori s komentarom", "components.IssueDetails.commentplaceholder": "Dodaj komentar…", "components.IssueDetails.comments": "Komentari", @@ -37,28 +35,28 @@ "components.AppDataWarning.dockerVolumeMissingDescription": "Navedeni {appDataPath} mapirani volumen nije ispravno podešen. Svi podaci će biti izbrisani kada se spremnik (container) zaustavi ili ponovno pokrene.", "components.Discover.DiscoverWatchlist.watchlist": "Plex popis za gledanje", "components.Discover.emptywatchlist": "Filmovi dodani na Vaš popis za gledanje pojaviti će se ovdje.", - "components.Discover.MovieGenreSlider.moviegenres": "Filmski Žanrovi", - "components.Discover.NetworkSlider.networks": "Striming servisi", - "components.Discover.populartv": "Popularne Serije", - "components.Discover.upcomingtv": "Nadolazeće Serije", - "components.Discover.upcoming": "Nadolazeći Filmovi", - "components.Discover.upcomingmovies": "Nadolazeći Filmovi", + "components.Discover.MovieGenreSlider.moviegenres": "Filmski žanrovi", + "components.Discover.NetworkSlider.networks": "Mreže", + "components.Discover.populartv": "Popularne serije", + "components.Discover.upcomingtv": "Nadolazeće serije", + "components.Discover.upcoming": "Nadolazeći filmovi", + "components.Discover.upcomingmovies": "Nadolazeći filmovi", "components.DownloadBlock.estimatedtime": "Procijenjeno {time}", - "components.IssueDetails.IssueComment.areyousuredelete": "Jeste li sigurni da želite izbrisati ovaj komentar?", - "components.IssueDetails.IssueComment.delete": "Izbriši Komentar", - "components.IssueDetails.IssueComment.postedby": "Objavljeno u {relativeTime} od korisnika {username}", - "components.IssueDetails.IssueComment.validationComment": "Morate unijeti poruku", - "components.IssueDetails.IssueComment.postedbyedited": "Objavljeno u {relativeTime} od korisnika {username} (Uređeno)", - "components.IssueDetails.allseasons": "Sve Sezone", - "components.IssueDetails.episode": "Epizode {episodeNumber}", - "components.IssueDetails.deleteissueconfirm": "Jeste li sigurni da želite izbrisati ovaj problem?", + "components.IssueDetails.IssueComment.areyousuredelete": "Stvarno želiš izbrisati ovaj komentar?", + "components.IssueDetails.IssueComment.delete": "Izbriši komentar", + "components.IssueDetails.IssueComment.postedby": "Objavljeno {relativeTime}, autor: {username}", + "components.IssueDetails.IssueComment.validationComment": "Moraš upisati poruku", + "components.IssueDetails.IssueComment.postedbyedited": "Objavljeno {relativeTime}, autor: {username} (promijenjeno)", + "components.IssueDetails.allseasons": "Sve sezone", + "components.IssueDetails.episode": "Epizoda {episodeNumber}", + "components.IssueDetails.deleteissueconfirm": "Stvarno želiš izbrisati ovaj problem?", "components.IssueDetails.lastupdated": "Zadnje ažurirano", "components.IssueDetails.leavecomment": "Komentar", - "components.IssueDetails.nocomments": "Bez komentara.", - "components.IssueDetails.openedby": "#{issueId} otvoren u {relativeTime} od korisnka {username}", - "components.IssueDetails.openin4karr": "Otvoren u 4K {arr}", - "components.IssueDetails.openinarr": "Otvoren u {arr}", - "components.IssueDetails.toasteditdescriptionfailed": "Nešto nije u redu prilikom uređivanja opisa problema.", + "components.IssueDetails.nocomments": "Nema komentara.", + "components.IssueDetails.openedby": "Problem #{issueId} otvoren {relativeTime}, autor: {username}", + "components.IssueDetails.openin4karr": "Otvori u 4K {arr}", + "components.IssueDetails.openinarr": "Otvori u {arr}", + "components.IssueDetails.toasteditdescriptionfailed": "Dogodila se greška prilikom uređivanja opisa problema.", "components.IssueModal.CreateIssueModal.allepisodes": "Sve epizode", "components.IssueDetails.toastissuedeleted": "Problem je uspješno izbrisan!", "components.IssueDetails.unknownissuetype": "Nepoznato", @@ -69,19 +67,19 @@ "components.IssueModal.issueAudio": "Zvuk", "components.IssueModal.issueSubtitles": "Podnaslov", "components.IssueModal.issueVideo": "Video", - "components.IssueList.IssueItem.seasons": "{seasonCount, plural, one {Sezona} other {Sezone}}", + "components.IssueList.IssueItem.seasons": "{seasonCount, plural, one {sezona} few {sezone} other {sezona}}", "components.Layout.UserDropdown.myprofile": "Profil", "components.Layout.UserDropdown.requests": "Zahtjevi", - "components.Layout.VersionStatus.streamstable": "Overseerr Stabilan", - "components.Login.password": "Zaporka", + "components.Layout.VersionStatus.streamstable": "Overseerr stablina verzija", + "components.Login.password": "Lozinka", "components.ManageSlideOver.openarr4k": "Otvori 4K u {arr}-u", "components.ManageSlideOver.pastdays": "Proteklih {days, number} dana", - "components.Login.signinwithplex": "Koristite svoj Plex račun", + "components.Login.signinwithplex": "Koristi tvoj Plex račun", "components.ManageSlideOver.movie": "film", - "components.Login.validationemailrequired": "Morate unijeti valjanu adresu e-pošte", + "components.Login.validationemailrequired": "Moraš zadati valjanju e‑mail adresu", "components.ManageSlideOver.manageModalRequests": "Zahtjevi", "components.ManageSlideOver.manageModalClearMediaWarning": "* Ovo će nepovratno ukloniti sve podatke za ovaj {mediaType}, uključujući sve zahtjeve. Ako ova stavka postoji u vašoj Plex biblioteci, informacije o medijima ponovno će se stvoriti tijekom sljedećeg skeniranja.", - "components.ManageSlideOver.manageModalMedia4k": "4K Mediji", + "components.ManageSlideOver.manageModalMedia4k": "4K mediji", "components.ManageSlideOver.manageModalNoRequests": "Nema zahtjeva.", "components.ManageSlideOver.manageModalMedia": "Mediji", "components.ManageSlideOver.manageModalTitle": "Upravljanje {mediaType}", @@ -89,69 +87,69 @@ "components.MovieDetails.originaltitle": "Izvorni naslov", "components.MovieDetails.overview": "Pregled", "components.ManageSlideOver.openarr": "Otvori u {arr}-u", - "components.MovieDetails.cast": "Postava", + "components.MovieDetails.cast": "Glumci", "components.MovieDetails.budget": "Proračun", "components.ManageSlideOver.opentautulli": "Otvori u Tautulli-u", "components.MediaSlider.ShowMoreCard.seemore": "Vidi više", "components.MovieDetails.markavailable": "Označi kao dostupno", "components.ManageSlideOver.tvshow": "serije", - "components.MovieDetails.productioncountries": "{countryCount, plural, one {Država produkcije} other {Države produkcije}}", - "components.MovieDetails.managemovie": "Upravljanje filmom", + "components.MovieDetails.productioncountries": "{countryCount, plural, one {zemlja produkcije} few {zemlje produkcije} other {zemalja produkcije}}", + "components.MovieDetails.managemovie": "Upravljaj filmom", "components.MovieDetails.playonplex": "Reproduciraj na Plex-u", "components.MovieDetails.overviewunavailable": "Pregled nedostupan.", "components.MovieDetails.reportissue": "Prijavi problem", "components.MovieDetails.revenue": "Prihod", - "components.MovieDetails.rtaudiencescore": "Rotten Tomatoes ocjena publike", + "components.MovieDetails.rtaudiencescore": "Ocjena publike na Rotten Tomatoes", "components.MovieDetails.showless": "Prikaži manje", "components.MovieDetails.showmore": "Prikaži više", "components.MovieDetails.similar": "Slični naslovi", - "components.MovieDetails.streamingproviders": "Trenutačno se prikacuje na", - "components.NotificationTypeSelector.issuecommentDescription": "Pošaljite obavijest kada problemi dobiju nove komentare.", + "components.MovieDetails.streamingproviders": "Trenutačno se prikazuje na", + "components.NotificationTypeSelector.issuecommentDescription": "Pošalji obavijest kada problemi dobiju nove komentare.", "components.NotificationTypeSelector.issueresolved": "Problem riješen", "components.NotificationTypeSelector.issuereopened": "Problem ponovno otvoren", "components.NotificationTypeSelector.issueresolvedDescription": "Pošalji obavijest kada se problem riješi.", "components.NotificationTypeSelector.issuereopenedDescription": "Pošalji obavijest kada se problem ponovno otvori.", - "components.NotificationTypeSelector.mediaAutoApproved": "Automatsko odobravanje zahtjeva", + "components.NotificationTypeSelector.mediaAutoApproved": "Zahtjev je automatski odobren", "components.IssueDetails.issuepagetitle": "Problem", - "components.IssueDetails.issuetype": "Tip", + "components.IssueDetails.issuetype": "Vrsta", "components.IssueDetails.play4konplex": "Reproduciraj u 4K na Plex-u", "components.IssueDetails.playonplex": "Reproduciraj na Plex-u", - "components.IssueDetails.problemseason": "Zahvaćene Sezone", - "components.IssueDetails.problemepisode": "Zahvaćene Epizode", - "components.IssueDetails.reopenissue": "Ponovno otvorite problem", - "components.IssueDetails.reopenissueandcomment": "Ponovno otvori s komentarom", + "components.IssueDetails.problemseason": "Zahvaćena sezona", + "components.IssueDetails.problemepisode": "Zahvaćena epizoda", + "components.IssueDetails.reopenissue": "Ponovo otvori problem", + "components.IssueDetails.reopenissueandcomment": "Ponovo otvori s komentarom", "components.IssueDetails.season": "Sezona {seasonNumber}", "components.IssueDetails.toasteditdescriptionsuccess": "Opis problema je uspješno uređen!", - "components.IssueDetails.toastissuedeletefailed": "Nešto nije u redu prilikom brisanja problema.", - "components.IssueDetails.toaststatusupdated": "Status problema je uspješno ažuriran!", - "components.IssueDetails.toaststatusupdatefailed": "Nešto nije u redu prilikom ažuriranja statusa problema.", - "components.IssueList.IssueItem.issuestatus": "Status", + "components.IssueDetails.toastissuedeletefailed": "Dogodila se greška prilikom brisanja problema.", + "components.IssueDetails.toaststatusupdated": "Stanje problema je uspješno ažurirano!", + "components.IssueDetails.toaststatusupdatefailed": "Dogodila se greška prilikom ažuriranja stanja problema.", + "components.IssueList.IssueItem.issuestatus": "Stanje", "components.IssueList.IssueItem.issuetype": "Vrsta", "components.IssueList.IssueItem.opened": "Otvoren", - "components.IssueList.IssueItem.problemepisode": "Zahvaćene Epizode", + "components.IssueList.IssueItem.problemepisode": "Zahvaćena epizoda", "components.IssueList.IssueItem.unknownissuetype": "Nepoznato", "components.IssueList.IssueItem.episodes": "{episodeCount, plural, one {Epizoda} other {Epizode}}", - "components.IssueList.IssueItem.viewissue": "Pogledaj problem", + "components.IssueList.IssueItem.viewissue": "Prikaz problema", "components.IssueList.showallissues": "Prikaži sve probleme", "components.IssueList.sortAdded": "Najnoviji", - "components.IssueList.sortModified": "Zadnje promjene", + "components.IssueList.sortModified": "Zadnja promjena", "components.IssueModal.CreateIssueModal.episode": "Epizoda {episodeNumber}", "components.IssueModal.CreateIssueModal.extras": "Dodaci", - "components.IssueModal.CreateIssueModal.problemepisode": "Zahvaćene epizode", - "components.IssueModal.CreateIssueModal.problemseason": "Zahvaćene sezone", - "components.IssueModal.CreateIssueModal.providedetail": "Navedite detaljno objašnjenje problema na koji ste naišli.", - "components.IssueModal.CreateIssueModal.reportissue": "Prijavite problem", + "components.IssueModal.CreateIssueModal.problemepisode": "Zahvaćena epizoda", + "components.IssueModal.CreateIssueModal.problemseason": "Zahvaćena sezona", + "components.IssueModal.CreateIssueModal.providedetail": "Navedi detaljno objašnjenje pronađenog problema.", + "components.IssueModal.CreateIssueModal.reportissue": "Prijavi problem", "components.IssueModal.CreateIssueModal.season": "Sezona {seasonNumber}", "components.IssueModal.CreateIssueModal.submitissue": "Pošalji problem", - "components.IssueModal.CreateIssueModal.toastFailedCreate": "Nešto nije u redu prilikom slanja problema.", + "components.IssueModal.CreateIssueModal.toastFailedCreate": "Dogodila se greška prilikom slanja problema.", "components.IssueModal.CreateIssueModal.toastSuccessCreate": "Problem prijavljen za {title} je uspješno predan!", - "components.IssueModal.CreateIssueModal.toastviewissue": "Pogledaj problem", - "components.IssueModal.CreateIssueModal.validationMessageRequired": "Morate unijeti opis", + "components.IssueModal.CreateIssueModal.toastviewissue": "Prikaz problema", + "components.IssueModal.CreateIssueModal.validationMessageRequired": "Moraš navesti opis", "components.IssueModal.CreateIssueModal.whatswrong": "Što nije u redu?", - "components.LanguageSelector.languageServerDefault": "Default ({language})", + "components.LanguageSelector.languageServerDefault": "Zadano ({language})", "components.LanguageSelector.originalLanguageDefault": "Svi jezici", "components.Layout.LanguagePicker.displaylanguage": "Jezik prikaza", - "components.Layout.SearchInput.searchPlaceholder": "Pretražite filmove i TV", + "components.Layout.SearchInput.searchPlaceholder": "Pretraži filmove i TV", "components.Layout.Sidebar.dashboard": "Otkrivanje", "components.Layout.Sidebar.issues": "Problemi", "components.Layout.Sidebar.requests": "Zahtjevi", @@ -161,104 +159,944 @@ "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "Zahtjevi za filmove", "components.Layout.UserDropdown.settings": "Postavke", "components.Layout.UserDropdown.signout": "Odjavi se", - "components.Layout.VersionStatus.outofdate": "Zastarjelo", - "components.Layout.VersionStatus.streamdevelop": "Overseerr Razvoj", - "components.Login.email": "Adresa e-pošte", - "components.Login.forgotpassword": "Zaboravljena lozinka?", - "components.Login.loginerror": "Nešto nije u redu prilikom pokušaja prijave.", - "components.Login.signin": "Prijavite se", + "components.Layout.VersionStatus.outofdate": "Zastarjela verzija", + "components.Layout.VersionStatus.streamdevelop": "Overseerr razvojna verzija", + "components.Login.email": "E-mail adresa", + "components.Login.forgotpassword": "Ne sječaš se lozinke?", + "components.Login.loginerror": "Dogodila se greška prilikom pokušaja prijave.", + "components.Login.signin": "Prijavi se", "components.Login.signingin": "Prijava…", - "components.Layout.VersionStatus.commitsbehind": "", - "components.Login.signinheader": "Prijavite se za nastavak", - "components.Login.signinwithoverseerr": "Koristite svoj {applicationTitle} račun", - "components.Login.validationpasswordrequired": "Morate unijeti lozinku", - "components.ManageSlideOver.alltime": "Cijelo vrijeme", + "components.Layout.VersionStatus.commitsbehind": "Verzija ne sadrži {commitsBehind} {commitsBehind, plural, one {promjenu} few {promjene} other {promjena}}", + "components.Login.signinheader": "Prijavi se za nastavak", + "components.Login.signinwithoverseerr": "Koristi tvoj {applicationTitle} račun", + "components.Login.validationpasswordrequired": "Moraš navesti lozinku", + "components.ManageSlideOver.alltime": "Svo vrijeme", "components.ManageSlideOver.downloadstatus": "Preuzimanja", - "components.ManageSlideOver.manageModalAdvanced": "Napredna", - "components.ManageSlideOver.manageModalClearMedia": "Obriši podatke", + "components.ManageSlideOver.manageModalAdvanced": "Napredno", + "components.ManageSlideOver.manageModalClearMedia": "Izbriši podatke", "components.ManageSlideOver.manageModalIssues": "Otvoreni problemi", "components.ManageSlideOver.markallseasons4kavailable": "Označi sve sezone kao dostupne u 4K", "components.ManageSlideOver.markallseasonsavailable": "Označi sve sezone kao dostupne", "components.ManageSlideOver.markavailable": "Označi kao dostupno", "components.ManageSlideOver.playedby": "Reproducirano od", - "components.ManageSlideOver.plays": "{playCount, broj} {playCount, plural, one {reproducirano} other {reproducirano}}", - "components.MovieDetails.MovieCast.fullcast": "Glumačka postava", + "components.ManageSlideOver.plays": "{playCount, number} {playCount, plural, one {reprodukcija} few {reprodukcije} other {reprodukcija}}", + "components.MovieDetails.MovieCast.fullcast": "Svi glumci", "components.MovieDetails.digitalrelease": "Digitalno izdanje", - "components.MovieDetails.mark4kavailable": "Označi kao dostupno u 4K", + "components.MovieDetails.mark4kavailable": "Označi kao dostupno u 4K rezoluciji", "components.MovieDetails.originallanguage": "Izvorni jezik", - "components.MovieDetails.MovieCrew.fullcrew": "Filmska postava", + "components.MovieDetails.MovieCrew.fullcrew": "Svi suradnici", "components.MovieDetails.physicalrelease": "Fizičko izdanje", "components.MovieDetails.play4konplex": "Reproduciraj u 4K na Plex-u", "components.MovieDetails.recommendations": "Preporuke", - "components.MovieDetails.releasedate": "{releaseCount, plural, one {Datum Izlaska} other {Datumi izlaska}}", - "components.MovieDetails.rtcriticsscore": "Rotten Tomatoes Tomatometer", - "components.MovieDetails.runtime": "{minutes} minute", - "components.MovieDetails.studio": "{studioCount, plural, one {Studio} other {Studiji}}", + "components.MovieDetails.releasedate": "{releaseCount, plural, one {Datum izlaska} other {Datumi izlaska}}", + "components.MovieDetails.rtcriticsscore": "Tomatometer na Rotten Tomatoes", + "components.MovieDetails.runtime": "{minutes} min", + "components.MovieDetails.studio": "{studioCount, plural, one {studio} few {studija} other {studija}}", "components.MovieDetails.theatricalrelease": "Izdanje u kinima", - "components.MovieDetails.tmdbuserscore": "Ocjena korisnika TMDB-a", - "components.MovieDetails.viewfullcrew": "Pogledajte cijelu filmsku postavu", - "components.MovieDetails.watchtrailer": "Pogledajte najavu", - "components.NotificationTypeSelector.adminissuecommentDescription": "Primite obavijest kada drugi korisnici komentiraju probleme.", - "components.NotificationTypeSelector.adminissuereopenedDescription": "Primite obavijest kada problem ponovno otvore drugi korisnici.", - "components.NotificationTypeSelector.adminissueresolvedDescription": "Primite obavijest kada drugi korisnici riješe probleme.", - "components.NotificationTypeSelector.issuecomment": "Komentiraj problem", + "components.MovieDetails.tmdbuserscore": "TMDB ocjena korisnika", + "components.MovieDetails.viewfullcrew": "Prikaz svih suradnika", + "components.MovieDetails.watchtrailer": "Gledaj najavu", + "components.NotificationTypeSelector.adminissuecommentDescription": "Primi obavijest kad drugi korisnici komentiraju probleme.", + "components.NotificationTypeSelector.adminissuereopenedDescription": "Primi obavijest kad drugi korisnici ponovno otvore probleme.", + "components.NotificationTypeSelector.adminissueresolvedDescription": "Primi obavijest kad drugi korisnici riješe probleme.", + "components.NotificationTypeSelector.issuecomment": "Komentar za problem", "components.NotificationTypeSelector.issuecreated": "Problem prijavljen", "components.NotificationTypeSelector.issuecreatedDescription": "Pošalji obavijest kada se problem prijavi.", - "components.NotificationTypeSelector.userissueresolvedDescription": "Primite obavijest kada problemi koje ste prijavili budu riješeni.", - "components.NotificationTypeSelector.mediaavailableDescription": "Slanje obavijesti kada medijski zahtjevi postanu dostupni.", - "components.NotificationTypeSelector.mediadeclinedDescription": "Slanje obavijesti kada su medijski zahtjevi odbijeni.", + "components.NotificationTypeSelector.userissueresolvedDescription": "Primi obavijest kad se tvoji prijavljeni problemi riješe.", + "components.NotificationTypeSelector.mediaavailableDescription": "Pošalji obavijesti kada medijski zahtjevi postanu dostupni.", + "components.NotificationTypeSelector.mediadeclinedDescription": "Pošalji obavijesti kada su medijski zahtjevi odbijeni.", "components.NotificationTypeSelector.mediarequested": "Zahtjev čeka odobrenje", - "components.NotificationTypeSelector.mediarequestedDescription": "Slanje obavijesti kada korisnici pošalju nove medijske zahtjeve koji zahtijevaju odobrenje.", + "components.NotificationTypeSelector.mediarequestedDescription": "Pošalji obavijesti kada korisnici pošalju nove medijske zahtjeve koji zahtijevaju odobrenje.", "components.NotificationTypeSelector.mediaautorequested": "Zahtjev je automatski poslan", "components.NotificationTypeSelector.mediaavailable": "Zahtjev dostupan", - "components.NotificationTypeSelector.mediafailedDescription": "Slanje obavijesti kada se medijski zahtjevi ne uspiju dodati u Radarr ili Sonarr.", - "components.NotificationTypeSelector.userissuecommentDescription": "Primite obavijest kada problemi koje ste prijavili dobiju nove komentare.", - "components.PermissionEdit.autoapprove4kSeries": "Automatsko odobravanje serija u 4K", - "components.NotificationTypeSelector.usermediafailedDescription": "Primite obavijest kada se medijski zahtjevi ne uspiju dodati u Radarr ili Sonarr.", - "components.NotificationTypeSelector.usermediarequestedDescription": "Primite obavijest kada drugi korisnici pošalju nove medijske zahtjeve koji zahtijevaju odobrenje.", - "components.NotificationTypeSelector.usermediaAutoApprovedDescription": "Primite obavijest kada drugi korisnici pošalju nove medijske zahtjeve koji se automatski odobravaju.", - "components.NotificationTypeSelector.usermediadeclinedDescription": "Primite obavijest kada vaši medijski zahtjevi budu odbijeni.", - "components.PermissionEdit.adminDescription": "Potpuni administratorski pristup. Zaobilazi sve druge provjere dopuštenja.", + "components.NotificationTypeSelector.mediafailedDescription": "Pošalji obavijesti kada se medijski zahtjevi ne uspiju dodati u Radarr ili Sonarr.", + "components.NotificationTypeSelector.userissuecommentDescription": "Primi obavijest kad tvoji prijavljeni problemi dobiju nove komentare.", + "components.PermissionEdit.autoapprove4kSeries": "Automatsko odobravanje 4K serija", + "components.NotificationTypeSelector.usermediafailedDescription": "Primi obavijest kad se medijski zahtjevi ne uspiju dodati u Radarr ili Sonarr.", + "components.NotificationTypeSelector.usermediarequestedDescription": "Primi obavijest kad drugi korisnici pošalju nove medijske zahtjeve koji zahtijevaju odobrenje.", + "components.NotificationTypeSelector.usermediaAutoApprovedDescription": "Primi obavijest kad drugi korisnici pošalju nove medijske zahtjeve koji se automatski odobravaju.", + "components.NotificationTypeSelector.usermediadeclinedDescription": "Primi obavijest kad se tvoji medijski zahtjevi odbiju.", + "components.PermissionEdit.adminDescription": "Potpun administratorski pristup. Zaobilazi sve druge provjere dozvola.", "components.PermissionEdit.advancedrequest": "Napredni zahtjevi", "components.PermissionEdit.autoapprove4k": "Automatsko odobravanje 4K", - "components.PermissionEdit.autoapproveSeriesDescription": "Dozvolite automatsko odobravanje zahtjeva za serijale koji nisu u 4K.", - "components.PermissionEdit.autoapprove4kMoviesDescription": "Dozvolite automatsko odobravanje zahtjeva za filmove u 4K.", - "components.PermissionEdit.autoapprove4kSeriesDescription": "Dozvolite automatsko odobravanje zahtjeva za serije u 4K.", - "components.QuotaSelector.days": "{count, plural, one {danu} other {danu}}", - "components.QuotaSelector.movies": "{count, plural, one {film} other {filmova}}", - "components.PermissionEdit.autoapproveMoviesDescription": "Dozvolite automatsko odobravanje zahtjeva za filmove koji nisu u 4K.", - "components.RequestButton.approve4krequests": "Odobriti {requestCount, plural, one {4K Zahtjev} other {{requestCount} 4K Zahtjeve}}", - "components.RequestModal.QuotaDisplay.movielimit": "{limit, plural, one {film} other {filmova}}", - "components.RequestButton.approverequests": "Odobriti {requestCount, plural, one {Zatjev} other {{requestCount} Zahtjeve}}", - "components.QuotaSelector.seasons": "{count, plural, one {sezona} other {sezone}}", - "components.RequestCard.seasons": "{seasonCount, plural, one {Sezona} other {Sezone}}", - "components.RequestList.RequestItem.seasons": "{seasonCount, plural, one {Sezona} other {Sezone}}", - "components.RequestBlock.seasons": "{seasonCount, plural, one {Sezona} other {Sezone}}", - "components.RequestButton.decline4krequests": "Odbiti {requestCount, plural, one {4K Zahtjev} other {{requestCount} 4K Zahtjeve}}", + "components.PermissionEdit.autoapproveSeriesDescription": "Dozvoli automatsko odobravanje zahtjeva za serije koji nisu u 4K rezoluciji.", + "components.PermissionEdit.autoapprove4kMoviesDescription": "Dozvoli automatsko odobravanje zahtjeva za filmove u 4K rezoluciji.", + "components.PermissionEdit.autoapprove4kSeriesDescription": "Dozvoli automatsko odobravanje zahtjeva za serije u 4K rezoluciji.", + "components.QuotaSelector.days": "{count, plural, one {dan} few {dana} other {dana}}", + "components.QuotaSelector.movies": "{count, plural, one {film} few {filma} other {filmova}}", + "components.PermissionEdit.autoapproveMoviesDescription": "Dozvoli automatsko odobravanje zahtjeva za filmove koji nisu u 4K rezoluciji.", + "components.RequestButton.approve4krequests": "Odobri {requestCount, plural, one {4K zahtjev} few {{requestCount} 4K zahtjeva} other {{requestCount} 4K zahtjeva}}", + "components.RequestModal.QuotaDisplay.movielimit": "{limit, plural, one {film} few {filma} other {filmova}}", + "components.RequestButton.approverequests": "Odobri {requestCount, plural, one {zahtjev} few {{requestCount} zahtjeva} other {{requestCount} zahtjeva}}", + "components.QuotaSelector.seasons": "{count, plural, one {sezona} few {sezone} other {sezona}}", + "components.RequestCard.seasons": "{seasonCount, plural, one {sezona} few {sezone} other {sezona}}", + "components.RequestList.RequestItem.seasons": "{seasonCount, plural, one {sezona} few {sezone} other {sezona}}", + "components.RequestBlock.seasons": "{seasonCount, plural, one {sezona} few {sezone} other {sezona}}", + "components.RequestButton.decline4krequests": "Odbij {requestCount, plural, one {4K zahtjev} few {{requestCount} 4K zahtjeva} other {{requestCount} 4K zahtjeva}}", "components.RequestModal.QuotaDisplay.requiredquotaUser": "Ovaj korisnik treba imati još barem {seasons} {seasons, plural, one {jedan zahtjev za sezonu} other {nekoliko zahtjeva za sezone}} kako bi mogao preadti zahtjev za ovu seriju.", - "components.RequestModal.QuotaDisplay.requiredquota": "Morate imati još barem {seasons} {seasons, plural, one {jedan zahtjev za sezonu} other {nekoliko zahtjeva za sezone}} kako bi mogli preadti zahtjev za ovu seriju.", - "components.RequestModal.QuotaDisplay.seasonlimit": "{limit, plural, one {sezona} other {sezona/e}}", - "components.RequestModal.requestmovies": "{count} {count, plural, one {Zahtjev za film} other {Zahtjevi za filmove}}", - "components.RequestModal.requestmovies4k": "{count} {count, plural, one {Zahtjev za film} other {Zahtejvi za filmove}} u 4K", - "components.NotificationTypeSelector.mediaAutoApprovedDescription": "Slanje obavijesti kada korisnici pošalju novi medijski zahtjev koji se automatski odobrava.", + "components.RequestModal.QuotaDisplay.requiredquota": "Moraš imati još barem {seasons} {seasons, plural, one {zahtjev za sezonu} few {zahtjeva za sezone} other {zahtjeva za sezone}} za slanje zahtjeva za ovu seriju.", + "components.RequestModal.QuotaDisplay.seasonlimit": "{limit, plural, one {sezona} few {sezone} other {sezona}}", + "components.RequestModal.requestmovies": "Zatraži {count} {count, plural, one {film} few {filma} other {filmova}}", + "components.RequestModal.requestmovies4k": "Zatraži {count} {count, plural, one {film} few {filma} other {filmova}} u 4K", + "components.NotificationTypeSelector.mediaAutoApprovedDescription": "Pošalji obavijesti kada korisnici pošalju novi medijski zahtjev koji se automatski odobrava.", "components.NotificationTypeSelector.mediaapproved": "Zahtjev odobren", - "components.NotificationTypeSelector.mediaapprovedDescription": "Slanje obavijesti kada se medijski zahtjev ručno odobri.", - "components.NotificationTypeSelector.mediaautorequestedDescription": "Primite obavijest kada se automatski pošalje novi medijski zahtjevi za stavke na vašoj Plex listi koju pratite.", + "components.NotificationTypeSelector.mediaapprovedDescription": "Pošalji obavijesti kada se medijski zahtjev ručno odobri.", + "components.NotificationTypeSelector.mediaautorequestedDescription": "Primi obavijest kad se novi medijski zahtjevi automatski podnesu za stavke u tvom Plex popisu gledanja.", "components.NotificationTypeSelector.mediadeclined": "Zahtjev je odbijen", "components.NotificationTypeSelector.mediafailed": "Obrada zahtjeva nije uspjela", "components.NotificationTypeSelector.notificationTypes": "Vrste obavijesti", - "components.NotificationTypeSelector.userissuecreatedDescription": "Primite obavijest kada drugi korisnici prijave probleme.", - "components.NotificationTypeSelector.userissuereopenedDescription": "Primite obavijest kada se problemi koje ste prijavili ponovno otvore.", - "components.NotificationTypeSelector.usermediaapprovedDescription": "Primite obavijest kada vaši zahtjevi za medije budu odobreni.", - "components.NotificationTypeSelector.usermediaavailableDescription": "Primite obavijest kada vaši medijski zahtjevi postanu dostupni.", + "components.NotificationTypeSelector.userissuecreatedDescription": "Primi obavijest kad drugi korisnici prijave probleme.", + "components.NotificationTypeSelector.userissuereopenedDescription": "Primi obavijest kad se tvoji prijavljeni problemi ponovno otvore.", + "components.NotificationTypeSelector.usermediaapprovedDescription": "Primi obavijest kad se tvoji zahtjevi za medije odobre.", + "components.NotificationTypeSelector.usermediaavailableDescription": "Primi obavijest kad tvoji medijski zahtjevi postanu dostupni.", "components.PermissionEdit.admin": "Administrator", - "components.PermissionEdit.advancedrequestDescription": "Dodajte dozvolu za izmjenu naprednih opcija zahtjeva za medije.", + "components.PermissionEdit.advancedrequestDescription": "Dozvoli mijenjanje naprednih opcija medijskih zahtjeva.", "components.PermissionEdit.autoapprove": "Automatsko odobravanje", "components.PermissionEdit.autoapprove4kMovies": "Automatsko odobravanje 4K filmova", - "components.PermissionEdit.autoapprove4kDescription": "Dozvolite automatsko odobravanje svih zahtjeva za 4K medije.", - "components.PermissionEdit.autoapproveDescription": "Dozvolite automatsko odobravanje svih zahtjeva koji nisu u 4K mediji.", + "components.PermissionEdit.autoapprove4kDescription": "Dozvoli automatsko odobravanje svih zahtjeva za medije u 4K rezoluciji.", + "components.PermissionEdit.autoapproveDescription": "Dozvoli automatsko odobravanje svih zahtjeva za medije koji nisu u 4K rezoluciji.", "components.PermissionEdit.autoapproveMovies": "Automatsko odobravanje filmova", - "components.PermissionEdit.autoapproveSeries": "Automatsko odobravanje serijala", - "components.RequestButton.declinerequests": "Odbiti {requestCount, plural, one {Zahtjev} other {{requestCount} Zahtjeve}}", - "components.RequestModal.QuotaDisplay.requestsremaining": "{remaining, plural, =0 {No} other {#}} {type} {remaining, plural, one {zahtjev preostalo} other {zahtjeva preostala}}" + "components.PermissionEdit.autoapproveSeries": "Automatsko odobravanje serija", + "components.RequestButton.declinerequests": "Odbij {requestCount, plural, one {zahtjev} few {{requestCount} zahtjeva} other {{requestCount} zahtjeva}}", + "components.RequestModal.QuotaDisplay.requestsremaining": "{remaining, plural, =0 {No} other {#}} {type} {remaining, plural, one {zahtjev preostalo} other {zahtjeva preostala}}", + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Aktualna učestalost", + "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Nova učestalost", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "{jobScheduleHours, plural, one {Svaki sat} few {Svaka {jobScheduleHours} sata} other {Svakih {jobScheduleHours} sati}}", + "components.Settings.SettingsJobsCache.jobScheduleEditFailed": "Dogodila se greška prilikom spremanja zadatka.", + "components.Settings.SettingsJobsCache.jobScheduleEditSaved": "Zadatak uspješno promijenjen!", + "components.Settings.SettingsJobsCache.plex-watchlist-sync": "Sinkronizacija Plex popisa gledanja", + "components.Settings.SettingsJobsCache.runnow": "Pokreni sada", + "components.Settings.SettingsJobsCache.unknownJob": "Nepoznat zadatak", + "components.Settings.SettingsLogs.extraData": "Dodatni podaci", + "components.Settings.SettingsLogs.copiedLogMessage": "Poruka zapisnika je kopirana u međuspremnik.", + "components.Settings.SettingsLogs.filterDebug": "Otklanjanje grešaka", + "components.Settings.SettingsLogs.filterError": "Greška", + "components.Settings.SettingsLogs.filterInfo": "Informacije", + "components.Settings.SettingsLogs.filterWarn": "Upozorenje", + "components.Settings.SettingsLogs.label": "Etiketa", + "components.Settings.SettingsLogs.level": "Važnost", + "components.Settings.SettingsLogs.logDetails": "Detalji zapisa", + "components.Settings.SettingsLogs.logs": "Zapisi", + "components.Settings.SettingsLogs.resumeLogs": "Nastavi", + "components.Settings.SettingsLogs.showall": "Prikaži sve zapise", + "components.Settings.SettingsLogs.time": "Vremenska oznaka", + "components.Settings.SettingsLogs.viewdetails": "Prikaz detalja", + "components.Settings.SettingsUsers.defaultPermissions": "Zadane dozvole", + "components.Settings.SettingsUsers.defaultPermissionsTip": "Početne dozvole dodijeljene novim korisnicima", + "components.Settings.SettingsUsers.localLogin": "Aktiviraj lokalnu prijavu", + "components.Settings.SettingsUsers.localLoginTip": "Dozvoli korisnicima da se prijave koristeći svoju e-mail adresu i lozinku, umjesto Plex OAutha", + "components.Settings.SettingsUsers.movieRequestLimitLabel": "Globalno ograničenje zahtjeva za filmove", + "components.Settings.SettingsUsers.toastSettingsSuccess": "Korisničke postavke su uspješno spremljene!", + "components.Settings.SettingsUsers.tvRequestLimitLabel": "Globalno ograničenje zahtjeva za serije", + "components.Settings.SettingsUsers.userSettings": "Korisničke postavke", + "components.Settings.SettingsUsers.userSettingsDescription": "Konfiguriraj globalne i zadane korisničke postavke.", + "components.Settings.SettingsUsers.users": "Korisnici", + "components.Settings.SonarrModal.add": "Dodaj poslužitelj", + "components.Settings.SonarrModal.animeTags": "Anime oznake", + "components.Settings.SonarrModal.animelanguageprofile": "Anime profil jezika", + "components.Settings.SonarrModal.animequalityprofile": "Anime profil kvalitete", + "components.Settings.SonarrModal.animerootfolder": "Anime početna mapa", + "components.Settings.SonarrModal.apiKey": "API ključ", + "components.Settings.SonarrModal.baseUrl": "Osnovni URL", + "components.Settings.SonarrModal.create4ksonarr": "Dodaj novi 4K Sonarr poslužitelj", + "components.Settings.SonarrModal.createsonarr": "Dodaj novi Sonarr poslužitelj", + "components.Settings.SonarrModal.default4kserver": "Zadani 4K poslužitelj", + "components.Settings.SonarrModal.defaultserver": "Zadani poslužitelj", + "components.Settings.SonarrModal.edit4ksonarr": "Uredi 4K Sonarr poslužitelj", + "components.Settings.SonarrModal.editsonarr": "Uredi Sonarr poslužitelj", + "components.Settings.SonarrModal.enableSearch": "Aktiviraj automatsku pretragu", + "components.Settings.SonarrModal.externalUrl": "Eksterni URL", + "components.Settings.SonarrModal.hostname": "Ime računala ili IP adresa", + "components.Settings.SonarrModal.languageprofile": "Profil jezika", + "components.Settings.SonarrModal.loadingTags": "Učitavanje oznaka …", + "components.Settings.SonarrModal.loadingprofiles": "Učitavanje profila kvalitete …", + "components.Settings.SonarrModal.loadingrootfolders": "Učitavanje početnih mapa …", + "components.Settings.SonarrModal.notagoptions": "Nema oznaka.", + "components.Settings.SonarrModal.port": "Priključak", + "components.Settings.SonarrModal.rootfolder": "Početna mapa", + "components.Settings.SonarrModal.qualityprofile": "Profil kvalitete", + "components.Settings.SonarrModal.seasonfolders": "Mape za sezone", + "components.Settings.SonarrModal.selectLanguageProfile": "Odaberi profil jezika", + "components.Settings.SonarrModal.selectQualityProfile": "Odaberi profil kvalitete", + "components.Settings.SonarrModal.selectRootFolder": "Odaberi početnu mapu", + "components.Settings.SonarrModal.selecttags": "Odaberi oznake", + "components.Settings.SonarrModal.server4k": "4K poslužitelj", + "components.Settings.SonarrModal.servername": "Ime poslužitelja", + "components.Settings.SonarrModal.ssl": "Koristi SSL", + "components.Settings.SonarrModal.tags": "Oznake", + "components.Settings.SonarrModal.testFirstQualityProfiles": "Provjeri vezu za učitavanje profila kvalitete", + "components.Settings.SonarrModal.testFirstRootFolders": "Provjeri vezu za učitavanje početnih mapa", + "components.Settings.SonarrModal.testFirstTags": "Provjeri vezu za učitavanje oznaka", + "components.Settings.SonarrModal.toastSonarrTestSuccess": "Sonarr veza je uspješno uspostavljena!", + "components.Settings.SonarrModal.validationApiKeyRequired": "Moraš navesti valjani API ključ", + "components.Settings.SonarrModal.validationApplicationUrl": "Moraš navesti valjani URL", + "components.Settings.SonarrModal.validationBaseUrlLeadingSlash": "Osnovni URL mora početi s kosom crtom", + "components.Settings.SonarrModal.validationBaseUrlTrailingSlash": "Osnovni URL ne smije završiti s kosom crtom", + "components.Settings.SonarrModal.validationHostnameRequired": "Moraš navesti valjano ime računala ili IP adresu", + "components.Settings.SonarrModal.validationLanguageProfileRequired": "Moraš odabrati profil jezika", + "components.Settings.SonarrModal.validationNameRequired": "Moraš navesti ime poslužitelja", + "components.Settings.SonarrModal.validationPortRequired": "Moraš navesti valjani broj priključka", + "components.Settings.SonarrModal.validationProfileRequired": "Moraš odabrati profil kvalitete", + "components.Settings.SonarrModal.validationRootFolderRequired": "Moraš odabrati početnu mapu", + "components.Settings.activeProfile": "Aktivni profil", + "components.Settings.addradarr": "Dodaj Radarr poslužitelj", + "components.Settings.address": "Adresa", + "components.Settings.addsonarr": "Dodaj Sonarr poslužitelj", + "components.Settings.copied": "API ključ je kopiran u međuspremnik.", + "components.Settings.currentlibrary": "Aktualna biblioteka: {name}", + "components.Settings.default": "Zadano", + "components.Settings.default4k": "Zadano 4K", + "components.Settings.deleteServer": "Izbriši {serverType} poslužitelj", + "components.Settings.deleteserverconfirm": "Stvarno želiš izbrisati ovaj poslužitelj?", + "components.Settings.email": "E-mail", + "components.Settings.enablessl": "Koristi SSL", + "components.Settings.experimentalTooltip": "Aktiviranjem ove postavke može doći do neočekivanog ponašanja programa", + "components.Settings.externalUrl": "Eksterni URL", + "components.Settings.hostname": "Ime računala ili IP adresa", + "components.Settings.is4k": "4K", + "components.Settings.librariesRemaining": "Preostale biblioteke: {count}", + "components.Settings.menuAbout": "Informacije", + "components.Settings.menuGeneralSettings": "Opće", + "components.Settings.menuJobs": "Zadaci i predmemorija", + "components.Settings.menuLogs": "Zapisi", + "components.Settings.menuNotifications": "Obavijesti", + "components.Settings.menuPlexSettings": "Plex", + "components.Settings.menuServices": "Usluge", + "components.Settings.menuUsers": "Korisnici", + "components.Settings.noDefault4kServer": "4K {serverType} poslužitelj mora biti označen kao zadani kako bi se korisnicima omogućilo slanje zahtjeva za 4K {mediaType}.", + "components.Settings.noDefaultServer": "Najmanje jedan {serverType} poslužitelj mora biti označen kao zadani kako bi se zahtjevi za {mediaType} mogli obraditi.", + "components.Settings.notificationAgentSettingsDescription": "Konfiguriraj i aktiviraj agente obavijesti.", + "components.Settings.notifications": "Obavijesti", + "components.Settings.notificationsettings": "Postavke obavijesti", + "components.Settings.plex": "Plex", + "components.Settings.plexlibraries": "Plex biblioteke", + "components.Settings.plexsettings": "Plex postavke", + "components.Settings.plexsettingsDescription": "Konfiguriraj postavke za tvoj Plex poslužitelj. Overseerr skenira tvoje Plex biblioteke kako bi utvrdio dostupnost sadržaja.", + "components.Settings.port": "Priključak", + "components.Settings.radarrsettings": "Radarr postavke", + "components.Settings.restartrequiredTooltip": "Overseerr se mora ponovo pokrenuti kako bi promjene ove postavke stupile na snagu", + "components.Settings.scan": "Sinkronizraj biblioteke", + "components.Settings.scanning": "Sinkronizacija …", + "components.Settings.serverLocal": "lokalni", + "components.Settings.serverSecure": "sigurno", + "components.Settings.serverpreset": "Poslužitelj", + "components.Settings.serverpresetRefreshing": "Dohvaćanje poslužitelja …", + "components.Settings.serviceSettingsDescription": "Dolje donfiguriraj svoje {serverType} poslužitelje. Možeš povezati više {serverType} poslužitelja, ali samo dva od njih mogu biti označena kao zadana (jedan ne-4K i jedan 4K). Administratori mogu promijeniti poslužitelj koji se koristi za obradu novih zahtjeva prije odobrenja.", + "components.Settings.serverpresetLoad": "Pritisni gumb za učitavanje dostupnih polsužitelja", + "components.Settings.serverpresetManualMessage": "Ručna konfiguracija", + "components.Settings.services": "Usluge", + "components.Settings.settingUpPlexDescription": "Za postavljanje Plexa, unesi detalje ručno ili odaberi poslužitelj preuzet s plex.tv. Pritisni gumb desno od padajućeg izbornika za dohvaćanje popisa dostupnih poslužitelja.", + "components.Settings.sonarrsettings": "Sonarr postavke", + "components.Settings.ssl": "SSL", + "components.Settings.tautulliApiKey": "API ključ", + "components.Settings.tautulliSettingsDescription": "Opcionalno konfiguriraj postavke za tvoj Tautulli poslužitelj. Overseerr dohvaća podatke o povijesti gledanja za tvoje Plex medije od Tautullija.", + "components.Settings.toastPlexConnecting": "Pokušaj povezivanja na Plex …", + "components.Settings.toastPlexConnectingFailure": "Neuspjelo povezivanje na Plex.", + "components.Settings.toastPlexConnectingSuccess": "Plex veza je uspješno uspostavljena!", + "components.Settings.toastPlexRefresh": "Dohvaćanje popisa poslužitelja od Plexa …", + "components.Settings.toastPlexRefreshFailure": "Neuspjelo dohvaćanje popisa Plex poslužitelja.", + "components.Settings.toastPlexRefreshSuccess": "Popis Plex poslužitelja je uspješno dohvaćen!", + "components.Settings.urlBase": "Osnovni URL", + "components.Settings.validationApiKey": "Moraš navesti valjani API ključ", + "components.Settings.webpush": "Web Push", + "components.Setup.continue": "Nastavi", + "components.Setup.finish": "Završi postavljanje", + "components.Setup.tip": "Savjet", + "components.Setup.welcome": "Overseerr dobrodošlica", + "components.Setup.finishing": "Završavanje…", + "components.Setup.loginwithplex": "Prijavi se s Plexom", + "components.Setup.setup": "Postavljanje", + "components.Setup.signinMessage": "Za postavljanje se prijavi s tvojim Plex računom", + "components.StatusBadge.managemedia": "Upravljaj {mediaType}", + "components.StatusBadge.openinarr": "Otvori u {arr}", + "components.StatusBadge.playonplex": "Reproduciraj na Plex-u", + "components.StatusBadge.status": "{status}", + "components.StatusBadge.status4k": "4K {status}", + "components.StatusChecker.appUpdated": "{applicationTitle} ažuriran", + "components.TvDetails.TvCast.fullseriescast": "Svi glumci serije", + "components.TvDetails.TvCrew.fullseriescrew": "Svi suradnici serije", + "components.TvDetails.cast": "Glumci", + "components.TvDetails.episodeCount": "{episodeCount, plural, one {# epizoda} few {# epizode} other {# epizoda}}", + "components.TvDetails.seasons": "{seasonCount, plural, one {# sezona} few {# sezone} other {# sezona}}", + "components.TvDetails.seasonstitle": "Sezone", + "components.UserList.creating": "Stvaranje …", + "components.UserList.edituser": "Uredi korisničke dozvole", + "components.UserList.email": "E-mail adresa", + "components.UserList.importedfromplex": "{userCount} Plex {userCount, plural, one {korisnik je uspješno uvezen} few {korisnika su uspješno uvezena} other {korisnika su uspješno uvezeni}}!", + "components.UserList.importfromplex": "Uvezi Plex korisnike", + "components.UserList.localuser": "Lokalni korisnik", + "components.UserList.newplexsigninenabled": "Postavka Aktiviraj novu Plex prijavu je trenutačno dektivirana. Plex korisnici s pristupom biblioteci se ne moraju uvesti da bi se mogli prijaviti.", + "components.UserList.owner": "Vlasnik", + "components.UserList.password": "Lozinka", + "components.UserList.passwordinfodescription": "Konfiguriraj URL programa i aktiviraj e-mail obavijesti za dozvoljavanje automatskog generiranja lozinke.", + "components.UserList.plexuser": "Plex korisnik", + "components.UserList.role": "Uloga", + "components.UserList.sortCreated": "Datum pridruživanja", + "components.UserList.sortDisplayName": "Prikazano ime", + "components.UserList.sortRequests": "Broj zahtjeva", + "components.UserList.totalrequests": "Zahtjevi", + "components.UserList.user": "Korisnik", + "components.UserList.usercreatedfailed": "Dogodila se greška prilikom stvaranja korisnika.", + "components.UserList.usercreatedfailedexisting": "Navedenu e-mail adresu koristi već jedan drugi korisnik.", + "components.UserList.userdeleteerror": "Dogodila se greška prilikom brisanja korisnika.", + "components.UserProfile.ProfileHeader.joindate": "Datum pridruživanja: {joindate}", + "components.UserProfile.ProfileHeader.userid": "ID korisnika: {userid}", + "components.UserProfile.UserSettings.UserGeneralSettings.accounttype": "Vrsta računa", + "components.UserProfile.UserSettings.UserGeneralSettings.admin": "Administrator", + "components.UserProfile.UserSettings.UserGeneralSettings.applanguage": "Jezik prikaza", + "components.UserProfile.UserSettings.UserGeneralSettings.discordId": "Korisnički ID na Discordu", + "components.UserProfile.UserSettings.UserGeneralSettings.discordIdTip": "Višeznamenkasti ID broj povezan s tvojim korisničkim računom na Discordu", + "components.UserProfile.UserSettings.UserGeneralSettings.displayName": "Prikazano ime", + "components.UserProfile.UserSettings.UserGeneralSettings.enableOverride": "Mijenjanje globalnih ograničenja", + "components.UserProfile.UserSettings.UserGeneralSettings.general": "Opće", + "components.UserProfile.UserSettings.UserGeneralSettings.generalsettings": "Opće postavke", + "components.UserProfile.UserSettings.UserGeneralSettings.languageDefault": "Zadano ({language})", + "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "Filtriraj sadržaj prema izvornom jeziku", + "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "Otkrij jezik", + "components.UserProfile.UserSettings.UserGeneralSettings.plexuser": "Plex korisnik", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Automatsko zahtijevanje filmova", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Automatski zatraži filmove na tvom Plex popisu gledanja", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Automatsko zahtijevanje serija", + "components.UserProfile.UserSettings.UserGeneralSettings.seriesrequestlimit": "Ograničenje zahtjeva za serije", + "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "Filtriraj sadržaj prema regionalnoj dostupnosti", + "components.UserProfile.UserSettings.UserGeneralSettings.role": "Uloga", + "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingssaved": "Discord postavke obavijesti su uspješno spremljene!", + "components.UserProfile.UserSettings.UserNotificationSettings.email": "E-mail", + "components.UserProfile.UserSettings.UserNotificationSettings.emailsettingsfailed": "Neuspjelo spremanje e-mail postavki obavijesti.", + "components.UserProfile.UserSettings.UserNotificationSettings.emailsettingssaved": "E-mail postavke obavijesti su uspješno spremljene!", + "components.UserProfile.UserSettings.UserNotificationSettings.notifications": "Obavijesti", + "components.UserProfile.UserSettings.UserNotificationSettings.notificationsettings": "Postavke za obavijesti", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessToken": "Token za pristup", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingssaved": "Pushbullet postavke obavijesti su uspješno spremljene!", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationToken": "API token programa", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationTokenTip": "Registriraj jedan program za korištenje s {applicationTitle}", + "components.UserProfile.UserSettings.UserNotificationSettings.sendSilently": "Pošalji tiho", + "components.UserProfile.UserSettings.UserNotificationSettings.sendSilentlyDescription": "Pošalji obavijesti bez zvuka", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatId": "Chat ID", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramChatIdTipLong": "Započni chat, dodaj @get_id_bot zadaj naredbu /my_id", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingsfailed": "Neuspjelo spremanje Telegram postavki obavijesti.", + "components.UserProfile.UserSettings.UserNotificationSettings.webpush": "Web Push", + "components.UserProfile.UserSettings.UserPasswordChange.currentpassword": "Aktualna lozinka", + "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSet": "Ovaj korisnički račun trenutačno nema postavljenu lozinku. Dolje konfiguriraj lozinku kako bi se ovom računu omogućila prijava kao „lokalni korisnik”.", + "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSetOwnAccount": "Tvoj račun trenutačno nema postavljenu lozinku. Konfiguriraj lozinku za omogućavanje prijave kao „lokalni korisnik” koristeći tvoju e-mail adresu.", + "components.UserProfile.UserSettings.UserPasswordChange.nopermissionDescription": "Nemaš dozvole za mijenjenje lozinke ovog korisnika.", + "components.UserProfile.UserSettings.UserPasswordChange.password": "Lozinka", + "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailure": "Dogodila se greška prilikom spremanja lozinke.", + "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailureVerifyCurrent": "Dogodila se greška prilikom spremanja lozinke. Je li vaša aktualna lozinka bila ispravno upisana?", + "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsSuccess": "Lozinka je uspješno spremljena!", + "components.UserProfile.UserSettings.UserPasswordChange.validationCurrentPassword": "Moraš navesti tvoju aktualnu lozinku", + "components.UserProfile.UserSettings.UserPasswordChange.validationNewPassword": "Moraš navesti novu lozinku", + "components.UserProfile.UserSettings.UserPasswordChange.validationNewPasswordLength": "Lozinka je prekratka; mora sadržati barem 8 znakova", + "components.UserProfile.UserSettings.UserPermissions.toastSettingsFailure": "Dogodila se greška prilikom spremanja postavki.", + "components.UserProfile.UserSettings.UserPermissions.toastSettingsSuccess": "Dozvole su uspješno spremljene!", + "components.UserProfile.UserSettings.UserPermissions.unauthorizedDescription": "Ne možeš promijeniti vlastite dozvole.", + "components.UserProfile.UserSettings.menuGeneralSettings": "Opće", + "components.UserProfile.UserSettings.menuNotifications": "Obavijesti", + "components.UserProfile.UserSettings.menuPermissions": "Dozvole", + "components.UserProfile.UserSettings.unauthorizedDescription": "Nemaš dozvole za mijenjenje postavki ovog korisnika.", + "components.UserProfile.emptywatchlist": "Mediji koji su dodani u tvoj popis gledanja na Plexu pojavit će se ovdje.", + "components.UserProfile.movierequests": "Zahtjevi za filmove", + "components.UserProfile.pastdays": "{type} (zadnjih {days} dana)", + "components.UserProfile.plexwatchlist": "Popis gledanja na Plexu", + "components.UserProfile.seriesrequest": "Zahtjevi za serije", + "components.UserProfile.totalrequests": "Ukupno zahtjeva", + "components.UserProfile.unlimited": "Neograničeno", + "i18n.available": "Dostupno", + "i18n.back": "Natrag", + "i18n.delimitedlist": "{a}, {b}", + "i18n.edit": "Uredi", + "i18n.experimental": "Eksperimentalno", + "i18n.pending": "Na čekanju", + "i18n.previous": "Prethodno", + "i18n.processing": "Obrada", + "i18n.request": "Zahtjev", + "i18n.request4k": "Zatraži u 4K", + "i18n.requested": "Zatraženo", + "i18n.resultsperpage": "Prikaži {pageSize} rezultata po stranici", + "i18n.retrying": "Pokušaj se ponavlja …", + "i18n.requesting": "Zahtijevanje …", + "i18n.resolved": "Riješeno", + "i18n.save": "Spremi promjene", + "i18n.saving": "Spremanje …", + "i18n.settings": "Postavke", + "i18n.showingresults": "Prikaz {from} do {to} od {total} rezultata", + "i18n.test": "Provjeri", + "i18n.testing": "Provjeravanje …", + "i18n.tvshow": "Serije", + "i18n.tvshows": "Serije", + "i18n.unavailable": "Nedostupno", + "i18n.usersettings": "Korisničke postavke", + "i18n.view": "Prikaz", + "pages.errormessagewithcode": "{statusCode} – {error}", + "pages.internalservererror": "Interna greška poslužitelja", + "pages.pagenotfound": "Stranica nije pronađena", + "pages.returnHome": "Vrati se na početnu stranicu", + "pages.serviceunavailable": "Usluga nije dostupna", + "pages.somethingwentwrong": "Dogodila se greška", + "components.PermissionEdit.requestTv": "Zahtjev za serijama", + "components.PermissionEdit.users": "Upravljanje korisnicima", + "components.PermissionEdit.viewissues": "Prikaz problema", + "components.PermissionEdit.viewrecent": "Prikaz nedavno dodanih", + "components.PermissionEdit.viewrequests": "Prikaz zahtjeva", + "components.PermissionEdit.viewwatchlists": "Prikaz Plex popisa gledanja", + "components.PersonDetails.alsoknownas": "Poznat/a i kao: {names}", + "components.PersonDetails.appearsin": "Nastupanja", + "components.PersonDetails.ascharacter": "kao {character}", + "components.PersonDetails.lifespan": "{birthdate} – {deathdate}", + "components.PlexLoginButton.signingin": "Prijava…", + "components.PlexLoginButton.signinwithplex": "Prijavi se", + "components.QuotaSelector.unlimited": "Neograničeno", + "components.RegionSelector.regionDefault": "Sve regije", + "components.RegionSelector.regionServerDefault": "Zadano ({region})", + "components.RequestBlock.approve": "Odobri zahtjev", + "components.RequestBlock.decline": "Odbij zahtjev", + "components.RequestBlock.delete": "Izbriši zahtjev", + "components.RequestBlock.edit": "Uredi zahtjev", + "components.RequestBlock.server": "Odredišni poslužitelj", + "components.RequestButton.approverequest": "Odobri zahtjev", + "components.RequestButton.approverequest4k": "Odobri 4K zahtjev", + "components.RequestButton.requestmore": "Zatraži više", + "components.RequestButton.requestmore4k": "Zatraži više u 4K", + "components.RequestButton.viewrequest": "Prikaz zahtjeva", + "components.RequestButton.viewrequest4k": "Prikaz 4K zahtjeva", + "components.RequestCard.approverequest": "Odobri zahtjev", + "components.RequestCard.cancelrequest": "Prekini zahtjev", + "components.RequestCard.declinerequest": "Odbij zahtjev", + "components.RequestCard.deleterequest": "Izbriši zahtjev", + "components.RequestCard.editrequest": "Uredi zahtjev", + "components.RequestCard.failedretry": "Dogodila se greška prilikom ponovnog pokušaja slanja zahtjeva.", + "components.RequestCard.mediaerror": "{mediaType} nije pronađen", + "components.RequestList.RequestItem.requested": "Zatraženo", + "components.RequestList.requests": "Zahtjevi", + "components.RequestList.showallrequests": "Prikaži sve zahtjeve", + "components.RequestList.sortModified": "Zadnja promjena", + "components.RequestModal.AdvancedRequester.advancedoptions": "Napredno", + "components.RequestModal.AdvancedRequester.requestas": "Zatraži kao", + "components.RequestModal.AdvancedRequester.selecttags": "Odaberi oznake", + "components.RequestModal.AdvancedRequester.tags": "Oznake", + "components.RequestModal.QuotaDisplay.movie": "film", + "components.RequestModal.errorediting": "Dogodila se greška prilikom uređivanja zahtjeva.", + "components.RequestModal.extras": "Dodaci", + "components.RequestModal.numberofepisodes": "Broj epizoda", + "components.RequestModal.pending4krequest": "4K zahtjeva na čekanju", + "components.RequestModal.pendingapproval": "Tvoj zahtjev čeka na odobrenje.", + "components.RequestCard.tvdbid": "TVDB ID", + "components.RequestModal.pendingrequest": "Zahtjevai na čekanju", + "components.RequestModal.requestApproved": "Zahtjev za {title} je odobren!", + "components.RequestModal.requestcancelled": "Zahtjev za {title} je prekinut.", + "components.RequestModal.requestcollection4ktitle": "Zahtjev za zbirkom u 4K", + "components.RequestModal.requestcollectiontitle": "Zahtjev za zbirkom", + "components.RequestModal.requesterror": "Dogodila se greška prilikom slanja zahtjeva.", + "components.RequestModal.requestfrom": "Zahtjev korisnika {username} čeka na odobrenje.", + "components.RequestModal.requestmovie4ktitle": "Zatraži film u 4K", + "components.RequestModal.requestseries4ktitle": "Zatraži serije u 4K", + "components.RequestModal.requestseriestitle": "Zatraži serije", + "components.RequestModal.season": "Sezona", + "components.RequestModal.seasonnumber": "Sezona {number}", + "components.RequestModal.selectmovies": "Odaberi filmove", + "components.RequestModal.selectseason": "Odaberi sezone", + "components.ResetPassword.gobacklogin": "Vrati se na stranicu za prijavu", + "components.ResetPassword.validationpasswordmatch": "Lozinke se moraju poklapati", + "components.ResetPassword.validationpasswordminchars": "Lozinka je prekratka; mora sadržati barem 8 znakova", + "components.ResetPassword.validationpasswordrequired": "Moraš navesti lozinku", + "components.Search.searchresults": "Rezultati pretrage", + "components.Settings.Notifications.NotificationsGotify.agentenabled": "Aktiviraj agenta", + "components.Settings.Notifications.NotificationsGotify.gotifysettingsfailed": "Neuspjelo spremanje postavki Gotify obavijesti.", + "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSending": "Slanje Gotify obavijesti provjere …", + "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSuccess": "Gotify obavijest provjere je poslana!", + "components.Settings.Notifications.NotificationsGotify.token": "Token programa", + "components.Settings.Notifications.NotificationsLunaSea.agentenabled": "Aktiviraj agenta", + "components.Settings.Notifications.NotificationsGotify.url": "URL poslužitelja", + "components.Settings.Notifications.NotificationsGotify.validationUrlTrailingSlash": "URL ne smije završiti s kosom crtom", + "components.Settings.Notifications.NotificationsLunaSea.profileName": "Ime profila", + "components.Settings.Notifications.NotificationsLunaSea.profileNameTip": "Potrebno je samo ako se ne koristi zadani profil", + "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestFailed": "Neuspjelo slanje LunaSea obavijesti provjere.", + "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestSending": "Slanje LunaSea obavijesti provjere …", + "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestSuccess": "LunaSea obavijest provjere je poslana!", + "components.Settings.Notifications.NotificationsLunaSea.webhookUrl": "Webhook URL", + "components.Settings.Notifications.NotificationsPushbullet.accessToken": "Token za pristup", + "components.Settings.Notifications.NotificationsPushbullet.pushbulletSettingsFailed": "Neuspjelo spremanje postavki Pushbullet obavijesti.", + "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestFailed": "Neuspjelo slanje Pushbullet obavijesti provjere.", + "components.Settings.Notifications.NotificationsPushbullet.validationAccessTokenRequired": "Moraš navesti valjani token za pristup", + "components.Settings.Notifications.NotificationsPushbullet.validationTypes": "Moraš odabrati barem jednu vrstu obavijesti", + "components.Settings.Notifications.NotificationsPushover.accessToken": "API token programa", + "components.Settings.Notifications.NotificationsPushover.accessTokenTip": "Registriraj jedan program za korištenje s Overseerr", + "components.Settings.Notifications.NotificationsPushover.pushoversettingsfailed": "Neuspjelo spremanje Pushover postavki obavijesti.", + "components.Settings.Notifications.NotificationsPushover.toastPushoverTestFailed": "Neuspjelo slanje Pushover obavijesti provjere.", + "components.Settings.Notifications.NotificationsPushover.validationAccessTokenRequired": "Moraš navesti valjani token programa", + "components.Settings.Notifications.NotificationsPushover.validationTypes": "Moraš odabrati barem jednu vrstu obavijesti", + "components.Settings.Notifications.NotificationsPushover.validationUserTokenRequired": "Moraš navesti valjani ključ korisnika ili grupe", + "components.Settings.Notifications.NotificationsSlack.agentenabled": "Aktiviraj agenta", + "components.Settings.Notifications.NotificationsSlack.slacksettingsfailed": "Neuspjelo spremanje Slack postavki obavijesti.", + "components.Settings.Notifications.NotificationsSlack.slacksettingssaved": "Slack postavke obavijesti su uspješno spremljene!", + "components.Settings.Notifications.NotificationsSlack.toastSlackTestFailed": "Neuspjelo slanje Slack obavijesti provjere.", + "components.Settings.Notifications.NotificationsSlack.toastSlackTestSending": "Slanje Slack obavijesti provjere …", + "components.Settings.Notifications.NotificationsSlack.toastSlackTestSuccess": "Slack obavijest provjere je poslana!", + "components.Settings.Notifications.NotificationsSlack.validationTypes": "Moraš odabrati barem jednu vrstu obavijesti", + "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestSending": "Slanje webhook obavijesti provjere …", + "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestSuccess": "Webhook obavijest provjere je poslana!", + "components.Settings.Notifications.NotificationsWebhook.validationTypes": "Moraš odabrati barem jednu vrstu obavijesti", + "components.Settings.Notifications.NotificationsWebhook.validationWebhookUrl": "Moraš navesti valjani URL", + "components.Settings.Notifications.NotificationsWebhook.webhookUrl": "Webhook URL", + "components.Settings.Notifications.allowselfsigned": "Dozvoli samopotpisane certifikate", + "components.Settings.Notifications.authPass": "SMTP lozinka", + "components.Settings.Notifications.authUser": "SMTP korisničko ime", + "components.Settings.Notifications.botAPI": "Token autorizacije bota", + "components.Settings.Notifications.botAvatarUrl": "URL avatara bota", + "components.Settings.Notifications.botUsername": "Korisničko ime bota", + "components.Settings.Notifications.botUsernameTip": "Dozvoli korisnicima da započnu chat s tvojim botom i da konfiguriraju vlastite obavijesti", + "components.Settings.Notifications.encryption": "Metoda šifriranja", + "components.Settings.Notifications.encryptionDefault": "Koristi STARTTLS ako je dostupno", + "components.Settings.Notifications.encryptionImplicitTls": "Koristi implicitni TLS", + "components.Settings.Notifications.encryptionNone": "Ništa", + "components.Settings.Notifications.encryptionOpportunisticTls": "Uvijek koristi STARTTLS", + "components.Settings.Notifications.encryptionTip": "U većini slučajeva implicitni TLS koristi priključak 465, a STARTTLS priključak 587", + "components.Settings.Notifications.pgpPassword": "PGP lozinka", + "components.Settings.Notifications.sendSilentlyTip": "Pošalji obavijesti bez zvuka", + "components.Settings.Notifications.senderName": "Ime pošiljatelja", + "components.Settings.Notifications.smtpHost": "SMTP računalo", + "components.Settings.Notifications.smtpPort": "SMTP priključak", + "components.Settings.Notifications.telegramsettingsfailed": "Neuspjelo spremanje Telegram postavki obavijesti.", + "components.Settings.Notifications.telegramsettingssaved": "Telegram postavke obavijesti su uspješno spremljene!", + "components.Settings.Notifications.toastEmailTestFailed": "Neuspjelo slanje e-mail obavijesti provjere.", + "components.Settings.Notifications.toastEmailTestSending": "Slanje e-mail obavijesti provjere …", + "components.Settings.Notifications.toastEmailTestSuccess": "E-mail obavijest provjere je poslana!", + "components.Settings.Notifications.toastTelegramTestFailed": "Neuspjelo slanje Telegram obavijesti provjere.", + "components.Settings.Notifications.validationBotAPIRequired": "Moraš navesti token autorizacije za bot", + "components.Settings.Notifications.validationChatIdRequired": "Moraš navesti valjani chat ID", + "components.Settings.RadarrModal.baseUrl": "Osnovni URL", + "components.Settings.RadarrModal.create4kradarr": "Dodaj novi 4K Radarr poslužitelj", + "components.Settings.RadarrModal.createradarr": "Dodaj novi Radarr poslužitelj", + "components.Settings.RadarrModal.default4kserver": "Zadani 4K poslužitelj", + "components.Settings.RadarrModal.editradarr": "Uredi Radarr poslužitelj", + "components.Settings.RadarrModal.enableSearch": "Aktiviraj automatsku pretragu", + "components.Settings.RadarrModal.externalUrl": "Eksterni URL", + "components.Settings.RadarrModal.hostname": "Ime računala ili IP adresa", + "components.Settings.RadarrModal.inCinemas": "U kinima", + "components.Settings.RadarrModal.notagoptions": "Nema oznaka.", + "components.Settings.RadarrModal.selectQualityProfile": "Odaberi profil kvalitete", + "components.Settings.RadarrModal.port": "Priključak", + "components.Settings.RadarrModal.selectRootFolder": "Odaberi početnu mapu", + "components.Settings.RadarrModal.selecttags": "Odaberi oznake", + "components.Settings.RadarrModal.server4k": "4K poslužitelj", + "components.Settings.RadarrModal.servername": "Ime poslužitelja", + "components.Settings.RadarrModal.ssl": "Koristi SSL", + "components.Settings.RadarrModal.testFirstRootFolders": "Provjeri vezu za učitavanje početnih mapa", + "components.Settings.RadarrModal.toastRadarrTestSuccess": "Radarr veza je uspješno uspostavljena!", + "components.Settings.RadarrModal.validationApiKeyRequired": "Moraš navesti valjani API ključ", + "components.Settings.RadarrModal.validationApplicationUrl": "Moraš navesti valjani URL", + "components.Settings.RadarrModal.validationApplicationUrlTrailingSlash": "URL ne smije završiti s kosom crtom", + "components.Settings.RadarrModal.validationBaseUrlLeadingSlash": "Osnovni URL mora početi s kosom crtom", + "components.Settings.RadarrModal.validationMinimumAvailabilityRequired": "Moraš odabrati najmanju dostupnost", + "components.Settings.RadarrModal.validationPortRequired": "Moraš navesti valjani broj priključka", + "components.Settings.RadarrModal.validationProfileRequired": "Moraš odabrati profil kvalitete", + "components.Settings.SettingsAbout.Releases.currentversion": "Aktualno", + "components.Settings.SettingsAbout.Releases.latestversion": "Najnovije", + "components.Settings.SettingsAbout.Releases.releasedataMissing": "Podaci izdanja trenutačno nisu nedostupni.", + "components.Settings.SettingsAbout.Releases.versionChangelog": "{version} – zapisnik promjena", + "components.Settings.SettingsAbout.Releases.viewchangelog": "Prikaz zapisnika promjena", + "components.Settings.SettingsAbout.Releases.viewongithub": "Prikaz na GitHubu", + "components.Settings.SettingsAbout.about": "Informacije", + "components.Settings.SettingsAbout.appDataPath": "Mapa podataka", + "components.Settings.SettingsAbout.betawarning": "Ovo je BETA softver. Značajke su možda pokvarene i/ili nestabilne. Prijavi sve probleme na GitHub!", + "components.Settings.SettingsAbout.overseerrinformation": "Overseerr informacije", + "components.Settings.SettingsAbout.totalrequests": "Ukupno zahtjeva", + "components.Settings.SettingsAbout.uptodate": "Aktualno", + "components.Settings.SettingsJobsCache.cacheDescription": "Overseerr sprema zahtjeve na eksterne točke pristupa API-u za optimiranje izvedbe i izbjegavanje upućivanja nepotrebnih API poziva.", + "components.Settings.SettingsJobsCache.cacheflushed": "Predmemorija {cachename} je ispražnjena.", + "components.Settings.SettingsJobsCache.cachehits": "Pogodci", + "components.Settings.SettingsUsers.newPlexLogin": "Aktiviraj novu Plex prijavu", + "components.Settings.SettingsUsers.toastSettingsFailure": "Dogodila se greška prilikom spremanja postavki.", + "components.Settings.SonarrModal.loadinglanguageprofiles": "Učitavanje profila jezika …", + "components.Settings.SonarrModal.toastSonarrTestFailure": "Neuspjelo povezivanje na Sonarr.", + "components.Settings.manualscan": "Ručno skeniranje biblioteke", + "components.Settings.mediaTypeSeries": "serija", + "components.Settings.tautulliSettings": "Tautulli postavke", + "components.Settings.validationUrlBaseLeadingSlash": "Osnovni URL mora početi s kosom crtom", + "components.Settings.webAppUrlTip": "Opcionalno usmjeri korisnike na web program na tvom poslužitelju umjesto na „hostirani” web program", + "components.StatusChecker.appUpdatedDescription": "Pritisni donji gumb za ponovno pokretanje programa.", + "components.StatusChecker.restartRequiredDescription": "Ponovo pokreni poslužitelja kako bi se ažurirane postavke primijenile.", + "components.TvDetails.episodeRuntime": "Trajanje epizode", + "components.TvDetails.nextAirDate": "Datum sljedećeg emitiranja", + "components.TvDetails.rtaudiencescore": "Ocjena publike na Rotten Tomatoes", + "components.TvDetails.seasonnumber": "Sezona {seasonNumber}", + "components.UserList.createlocaluser": "Stvori lokalnog korisnika", + "components.UserList.deleteuser": "Izbriši korisnika", + "components.UserList.displayName": "Prikazano ime", + "components.UserList.importfromplexerror": "Dogodila se greška prilikom uvoza Plex korisnika.", + "components.UserList.localLoginDisabled": "Postavka Aktiviraj lokalnu prijavu je trenutačno deaktivirana.", + "components.UserList.nouserstoimport": "Nema Plex korisnika za uvoz.", + "components.UserProfile.UserSettings.UserNotificationSettings.pgpPublicKey": "Javni PGP ključ", + "components.UserProfile.UserSettings.UserNotificationSettings.pgpPublicKeyTip": "Šifriraj e-mail poruke koristeći OpenPGP", + "components.UserProfile.UserSettings.UserNotificationSettings.validationTelegramChatId": "Moraš navesti valjani chat ID", + "components.UserProfile.limit": "{remaining} od {limit}", + "components.RequestList.RequestItem.tvdbid": "TVDB ID", + "components.PermissionEdit.autorequest": "Automatsko zahtijevanje", + "components.PermissionEdit.autorequestMovies": "Automatsko zahtijevanje filmova", + "components.PermissionEdit.autorequestSeries": "Automatsko zahtijevanje serija", + "components.PermissionEdit.createissues": "Prijavljivanje problema", + "components.PermissionEdit.manageissues": "Upravljanje problemima", + "components.PermissionEdit.managerequests": "Upravljanje zahtjevima", + "components.PermissionEdit.request": "Zahtjev", + "components.PermissionEdit.request4k": "Zahtjev za 4K", + "components.PermissionEdit.request4kMovies": "Zahtjev za 4K filmove", + "components.PermissionEdit.request4kTv": "Zahtjev za 4K serije", + "components.PermissionEdit.requestMovies": "Zahtjev za filmovima", + "components.PersonDetails.birthdate": "Datum rođenja {birthdate}", + "components.PersonDetails.crewmember": "Suradnik", + "components.QuotaSelector.movieRequests": "{quotaLimit} {movies} po {quotaDays} {days}", + "components.QuotaSelector.tvRequests": "{quotaLimit} {seasons} po {quotaDays} {days}", + "components.RequestBlock.languageprofile": "Profil jezika", + "components.RequestBlock.lastmodifiedby": "Zadnja promjena od", + "components.RequestBlock.profilechanged": "Profil kvalitete", + "components.RequestBlock.requestdate": "Datum zahtjeva", + "components.RequestBlock.requestedby": "Podnositelj zahtjeva", + "components.RequestBlock.requestoverrides": "Promjene zahtjeva", + "components.RequestBlock.rootfolder": "Početna mapa", + "components.RequestButton.declinerequest": "Odbij zahtjev", + "components.RequestButton.declinerequest4k": "Odbij 4K zahtjev", + "components.RequestCard.tmdbid": "TMDB ID", + "components.RequestList.RequestItem.cancelRequest": "Prekini zahtjev", + "components.RequestList.RequestItem.deleterequest": "Izbriši zahtjev", + "components.RequestList.RequestItem.editrequest": "Uredi zahtjev", + "components.RequestList.RequestItem.failedretry": "Dogodila se greška prilikom ponovnog pokušaja slanja zahtjeva.", + "components.RequestList.RequestItem.mediaerror": "{mediaType} nije pronađen", + "components.RequestList.RequestItem.modified": "Promijenjeno", + "components.RequestList.RequestItem.modifieduserdate": "{date}, korisnik: {user}", + "components.RequestList.RequestItem.requesteddate": "Zatraženo", + "components.RequestList.RequestItem.tmdbid": "TMDB ID", + "components.RequestList.sortAdded": "Najnoviji", + "components.RequestModal.AdvancedRequester.animenote": "* Ovo je serija anime filmova.", + "components.RequestModal.AdvancedRequester.default": "{name} (zadano)", + "components.RequestModal.AdvancedRequester.destinationserver": "Odredišni poslužitelj", + "components.RequestModal.AdvancedRequester.folder": "{path} ({space})", + "components.RequestModal.AdvancedRequester.languageprofile": "Profil jezika", + "components.RequestModal.AdvancedRequester.notagoptions": "Nema oznaka.", + "components.RequestModal.AdvancedRequester.qualityprofile": "Profil kvalitete", + "components.RequestModal.AdvancedRequester.rootfolder": "Početna mapa", + "components.RequestModal.QuotaDisplay.season": "sezona", + "components.RequestModal.alreadyrequested": "Već zatraženo", + "components.RequestModal.approve": "Odobri zahtjev", + "components.RequestModal.autoapproval": "Automatsko odobravanje", + "components.RequestModal.cancel": "Prekini zahtjev", + "components.RequestModal.edit": "Uredi zahtjev", + "components.RequestModal.requestCancel": "Zahtjev za {title} je prekinut.", + "components.RequestModal.requestSuccess": "{title} je uspješno zatražen!", + "components.RequestModal.requestedited": "Zahtjev za {title} je uspješno uređen!", + "components.RequestModal.requestmovietitle": "Zatraži film", + "components.RequestModal.requestseasons": "Zatraži {seasonCount} {seasonCount, plural, one {sezonu} few {sezone} other {sezona}}", + "components.RequestModal.requestseasons4k": "Zatraži {seasonCount} {seasonCount, plural, one {sezonu} few {sezone} other {sezona}} u 4K", + "components.ResetPassword.confirmpassword": "Potvrdi lozinku", + "components.ResetPassword.email": "E-mail adresa", + "components.ResetPassword.password": "Lozinka", + "components.ResetPassword.passwordreset": "Ponovo postavljanje lozinke", + "components.ResetPassword.requestresetlinksuccessmessage": "Poveznica za ponovno postavljanje lozinke bit će poslana na navedenu e-mail adresu ako je povezana s valjanim korisnikom.", + "components.ResetPassword.resetpassword": "Obnovni svoju lozinku", + "components.ResetPassword.resetpasswordsuccessmessage": "Lozinka je uspješno ponovno postavljena!", + "components.ResetPassword.validationemailrequired": "Moraš zadati valjanju e‑mail adresu", + "components.Search.search": "Pretraga", + "components.Settings.Notifications.NotificationsGotify.gotifysettingssaved": "Gotify postavke obavijesti su uspješno spremljene!", + "components.Settings.Notifications.NotificationsGotify.toastGotifyTestFailed": "Neuspjelo slanje Gotify obavijesti provjere.", + "components.Settings.Notifications.NotificationsGotify.validationTokenRequired": "Moraš navesti token programa", + "components.Settings.Notifications.NotificationsGotify.validationTypes": "Moraš odabrati barem jednu vrstu obavijesti", + "components.Settings.Notifications.NotificationsGotify.validationUrlRequired": "Moraš navesti valjani URL", + "components.Settings.Notifications.NotificationsLunaSea.settingsFailed": "Neuspjelo spremanje postavki LunaSea obavijesti.", + "components.Settings.Notifications.NotificationsLunaSea.settingsSaved": "LunaSea postavke obavijesti su uspješno spremljene!", + "components.Settings.Notifications.NotificationsLunaSea.validationTypes": "Moraš odabrati barem jednu vrstu obavijesti", + "components.Settings.Notifications.NotificationsLunaSea.validationWebhookUrl": "Moraš navesti valjani URL", + "components.Settings.Notifications.NotificationsPushbullet.accessTokenTip": "Stvori token iz tvojih postavki računa", + "components.Settings.Notifications.NotificationsPushbullet.agentEnabled": "Aktiviraj agenta", + "components.Settings.Notifications.NotificationsPushbullet.channelTag": "Oznaka kanala", + "components.Settings.Notifications.NotificationsPushbullet.pushbulletSettingsSaved": "Pushbullet postavke obavijesti su uspješno spremljene!", + "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestSending": "Slanje Pushbullet obavijesti provjere …", + "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestSuccess": "Pushbullet obavijest provjere je poslana!", + "components.Settings.Notifications.NotificationsPushover.agentenabled": "Aktiviraj agenta", + "components.Settings.Notifications.NotificationsPushover.pushoversettingssaved": "Pushover postavke obavijesti su uspješno spremljene!", + "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSending": "Slanje Pushover obavijesti provjere …", + "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSuccess": "Pushover obavijest provjere je poslana!", + "components.Settings.Notifications.NotificationsPushover.userToken": "Ključ korisnika ili grupe", + "components.Settings.Notifications.NotificationsPushover.userTokenTip": "Tvoj identifikator korisnika ili grupe s 30 znakova", + "components.Settings.Notifications.NotificationsSlack.validationWebhookUrl": "Moraš navesti valjani URL", + "components.Settings.Notifications.NotificationsSlack.webhookUrl": "Webhook URL", + "components.Settings.Notifications.NotificationsWebPush.agentenabled": "Aktiviraj agenta", + "components.Settings.Notifications.NotificationsSlack.webhookUrlTip": "Stvori ulaznu Webhook integraciju", + "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestFailed": "Neuspjelo slanje Web push obavijesti provjere.", + "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSending": "Slanje web push obavijesti provjere …", + "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSuccess": "Web push obavijest provjere je poslana!", + "components.Settings.Notifications.NotificationsWebPush.webpushsettingsfailed": "Neuspjelo spremanje Web push postavki obavijesti.", + "components.Settings.Notifications.NotificationsWebhook.agentenabled": "Aktiviraj agenta", + "components.Settings.Notifications.NotificationsWebPush.webpushsettingssaved": "Web push postavke obavijesti su uspješno spremljene!", + "components.Settings.Notifications.NotificationsWebhook.authheader": "Zaglavlje autorizacije", + "components.Settings.Notifications.NotificationsWebhook.resetPayload": "Vrati na zadane vrijednosti", + "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestFailed": "Neuspjelo slanje Webhook obavijesti provjere.", + "components.Settings.Notifications.NotificationsWebhook.webhooksettingsfailed": "Neuspjelo spremanje Webhook postavki obavijesti.", + "components.Settings.Notifications.NotificationsWebhook.webhooksettingssaved": "Webhook postavke obavijesti su uspješno spremljene!", + "components.Settings.Notifications.agentenabled": "Aktiviraj agenta", + "components.Settings.Notifications.botApiTip": "Stvori bot za korištenje s Overseerr", + "components.Settings.Notifications.chatId": "Chat ID", + "components.Settings.Notifications.discordsettingsfailed": "Neuspjelo spremanje Discord postavki za obavijesti.", + "components.Settings.Notifications.discordsettingssaved": "Discord postavke obavijesti su uspješno spremljene!", + "components.Settings.Notifications.emailsender": "Adresa pošiljatelja", + "components.Settings.Notifications.emailsettingsfailed": "Neuspjelo spremanje e-mail postavki obavijesti.", + "components.Settings.Notifications.emailsettingssaved": "E-mail postavke obavijesti su uspješno spremljene!", + "components.Settings.Notifications.enableMentions": "Aktiviraj spominjanja", + "components.Settings.Notifications.pgpPasswordTip": "Potpiši šifrirane e-mail poruke koristeći OpenPGP", + "components.Settings.Notifications.pgpPrivateKey": "Privatni PGP ključ", + "components.Settings.Notifications.pgpPrivateKeyTip": "Potpiši šifrirane e-mail poruke koristeći OpenPGP", + "components.Settings.Notifications.sendSilently": "Pošalji tiho", + "components.Settings.Notifications.toastDiscordTestFailed": "Neuspjelo slanje Discord obavijesti provjere.", + "components.Settings.Notifications.toastDiscordTestSending": "Slanje Discord obavijesti provjere …", + "components.Settings.Notifications.toastDiscordTestSuccess": "Discord obavijest provjere je poslana!", + "components.Settings.Notifications.toastTelegramTestSending": "Slanje Telegram obavijesti provjere …", + "components.Settings.Notifications.toastTelegramTestSuccess": "Telegram obavijest provjere je poslana!", + "components.Settings.Notifications.validationEmail": "Moraš navesti valjanju e‑mail adresu", + "components.Settings.Notifications.validationPgpPassword": "Moraš navesti PGP lozinku", + "components.Settings.Notifications.validationPgpPrivateKey": "Moraš navesti valjan privatni PGP ključ", + "components.Settings.Notifications.validationSmtpHostRequired": "Moraš navesti valjano ime računala ili IP adresu", + "components.Settings.Notifications.validationSmtpPortRequired": "Moraš navesti valjani broj priključka", + "components.Settings.Notifications.validationTypes": "Moraš odabrati barem jednu vrstu obavijesti", + "components.Settings.Notifications.validationUrl": "Moraš navesti valjani URL", + "components.Settings.Notifications.webhookUrl": "Webhook URL", + "components.Settings.Notifications.webhookUrlTip": "Stvori webhook integraciju u tvom poslužitelju", + "components.Settings.RadarrModal.add": "Dodaj poslužitelj", + "components.Settings.RadarrModal.announced": "Najavljeno", + "components.Settings.RadarrModal.apiKey": "API ključ", + "components.Settings.RadarrModal.defaultserver": "Zadani poslužitelj", + "components.Settings.RadarrModal.edit4kradarr": "Uredi 4K Radarr poslužitelj", + "components.Settings.RadarrModal.loadingTags": "Učitavanje oznaka …", + "components.Settings.RadarrModal.loadingprofiles": "Učitavanje profila kvalitete …", + "components.Settings.RadarrModal.loadingrootfolders": "Učitavanje početnih mapa …", + "components.Settings.RadarrModal.minimumAvailability": "Najmanja dostupnost", + "components.Settings.RadarrModal.qualityprofile": "Profil kvalitete", + "components.Settings.RadarrModal.released": "Objavljeno", + "components.Settings.RadarrModal.rootfolder": "Početna mapa", + "components.Settings.RadarrModal.selectMinimumAvailability": "Odaberi najmanju dostupnost", + "components.Settings.RadarrModal.tags": "Oznake", + "components.Settings.RadarrModal.testFirstQualityProfiles": "Provjeri vezu za učitavanje profila kvalitete", + "components.Settings.RadarrModal.testFirstTags": "Provjeri vezu za učitavanje oznaka", + "components.Settings.RadarrModal.toastRadarrTestFailure": "Neuspjelo povezivanje na Radarr.", + "components.Settings.RadarrModal.validationBaseUrlTrailingSlash": "Osnovni URL ne smije završiti s kosom crtom", + "components.Settings.RadarrModal.validationHostnameRequired": "Moraš navesti valjano ime računala ili IP adresu", + "components.Settings.RadarrModal.validationNameRequired": "Moraš navesti ime poslužitelja", + "components.Settings.RadarrModal.validationRootFolderRequired": "Moraš odabrati početnu mapu", + "components.Settings.SettingsAbout.Releases.releases": "Izdanja", + "components.Settings.SettingsAbout.documentation": "Dokumentacija", + "components.Settings.SettingsAbout.gettingsupport": "Dobivanje pomoći", + "components.Settings.SettingsAbout.githubdiscussions": "Rasprave na GitHubu", + "components.Settings.SettingsAbout.helppaycoffee": "Pomogni platiti kavu", + "components.Settings.SettingsAbout.outofdate": "Zastarjela verzija", + "components.Settings.SettingsAbout.preferredmethod": "Preferirano", + "components.Settings.SettingsAbout.runningDevelop": "Pokrećeš razvojnu Overseerr granu, koja se preporučuje samo onima koji doprinose razvoju ili pomažu najnovijem testiranju.", + "components.Settings.SettingsAbout.supportoverseerr": "Podrži Overseerr", + "components.Settings.SettingsAbout.timezone": "Vremenska zona", + "components.Settings.SettingsAbout.totalmedia": "Ukupno medija", + "components.Settings.SettingsAbout.version": "Verzija", + "components.Settings.SettingsJobsCache.cache": "Predmemorija", + "components.Settings.SettingsJobsCache.cachekeys": "Ukupno ključeva", + "components.Settings.SettingsJobsCache.cacheksize": "Veličina ključa", + "components.Settings.SettingsJobsCache.cachemisses": "Promašaji", + "components.Settings.SettingsJobsCache.cachename": "Ime predmemorije", + "components.Settings.SettingsJobsCache.cachevsize": "Veličina vrijednosti", + "components.Settings.SettingsJobsCache.canceljob": "Prekini zadatak", + "components.Settings.SettingsJobsCache.command": "Naredba", + "components.Settings.SettingsJobsCache.download-sync": "Sinkronizacija preuzimanja", + "components.Settings.SettingsJobsCache.download-sync-reset": "Resetiraj sinkronizaciju preuzimanja", + "components.Settings.SettingsJobsCache.editJobSchedule": "Promijeni zadatak", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "{jobScheduleHours, plural, one {Svake minute} few {Svake {jobScheduleHours} minute} other {Svakih {jobScheduleHours} minuta}}", + "components.Settings.SettingsJobsCache.flushcache": "Isprazni predmemoriju", + "components.Settings.SettingsJobsCache.jobcancelled": "Zadatak {jobname} prekinut.", + "components.Settings.SettingsJobsCache.jobname": "Ime zadatka", + "components.Settings.SettingsJobsCache.jobs": "Zadaci", + "components.Settings.SettingsJobsCache.jobsDescription": "Overseerr obavlja određene zadatke održavanja kao redovito planirane zadatke, ali oni se također mogu dolje ručno pokrenuti. Ručno pokretanje zadatka neće promijeniti njegov plan.", + "components.Settings.SettingsJobsCache.jobtype": "Vrsta", + "components.Settings.SettingsJobsCache.jobsandcache": "Zadaci i predmemorija", + "components.Settings.SettingsJobsCache.jobstarted": "Zadatak {jobname} je pokrenut.", + "components.Settings.SettingsJobsCache.nextexecution": "Sljedeće izvršavanje", + "components.Settings.SettingsJobsCache.process": "Obrada", + "components.Settings.SettingsLogs.copyToClipboard": "Kopiraj u međuspremnik", + "components.Settings.SettingsLogs.logsDescription": "Ove zapise možeš izravno vidjeti i putem stdout ili u {appDataPath}/logs/overseerr.log.", + "components.Settings.SettingsLogs.message": "Poruka", + "components.Settings.SettingsLogs.pauseLogs": "Zaustavi", + "components.Settings.SettingsUsers.newPlexLoginTip": "Dozvoli Plex korisnicima da se prijave bez da se prethodno uvezu", + "components.Settings.SonarrModal.testFirstLanguageProfiles": "Provjeri vezu za učitavanje profila jezika", + "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "URL ne smije završiti s kosom crtom", + "components.Settings.mediaTypeMovie": "film", + "components.Settings.toastTautulliSettingsFailure": "Dogodila se greška prilikom spremanja Tautulli postavki.", + "components.Settings.toastTautulliSettingsSuccess": "Tautulli postavke su uspješno spremljene!", + "components.Settings.validationHostnameRequired": "Moraš navesti valjano ime računala ili IP adresu", + "components.Settings.validationPortRequired": "Moraš navesti valjani broj priključka", + "components.Settings.validationUrl": "Moraš navesti valjani URL", + "components.Settings.validationUrlBaseTrailingSlash": "Osnovni URL ne smije završiti s kosom crtom", + "components.Settings.validationUrlTrailingSlash": "URL ne smije završiti s kosom crtom", + "components.Settings.webAppUrl": "URL web programa", + "components.Settings.webhook": "Webhook", + "components.Setup.configureplex": "Konfiguriraj Plex", + "components.Setup.configureservices": "Konfiguriraj usluge", + "components.StatusChecker.reloadApp": "Ponovo pokreni {applicationTitle}", + "components.StatusChecker.restartRequired": "Zahtijeva ponovno pokretanje poslužitelja", + "components.TitleCard.tvdbid": "TVDB ID", + "components.TitleCard.cleardata": "Izbriši podatke", + "components.TitleCard.mediaerror": "{mediaType} nije pronađen", + "components.TitleCard.tmdbid": "TMDB ID", + "components.TvDetails.Season.somethingwentwrong": "Dogodila se greška prilikom preuzimanja podataka sezona.", + "components.TvDetails.anime": "Anime", + "components.TvDetails.episodeRuntimeMinutes": "{runtime} min", + "components.TvDetails.firstAirDate": "Datum prvog emitiranja", + "components.TvDetails.manageseries": "Upravljaj serijama", + "components.TvDetails.network": "{networkCount, plural, one {mreža} few {mreže} other {mreža}}", + "components.TvDetails.originallanguage": "Izvorni jezik", + "components.TvDetails.originaltitle": "Izvorni naslov", + "components.TvDetails.overview": "Pregled", + "components.TvDetails.overviewunavailable": "Pregled nedostupan.", + "components.TvDetails.play4konplex": "Reproduciraj u 4K na Plex-u", + "components.TvDetails.playonplex": "Reproduciraj na Plex-u", + "components.TvDetails.productioncountries": "{countryCount, plural, one {zemlja produkcije} few {zemlje produkcije} other {zemalja produkcije}}", + "components.TvDetails.recommendations": "Preporuke", + "components.TvDetails.reportissue": "Prijavi problem", + "components.TvDetails.rtcriticsscore": "Tomatometer na Rotten Tomatoes", + "components.TvDetails.showtype": "Vrste serija", + "components.TvDetails.similar": "Slične serije", + "components.TvDetails.status4k": "4K {status}", + "components.TvDetails.streamingproviders": "Trenutačno se prikazuje na", + "components.TvDetails.tmdbuserscore": "TMDB ocjena korisnika", + "components.TvDetails.viewfullcrew": "Prikaz svih suradnika", + "components.TvDetails.watchtrailer": "Gledaj najavu", + "components.UserList.autogeneratepassword": "Automatski generiraj lozinku", + "components.UserList.autogeneratepasswordTip": "Pošalji korisniku e-mail s lozinkom koju je generirao poslužitelj", + "components.UserList.bulkedit": "Grupno uređivanje", + "components.UserList.accounttype": "Vrsta", + "components.UserList.admin": "Administrator", + "components.UserList.create": "Stvori", + "components.UserList.created": "Pridruživanje", + "components.UserList.deleteconfirm": "Stvarno želiš izbrisati ovog korisnika? Svi podaci njegovih zahtjeva će se trajno ukloniti.", + "components.UserList.usercreatedsuccess": "Korisnik je uspješno stvoren!", + "components.UserList.userdeleted": "Korisnik je uspješno izbrisan!", + "components.UserList.userfail": "Dogodila se greška prilikom spremanja korisničkih dozvola.", + "components.UserList.userlist": "Popis korisnika", + "components.UserList.users": "Korisnici", + "components.UserList.userssaved": "Korisničke dozvole su uspješno spremljene!", + "components.UserList.validationEmail": "Moraš zadati valjanju e‑mail adresu", + "components.UserList.validationpasswordminchars": "Lozinka je prekratka; mora sadržati barem 8 znakova", + "components.UserProfile.ProfileHeader.profile": "Prikaz profila", + "components.UserProfile.ProfileHeader.settings": "Uredi postavke", + "components.UserProfile.UserSettings.UserGeneralSettings.localuser": "Lokalni korisnik", + "components.UserProfile.UserSettings.UserGeneralSettings.movierequestlimit": "Ograničenje zahtjeva za filmove", + "components.UserProfile.UserSettings.UserGeneralSettings.owner": "Vlasnik", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Automatski zatraži serije na tvom Plex popisu gledanja", + "components.UserProfile.UserSettings.UserGeneralSettings.region": "Otkrij regiju", + "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsFailure": "Dogodila se greška prilikom spremanja postavki.", + "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsSuccess": "Postavke su uspješno spremljene!", + "components.UserProfile.UserSettings.UserGeneralSettings.user": "Korisnik", + "components.UserProfile.UserSettings.UserGeneralSettings.validationDiscordId": "Moraš navesti valjani Discord korisnički ID", + "components.UserProfile.UserSettings.UserNotificationSettings.discordId": "ID korisnika", + "components.UserProfile.UserSettings.UserNotificationSettings.discordIdTip": "Višeznamenkasti ID broj povezan s tvojim korisničkim računom", + "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingsfailed": "Neuspjelo spremanje Discord postavki obavijesti.", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessTokenTip": "Stvori token iz tvojih postavki računa", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingsfailed": "Neuspjelo spremanje Pushbullet postavki obavijesti.", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKey": "Ključ korisnika ili grupe", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKeyTip": "Tvoj identifikator korisnika ili grupe s 30 znakova", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingsfailed": "Neuspjelo spremanje Pushover postavki obavijesti.", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingssaved": "Pushover postavke obavijesti su uspješno spremljene!", + "components.UserProfile.UserSettings.UserNotificationSettings.telegramsettingssaved": "Telegram postavke obavijesti su uspješno spremljene!", + "components.UserProfile.UserSettings.UserNotificationSettings.validationDiscordId": "Moraš navesti valjani korisnički ID", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPgpPublicKey": "Moraš navesti valjani javni ključ stvoren PGP-om", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPushbulletAccessToken": "Moraš navesti valjani token za pristup", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverApplicationToken": "Moraš navesti valjani token programa", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverUserKey": "Moraš navesti valjani ključ korisnika ili grupe", + "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingsfailed": "Neuspjelo spremanje Web push postavki obavijesti.", + "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingssaved": "Web push postavke obavijesti su uspješno spremljene!", + "components.UserProfile.UserSettings.UserPasswordChange.confirmpassword": "Potvrdi lozinku", + "components.UserProfile.UserSettings.UserPasswordChange.newpassword": "Nova lozinka", + "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPassword": "Moraš potvrditi novu lozinku", + "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPasswordSame": "Lozinke se moraju poklapati", + "components.UserProfile.UserSettings.UserPermissions.permissions": "Dozvole", + "components.UserProfile.UserSettings.menuChangePass": "Lozinka", + "components.UserProfile.recentrequests": "Nedavni zahtjevi", + "components.UserProfile.recentlywatched": "Nedavno gledano", + "components.UserProfile.requestsperdays": "{limit} preostalo", + "i18n.advanced": "Napredno", + "i18n.all": "Sve", + "i18n.approve": "Odobri", + "i18n.approved": "Odobreno", + "i18n.areyousure": "Sigurno?", + "i18n.cancel": "Odustani", + "i18n.canceling": "Prekidanje …", + "i18n.close": "Zatvori", + "i18n.decline": "Odbij", + "i18n.declined": "Odbijeno", + "i18n.delete": "Izbriši", + "i18n.deleting": "Brisanje …", + "i18n.failed": "Neuspjelo", + "i18n.import": "Uvezi", + "i18n.importing": "Uvoz …", + "i18n.loading": "Učitavanje …", + "i18n.movie": "Film", + "i18n.movies": "Filmovi", + "i18n.next": "Dalje", + "i18n.noresults": "Nema rezultata.", + "i18n.notrequested": "Nije zatraženo", + "i18n.open": "Otvori", + "i18n.partiallyavailable": "Djelomično dostupno", + "i18n.restartRequired": "Zahtijeva ponovno pokretanje", + "i18n.retry": "Pokušaj ponovo", + "i18n.status": "Stanje", + "pages.oops": "Ups", + "components.Settings.advancedTooltip": "Neispravno konfiguriranje ove postavke može pokvariti funkcionalnost", + "components.Settings.noDefaultNon4kServer": "Ako imate samo jedan {serverType} poslužitelj za ne-4K i za 4K sadržaj (ili ako preuzimaš samo 4K sadržaj), tvoj {serverType} poslužitelj NE bi trebao biti određen kao 4K poslužitelj.", + "components.PermissionEdit.requestMoviesDescription": "Dozvoli automatsko slanje zahtjeva za filmove koje nisu u 4K rezoluciji.", + "components.PermissionEdit.autorequestDescription": "Dozvoli automatsko slanje zahtjeva za medije koji nisu u 4K rezoluciji putem Plex popisa gledanja.", + "components.PermissionEdit.autorequestMoviesDescription": "Dozvoli automatsko slanje zahtjeva za filmove koji nisu u 4K rezoluciji putem Plex popisa gledanja.", + "components.PermissionEdit.autorequestSeriesDescription": "Dozvoli automatsko slanje zahtjeva za serije koje nisu u 4K rezoluciji putem Plex popisa gledanja.", + "components.PermissionEdit.requestDescription": "Dozvoli automatsko slanje zahtjeva za medije koje nisu u 4K rezoluciji.", + "components.PermissionEdit.requestTvDescription": "Dozvoli automatsko slanje zahtjeva za serije koje nisu u 4K rezoluciji.", + "components.PermissionEdit.viewrecentDescription": "Dozvoli prikaz za pregled popisa nedavno dodanih medija.", + "components.PermissionEdit.createissuesDescription": "Dozvoli prijavljivanje problema s medijima.", + "components.PermissionEdit.manageissuesDescription": "Dozvoli upravljanje problemima s medijima.", + "components.PermissionEdit.request4kDescription": "Dozvoli slanje zahtjeva za medije u 4K rezoluciji.", + "components.PermissionEdit.request4kMoviesDescription": "Dozvoli slanje zahtjeva za filmove u 4K rezoluciji.", + "components.PermissionEdit.request4kTvDescription": "Dozvoli slanje zahtjeva za serijama u 4K rezoluciji.", + "components.PermissionEdit.usersDescription": "Dozvoli upravljanje korisnicima. Korisnici s ovom dozvolom ne mogu mijenjati korisnike s administratorskom privilegijom ili dozvoliti administratorske privilegije.", + "components.PermissionEdit.viewissuesDescription": "Dozvoli prikaz problema s medijima koje su prijavili drugi korisnici.", + "components.PermissionEdit.viewrequestsDescription": "Dozvoli prikaz medijskih zahtjeva koje su prijavili drugi korisnici.", + "components.PermissionEdit.viewwatchlistsDescription": "Dozvoli prikaz Plex popisa gledanja drugih korisnika.", + "components.Settings.notrunning": "Ne pokreće se", + "components.Settings.serverRemote": "udaljeni", + "components.RequestModal.QuotaDisplay.quotaLink": "Sažetak tvojih ograničenja zahtjeva možeš vidjeti na tvojoj stranici profila.", + "components.RequestModal.QuotaDisplay.quotaLinkUser": "Sažetak ograničenja zahtjeva korisničkih zahtjeva možeš vidjeti na njihovoj stranici profila.", + "components.RequestModal.QuotaDisplay.notenoughseasonrequests": "Nema dovoljno preostalih zahtjeva za sezonama", + "components.RequestModal.SearchByNameModal.nomatches": "Nismo uspjeli pronaći seriju koja odgovara ovoj seriji.", + "components.RequestModal.SearchByNameModal.notvdbiddescription": "Nismo uspjeli automatski naći odgovarajuću seriju. Dolje odaberi odgovarajuću seriju.", + "components.RequestModal.requestadmin": "Ovaj će se zahtjev automatski prihvatiti.", + "components.ResetPassword.emailresetlink": "E-mail poveznica za obnavljanje lozinke", + "components.Settings.Notifications.NotificationsLunaSea.webhookUrlTip": "Tvoj korisničke ili na osnovi uređaja webhook URL obavijesti", + "components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Za primanje web push obavijesti, Overseerr se mora posluživati putem HTTPS-a.", + "components.Settings.Notifications.NotificationsWebhook.templatevariablehelp": "Pomoć za varijablu predloška", + "components.Settings.Notifications.chatIdTip": "Započni chat s tvojim botom, dodaj @get_id_bot i zadaj naredbu /my_id", + "components.Settings.SettingsJobsCache.radarr-scan": "Radarr pretraživanje", + "components.Settings.SettingsJobsCache.sonarr-scan": "Sonarr pretraživanje", + "components.Settings.SonarrModal.syncEnabled": "Aktiviraj pretraživanje", + "components.Settings.cancelscan": "Prekini pretraživanje", + "components.Settings.manualscanDescription": "Obično će se to pokrenuti samo jednom svaka 24 sata. Overseerr će agresivnije provjeriti tvoj Plex poslužitelj za nedavno dodanim. Ako po prvi put konfiguriraš Plex, preporučuje se jednom ručno pretražiti cijelu biblioteku!", + "components.Settings.plexlibrariesDescription": "Biblioteke u kojima će Overseerr tražiti naslove. Postavi i spremi tvoje postavke Plex veze, a zatim pritisni gumb ispod ako je popis biblioteka prazan.", + "components.Settings.startscan": "Pokreni pretraživanje", + "components.Setup.scanbackground": "Pretraživanje se pokreće u pozadini. U međuvremenu možeš nastaviti s postupkom postavljanja.", + "components.PermissionEdit.managerequestsDescription": "Dozvoli upravljanje zahtjevima za medijima. Svi zahtjevi korisnika s ovom dozvolom će se automatski odobriti.", + "components.Settings.Notifications.NotificationsWebhook.customJson": "JSON sadržaj", + "components.Settings.SettingsJobsCache.plex-full-scan": "Pretraživanje cijele Plex biblioteke", + "components.RequestModal.QuotaDisplay.allowedRequests": "Smiješ zatražiti {limit} {type} svakih {days} dana.", + "components.RequestModal.QuotaDisplay.allowedRequestsUser": "Ovaj korisnik smije zatražiti {limit} {type} svakih {days} dana.", + "components.Settings.Notifications.NotificationsWebhook.resetPayloadSuccess": "JSON sadržaj je uspješno resetiran!", + "components.Settings.Notifications.NotificationsWebhook.validationJsonPayloadRequired": "Moraš zadati valjani JSON sadržaj", + "components.Settings.RadarrModal.syncEnabled": "Aktiviraj pretraživanje", + "components.Settings.SettingsJobsCache.plex-recently-added-scan": "Pretraživanje nedavno dodanih u Plex biblioteku", + "components.TvDetails.Season.noepisodes": "Popis epizoda nije dostupan.", + "components.Settings.SettingsJobsCache.image-cache-cleanup": "Brisanje predmemorije slika", + "components.Settings.SettingsJobsCache.imagecache": "Predmemorija slika", + "components.Settings.SettingsJobsCache.imagecachesize": "Ukupna veličina predmemorije", + "components.Settings.SettingsJobsCache.imagecachecount": "Slike spremljene u predmemoriju", + "components.Settings.SettingsJobsCache.imagecacheDescription": "Kad je u postavkama aktivirano, Overseerr će služiti kao posrednik i predmemorirati slike iz unaprijed konfiguriranih vanjskih izvora. Predmemorirane slike spremaju se u mapu konfiguracije. Datoteke možeš pronaći u {appDataPath}/cache/images.", + "components.DownloadBlock.formattedTitle": "{title}: Sezona {seasonNumber} Episoda {episodeNumber}", + "components.RequestCard.unknowntitle": "Nepoznat naslov", + "components.RequestList.RequestItem.unknowntitle": "Nepoznat naslov", + "components.StatusBadge.seasonepisodenumber": "S{seasonNumber}E{episodeNumber}" } diff --git a/src/i18n/locale/hu.json b/src/i18n/locale/hu.json index 56b0526987..93742fe41f 100644 --- a/src/i18n/locale/hu.json +++ b/src/i18n/locale/hu.json @@ -86,8 +86,6 @@ "components.Discover.recentlyAdded": "Nemrég hozzáadva", "components.Discover.populartv": "Népszerű sorozatok", "components.Discover.popularmovies": "Népszerű filmek", - "components.Discover.discovertv": "Népszerű sorozatok", - "components.Discover.discovermovies": "Népszerű filmek", "components.CollectionDetails.requestcollection": "Gyűjtemény kérése", "components.CollectionDetails.overview": "Áttekintés", "components.CollectionDetails.numberofmovies": "Filmek száma: {count}", @@ -162,15 +160,15 @@ "components.UserList.password": "Jelszó", "components.UserList.localuser": "Helyi felhasználó", "components.UserList.importfromplexerror": "Hiba történt a felhasználók Plex-ről történő importálása közben.", - "components.UserList.importfromplex": "Felhasználók importálása Plex-ről", - "components.UserList.importedfromplex": "{userCount, plural, =0 {Nem lett új} one {# új} other {# új}} felhasználó importálva Plex-ről!", + "components.UserList.importfromplex": "Plex felhasználók importálása", + "components.UserList.importedfromplex": "{userCount} Plex {userCount, plural, one {user} {users}} sikeresen importálva!", "components.UserList.email": "E-mail-cím", "components.UserList.deleteuser": "Felhasználó törlése", "components.UserList.deleteconfirm": "Biztos vagy benne, hogy törlöd ezt a felhasználót? A felhasználó összes adata törlődni fog.", "components.UserList.creating": "Létrehozás…", "components.UserList.createlocaluser": "Helyi felhasználó létrehozása", "components.UserList.admin": "Adminisztrátor", - "components.UserList.created": "Létrehozva", + "components.UserList.created": "Csatlakozott", "components.UserList.create": "Létrehozás", "components.UserList.bulkedit": "Tömeges szerkesztés", "components.UserList.autogeneratepassword": "Jelszó generálása automatikusan", @@ -204,7 +202,7 @@ "components.RequestModal.requestSuccess": "{title} kérés elküldve!", "components.RequestModal.requestCancel": "{title} kérése visszavonva.", "components.RequestModal.pendingrequest": "Elbírálásra váró kérelem", - "components.RequestModal.pending4krequest": "", + "components.RequestModal.pending4krequest": "Függőben lévő 4K-kérés", "components.RequestModal.autoapproval": "Automatikus jóváhagyás", "components.RequestModal.SearchByNameModal.notvdbiddescription": "Nem sikerült azonosítani a kérésed. Kérlek, válaszd ki a megfelelő találatot az alábbi listából.", "components.RequestBlock.profilechanged": "Minőség profil", @@ -302,21 +300,12 @@ "components.Settings.webAppUrl": "Web App URL", "components.Settings.validationPortRequired": "Érvényes portszámot kell megadnia", "components.Settings.validationHostnameRequired": "Érvényes host-nevet vagy IP-címet kell megadnia", - "components.Settings.validationApplicationUrlTrailingSlash": "Az URL-nek nem lehet vége perjellel", - "components.Settings.validationApplicationUrl": "Érvényes URL-t kell megadnia", - "components.Settings.validationApplicationTitle": "Meg kell adnia egy alkalmazás címet", - "components.Settings.trustProxyTip": "Lehetővé teszi az Overseerr számára, hogy helyesen regisztrálja az ügyfelek IP-címeit proxy mögött", - "components.Settings.trustProxy": "Proxy-támogatás engedélyezése", - "components.Settings.toastSettingsSuccess": "A beállítások sikeresen mentve!", - "components.Settings.toastSettingsFailure": "Valami elromlott a beállítások mentése közben.", "components.Settings.toastPlexRefreshSuccess": "Plex szerverlista sikeresen lekérdezve!", "components.Settings.toastPlexRefreshFailure": "Nem sikerült lekérni a Plex szerverek listáját.", "components.Settings.toastPlexRefresh": "Szerverlista lekérése a Plexből…", "components.Settings.toastPlexConnectingSuccess": "A Plex kapcsolat sikeresen létrejött!", "components.Settings.toastPlexConnectingFailure": "Nem sikerült csatlakozni a Plexhez.", "components.Settings.toastPlexConnecting": "Csatlakozási kísérlet a Plexhez …", - "components.Settings.toastApiKeySuccess": "Az új API kulcs sikeresen generálódott!", - "components.Settings.toastApiKeyFailure": "Valami hiba történt az új API-kulcs generálása során.", "components.Settings.startscan": "Szkennelés indítása", "components.Settings.ssl": "SSL", "components.Settings.sonarrsettings": "Sonarr beállítások", @@ -332,8 +321,6 @@ "components.Settings.serverLocal": "helyi", "components.Settings.scanning": "Szinkronizálás…", "components.Settings.scan": "Könyvtárak szinkronizálása", - "components.Settings.regionTip": "A tartalom szűrése a regionális elérhetőség szerint", - "components.Settings.region": "Fedezzen fel régiót", "components.Settings.radarrsettings": "Radarr beállítások", "components.Settings.port": "Port", "components.Settings.plexsettingsDescription": "Konfigurálja a Plex szerver beállításait. Az Overseerr átvizsgálja a Plex könyvtárakat a tartalom elérhetőségének meghatározása érdekében.", @@ -341,9 +328,6 @@ "components.Settings.plexlibrariesDescription": "Az Overseerr könyvtár címeket keres. Állítsa be és mentse el a Plex kapcsolati beállításokat, majd kattintson az alábbi gombra, ha nincsenek könyvtárak.", "components.Settings.plexlibraries": "Plex könyvtárak", "components.Settings.plex": "Plex", - "components.Settings.partialRequestsEnabled": "Részleges sorozatkérések engedélyezése", - "components.Settings.originallanguageTip": "Tartalom szűrése eredeti nyelv szerint", - "components.Settings.originallanguage": "Nyelv felfedezése", "components.Settings.notrunning": "Nem fut", "components.Settings.notificationsettings": "Értesítési beállítások", "components.Settings.notifications": "Értesítések", @@ -363,29 +347,16 @@ "components.Settings.mediaTypeMovie": "film", "components.Settings.manualscanDescription": "Normális esetben ez csak 24 óránként egyszer fut le. Az Overseerr agresszívebben ellenőrzi a Plex szerver \"nemrégiben hozzáadottakat\" könyvtárat. Ha ez az első alkalom a Plex konfigurálásában, egyszeri teljes kézi könyvtárellenőrzés ajánlott!", "components.Settings.manualscan": "Kézi könyvtári beolvasás", - "components.Settings.locale": "Megjelenítési nyelv", "components.Settings.librariesRemaining": "Fennmaradó könyvtárak: {count}", "components.Settings.is4k": "4K", - "components.Settings.hideAvailable": "Elérhető média elrejtése", - "components.Settings.generalsettingsDescription": "Az Overseerr globális és alapértelmezett beállításainak konfigurálása.", - "components.Settings.generalsettings": "Általános beállítások", - "components.Settings.general": "Általános", "components.Settings.enablessl": "Használjon SSL-t", "components.Settings.email": "E-mail-cím", "components.Settings.deleteserverconfirm": "Biztos, hogy törölni szeretné ezt a szervert?", "components.Settings.default4k": "Alapértelmezett 4K", "components.Settings.default": "Alapértelmezett", "components.Settings.currentlibrary": "Jelenlegi könyvtár: {name}", - "components.Settings.csrfProtectionTip": "Külső API-hozzáférés beállítása csak olvashatóra (HTTPS szükséges)", - "components.Settings.csrfProtectionHoverTip": "NE engedélyezze ezt a beállítást, csak ha megérti, mit csinál!", - "components.Settings.csrfProtection": "Engedélyezze a CSRF-védelmet", "components.Settings.copied": "API-kulcs másolva a vágólapra.", "components.Settings.cancelscan": "Beolvasás megszakítása", - "components.Settings.cacheImagesTip": "Optimalizálja és helyben tárolja az összes képet (jelentős mennyiségű lemezterületet fogyaszt)", - "components.Settings.cacheImages": "Képek gyorsítótárazásának engedélyezése", - "components.Settings.applicationurl": "Alkalmazás URL címe", - "components.Settings.applicationTitle": "Alkalmazás címe", - "components.Settings.apikey": "API kulcs", "components.Settings.addsonarr": "Sonarr szerver hozzáadása", "components.Settings.address": "Cím", "components.Settings.addradarr": "Radarr szerver hozzáadása", @@ -1018,7 +989,7 @@ "components.RequestCard.cancelrequest": "Kérés visszavonása", "components.RequestCard.declinerequest": "Kérelem elutasítása", "components.RequestCard.editrequest": "Kérelem szerkesztése", - "components.Discover.DiscoverWatchlist.discoverwatchlist": "", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "Az Ön Plex figyelőlistája", "components.PermissionEdit.autorequest": "Automatikus kérés", "components.NotificationTypeSelector.mediaautorequested": "A kérelem automatikusan elküldve", "components.MovieDetails.reportissue": "Probléma bejelentése", @@ -1038,5 +1009,79 @@ "components.RequestCard.approverequest": "Kérelem jóváhagyása", "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "Filmkérések", "components.Layout.UserDropdown.requests": "Kérések", - "components.RequestModal.requestcollectiontitle": "Gyűjtemény kérése" + "components.RequestModal.requestcollectiontitle": "Gyűjtemény kérése", + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Aktuális frekvencia", + "components.Settings.restartrequiredTooltip": "Az Overseerr-t újra kell indítani, hogy a beállítás módosításai életbe lépjenek", + "components.StatusBadge.managemedia": "{mediaType} kezelése", + "components.StatusBadge.openinarr": "Nyitás itt: {arr}", + "components.StatusChecker.appUpdatedDescription": "Kérjük, kattintson az alábbi gombra az alkalmazás újratöltéséhez.", + "components.TitleCard.mediaerror": "{mediaType} Nem található", + "components.TvDetails.Season.somethingwentwrong": "Hiba történt az évadadatok lekérésekor.", + "components.StatusBadge.playonplex": "Lejátszás Plexen", + "components.TvDetails.rtaudiencescore": "Rotten Tomatoes közönségpontszám", + "components.TvDetails.seasonstitle": "Évadok", + "components.TvDetails.seasonnumber": "{seasonNumber} Évad", + "components.TvDetails.tmdbuserscore": "TMDB felhasználói pontszám", + "components.UserProfile.emptywatchlist": "Itt jelennek meg a Plex figyelőlistájához hozzáadott médiák.", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKey": "Felhasználói vagy csoportkulcs", + "components.StatusChecker.appUpdated": "{applicationTitle} Frissítve", + "components.IssueModal.CreateIssueModal.toastSuccessCreate": "A(z) {title} problémajelentése sikeresen elküldve!", + "components.PermissionEdit.viewrecentDescription": "Adjon engedélyt a nemrég hozzáadott médialista megtekintéséhez.", + "components.MovieDetails.theatricalrelease": "Színházi kiadás", + "components.NotificationTypeSelector.mediaautorequestedDescription": "Értesítést kaphat, ha a rendszer automatikusan új médiakérelmeket küld a Plex figyelőlistáján szereplő elemekhez.", + "components.Settings.SettingsJobsCache.plex-watchlist-sync": "Plex figyelőlista szinkronizálása", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Filmek automatikus kérése a Plex figyelőlistán", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Automatikus sorozat kérés", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Filmek automatikus kérése", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Sorozatok automatikus kérése a Plex figyelőlistán", + "components.PermissionEdit.viewwatchlists": "Plex figyelőlisták megtekintése", + "components.Settings.experimentalTooltip": "A beállítás engedélyezése váratlan alkalmazási viselkedést eredményezhet", + "components.Settings.deleteServer": "Törölje a {serverType} szervert", + "components.StatusChecker.reloadApp": "{applicationTitle} újratöltése", + "components.StatusChecker.restartRequired": "Szerver újraindítása szükséges", + "components.StatusChecker.restartRequiredDescription": "Kérjük, indítsa újra a szervert a frissített beállítások alkalmazásához.", + "components.TitleCard.cleardata": "Adatok törlése", + "components.UserProfile.plexwatchlist": "Plex figyelőlista", + "components.TvDetails.manageseries": "Sorozatok kezelése", + "components.Settings.advancedTooltip": "A beállítás helytelen konfigurálása a funkció meghibásodását eredményezheti", + "components.Discover.DiscoverWatchlist.watchlist": "Plex figyelőlista", + "components.Settings.SettingsLogs.viewdetails": "Részletek megtekintése", + "components.TvDetails.reportissue": "Probléma bejelentése", + "components.PermissionEdit.viewwatchlistsDescription": "Adjon engedélyt más felhasználók Plex figyelőlistájának megtekintéséhez.", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKeyTip": "Az Ön 30 karakteres felhasználó- vagy csoportazonosítója", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverUserKey": "Meg kell adnia egy érvényes felhasználói vagy csoportkulcsot", + "components.Discover.plexwatchlist": "Az Ön Plex figyelőlistája", + "components.RequestModal.SearchByNameModal.nomatches": "Nem találtunk megfelelőt ehhez a sorozathoz.", + "components.RequestModal.requestmovie4ktitle": "Film kérése 4K-ban", + "components.RequestModal.requestmovietitle": "Film kérése", + "components.RequestModal.requestseries4ktitle": "Sorozat kérése 4K-ban", + "components.Discover.emptywatchlist": "Itt jelennek meg a Plex figyelőlistájához hozzáadott médiák.", + "components.RequestModal.requestseriestitle": "Sorozat kérelem", + "components.PermissionEdit.autorequestDescription": "Adjon engedélyt a nem 4K-s médiára vonatkozó kérések automatikus benyújtására a Plex figyelőlistán keresztül.", + "components.PermissionEdit.autorequestMoviesDescription": "Adjon engedélyt nem 4K-s filmekre vonatkozó kérelmek automatikus benyújtására a Plex figyelőlistán keresztül.", + "components.AirDateBadge.airedrelative": "Adott {relativeTime}", + "components.AirDateBadge.airsrelative": "Sugárzott {relativeTime}", + "components.PermissionEdit.autorequestSeriesDescription": "Adjon engedélyt a nem 4K sorozatokra vonatkozó kérelmek automatikus benyújtására a Plex figyelőlistán keresztül.", + "components.RequestModal.requestseasons4k": "Kérés {seasonCount} {seasonCount, plural, one {Season} other {Seasons}} 4K-ban", + "components.TitleCard.tmdbid": "TMDB azonosító", + "components.TvDetails.episodeCount": "{episodeCount, plural, one {# Episode} other {# Episodes}}", + "components.TvDetails.rtcriticsscore": "Rotten Tomatoes Tomatomérő", + "components.TvDetails.status4k": "4K {status}", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "Minden {jobScheduleMinutes, plural, one {minute} other {{jobScheduleMinutes} minutes}}", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "Minden {jobScheduleHours, plural, one {hour} other {{jobScheduleHours} hours}}", + "components.PermissionEdit.viewrecent": "Nemrég hozzáadott megtekintése", + "components.TitleCard.tvdbid": "TheTVDB azonosító", + "components.MovieDetails.productioncountries": "Gyártás {countryCount, plural, one {Country} other {Countries}}", + "components.TvDetails.productioncountries": "Gyártás {countryCount, plural, one {Country} other {Countries}}", + "components.UserList.newplexsigninenabled": "Az Új Plex bejelentkezés engedélyezése beállítás jelenleg engedélyezve van. A könyvtár-hozzáféréssel rendelkező Plex-felhasználókat nem kell importálni a bejelentkezéshez.", + "components.MovieDetails.rtcriticsscore": "Rotten Tomatoes Tomatomérő", + "components.RequestBlock.requestedby": "Kérte", + "components.RequestModal.requestmovies": "Kérés {count} {count, plural, one {Movie} other {Movies}}", + "components.RequestModal.requestmovies4k": "Kérés {count} {count, plural, one {Movie} other {Movies}} 4K-ban", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationTokenTip": "Alkalmazás regisztrálása a(z) {applicationTitle} alkalmazáshoz", + "components.RequestCard.tmdbid": "TMDB azonosító", + "components.RequestCard.tvdbid": "TheTVDB azonosító", + "components.RequestList.RequestItem.tmdbid": "TMDB azonosító", + "components.RequestList.RequestItem.tvdbid": "TheTVDB azonosító", + "components.RequestModal.requestcollection4ktitle": "Gyűjtemény kérés 4K-ban" } diff --git a/src/i18n/locale/it.json b/src/i18n/locale/it.json index f7ff46a7d3..a03fcfb224 100644 --- a/src/i18n/locale/it.json +++ b/src/i18n/locale/it.json @@ -3,8 +3,6 @@ "components.Discover.recentlyAdded": "Aggiunti di recente", "components.Discover.populartv": "Serie popolari", "components.Discover.popularmovies": "Film popolari", - "components.Discover.discovertv": "Serie popolari", - "components.Discover.discovermovies": "Film popolari", "components.Settings.Notifications.emailsettingssaved": "Impostazioni delle notifiche via posta elettronica salvate con successo!", "components.Settings.Notifications.emailsettingsfailed": "Impossibile salvare le impostazioni delle notifiche via posta elettronica.", "components.Settings.Notifications.emailsender": "Indirizzo del mittente", @@ -101,7 +99,6 @@ "components.Setup.configureplex": "Configurare Plex", "components.Settings.validationPortRequired": "È necessario fornire un numero di porta valido", "components.Settings.validationHostnameRequired": "È necessario fornire un valido hostname o indirizzo IP", - "components.Settings.toastSettingsSuccess": "Impostazioni salvate correttamente!", "components.Settings.startscan": "Avvia la scansione", "components.Settings.ssl": "SSL", "components.Settings.radarrsettings": "Impostazioni Radarr", @@ -117,16 +114,12 @@ "components.Settings.manualscan": "Scansione manuale della libreria", "components.Settings.librariesRemaining": "Biblioteche rimanenti: {count}", "components.Settings.hostname": "Hostname o indirizzo IP", - "components.Settings.generalsettingsDescription": "Configura le impostazioni globali e predefinite per Overseerr.", - "components.Settings.generalsettings": "Impostazioni Generali", "components.Settings.deleteserverconfirm": "Sei sicuro/a di voler eliminare questo server?", "components.Settings.default4k": "4K predefinito", "components.Settings.default": "Predefinito", "components.Settings.currentlibrary": "Libreria corrente: {name}", "components.Settings.copied": "Chiave API copiata negli appunti.", "components.Settings.cancelscan": "Annulla l'analisi", - "components.Settings.applicationurl": "URL applicazione", - "components.Settings.apikey": "Chiave API", "components.Settings.addsonarr": "Aggiungi un server Sonarr", "components.Settings.addradarr": "Aggiungi un server Radarr", "components.Settings.activeProfile": "Profilo attivo", @@ -202,9 +195,6 @@ "components.Settings.plexlibraries": "Librerie Plex", "components.Settings.manualscanDescription": "Normalmente, questo verrà eseguito ogni 24 ore. Overseerr controllerà in modo più aggressivo i server Plex aggiunti di recente. Se è la prima volta che configuri Plex, si consiglia una scansione manuale completa della libreria!", "components.Settings.port": "Porta", - "components.Settings.toastSettingsFailure": "Qualcosa è andato storto nel salvare le impostazioni.", - "components.Settings.toastApiKeySuccess": "Nuova chiave API generata correttamente!", - "components.Settings.toastApiKeyFailure": "Qualcosa è andato storto generando una nuova chiave API.", "components.Setup.configureservices": "Configura i servizi", "components.Setup.finish": "Termina la configurazione", "components.Setup.continue": "Continua", @@ -311,7 +301,6 @@ "i18n.experimental": "Sperimentale", "i18n.edit": "Modifica", "components.StatusBadge.status4k": "4K {status}", - "components.Settings.hideAvailable": "Nascondi i media disponibili", "components.Settings.Notifications.NotificationsWebhook.webhooksettingssaved": "Impostazioni di Webhook salvate con successo!", "components.Settings.Notifications.NotificationsWebhook.webhooksettingsfailed": "Impossibile salvare le impostazioni di Webhook.", "components.Settings.Notifications.NotificationsWebhook.webhookUrl": "URL del webhook", @@ -360,10 +349,6 @@ "components.Settings.serverRemote": "remoto", "components.Settings.serverLocal": "locale", "components.Settings.notificationAgentSettingsDescription": "Configura e abilita gli agenti di notifica.", - "components.Settings.csrfProtectionTip": "Imposta l'accesso alle API esterne in sola lettura (richiede HTTPS)", - "components.Settings.csrfProtectionHoverTip": "NON abilitate questa opzione se non sapete cosa state facendo!", - "components.Settings.csrfProtection": "Abilita protezione CSRF", - "components.Settings.applicationTitle": "Titolo dell'applicazione", "components.Settings.SonarrModal.validationLanguageProfileRequired": "È necessario selezionare un profilo lingua", "components.Settings.SonarrModal.validationBaseUrlTrailingSlash": "L'URL di base non deve terminare con una barra obliqua", "components.Settings.SonarrModal.validationBaseUrlLeadingSlash": "L'URL di base deve avere una barra obliqua", @@ -448,10 +433,6 @@ "components.TvDetails.playonplex": "Riproduci su Plex", "components.TvDetails.play4konplex": "Riproduci in 4K su Plex", "components.Setup.setup": "Impostazione", - "components.Settings.validationApplicationUrlTrailingSlash": "L'URL non deve finire con una barra finale", - "components.Settings.validationApplicationUrl": "Devi fornire un URL valido", - "components.Settings.validationApplicationTitle": "È necessario fornire un titolo di applicazione", - "components.Settings.trustProxy": "Abilita il supporto proxy", "components.Settings.toastPlexRefreshSuccess": "Elenco dei server Plex recuperato con successo!", "components.Settings.toastPlexRefreshFailure": "Impossibile recuperare l'elenco dei server Plex.", "components.Settings.toastPlexRefresh": "Recupero dell'elenco dei server da Plex…", @@ -461,7 +442,6 @@ "components.Settings.serverpresetRefreshing": "Recupero di server…", "components.Settings.serverpresetManualMessage": "Configurazione manuale", "components.TvDetails.nextAirDate": "Prossima data di messa in onda", - "components.Settings.trustProxyTip": "Permette a Overseerr di registrare correttamente gli indirizzi IP dei client dietro un proxy", "components.Settings.settingUpPlexDescription": "Per impostare Plex, potete inserire i dati manualmente o selezionare un server recuperato da plex.tv. Premi il pulsante a destra del menu a tendina per recuperare la lista di server disponibili.", "components.Settings.Notifications.sendSilentlyTip": "Invia notifiche senza suono", "components.Settings.Notifications.sendSilently": "Invia silenziosamente", @@ -518,14 +498,10 @@ "components.UserProfile.UserSettings.UserGeneralSettings.region": "Regione da scoprire", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "Lingua da scoprire", "components.Settings.webhook": "Webhook", - "components.Settings.region": "Regione da scoprire", - "components.Settings.originallanguage": "Lingua da scoprire", "components.Settings.email": "E-mail", "components.RegionSelector.regionDefault": "Tutte le regioni", "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "Filtra i contenuti per disponibilità regionale", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "Filtra i contenuti per lingua originale", - "components.Settings.regionTip": "Filtra i contenuti per disponibilità regionale", - "components.Settings.originallanguageTip": "Filtra i contenuti per lingua originale", "components.Discover.upcomingtv": "Serie in uscita", "components.RegionSelector.regionServerDefault": "Predefinito ({region})", "components.UserProfile.UserSettings.UserPasswordChange.nopermissionDescription": "Non hai il permesso di modificare la password di questo utente.", @@ -588,7 +564,6 @@ "components.UserProfile.UserSettings.UserPermissions.unauthorizedDescription": "Non è possibile modificare le proprie autorizzazioni.", "components.TvDetails.episodeRuntimeMinutes": "{runtime} minuti", "components.TvDetails.episodeRuntime": "Durata di un episodio", - "components.Settings.partialRequestsEnabled": "Consente richieste di serie parziali", "components.RequestModal.alreadyrequested": "Già richiesto", "components.Discover.TvGenreList.seriesgenres": "Generi serie", "components.Discover.MovieGenreList.moviegenres": "Generi film", @@ -606,9 +581,6 @@ "components.Settings.services": "Servizi", "components.Settings.plex": "Plex", "components.Settings.notifications": "Notifiche", - "components.Settings.general": "Generali", - "components.Settings.cacheImagesTip": "Ottimizza e archivia tutte le immagini localmente (consuma una notevole quantità di spazio su disco)", - "components.Settings.cacheImages": "Abilita la memorizzazione cache delle immagini", "components.Settings.SettingsLogs.logs": "Registri", "components.Settings.SettingsUsers.users": "Utenti", "components.Settings.SettingsLogs.time": "Data e ora", @@ -813,7 +785,6 @@ "components.Settings.webAppUrlTip": "Indirizza opzionalmente gli utenti alla web app sul tuo server invece che alla web app \"ospitata\"", "components.Settings.Notifications.NotificationsLunaSea.webhookUrlTip": "La tua notifica webhook URL basata su utente o dispositivo", "components.Settings.webAppUrl": "URL Web App", - "components.Settings.locale": "Lingua Interfaccia", "components.Settings.SettingsUsers.newPlexLoginTip": "Permetti agli utenti di Plex di accedere senza essere prima importati", "components.Settings.SettingsUsers.newPlexLogin": "Abilita nuovo accesso con Plex", "components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Per ricevere le notifiche web push, Overseerr deve essere servito su HTTPS.", diff --git a/src/i18n/locale/ja.json b/src/i18n/locale/ja.json index db85347bec..b61e91757c 100644 --- a/src/i18n/locale/ja.json +++ b/src/i18n/locale/ja.json @@ -1,6 +1,4 @@ { - "components.Discover.discovermovies": "人気の映画", - "components.Discover.discovertv": "人気のテレビ番組", "components.Discover.popularmovies": "人気の映画", "components.Discover.populartv": "人気のテレビ番組", "components.Discover.recentlyAdded": "最近追加された動画", @@ -101,16 +99,12 @@ "components.Settings.addradarr": "Radarr サーバーを追加", "components.Settings.address": "アドレス", "components.Settings.addsonarr": "Sonarr サーバーを追加", - "components.Settings.apikey": "API キー", - "components.Settings.applicationurl": "アプリケーション URL", "components.Settings.cancelscan": "スキャンをキャンセル", "components.Settings.copied": "API キーをクリップボードにコピーされた。", "components.Settings.currentlibrary": "現在のライブラリー:{name}", "components.Settings.default": "デフォルト", "components.Settings.default4k": "デフォルト 4K", "components.Settings.deleteserverconfirm": "このサーバーを削除しますか?", - "components.Settings.generalsettings": "一般設定", - "components.Settings.generalsettingsDescription": "Overseerr の構成に関する設定です。", "components.Settings.hostname": "ホスト名・IP アドレス", "components.Settings.librariesRemaining": "残りのライブラリー:{count}", "components.Settings.manualscan": "手動ライブラリースキャン", @@ -194,10 +188,6 @@ "components.TvDetails.network": "テレビ局", "components.TvDetails.anime": "アニメ", "components.Setup.tip": "ヒント", - "components.Settings.toastSettingsSuccess": "設定の変更は保存しました。", - "components.Settings.toastSettingsFailure": "設定保存中に問題が発生しました。", - "components.Settings.toastApiKeySuccess": "新しい API キーが生成されました。", - "components.Settings.toastApiKeyFailure": "新しい API キーの生成中に問題が発生しました。", "components.Settings.SonarrModal.testFirstRootFolders": "ルートフォルダーをロードするには先に接続をテストしてください", "components.Settings.SonarrModal.testFirstQualityProfiles": "画質プロファイルをロードするには先に接続をテストしてください", "components.Settings.SonarrModal.loadingrootfolders": "ルートフォルダー読込中…", @@ -286,7 +276,6 @@ "components.UserProfile.UserSettings.menuGeneralSettings": "一般", "components.UserProfile.UserSettings.UserGeneralSettings.generalsettings": "一般設定", "components.UserProfile.UserSettings.UserGeneralSettings.general": "一般", - "components.Settings.general": "一般", "pages.internalservererror": "内部サーバーエラー", "pages.somethingwentwrong": "チケットが発生しました", "pages.serviceunavailable": "サービスが利用できません", @@ -497,7 +486,6 @@ "components.Settings.SonarrModal.loadinglanguageprofiles": "言語プロフィール読込中…", "components.Settings.SonarrModal.validationLanguageProfileRequired": "言語プロフィールを選択してください", "components.UserProfile.UserSettings.UserGeneralSettings.applanguage": "表示言語", - "components.Settings.locale": "表示言語", "components.StatusBadge.status": "{status}", "components.ManageSlideOver.downloadstatus": "ダウンロード", "components.ManageSlideOver.manageModalClearMedia": "データを消去", @@ -669,7 +657,6 @@ "components.Settings.Notifications.validationUrl": "有効な URL を入力してください", "components.Settings.SonarrModal.validationApplicationUrl": "有効な URL を入力してください", "components.Settings.urlBase": "URL のベース", - "components.Settings.validationApplicationUrl": "有効な URL を入力してください", "components.Settings.validationUrl": "有効な URL を入力してください", "components.Settings.Notifications.NotificationsWebhook.validationWebhookUrl": "有効な URL を入力してください" } diff --git a/src/i18n/locale/lt.json b/src/i18n/locale/lt.json index 951e20cf69..9b3ed23c39 100644 --- a/src/i18n/locale/lt.json +++ b/src/i18n/locale/lt.json @@ -138,7 +138,6 @@ "components.IssueDetails.IssueDescription.description": "Aprašymas", "components.IssueDetails.allseasons": "Visi sezonai", "components.CollectionDetails.requestcollection4k": "4k rezervacijų kolekcija", - "components.Discover.discovertv": "Populiarūs serialai", "components.IssueDetails.allepisodes": "Visi epizodai", "components.IssueDetails.issuetype": "Tipas", "components.IssueDetails.playonplex": "Groti per Plex", @@ -150,7 +149,6 @@ "components.Discover.upcomingtv": "Greit pasirodysiantys serialai", "components.Discover.DiscoverTvGenre.genreSeries": "{genre} serialai", "components.Discover.MovieGenreList.moviegenres": "Filmų žanrai", - "components.Discover.discovermovies": "Populiarūs filmai", "components.Discover.recentrequests": "Paskutinės rezervacijos", "components.Discover.MovieGenreSlider.moviegenres": "Filmų žanrai", "components.Discover.upcoming": "Greit pasirodysiantys filmai", diff --git a/src/i18n/locale/nb_NO.json b/src/i18n/locale/nb_NO.json index d9b78a448d..5073a71a94 100644 --- a/src/i18n/locale/nb_NO.json +++ b/src/i18n/locale/nb_NO.json @@ -1,6 +1,4 @@ { - "components.Discover.discovermovies": "Populære Filmer", - "components.Discover.discovertv": "Populære Serier", "components.Discover.popularmovies": "Populære Filmer", "components.Discover.populartv": "Populære Serier", "components.Discover.recentlyAdded": "Nylig lagt til", @@ -101,16 +99,12 @@ "components.Settings.addradarr": "Legg til Radarr-tjener", "components.Settings.address": "Adresse", "components.Settings.addsonarr": "Legg til Sonarr-tjener", - "components.Settings.apikey": "API-nøkkel", - "components.Settings.applicationurl": "Nettsadresse for Overseerr", "components.Settings.cancelscan": "Avbryt skanning", "components.Settings.copied": "API-nøkkel kopiert til utklippstavle.", "components.Settings.currentlibrary": "Nåværende bibliotek: {name}", "components.Settings.default": "Standard", "components.Settings.default4k": "Standard 4K", "components.Settings.deleteserverconfirm": "Er du sikker på at du vil slette denne tjeneren?", - "components.Settings.generalsettings": "Generelle innstilinger", - "components.Settings.generalsettingsDescription": "Konfigurer generelle innstillinger for Overseerr.", "components.Settings.hostname": "Vertsnavn eller IP-adresse", "components.Settings.librariesRemaining": "Bibliotek som gjenstår: {count}", "components.Settings.manualscan": "Manuell skanning av Biblioteket", @@ -368,24 +362,17 @@ "i18n.all": "Alle", "components.UserList.deleteconfirm": "Er du sikker på at du ønsker å slette denne brukeren? All forespørseldata for denne brukeren vil bli slettet.", "components.UserList.autogeneratepassword": "Generer passord automagisk", - "components.Settings.originallanguageTip": "Filtrer innhold basert på originalspråk", - "components.Settings.originallanguage": "Utforskelsesspråk", "components.Settings.SettingsLogs.showall": "Vis all logg", "components.Settings.SettingsJobsCache.cacheDescription": "Overseerr mellomlagrer forespørsler til eksterne APIer for å optimalisere ytelsen samt unngå unødvendige API-kall.", "components.Settings.Notifications.allowselfsigned": "Godta selvsignerte sertifikater", "components.RequestModal.SearchByNameModal.notvdbiddescription": "Vi klarte ikke å koble denne serien automagisk. Vennligst velg riktig serie under.", "components.RequestModal.QuotaDisplay.allowedRequestsUser": "Denne brukeren har tillatelse til å forespørre {limit} {type} hver {days}. dag.", "components.RequestModal.QuotaDisplay.allowedRequests": "Du har tillatelse til å forespørre {limit} {type} hver {days}. dag.", - "components.Settings.partialRequestsEnabled": "Godta ufullstendige serieforespørsler", "components.Settings.SettingsUsers.tvRequestLimitLabel": "Global begrensning av Serieforespørseler", "components.RequestModal.QuotaDisplay.requiredquotaUser": "Denne brukeren trenger minst {seasons} gjenværende {seasons, plural, one {sesongforespørsel} other {sesongforespørsler}} for å sende en forespørsel for denne serien.", "components.RequestModal.QuotaDisplay.requiredquota": "Du trenger minst {seasons} gjenværende {seasons, plural, one {sesongforespørsel} other {sesongforespørsler}} for å sende en forespørsel for denne serien.", "i18n.advanced": "Avansert", "i18n.experimental": "Eksperimentelt", - "components.Settings.hideAvailable": "Skjul tilgjengelige titler", - "components.Settings.trustProxy": "Aktiver Proxy-støtte", - "components.Settings.validationApplicationTitle": "Du må oppgi en applikasjonstittel", - "components.Settings.applicationTitle": "Applikasjonstittel", "i18n.movie": "Film", "components.UserProfile.movierequests": "Filmforespørsler", "components.UserProfile.UserSettings.UserGeneralSettings.movierequestlimit": "Begrensning av Filmforespørseler", @@ -455,11 +442,6 @@ "components.RequestModal.QuotaDisplay.quotaLinkUser": "Du kan se en oppsummering av denne brukerens forespørselbegrensninger på profilsiden deres.", "components.RequestModal.QuotaDisplay.quotaLink": "Du kan se en oppsummering av dine forespørselbegrensninger på profilsiden.", "components.RequestModal.QuotaDisplay.notenoughseasonrequests": "Ikke nok gjenværende sesongforespørsler", - "components.Settings.csrfProtectionTip": "Sett ekstern API-tilgang til skrivebeskyttet modus (krever HTTPS)", - "components.Settings.csrfProtectionHoverTip": "Ikke aktiver denne instillingen med mindre du vet hva du gjør!", - "components.Settings.csrfProtection": "Aktiver CSRF-beskyttelse", - "components.Settings.cacheImages": "Aktiver mellomlagring av bilder", - "components.Settings.region": "Utforskelsesregion", "components.UserList.owner": "Eier", "components.UserList.sortDisplayName": "Visningsnavn", "components.UserList.sortRequests": "Antall forespørsler", @@ -490,10 +472,8 @@ "components.Settings.Notifications.NotificationsWebhook.validationWebhookUrl": "Du må oppgi en gyldig nettadresse", "components.Settings.scanning": "Synkroniserer…", "components.Settings.scan": "Synkroniser bibliotek", - "components.Settings.regionTip": "Filtrer innhold basert på region", "components.Settings.plex": "Plex", "components.Settings.notifications": "Varsler", - "components.Settings.general": "Generelle innstillinger", "components.Settings.enablessl": "Aktiver SSL", "components.Settings.email": "E-post", "components.Settings.SonarrModal.validationNameRequired": "Du må oppgi et tjenernavn", @@ -633,7 +613,6 @@ "components.DownloadBlock.estimatedtime": "Estimert {time}", "components.UserProfile.UserSettings.UserPermissions.toastSettingsSuccess": "Tillatelsene ble lagret!", "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsSuccess": "Passord laget!", - "components.Settings.toastSettingsSuccess": "Innstillingene ble lagret!", "i18n.save": "Lagre", "components.Settings.Notifications.NotificationsPushover.validationTypes": "Du må velge minst én varseltype", "components.Settings.Notifications.NotificationsWebhook.validationTypes": "Du må velge minst én varseltype", @@ -740,7 +719,6 @@ "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSuccess": "Test-varsel ble sendt med Pushover!", "components.Settings.Notifications.encryptionTip": "I de fleste tilfeller bruker Implisitt TLS port 465 og STARTTLS bruker port 587", "components.Settings.RadarrModal.inCinemas": "På Kino", - "components.Settings.validationApplicationUrl": "Du må oppgi en gyldig nettadresse", "components.Settings.validationHostnameRequired": "Du må oppgi et gyldig vertsnavn eller IP-adresse", "components.Setup.tip": "Tips", "components.UserProfile.pastdays": "{type} (siste {days} dager)", @@ -778,7 +756,6 @@ "components.Settings.SettingsJobsCache.cachekeys": "Totalt antall nøkkler", "components.MovieDetails.productioncountries": "Produksjonsland", "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "Nettadressen kan ikke slutte med en skråstrek", - "components.Settings.validationApplicationUrlTrailingSlash": "Nettadressen kan ikke slutte med en skråstrek", "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationTokenTip": "Register en tjeneste til bruk sammen med {applicationTitle}", "components.Settings.serverRemote": "eksternt", "components.Settings.serverpreset": "Tjener", @@ -786,7 +763,6 @@ "components.Settings.serverpresetManualMessage": "Manuelt oppsett", "components.Settings.serverpresetRefreshing": "Henter tjenere…", "components.Settings.settingUpPlexDescription": "For å sette opp Plex, kan du enten fylle inn instillingene manuelt eller du kan velge en tjener hentet fra plex.tv. Trykk på knappen til høyre for å hente oversikten over tilgjenglige tjenere.", - "components.Settings.toastApiKeyFailure": "Noe gikk galt under generering av en ny API-nøkkel.", "components.Settings.Notifications.NotificationsPushover.toastPushoverTestFailed": "Pushover mislykkes å sende test-varsel.", "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSending": "Pushover sender test-varsel…", "components.IssueList.IssueItem.issuestatus": "Status", @@ -858,10 +834,8 @@ "components.Settings.SettingsUsers.newPlexLoginTip": "Tillat Plex brukere å logge inn uten å være importert på forhånd", "components.Settings.SonarrModal.validationApplicationUrl": "Du må oppgi en gyldig nettadresse", "components.Settings.SonarrModal.validationBaseUrlTrailingSlash": "Base URL kan ikke slutte med en skråstrek", - "components.Settings.locale": "Visningsspråk", "components.Settings.mediaTypeMovie": "film", "components.Settings.mediaTypeSeries": "serier", - "components.Settings.toastApiKeySuccess": "Ny API-nøkkel er generert!", "components.Settings.toastPlexConnecting": "Forsøker å koble til Plex…", "components.Settings.toastPlexConnectingSuccess": "Forbindelse til Plex ble opprettet!", "components.Settings.toastPlexRefresh": "Henter listen over tjenere fra Plex…", @@ -950,7 +924,6 @@ "components.Settings.Notifications.NotificationsWebhook.validationJsonPayloadRequired": "Du må oppgi en gyldig JSON payload", "components.Settings.Notifications.pgpPasswordTip": "BrukOpenPGP til å signere krypterte E-postmeldinger", "components.Settings.Notifications.toastDiscordTestFailed": "Discord mislykkes med å sende test-varsel.", - "components.Settings.toastSettingsFailure": "Noe gikk galt under lagring av innstillingene.", "components.Settings.webAppUrl": "Web-tjeneste nettadresse", "components.Settings.webpush": "Web Push", "components.UserProfile.UserSettings.UserNotificationSettings.pgpPublicKey": "Offentlig PGP-nøkkel", @@ -978,13 +951,11 @@ "components.Settings.Notifications.toastEmailTestSuccess": "Test-varsel ble sendt med E-post!", "components.Settings.Notifications.toastTelegramTestFailed": "Telegram mislykkes med å sende test-varsel.", "components.Settings.SettingsJobsCache.jobScheduleEditFailed": "Noe gikk galt under lagring av oppgaven.", - "components.Settings.cacheImagesTip": "Mellomlagrer og serverer optimaliserte bilder (Dette tar veldig mye diskplass)", "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSetOwnAccount": "Din konto har ikke noe passord på nåværende tidspunkt. Lag et passord under for å kunne logge inn med din E-postadresse som \"lokal-bruker\".", "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailureVerifyCurrent": "Noe gikk galt under lagring av passordet. Var ditt nåværende passord skrevet korrekt?", "components.Settings.Notifications.NotificationsWebhook.resetPayloadSuccess": "JSON payload tilbakestilt!", "components.Settings.Notifications.NotificationsPushover.userTokenTip": "Din 30-tegns bruker- eller gruppe-nøkkel", "components.Settings.SettingsJobsCache.cachevsize": "Verdistørrelse", - "components.Settings.trustProxyTip": "Tillatt Overseerr å registrere klienters IP addresser korrekt bak en proxy", "components.Settings.serviceSettingsDescription": "Konfigurer dine {serverType}tjener(e) nedenfor. Du kan koble til flere forskellige {serverType}tjenere men kun to av dem kan markeres som standard (en som ikke er 4K og en 4K). Administratorer kan endre hvilken tjener som brukes før godkjennelse av nye forespørsler.", "components.ManageSlideOver.manageModalClearMediaWarning": "* Dette vil slette all data for denne tittelen uten mulighet for å bli gjennopprettet, det inkluderer alle forespørsler, avvik osv. Hvis denne tittelen finnes i ditt Plex bibliotek vil medieinformasjon bli opprettet på nytt under neste skanning.", "components.Settings.Notifications.NotificationsWebhook.authheader": "Autorisasjonshode", @@ -1117,5 +1088,26 @@ "components.Discover.emptywatchlist": "Matriale som du legger til via Plex Watchlist vil dukke opp her.", "components.UserProfile.emptywatchlist": "Matriale som du legger til via Plex Watchlist vil dukke opp her.", "components.RequestModal.SearchByNameModal.nomatches": "Vi klarte ikke å koble denne serien med et søkbart treff.", - "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Nåværende frekvens" + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Nåværende frekvens", + "components.TvDetails.Season.noepisodes": "Episode-oversikten er ikke tilgjengelig.", + "components.Discover.moviegenres": "Filmsjangere", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} Filmer", + "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} Serier", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "Din Plex Visningsliste", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "Nylig lagt til", + "components.Discover.networks": "TV-nettverk", + "components.Discover.studios": "Studio", + "components.Discover.tmdbmoviegenre": "TMDB FIlmsjangere", + "components.Discover.tmdbmoviekeyword": "TMDB Filmnøkkelord", + "components.Discover.tmdbnetwork": "TMDB Nettverk", + "components.Discover.tmdbsearch": "TMDB Søk", + "components.Discover.tmdbstudio": "TMDB Studio", + "components.Discover.tmdbtvgenre": "TMDB Seriesjanger", + "components.Discover.tmdbtvkeyword": "TMDB Serienøkkelord", + "components.Discover.tvgenres": "TV-sjangere", + "components.RequestCard.unknowntitle": "Ukjent Tittel", + "components.RequestList.RequestItem.unknowntitle": "Ukjent Tittel", + "components.Settings.SettingsJobsCache.image-cache-cleanup": "Slett mellomlager for bilder", + "components.DownloadBlock.formattedTitle": "{title}: Sesong {seasonNumber} Episode {episodeNumber}", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "Media som blir lagt til Plexs Visningsliste vil dukke opp her." } diff --git a/src/i18n/locale/nl.json b/src/i18n/locale/nl.json index de695af034..c0a59bccad 100644 --- a/src/i18n/locale/nl.json +++ b/src/i18n/locale/nl.json @@ -1,6 +1,4 @@ { - "components.Discover.discovermovies": "Populaire films", - "components.Discover.discovertv": "Populaire series", "components.Discover.popularmovies": "Populaire films", "components.Discover.populartv": "Populaire series", "components.Discover.recentlyAdded": "Recent toegevoegd", @@ -101,16 +99,12 @@ "components.Settings.addradarr": "Radarr-server toevoegen", "components.Settings.address": "Adres", "components.Settings.addsonarr": "Sonarr-server toevoegen", - "components.Settings.apikey": "API-sleutel", - "components.Settings.applicationurl": "Applicatie-URL", "components.Settings.cancelscan": "Scan annuleren", "components.Settings.copied": "API-sleutel gekopieerd naar klembord.", "components.Settings.currentlibrary": "Huidige bibliotheek: {name}", "components.Settings.default": "Standaard", "components.Settings.default4k": "Standaard 4K", "components.Settings.deleteserverconfirm": "Weet je zeker dat je deze server wilt verwijderen?", - "components.Settings.generalsettings": "Algemene instellingen", - "components.Settings.generalsettingsDescription": "Algemene en standaardinstellingen van Overseerr configureren.", "components.Settings.hostname": "Hostnaam of IP-adres", "components.Settings.librariesRemaining": "Resterende bibliotheken: {count}", "components.Settings.manualscan": "Handmatige bibliotheekscan", @@ -222,10 +216,6 @@ "components.TvDetails.network": "{networkCount, plural, one {Netwerk} other {Netwerken}}", "components.TvDetails.firstAirDate": "Datum eerste uitzending", "components.TvDetails.anime": "Anime", - "components.Settings.toastSettingsSuccess": "Instellingen succesvol opgeslagen!", - "components.Settings.toastSettingsFailure": "Er ging iets mis bij het opslaan van de instellingen.", - "components.Settings.toastApiKeySuccess": "Nieuwe API-sleutel succesvol gegenereerd!", - "components.Settings.toastApiKeyFailure": "Er ging iets mis bij het genereren van een nieuwe API-sleutel.", "components.Settings.SonarrModal.animerootfolder": "Hoofdmap anime", "components.Settings.SonarrModal.animequalityprofile": "Kwaliteitsprofiel anime", "components.Settings.SettingsAbout.timezone": "Tijdzone", @@ -331,7 +321,6 @@ "components.NotificationTypeSelector.mediadeclined": "Verzoek geweigerd", "components.RequestModal.autoapproval": "Automatische goedkeuring", "i18n.experimental": "Experimenteel", - "components.Settings.hideAvailable": "Beschikbare media verbergen", "components.RequestModal.requesterror": "Er ging iets mis bij het aanvragen.", "components.RequestModal.SearchByNameModal.notvdbiddescription": "We kunnen deze serie niet automatisch matchen. Selecteer hieronder de juiste match.", "components.Login.signinwithplex": "Plex-account gebruiken", @@ -358,8 +347,6 @@ "components.Settings.serverpreset": "Server", "components.Settings.serverRemote": "extern", "components.Settings.serverLocal": "lokaal", - "components.Settings.csrfProtectionTip": "Externe API-toegang instellen op alleen-lezen (vereist HTTPS)", - "components.Settings.csrfProtection": "CSRF-bescherming inschakelen", "components.PermissionEdit.usersDescription": "Toestemming geven om gebruikers te beheren. Gebruikers met deze toestemming kunnen gebruikers met beheerdersrechten niet wijzigen of die rechten verlenen.", "components.PermissionEdit.users": "Gebruikers beheren", "components.PermissionEdit.requestDescription": "Toestemming geven om niet-4K-media aan te vragen.", @@ -392,14 +379,11 @@ "components.MovieDetails.play4konplex": "Afspelen in 4K op Plex", "components.MovieDetails.mark4kavailable": "Als beschikbaar in 4K markeren", "components.MovieDetails.markavailable": "Als beschikbaar markeren", - "components.Settings.trustProxyTip": "Overseerr toestaan om IP-adressen van clients correct te registreren achter een proxy", - "components.Settings.trustProxy": "Proxy-ondersteuning inschakelen", "components.Settings.SettingsJobsCache.cacheflushed": "{cachename} cache leeggemaakt.", "components.Settings.SettingsJobsCache.cache": "Cache", "components.Settings.SettingsJobsCache.cachemisses": "Ontbreekt", "components.Settings.SettingsJobsCache.jobsDescription": "Overseerr voert bepaalde onderhoudstaken uit als regelmatig ingeplande taken, maar ze kunnen hieronder ook handmatig worden gestart. Het handmatig uitvoeren van een taak verandert de planning niet.", "i18n.advanced": "Geavanceerd", - "components.Settings.csrfProtectionHoverTip": "Deze instelling NIET inschakelen tenzij je begrijpt wat je doet!", "components.Settings.SettingsJobsCache.runnow": "Nu uitvoeren", "components.Settings.SettingsJobsCache.process": "Proces", "components.Settings.SettingsJobsCache.nextexecution": "Volgende uitvoering", @@ -419,15 +403,11 @@ "components.Settings.SettingsJobsCache.cacheDescription": "Overseerr cachet verzoeken aan externe API-eindpunten om prestatie te optimaliseren en onnodige API-aanroepen te vermijden.", "components.Settings.SettingsAbout.preferredmethod": "Voorkeur", "components.UserList.users": "Gebruikers", - "components.Settings.applicationTitle": "Toepassingstitel", "components.Search.search": "Zoeken", "components.Setup.setup": "Configuratie", "components.RequestModal.AdvancedRequester.requestas": "Aanvragen als", "components.Discover.discover": "Ontdekken", - "components.Settings.validationApplicationTitle": "Je moet een toepassingstitel opgeven", "components.AppDataWarning.dockerVolumeMissingDescription": "De volumekoppeling {appDataPath} was niet correct geconfigureerd. Alle gegevens zullen worden gewist wanneer de container wordt gestopt of opnieuw wordt gestart.", - "components.Settings.validationApplicationUrlTrailingSlash": "URL mag niet eindigen op een schuine streep", - "components.Settings.validationApplicationUrl": "Je moet een geldige URL opgeven", "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "URL mag niet eindigen op een schuine streep", "components.Settings.SonarrModal.validationApplicationUrl": "Je moet een geldige URL opgeven", "components.Settings.RadarrModal.validationApplicationUrlTrailingSlash": "URL mag niet eindigen op een schuine streep", @@ -520,10 +500,6 @@ "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "Inhoud filteren op oorspronkelijke taal", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "Taal van Ontdekken", "components.Settings.webhook": "Webhook", - "components.Settings.regionTip": "Inhoud filteren op regionale beschikbaarheid", - "components.Settings.region": "Regio van Ontdekken", - "components.Settings.originallanguageTip": "Inhoud filteren op oorspronkelijke taal", - "components.Settings.originallanguage": "Taal van Ontdekken", "components.Settings.email": "E-mail", "components.RegionSelector.regionDefault": "Alle regio’s", "components.Discover.upcomingtv": "Verwachte series", @@ -589,7 +565,6 @@ "components.RequestModal.AdvancedRequester.folder": "{path} ({space})", "components.Discover.TvGenreSlider.tvgenres": "Seriegenres", "components.Discover.MovieGenreSlider.moviegenres": "Filmgenres", - "components.Settings.partialRequestsEnabled": "Gedeeltelijke serieverzoeken toestaan", "components.RequestModal.alreadyrequested": "Al aangevraagd", "components.Discover.TvGenreList.seriesgenres": "Seriegenres", "components.Discover.MovieGenreList.moviegenres": "Filmgenres", @@ -619,13 +594,10 @@ "components.Settings.services": "Diensten", "components.Settings.plex": "Plex", "components.Settings.notifications": "Meldingen", - "components.Settings.general": "Algemeen", "components.Settings.SettingsUsers.users": "Gebruikers", "components.Settings.SettingsJobsCache.jobsandcache": "Taken en cache", "components.Settings.SettingsAbout.about": "Over", "components.ResetPassword.passwordreset": "Wachtwoord opnieuw instellen", - "components.Settings.cacheImagesTip": "Geoptimaliseerde afbeeldingen cachen en hosten (vereist veel schijfruimte)", - "components.Settings.cacheImages": "Afbeeldingscaching inschakelen", "components.Settings.SettingsLogs.logDetails": "Loggegevens", "components.Settings.SettingsLogs.extraData": "Aanvullende gegevens", "components.Settings.SettingsLogs.copyToClipboard": "Naar klembord kopiëren", @@ -797,7 +769,6 @@ "components.PermissionEdit.requestTv": "Series aanvragen", "components.PermissionEdit.requestMovies": "Films aanvragen", "components.UserProfile.UserSettings.UserGeneralSettings.languageDefault": "Standaard ({language})", - "components.Settings.locale": "Weergavetaal", "components.DownloadBlock.estimatedtime": "Geschat {time}", "components.Settings.Notifications.NotificationsSlack.webhookUrlTip": "Maak een inkomende webhookintegratie aan", "components.Settings.Notifications.botApiTip": "Maak een bot om te gebruiken met Overseerr", @@ -1117,5 +1088,134 @@ "components.RequestBlock.lastmodifiedby": "Laatst gewijzigd door", "components.RequestBlock.requestdate": "Aanvraagdatum", "components.RequestBlock.requestedby": "Aangevraagd door", - "components.RequestCard.approverequest": "Verzoek goedkeuren" + "components.RequestCard.approverequest": "Verzoek goedkeuren", + "components.TvDetails.Season.noepisodes": "Afleveringenlijst niet beschikbaar.", + "components.Settings.SettingsJobsCache.imagecache": "Afbeeldingcache", + "components.Settings.SettingsJobsCache.imagecachecount": "Afbeeldingen in cache", + "components.Settings.SettingsJobsCache.imagecachesize": "Totale cachegrootte", + "components.Settings.SettingsJobsCache.image-cache-cleanup": "Afbeeldingcache legen", + "components.Settings.SettingsJobsCache.imagecacheDescription": "Wanneer ingeschakeld in de instellingen, zal Overseerr afbeeldingen proxyen en cachen van vooraf geconfigureerde externe bronnen. Gecachete afbeeldingen worden opgeslagen in je configuratiemap. Je kan de bestanden vinden in {appDataPath}/cache/images.", + "components.DownloadBlock.formattedTitle": "{title}: seizoen {seasonNumber} aflevering {episodeNumber}", + "components.RequestCard.unknowntitle": "Onbekende titel", + "components.RequestList.RequestItem.unknowntitle": "Onbekende titel", + "components.StatusBadge.seasonepisodenumber": "S{seasonNumber}E{episodeNumber}", + "components.Discover.CreateSlider.needresults": "Je moet minstens 1 resultaat hebben.", + "components.Discover.CreateSlider.providetmdbgenreid": "Geef een TMDB Genre ID op", + "components.Discover.CreateSlider.providetmdbnetwork": "Geef een TMDB Network ID op", + "components.Discover.CreateSlider.nooptions": "Geen resultaten.", + "components.Discover.CreateSlider.providetmdbkeywordid": "Geef een TMDB Keyword ID op", + "components.Discover.DiscoverSliderEdit.enable": "Zichtbaarheid in-/uitschakelen", + "components.Discover.CreateSlider.providetmdbsearch": "Geef een zoekopdracht op", + "components.Discover.CreateSlider.searchGenres": "Genres zoeken…", + "components.Discover.CreateSlider.providetmdbstudio": "Geef een TMDB Studio ID op", + "components.Discover.moviegenres": "Filmgenres", + "components.Discover.CreateSlider.searchKeywords": "Trefwoorden zoeken…", + "components.Discover.DiscoverTvKeyword.keywordSeries": "{keywordTitle} serie", + "components.Discover.customizediscover": "Ontdekken aanpassen", + "components.Discover.DiscoverSliderEdit.remove": "Verwijderen", + "components.Discover.resetfailed": "Er is iets fout gegaan bij het resetten van de instellingen van Ontdekken.", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "Media die zijn toegevoegd aan je Plex Kijklijst verschijnen hier.", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "Je Plex Kijklijst", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "Recent toegevoegd", + "components.Discover.networks": "Netwerken", + "components.Discover.CreateSlider.searchStudios": "Studio's zoeken…", + "components.Discover.CreateSlider.starttyping": "Begin met typen om te zoeken.", + "components.Discover.CreateSlider.validationDatarequired": "Je moet een gegevenswaarde opgeven.", + "components.Discover.CreateSlider.validationTitlerequired": "Je moet een titel opgeven.", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} films", + "components.Discover.tmdbmoviekeyword": "TMDB-filmtrefwoord", + "components.Discover.tmdbnetwork": "TMDB-netwerk", + "components.Discover.tmdbsearch": "TMDB-zoekopdracht", + "components.Settings.SettingsMain.apikey": "API-sleutel", + "components.Settings.SettingsMain.cacheImagesTip": "Externe afbeeldingen cachen (vereist veel schijfruimte)", + "components.Settings.SettingsMain.generalsettingsDescription": "Algemene en standaardinstellingen van Overseerr configureren.", + "components.Settings.SettingsMain.general": "Algemeen", + "components.Settings.SettingsMain.generalsettings": "Algemene instellingen", + "components.Settings.SettingsMain.hideAvailable": "Beschikbare media verbergen", + "components.Settings.SettingsMain.regionTip": "Inhoud filteren op regionale beschikbaarheid", + "components.Settings.SettingsMain.toastSettingsSuccess": "Instellingen succesvol opgeslagen!", + "components.Discover.DiscoverSliderEdit.deletesuccess": "Slider succesvol verwijderd.", + "components.Discover.createnewslider": "Nieuwe slider maken", + "components.Discover.resetwarning": "Zet alle sliders terug naar standaard. Dit zal ook alle aangepaste sliders verwijderen!", + "components.Discover.stopediting": "Stop met bewerken", + "components.Discover.studios": "Studio's", + "components.Discover.tmdbmoviegenre": "TMDB-filmgenre", + "components.Discover.tmdbstudio": "TMDB-studio", + "components.Discover.tmdbtvgenre": "TMDB-genre serie", + "components.Discover.tmdbtvkeyword": "TMDB-trefwoord serie", + "components.Discover.updatesuccess": "Instellingen Ontdekken bijgewerkt.", + "components.Discover.DiscoverMovies.sortPopularityAsc": "Populariteit oplopend", + "components.Discover.DiscoverMovies.sortPopularityDesc": "Populariteit aflopend", + "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Releasedatum oplopend", + "components.Discover.DiscoverMovies.sortTitleAsc": "Titel (A-Z) oplopend", + "components.Discover.DiscoverMovies.sortTitleDesc": "Titel (Z-A) aflopend", + "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "TMDB-beoordeling oplopend", + "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "TMDB-beoordeling aflopend", + "components.Discover.DiscoverSliderEdit.deletefail": "Slider verwijderen mislukt.", + "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# filter actief} other {# filters actief}}", + "components.Discover.DiscoverTv.discovertv": "Series", + "components.Discover.DiscoverTv.sortFirstAirDateAsc": "Eerste uitzenddatum oplopend", + "components.Discover.DiscoverTv.sortPopularityDesc": "Populariteit aflopend", + "components.Discover.DiscoverTv.sortTitleAsc": "Titel (A-Z) oplopend", + "components.Discover.DiscoverTv.sortTitleDesc": "Titel (Z-A) aflopend", + "components.Discover.FilterSlideover.activefilters": "{count, plural, one {# filter actief} other {# filters actief}}", + "components.Discover.FilterSlideover.clearfilters": "Actieve filters wissen", + "components.Discover.FilterSlideover.filters": "Filters", + "components.Discover.FilterSlideover.firstAirDate": "Eerste uitzenddatum", + "components.Discover.FilterSlideover.from": "Van", + "components.Discover.FilterSlideover.genres": "Genres", + "components.Discover.FilterSlideover.keywords": "Trefwoorden", + "components.Discover.FilterSlideover.originalLanguage": "Originele taal", + "components.Discover.FilterSlideover.ratingText": "Beoordelingen tussen {minValue} en {maxValue}", + "components.Discover.FilterSlideover.releaseDate": "Releasedatum", + "components.Discover.FilterSlideover.runtime": "Duur", + "components.Discover.FilterSlideover.runtimeText": "{minValue}-{maxValue} minuten looptijd", + "components.Discover.FilterSlideover.studio": "Studio", + "components.Discover.FilterSlideover.tmdbuserscore": "TMDB-gebruikersscore", + "components.Discover.FilterSlideover.to": "Tot", + "components.Discover.resetsuccess": "Instellingen Ontdekken succesvol teruggezet.", + "components.Discover.resettodefault": "Terugzetten naar standaard", + "components.Discover.tvgenres": "Seriegenre", + "components.Discover.updatefailed": "Er is iets fout gegaan bij het bijwerken van de instellingen van Ontdekken.", + "components.Layout.Sidebar.browsemovies": "Films", + "components.Selector.nooptions": "Geen resultaten.", + "components.Selector.searchStudios": "Studio's zoeken…", + "components.Selector.starttyping": "Begin met typen om te zoeken.", + "components.Settings.SettingsMain.applicationTitle": "Toepassingstitel", + "components.Settings.SettingsMain.csrfProtection": "CSRF-bescherming inschakelen", + "components.Settings.SettingsMain.csrfProtectionHoverTip": "Schakel deze instelling NIET in tenzij je begrijpt wat je doet!", + "components.Settings.SettingsMain.locale": "Weergavetaal", + "components.Settings.SettingsMain.originallanguage": "Taal van Ontdekken", + "components.Settings.SettingsMain.originallanguageTip": "Inhoud filteren op oorspronkelijke taal", + "components.Settings.SettingsMain.partialRequestsEnabled": "Aanvragen voor gedeeltelijke series toestaan", + "components.Settings.SettingsMain.region": "Regio van Ontdekken", + "components.Settings.SettingsMain.toastApiKeyFailure": "Er ging iets mis bij het genereren van een nieuwe API-sleutel.", + "components.Settings.SettingsMain.toastApiKeySuccess": "Nieuwe API-sleutel succesvol gegenereerd!", + "components.Settings.SettingsMain.trustProxy": "Proxy-ondersteuning inschakelen", + "components.Settings.SettingsMain.trustProxyTip": "Overseerr toestaan om IP-adressen van clients correct te registreren achter een proxy", + "components.Settings.SettingsMain.validationApplicationTitle": "Je moet een toepassingstitel opgeven", + "components.Settings.SettingsMain.validationApplicationUrlTrailingSlash": "URL mag niet eindigen op een schuine streep", + "components.Discover.DiscoverMovies.activefilters": "{count, plural, one {# filter actief} other {# filters actief}}", + "components.Discover.DiscoverMovies.discovermovies": "Films", + "components.Discover.DiscoverTv.sortTmdbRatingDesc": "TMDB-beoordeling aflopend", + "components.Discover.DiscoverMovies.sortReleaseDateDesc": "Releasedatum aflopend", + "components.Discover.DiscoverTv.sortPopularityAsc": "Populariteit oplopend", + "components.Discover.DiscoverTv.sortTmdbRatingAsc": "TMDB-beoordeling oplopend", + "components.Discover.DiscoverTv.sortFirstAirDateDesc": "Eerste uitzenddatum aflopend", + "components.Settings.SettingsMain.applicationurl": "Applicatie-URL", + "components.Layout.Sidebar.browsetv": "Series", + "components.Selector.searchGenres": "Genres selecteren…", + "components.Selector.searchKeywords": "Trefwoorden zoeken…", + "components.Settings.SettingsMain.cacheImages": "Afbeeldingscaching inschakelen", + "components.Settings.SettingsMain.csrfProtectionTip": "Externe API-toegang instellen op alleen-lezen (vereist HTTPS)", + "components.Settings.SettingsMain.validationApplicationUrl": "Je moet een geldige URL opgeven", + "components.Settings.SettingsMain.toastSettingsFailure": "Er ging iets mis bij het opslaan van de instellingen.", + "components.Discover.CreateSlider.addSlider": "Slider toevoegen", + "components.Discover.CreateSlider.addcustomslider": "Aangepaste slider maken", + "components.Discover.CreateSlider.addfail": "Nieuwe slider maken mislukt.", + "components.Discover.CreateSlider.addsuccess": "Nieuwe slider aangemaakt en instellingen Ontdekken opgeslagen.", + "components.Discover.CreateSlider.editSlider": "Slider bewerken", + "components.Discover.CreateSlider.editfail": "Slider bewerken mislukt.", + "components.Discover.CreateSlider.editsuccess": "Slider bewerkt en instellingen Ontdekken opgeslagen.", + "components.Discover.CreateSlider.slidernameplaceholder": "Naam slider" } diff --git a/src/i18n/locale/pl.json b/src/i18n/locale/pl.json index 1488ce330e..e788b0f2b6 100644 --- a/src/i18n/locale/pl.json +++ b/src/i18n/locale/pl.json @@ -107,7 +107,7 @@ "components.IssueModal.CreateIssueModal.providedetail": "Podaj szczegółowe wyjaśnienie napotkanego problemu.", "components.IssueModal.CreateIssueModal.whatswrong": "Co jest nie tak?", "components.Discover.MovieGenreList.moviegenres": "Gatunki filmowe", - "components.Discover.TvGenreList.seriesgenres": "Gatunki seriali", + "components.Discover.TvGenreList.seriesgenres": "Gatunki serialu", "components.Discover.recentrequests": "Ostatnie prośby", "components.Discover.upcomingmovies": "Nadchodzące filmy", "components.IssueModal.CreateIssueModal.reportissue": "Zgłoś problem", @@ -117,7 +117,6 @@ "components.IssueDetails.reopenissueandcomment": "Otwórz ponownie z komentarzem", "components.IssueModal.issueOther": "Inny", "components.CollectionDetails.numberofmovies": "{count} Filmy", - "components.Discover.discovermovies": "Popularne filmy", "components.Discover.MovieGenreSlider.moviegenres": "Gatunki filmowe", "components.Discover.upcoming": "Nadchodzące filmy", "components.IssueDetails.problemseason": "Sezon, którego dotyczy problem", @@ -126,7 +125,7 @@ "components.CollectionDetails.overview": "Podsumowanie", "components.Discover.StudioSlider.studios": "Studia", "components.Discover.discover": "Odkryj", - "components.Discover.TvGenreSlider.tvgenres": "Gatunki seriali", + "components.Discover.TvGenreSlider.tvgenres": "Gatunki serialu", "components.Discover.recentlyAdded": "Niedawno dodane", "components.IssueDetails.toasteditdescriptionsuccess": "Pomyślnie edytowano opis problemu!", "components.IssueDetails.IssueDescription.description": "Opis", @@ -230,7 +229,6 @@ "components.Discover.DiscoverNetwork.networkSeries": "Seriale z {network}", "components.Discover.DiscoverStudio.studioMovies": "Filmy studia {studio}", "components.Discover.NetworkSlider.networks": "Platformy", - "components.Discover.discovertv": "Popularne Seriale", "components.Discover.populartv": "Popularne seriale", "components.Discover.trending": "Popularne", "components.Discover.upcomingtv": "Nadchodzące seriale", @@ -410,7 +408,7 @@ "components.QuotaSelector.movieRequests": "{quotaLimit} {movies} na {quotaDays} {days}", "components.QuotaSelector.movies": "{count, plural, one {film} other {filmy}}", "components.RequestButton.declinerequests": "Odrzuć {requestCount, plural, one {prośbę} other {{requestCount} prośby}}", - "components.RequestCard.mediaerror": "Tytuł skojarzony z tą prośbą nie jest już dostępny.", + "components.RequestCard.mediaerror": "Nie znaleziono {mediaType}", "components.RequestModal.QuotaDisplay.quotaLinkUser": "Możesz wyświetlić podsumowanie limitów próśb tego użytkownika na jego stronie profilu.", "components.Settings.Notifications.validationSmtpPortRequired": "Musisz podać prawidłowy numer portu", "components.Settings.RadarrModal.create4kradarr": "Dodaj nowy serwer 4K Radarr", @@ -436,7 +434,7 @@ "components.PermissionEdit.requestTv": "Poproś o serial", "components.RequestCard.seasons": "{seasonCount, plural, one {Sezon} other {Sezony}}", "components.RequestList.RequestItem.failedretry": "Coś poszło nie tak podczas ponawiania prośby.", - "components.RequestList.RequestItem.mediaerror": "Tytuł powiązany z tą prośbą nie jest już dostępny.", + "components.RequestList.RequestItem.mediaerror": "Nie znaleziono {mediaType}", "components.RequestList.RequestItem.seasons": "{seasonCount, plural, one {sezon} other {sezony}}", "components.RequestList.requests": "Prośby", "components.RequestModal.AdvancedRequester.animenote": "* Ta seria to anime.", @@ -449,7 +447,7 @@ "components.RequestModal.QuotaDisplay.notenoughseasonrequests": "Brak wystarczającej liczby próśb o sezon", "components.RequestModal.QuotaDisplay.requiredquotaUser": "Aby przesłać prośbę o ten serial, ten użytkownik musi mieć co najmniej {seasons} {seasons, plural, one {prośbę} other {prośby}}.", "components.RequestModal.QuotaDisplay.seasonlimit": "{limit, plural, one {sezon} other {sezony}}", - "components.RequestModal.SearchByNameModal.notvdbiddescription": "Nie mogliśmy automatycznie spełnić Twojej prośby. Wybierz odpowiednie dopasowanie z poniższej listy.", + "components.RequestModal.SearchByNameModal.notvdbiddescription": "Nie udało nam się automatycznie dopasować tej serii. Wybierz odpowiednie dopasowanie z poniższej listy.", "components.RequestModal.alreadyrequested": "Już poproszono", "components.RequestModal.autoapproval": "Automatyczne zatwierdzenie", "components.RequestModal.edit": "Edytuj prośbę", @@ -515,7 +513,7 @@ "components.Settings.RadarrModal.validationBaseUrlTrailingSlash": "Bazowy URL nie może być zakończony ukośnikiem", "components.Settings.RadarrModal.validationHostnameRequired": "Musisz podać prawidłową nazwę hosta lub adres IP", "components.Settings.SettingsJobsCache.editJobSchedule": "Zmodyfikuj zadanie", - "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Częstotliwość", + "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Nowa częstotliwość", "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "Co{jobScheduleHours, plural, one {godzinę} other {{jobScheduleHours} godzin}}", "components.Settings.SettingsJobsCache.flushcache": "Opróżnij pamięć podręczną", "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "Co {jobScheduleMinutes, plural, one {minutę} other {{jobScheduleMinutes} minut}}", @@ -624,24 +622,15 @@ "components.Settings.SonarrModal.validationNameRequired": "Musisz podać nazwę serwera", "components.Settings.SonarrModal.validationRootFolderRequired": "Musisz wybrać folder główny", "components.Settings.activeProfile": "Aktywny profil", - "components.Settings.applicationTitle": "Tytuł aplikacji", - "components.Settings.applicationurl": "Adres URL aplikacji", - "components.Settings.cacheImages": "Włącz buforowanie obrazów", - "components.Settings.csrfProtection": "Włącz ochronę CSRF", "components.Settings.copied": "Skopiowano klucz API do schowka.", - "components.Settings.csrfProtectionHoverTip": "NIE włączaj tego ustawienia, chyba że rozumiesz, co robisz!", "components.Settings.default": "Domyślny", "components.Settings.default4k": "Domyślne 4K", "components.Settings.deleteserverconfirm": "Czy na pewno chcesz usunąć ten serwer?", "components.Settings.email": "E-mail", "components.Settings.enablessl": "Użyj SSL", - "components.Settings.generalsettingsDescription": "Skonfiguruj globalne i domyślne ustawienia dla Overseerr.", - "components.Settings.hideAvailable": "Ukryj dostępne multimedia", - "components.Settings.generalsettings": "Ustawienia ogólne", "components.Settings.librariesRemaining": "Pozostałe biblioteki: {count}", "components.Settings.hostname": "Nazwa hosta lub adres IP", "components.Settings.is4k": "4K", - "components.Settings.locale": "Język wyświetlania", "components.Settings.manualscan": "Ręczne skanowanie biblioteki", "components.Settings.manualscanDescription": "Zwykle będzie to uruchamiane tylko raz na 24 godziny. Overseerr sprawdzi ostatnio dodane serwery Plex bardziej agresywnie. Jeśli konfigurujesz Plex po raz pierwszy, zalecane jest jednorazowe pełne ręczne skanowanie biblioteki!", "components.Settings.mediaTypeMovie": "film", @@ -656,14 +645,10 @@ "components.Settings.notifications": "Powiadomienia", "components.Settings.notificationsettings": "Ustawienia powiadomień", "components.Settings.notrunning": "Nie działa", - "components.Settings.originallanguage": "Odkryj język", - "components.Settings.originallanguageTip": "Filtruj zawartość według języka oryginału", "components.Settings.plexlibraries": "Biblioteki Plex", "components.Settings.plexlibrariesDescription": "Biblioteki, które Overseerr skanuje w poszukiwaniu tytułów. Skonfiguruj i zapisz ustawienia połączenia Plex, a następnie kliknij przycisk poniżej, jeśli na liście nie ma żadnych bibliotek.", "components.Settings.plexsettings": "Ustawienia Plex", "components.Settings.radarrsettings": "Ustawienia Radarr", - "components.Settings.region": "Odkryj Region", - "components.Settings.regionTip": "Filtruj zawartość według dostępności regionalnej", "components.Settings.scanning": "Synchronizacja…", "components.Settings.serverLocal": "lokalny", "components.Settings.serverRemote": "zdalny", @@ -675,9 +660,7 @@ "components.Settings.services": "Usługi", "components.Settings.settingUpPlexDescription": "Aby skonfigurować aplikację Plex, możesz wprowadzić szczegóły ręcznie lub wybrać serwer pobrany z witryny plex.tv. Naciśnij przycisk znajdujący się po prawej stronie listy rozwijanej, aby wyświetlić listę dostępnych serwerów.", "components.Settings.toastPlexRefresh": "Pobieranie listy serwerów z Plex…", - "components.Settings.toastSettingsFailure": "Coś poszło nie tak podczas zapisywania ustawień.", "components.Settings.validationHostnameRequired": "Musisz podać prawidłową nazwę hosta lub adres IP", - "components.Settings.validationApplicationUrlTrailingSlash": "Adres URL nie może kończyć się ukośnikiem", "components.Settings.webAppUrl": " Adres URL aplikacji internetowej", "components.Setup.finishing": "Kończenie…", "components.Setup.signinMessage": "Zacznij logując się na swoje konto Plex", @@ -749,11 +732,8 @@ "components.Settings.plexsettingsDescription": "Skonfiguruj ustawienia serwera Plex. Overseerr skanuje biblioteki Plex, aby określić dostępność treści.", "components.Settings.port": "Port", "components.Settings.scan": "Synchronizuj biblioteki", - "components.Settings.toastApiKeySuccess": "Nowy klucz API został pomyślnie wygenerowany!", "components.Settings.toastPlexConnecting": "Próba połączenia z Plex…", "components.Settings.toastPlexConnectingFailure": "Nie udało się połączyć z Plex.", - "components.Settings.validationApplicationTitle": "Należy podać tytuł aplikacji", - "components.Settings.validationApplicationUrl": "Musisz podać poprawny adres URL", "components.Settings.validationPortRequired": "Musisz podać prawidłowy numer portu", "components.Settings.webhook": "Webhooki", "components.Setup.configureplex": "Skonfiguruj Plex", @@ -794,8 +774,6 @@ "components.Settings.SonarrModal.enableSearch": "Włącz automatyczne wyszukiwanie", "components.Settings.menuLogs": "Logi", "components.Settings.SonarrModal.externalUrl": "Zewnętrzny adres URL", - "components.Settings.apikey": "Klucz API", - "components.Settings.general": "Ogólne", "components.Settings.menuNotifications": "Powiadomienia", "components.Settings.plex": "Plex", "components.UserList.users": "Użytkownicy", @@ -902,7 +880,6 @@ "components.Settings.SonarrModal.animerootfolder": "Folder główny anime", "components.Settings.SonarrModal.selectQualityProfile": "Wybierz profil jakości", "components.Settings.SonarrModal.selecttags": "Wybierz tagi", - "components.Settings.csrfProtectionTip": "Ustaw zewnętrzny dostęp api na tylko do odczytu (wymaga HTTPS)", "components.Settings.toastPlexRefreshFailure": "Nie udało się pobrać listy serwerów Plex.", "components.Settings.SonarrModal.apiKey": "Klucz API", "components.Settings.cancelscan": "Anuluj skanowanie", @@ -915,25 +892,19 @@ "components.Settings.addradarr": "Dodaj serwer Radarr", "components.Settings.SonarrModal.servername": "Nazwa serwera", "components.Settings.SonarrModal.syncEnabled": "Włącz skanowanie", - "components.Settings.cacheImagesTip": "Optymalizacja i przechowywanie wszystkich obrazów lokalnie (zużywa znaczną ilość miejsca na dysku)", "components.Settings.menuPlexSettings": "Plex", "components.Settings.menuUsers": "Użytkownicy", "components.Settings.currentlibrary": "Bieżąca biblioteka: {name}", "components.Settings.menuServices": "Usługi", - "components.Settings.partialRequestsEnabled": "Zezwalaj na prośby o część serialu", "components.Settings.sonarrsettings": "Ustawienia Sonarr", "components.Settings.ssl": "Protokół SSL", - "components.Settings.trustProxyTip": "Pozwól Overseerr poprawnie rejestrować adresy IP klientów za serwerem proxy", "components.Settings.toastPlexConnectingSuccess": "Połączenie Plex nawiązane pomyślnie!", - "components.Settings.toastSettingsSuccess": "Ustawienia zostały zapisane pomyślnie!", "components.Settings.serviceSettingsDescription": "Skonfiguruj poniżej swój serwer(y) {serverType}. Możesz podłączyć wiele serwerów {serverType}, ale tylko dwa z nich mogą być oznaczone jako domyślne (jeden nie-4K i jeden 4K). Administratorzy mogą zmienić serwer używany do przetwarzania nowych żądań przed zatwierdzeniem.", - "components.Settings.toastApiKeyFailure": "Coś poszło nie tak podczas generowania nowego klucza API.", "components.Settings.toastPlexRefreshSuccess": "Lista serwerów Plex została pobrana pomyślnie!", - "components.Settings.trustProxy": "Włącz obsługę proxy", "components.Settings.startscan": "Rozpocznij skanowanie", "components.Setup.finish": "Zakończ konfigurację", "components.Setup.scanbackground": "Skanowanie będzie działać w tle. W międzyczasie możesz kontynuować proces konfiguracji.", - "components.TvDetails.network": "{networkCount, plural, one {Sieć} other {Sieci}}", + "components.TvDetails.network": "{networkCount, plural, one {Platforma} few {Platformy} other {Platform}}", "components.UserProfile.UserSettings.UserGeneralSettings.user": "Użytkownik", "components.Settings.webAppUrlTip": "Opcjonalnie kieruj użytkowników do aplikacji internetowej na Twoim serwerze zamiast do \"hostowanej\" aplikacji internetowej", "components.Setup.loginwithplex": "Zaloguj się przez Plex", @@ -1060,5 +1031,194 @@ "components.Layout.UserDropdown.requests": "Prośby", "components.MovieDetails.rtaudiencescore": "Ocena Rotten Tomatoes", "components.MovieDetails.rtcriticsscore": "Tomatometer Rotten Tomatoes", - "components.MovieDetails.tmdbuserscore": "Ocena użytkowników TMDB" + "components.MovieDetails.tmdbuserscore": "Ocena użytkowników TMDB", + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Bieżąca częstotliwość", + "components.TvDetails.seasonnumber": "Sezon {seasonNumber}", + "components.TvDetails.seasonstitle": "Sezony", + "components.Settings.SettingsJobsCache.imagecache": "Pamięć podręczna obrazów", + "components.PermissionEdit.viewrecent": "Wyświetl ostatnio dodane", + "components.PermissionEdit.viewrecentDescription": "Przyznaj uprawnienia do przeglądania listy ostatnio dodanych multimediów.", + "components.TitleCard.cleardata": "Wyczyść dane", + "components.RequestList.RequestItem.tmdbid": "Identyfikator TMDB", + "components.RequestList.RequestItem.tvdbid": "Identyfikator TVDB", + "components.TitleCard.tmdbid": "Identyfikator TMDB", + "components.Settings.SettingsJobsCache.plex-watchlist-sync": "Synchronizacja listy obserwowanych Plex", + "components.TitleCard.mediaerror": "Nie znaleziono {mediaType}", + "components.TitleCard.tvdbid": "Identyfikator TVDB", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Automatyczne zamawianie filmów z listy obserwowanych Plex", + "components.PermissionEdit.autorequestSeriesDescription": "Udziel zgody na automatyczne przesyłanie próśb dotyczących multimediów innych niż 4K za pośrednictwem listy obserwowanych Plex.", + "components.PermissionEdit.viewwatchlists": "Wyświetlanie list obserwacyjnych Plex", + "components.PermissionEdit.viewwatchlistsDescription": "Przyznaj uprawnienia do przeglądania list obserwowanych Plex innych użytkowników.", + "components.RequestCard.tmdbid": "Identyfikator TMDB", + "components.RequestCard.tvdbid": "Identyfikator TVDB", + "components.Settings.SettingsLogs.viewdetails": "Zobacz szczegóły", + "components.Settings.restartrequiredTooltip": "Overseerr musi zostać ponownie uruchomiony, aby zmiany tego ustawienia zaczęły obowiązywać", + "components.TvDetails.reportissue": "Zgłoś problem", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Automatyczna prośba o serial", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Automatyczne zamawianie filmów z listy obserwowanych Plex", + "components.UserProfile.plexwatchlist": "Lista obserwowanych Plex", + "components.RequestCard.cancelrequest": "Anuluj prośbę", + "components.RequestCard.declinerequest": "Odrzuć prośbę", + "components.RequestCard.approverequest": "Zatwierdź prośbę", + "components.DownloadBlock.formattedTitle": "{title}: Sezon {seasonNumber} Odcinek {episodeNumber}", + "components.RequestBlock.approve": "Zatwierdź prośbę", + "components.RequestBlock.decline": "Odrzuć prośbę", + "components.RequestBlock.delete": "Usuń prośbę", + "components.RequestBlock.edit": "Edytuj prośbę", + "components.RequestBlock.lastmodifiedby": "Ostatnio zmodyfikowane przez", + "components.RequestBlock.requestdate": "Data złożenia prośby", + "components.RequestBlock.requestedby": "Prośba zgłoszona przez", + "components.RequestCard.editrequest": "Edytuj prośbę", + "components.RequestModal.requestcollection4ktitle": "Poproś o kolekcję w 4K", + "components.RequestModal.requestcollectiontitle": "Poproś o kolekcję", + "components.RequestModal.requestmovie4ktitle": "Poproś o film w 4K", + "components.RequestModal.requestmovietitle": "Poproś o film", + "components.RequestModal.requestseries4ktitle": "Poproś o serial w 4K", + "components.RequestModal.requestseriestitle": "Poproś o serial", + "components.Settings.SettingsJobsCache.image-cache-cleanup": "Czyszczenie pamięci podręcznej obrazów", + "components.Settings.SettingsJobsCache.imagecacheDescription": "Po włączeniu w ustawieniach Overseerr będzie pośredniczyć i buforować obrazy ze wstępnie skonfigurowanych źródeł zewnętrznych. Obrazy z pamięci podręcznej są zapisywane w folderze konfiguracji. Możesz znaleźć pliki w {appDataPath}/cache/images.", + "components.Settings.SettingsJobsCache.imagecachecount": "Obrazy zapisane w pamięci podręcznej", + "components.Settings.SettingsJobsCache.imagecachesize": "Całkowity rozmiar pamięci podręcznej", + "components.Settings.advancedTooltip": "Nieprawidłowe skonfigurowanie tego ustawienia może spowodować nieprawidłowe działanie", + "components.Settings.experimentalTooltip": "Włączenie tego ustawienia może spowodować nieoczekiwane zachowanie aplikacji", + "components.TvDetails.rtaudiencescore": "Ocena publiczności Rotten Tomatoes", + "components.TvDetails.rtcriticsscore": "Rotten Tomatoes Tomatometr", + "components.TvDetails.status4k": "4K {status}", + "components.TvDetails.tmdbuserscore": "Ocena użytkowników TMDB", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Filmy z próśb automatycznych", + "components.UserProfile.emptywatchlist": "W tym miejscu pojawią się multimedia dodane do listy obserwowanych Plex.", + "components.RequestCard.unknowntitle": "Nieznany tytuł", + "components.RequestList.RequestItem.unknowntitle": "Nieznany tytuł", + "components.StatusBadge.playonplex": "Odtwórz na Plex", + "components.StatusBadge.seasonepisodenumber": "S{seasonNumber}E{episodeNumber}", + "components.TvDetails.Season.noepisodes": "Lista odcinków jest niedostępna.", + "components.TvDetails.Season.somethingwentwrong": "Coś poszło nie tak podczas pobierania danych o sezonie.", + "components.TvDetails.manageseries": "Zarządzaj serialem", + "components.Discover.emptywatchlist": "W tym miejscu pojawią się multimedia dodane do listy obserwowanych Plex.", + "components.RequestModal.SearchByNameModal.nomatches": "Nie udało nam się znaleźć dopasowania do tej serii.", + "components.StatusBadge.managemedia": "Zarządzaj {mediaType}", + "components.StatusBadge.openinarr": "Otwórz w {arr}", + "components.TvDetails.episodeCount": "{episodeCount, plural, one {# Odcinek} other {# Odcinki}}", + "components.Discover.CreateSlider.addSlider": "Dodaj Suwak", + "components.Discover.CreateSlider.addcustomslider": "Utwórz niestandardowy Suwak", + "components.Discover.CreateSlider.addfail": "Nie udało się utworzyć nowego Suwaka.", + "components.Discover.CreateSlider.addsuccess": "Utworzono nowy Suwaki zapisano ustawienia dostosowywania odnajdywania.", + "components.Discover.CreateSlider.editSlider": "Edytuj Suwak", + "components.Discover.CreateSlider.editfail": "Nie udało się edytować Suwaka.", + "components.Discover.CreateSlider.editsuccess": "Edytowano Suwak i zapisano ustawienia odkrywania.", + "components.Discover.CreateSlider.needresults": "Musisz mieć co najmniej 1 wynik.", + "components.Discover.CreateSlider.nooptions": "Brak wyników.", + "components.Discover.CreateSlider.providetmdbgenreid": "Podaj identyfikator gatunku TMDB", + "components.Discover.CreateSlider.providetmdbkeywordid": "Podaj identyfikator słowa kluczowego TMDB", + "components.Discover.CreateSlider.providetmdbnetwork": "Podaj identyfikator platformy TMDB", + "components.Discover.CreateSlider.providetmdbsearch": "Podaj zapytanie wyszukiwania", + "components.Discover.CreateSlider.providetmdbstudio": "Podaj identyfikator studia TMDB", + "components.Discover.CreateSlider.searchGenres": "Szukaj gatunków…", + "components.Discover.CreateSlider.searchKeywords": "Szukaj słów kluczowych…", + "components.Discover.CreateSlider.slidernameplaceholder": "Nazwa slidera", + "components.Discover.CreateSlider.starttyping": "Zacznij pisać, aby wyszukać.", + "components.Discover.CreateSlider.validationDatarequired": "Musisz uzyskać wartość danych.", + "components.Discover.CreateSlider.validationTitlerequired": "Musisz podać tytuł.", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} Filmy", + "components.Discover.DiscoverSliderEdit.deletefail": "Nie udało się usunąć slidera.", + "components.Discover.DiscoverSliderEdit.remove": "Usuń", + "components.Discover.DiscoverTvKeyword.keywordSeries": "Serial {keywordTitle}", + "components.Discover.DiscoverMovies.activefilters": "{count, plural, one {# aktywny filtr} other {# aktywnych filtrów}}", + "components.Discover.DiscoverMovies.discovermovies": "Filmy", + "components.Discover.DiscoverMovies.sortPopularityAsc": "Popularność rosnąco", + "components.Discover.DiscoverMovies.sortPopularityDesc": "Popularność malejąco", + "components.Discover.DiscoverMovies.sortReleaseDateAsc": "Data wydania rosnąco", + "components.Discover.DiscoverMovies.sortReleaseDateDesc": "Data wydania malejąco", + "components.Discover.DiscoverMovies.sortTitleAsc": "Tytuł (A-Z) rosnąco", + "components.Discover.DiscoverMovies.sortTitleDesc": "Tytuł (Z-A) malejąco", + "components.Discover.DiscoverMovies.sortTmdbRatingAsc": "Ocena TMDB rosnąco", + "components.Discover.DiscoverMovies.sortTmdbRatingDesc": "Ocena TMDB malejąco", + "components.Discover.DiscoverSliderEdit.deletesuccess": "Pomyślnie usunięto slider.", + "components.Discover.DiscoverSliderEdit.enable": "Przełącz widoczność", + "components.Discover.DiscoverTv.activefilters": "{count, plural, one {# aktywny filtr} other {# aktywnych filtrów}}", + "components.Discover.DiscoverTv.discovertv": "Seriale", + "components.Discover.DiscoverTv.sortFirstAirDateAsc": "Data pierwszej emisji rosnąco", + "components.Discover.DiscoverTv.sortFirstAirDateDesc": "Pierwsza data emisji malejąco", + "components.Discover.DiscoverTv.sortPopularityAsc": "Popularność rosnąco", + "components.Discover.DiscoverTv.sortPopularityDesc": "Popularność malejąco", + "components.Discover.DiscoverTv.sortTitleAsc": "Tytuł (A-Z) rosnąco", + "components.Discover.DiscoverTv.sortTitleDesc": "Tytuł (Z-A) malejąco", + "components.Discover.DiscoverTv.sortTmdbRatingAsc": "Ocena TMDB rosnąco", + "components.Discover.DiscoverTv.sortTmdbRatingDesc": "Ocena TMDB malejąco", + "components.Discover.CreateSlider.searchStudios": "Szukaj studiów…", + "components.Settings.SettingsMain.general": "Ogólne", + "components.Settings.SettingsMain.generalsettings": "Ustawienia ogólne", + "components.Settings.SettingsMain.originallanguageTip": "Filtruj zawartość według języka oryginału", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "W tym miejscu pojawią się multimedia dodane do listy obserwowanych Plex.", + "components.Discover.networks": "Platformy", + "components.Discover.moviegenres": "Gatunki filmowe", + "components.Discover.tmdbnetwork": "Platforma TMDB", + "components.Discover.tmdbstudio": "Studio TMDB", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "Twoja lista obserwowanych Plex", + "components.Discover.createnewslider": "Utwórz nowy suwak", + "components.Discover.customizediscover": "Dostosowywanie funkcji Odkryj", + "components.Discover.resetfailed": "Wystąpił problem podczas resetowania ustawień odnajdywania.", + "components.Discover.resetsuccess": "Pomyślnie zresetowano ustawienia odnajdywania.", + "components.Discover.resetwarning": "Przywróć wszystkie Suwaki do ustawień domyślnych. Spowoduje to również usunięcie wszystkich niestandardowych Suwaków!", + "components.Discover.resettodefault": "Przywróć ustawienia domyślne", + "components.Discover.studios": "Studia", + "components.Discover.tmdbmoviegenre": "Gatunek filmu TMDB", + "components.Discover.tvgenres": "Gatunki serialu", + "components.Settings.SettingsMain.csrfProtectionTip": "Ustaw zewnętrzny dostęp api na tylko do odczytu (wymaga HTTPS)", + "components.Settings.SettingsMain.csrfProtectionHoverTip": "NIE włączaj tego ustawienia, chyba że rozumiesz, co robisz!", + "components.Settings.SettingsMain.generalsettingsDescription": "Skonfiguruj globalne i domyślne ustawienia dla Overseerr.", + "components.Settings.SettingsMain.hideAvailable": "Ukryj dostępne multimedia", + "components.Settings.SettingsMain.trustProxyTip": "Pozwól Overseerr poprawnie rejestrować adresy IP klientów za serwerem proxy", + "components.Settings.SettingsMain.toastSettingsSuccess": "Ustawienia zostały zapisane pomyślnie!", + "components.Settings.SettingsMain.trustProxy": "Włącz obsługę proxy", + "components.Settings.SettingsMain.validationApplicationUrlTrailingSlash": "Adres URL nie może kończyć się ukośnikiem", + "components.Discover.FilterSlideover.activefilters": "{count, plural, one {# aktywny filtr} other {# aktywnych filtrów}}", + "components.Discover.FilterSlideover.clearfilters": "Wyczyść aktywne filtry", + "components.Discover.FilterSlideover.filters": "Filtry", + "components.Discover.FilterSlideover.firstAirDate": "Pierwsza data emisji", + "components.Discover.FilterSlideover.from": "Od", + "components.Discover.FilterSlideover.genres": "Gatunki", + "components.Discover.FilterSlideover.keywords": "Słowa kluczowe", + "components.Discover.FilterSlideover.originalLanguage": "Język oryginalny", + "components.Discover.FilterSlideover.ratingText": "Oceny pomiędzy {minValue} a {maxValue}", + "components.Discover.FilterSlideover.releaseDate": "Data wydania", + "components.Discover.FilterSlideover.runtimeText": "{minValue}-{maxValue} czas odtwarzania w minutach", + "components.Discover.FilterSlideover.runtime": "Czas odtwarzania", + "components.Discover.FilterSlideover.tmdbuserscore": "Ocena użytkowników TMDB", + "components.Discover.FilterSlideover.to": "Do", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "Ostatnio dodane", + "components.Discover.stopediting": "Zatrzymaj edycję", + "components.Discover.tmdbmoviekeyword": "Słowo kluczowe filmu TMDB", + "components.Discover.tmdbsearch": "Wyszukiwanie TMDB", + "components.Layout.Sidebar.browsemovies": "Filmy", + "components.Layout.Sidebar.browsetv": "Seriale", + "components.Selector.searchGenres": "Wybierz gatunki…", + "components.Selector.searchKeywords": "Szukaj słów kluczowych…", + "components.Selector.showmore": "Pokaż więcej", + "components.Selector.starttyping": "Zacznij pisać, aby wyszukać.", + "components.Settings.SettingsMain.applicationTitle": "Tytuł aplikacji", + "components.Settings.SettingsMain.applicationurl": "Adres URL aplikacji", + "components.Settings.SettingsMain.cacheImages": "Włącz buforowanie obrazów", + "components.Settings.SettingsMain.csrfProtection": "Włącz ochronę CSRF", + "components.Settings.SettingsMain.locale": "Język wyświetlania", + "components.Settings.SettingsMain.originallanguage": "Odkryj język", + "components.Settings.SettingsMain.partialRequestsEnabled": "Zezwalaj na prośby o część serialu", + "components.Settings.SettingsMain.region": "Odkryj region", + "components.Settings.SettingsMain.regionTip": "Filtruj zawartość według dostępności regionalnej", + "components.Settings.SettingsMain.toastApiKeyFailure": "Coś poszło nie tak podczas generowania nowego klucza API.", + "components.Settings.SettingsMain.toastApiKeySuccess": "Nowy klucz API został pomyślnie wygenerowany!", + "components.Settings.SettingsMain.validationApplicationTitle": "Należy podać tytuł aplikacji", + "components.Settings.SettingsMain.validationApplicationUrl": "Musisz podać prawidłowy adres URL", + "components.Discover.FilterSlideover.streamingservices": "Usługi streamingowe", + "components.Discover.FilterSlideover.studio": "Studia", + "components.Discover.tmdbtvgenre": "Gatunek serialu TMDB", + "components.Discover.tmdbtvkeyword": "Słowo kluczowe serialu TMDB", + "components.Discover.updatesuccess": "Zaktualizowano ustawienia odnajdywania.", + "components.Selector.nooptions": "Brak wyników.", + "components.Selector.searchStudios": "Szukaj studiów…", + "components.Selector.showless": "Pokaż mniej", + "components.Discover.updatefailed": "Wystąpił problem podczas aktualizowania ustawień odnajdywania.", + "components.Settings.SettingsMain.apikey": "Klucz API", + "components.Settings.SettingsMain.cacheImagesTip": "Pamięć podręczna dla obrazów pochodzących z zewnętrznych źródeł (wymaga znacznej ilości miejsca na dysku)", + "components.Settings.SettingsMain.toastSettingsFailure": "Coś poszło nie tak podczas zapisywania ustawień." } diff --git a/src/i18n/locale/pt_BR.json b/src/i18n/locale/pt_BR.json index 58aaf2086d..04ec67359e 100644 --- a/src/i18n/locale/pt_BR.json +++ b/src/i18n/locale/pt_BR.json @@ -28,8 +28,6 @@ "components.Discover.recentlyAdded": "Adicionado Recentemente", "components.Discover.populartv": "Séries Populares", "components.Discover.popularmovies": "Filmes Populares", - "components.Discover.discovertv": "Séries Populares", - "components.Discover.discovermovies": "Filmes Populares", "components.Settings.plexlibraries": "Bibliotecas do Plex", "components.Settings.notrunning": "Parado", "components.RequestModal.season": "Temporada", @@ -45,8 +43,6 @@ "components.Settings.manualscan": "Varredura Manual da Biblioteca", "components.Settings.librariesRemaining": "Bibliotecas Restantes: {count}", "components.Settings.hostname": "Nome ou IP do Servidor", - "components.Settings.generalsettingsDescription": "Defina configurações globais e padrões para o Overseerr.", - "components.Settings.generalsettings": "Configurações Gerais", "components.Settings.deleteserverconfirm": "Tem certeza que deseja apagar esse servidor?", "i18n.deleting": "Apagando…", "i18n.delete": "Apagar", @@ -55,8 +51,6 @@ "components.Settings.currentlibrary": "Biblioteca Atual: {name}", "components.Settings.copied": "Chave de API copiada.", "components.Settings.cancelscan": "Cancelar Escaneamento", - "components.Settings.applicationurl": "URL da Aplicação", - "components.Settings.apikey": "Chave de API", "components.Settings.addsonarr": "Adicionar Servidor Sonarr", "components.Settings.address": "Endereço", "components.Settings.addradarr": "Adicionar Servidor Radarr", @@ -156,10 +150,6 @@ "components.Setup.configureplex": "Configurar Plex", "components.Settings.validationPortRequired": "Você deve prover uma porta válida", "components.Settings.validationHostnameRequired": "Você deve prover o Nome ou IP do Servidor", - "components.Settings.toastSettingsSuccess": "Configurações salvas com sucesso!", - "components.Settings.toastSettingsFailure": "Algo de errado ao salvar configurações.", - "components.Settings.toastApiKeySuccess": "Nova chave de API gerada com sucesso!", - "components.Settings.toastApiKeyFailure": "Algo deu errado ao gerar a nova chave de API.", "components.Settings.startscan": "Iniciar Varredura", "components.Settings.ssl": "SSL", "components.Settings.sonarrsettings": "Configurações do Sonarr", @@ -331,7 +321,6 @@ "components.RequestBlock.profilechanged": "Perfil de Qualidade", "i18n.edit": "Editar", "i18n.experimental": "Experimental", - "components.Settings.hideAvailable": "Ocultar Títulos Disponíveis", "components.RequestModal.requesterror": "Algo deu errado ao solicitar mídia.", "components.RequestModal.SearchByNameModal.notvdbiddescription": "Não conseguimos correlacionar sua solicitação automaticamente. Por favor selecione a correspondência correta na lista abaixo.", "components.Login.signin": "Entrar", @@ -351,8 +340,6 @@ "components.Settings.serverRemote": "remoto", "components.Settings.serverLocal": "local", "components.Settings.notificationAgentSettingsDescription": "Configure e habilite agentes de notificação.", - "components.Settings.csrfProtectionTip": "Define acesso externo à API como apenas leitura (Requer HTTPS)", - "components.Settings.csrfProtection": "Habilitar Proteção Contra CSRF", "components.PlexLoginButton.signinwithplex": "Entrar", "components.Login.signingin": "Autenticando…", "components.PlexLoginButton.signingin": "Autenticando…", @@ -392,8 +379,6 @@ "components.MovieDetails.play4konplex": "Assistir em 4K no Plex", "components.MovieDetails.markavailable": "Marcar como Disponível", "components.MovieDetails.mark4kavailable": "Marcar como Disponível em 4K", - "components.Settings.trustProxy": "Habilitar Suporte a Proxy", - "components.Settings.trustProxyTip": "Permite que Overseerr exiba o IP correto do cliente atrás de um proxy", "components.Settings.SettingsJobsCache.cacheflushed": "Cache {cachename} limpo.", "components.Settings.SettingsJobsCache.cache": "Cache", "components.Settings.SettingsJobsCache.cachevsize": "Tamanho do Valor", @@ -403,7 +388,6 @@ "components.Settings.SettingsJobsCache.cachehits": "Encontrado", "components.Settings.SettingsJobsCache.cachename": "Nome do Cache", "i18n.advanced": "Avançado", - "components.Settings.csrfProtectionHoverTip": "NÃO habilite essa opção se você não sabe o que está fazendo!", "components.Settings.SettingsJobsCache.runnow": "Executar Agora", "components.Settings.SettingsJobsCache.process": "Processo", "components.Settings.SettingsJobsCache.nextexecution": "Próxima Execução", @@ -418,16 +402,12 @@ "components.Settings.SettingsJobsCache.canceljob": "Cancelar Tarefa", "components.Settings.SettingsJobsCache.cacheDescription": "Overseerr armazena temporariamente as solicitações à APIs externas para otimizar performance e evitar novas chamadas desnecessárias.", "components.Settings.SettingsAbout.preferredmethod": "Preferido", - "components.Settings.applicationTitle": "Título da Aplicação", "components.UserList.users": "Usuários", "components.Setup.setup": "Configurar", - "components.Settings.validationApplicationTitle": "Você deve prover um título para a aplicação", "components.Search.search": "Pesquisar", "components.RequestModal.AdvancedRequester.requestas": "Solicitar Como", "components.Discover.discover": "Explorar", "components.AppDataWarning.dockerVolumeMissingDescription": "O ponto de montagem{appDataPath} não foi corretamente configurado. Todos dados serão perdidos quando o container parar ou reiniciar.", - "components.Settings.validationApplicationUrlTrailingSlash": "A URL não pode terminar com uma barra", - "components.Settings.validationApplicationUrl": "Você deve prover uma URL válida", "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "A URL não pode terminar com uma barra", "components.Settings.SonarrModal.validationApplicationUrl": "Você deve prover uma URL válida", "components.Settings.RadarrModal.validationApplicationUrlTrailingSlash": "A URL não pode terminar com uma barra", @@ -518,15 +498,11 @@ "components.UserProfile.UserSettings.UserGeneralSettings.region": "Região de Exploração", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "Idioma de Exploração", "components.Settings.webhook": "Webhook", - "components.Settings.region": "Região de Exploração", - "components.Settings.originallanguage": "Idioma de Exploração", "components.Settings.email": "E-mail", "components.RegionSelector.regionDefault": "Todas Regiões", "components.Discover.upcomingtv": "Séries em Breve", "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "Filtra conteúdo por disponibilidade na região", - "components.Settings.regionTip": "Filtra conteúdo por disponibilidade na região", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "Filtra conteúdo pela língua original", - "components.Settings.originallanguageTip": "Filtra conteúdo pela língua original", "components.RegionSelector.regionServerDefault": "Padrão ({region})", "components.UserProfile.UserSettings.UserPasswordChange.nopermissionDescription": "Você não tem permissão para modificar a senha desse usuário.", "components.UserProfile.UserSettings.UserGeneralSettings.user": "Usuário", @@ -591,13 +567,11 @@ "components.Discover.TvGenreList.seriesgenres": "Gêneros de Séries", "components.Discover.MovieGenreSlider.moviegenres": "Gêneros de Filmes", "components.Discover.MovieGenreList.moviegenres": "Gêneros de Filmes", - "components.Settings.partialRequestsEnabled": "Permitir Solicitações Parciais de Séries", "components.RequestModal.alreadyrequested": "Já Solicitado", "pages.errormessagewithcode": "{statusCode} - {error}", "components.ResetPassword.passwordreset": "Redefinir Senha", "components.Settings.SettingsLogs.logDetails": "Detalhes do Log", "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailureVerifyCurrent": "Algo deu errado ao salvar sua senha. Sua senha foi digitada corretamente?", - "components.Settings.cacheImagesTip": "Armazena em cache e distribui imagens otimizadas (requer um espaço significante no disco)", "pages.somethingwentwrong": "Algo deu errado", "pages.serviceunavailable": "Serviço Indisponível", "pages.pagenotfound": "Página Não Encontrada", @@ -609,9 +583,7 @@ "components.Settings.services": "Serviços", "components.Settings.plex": "Plex", "components.Settings.notifications": "Notificações", - "components.Settings.general": "Geral", "components.Settings.enablessl": "Usar SSL", - "components.Settings.cacheImages": "Habilitar Cache de Imagens", "components.Settings.SettingsUsers.users": "Usuários", "components.Settings.SettingsLogs.time": "Data e Hora", "components.Settings.SettingsLogs.showall": "Exibir Todas Mensagens", @@ -753,7 +725,6 @@ "components.UserProfile.UserSettings.UserGeneralSettings.languageDefault": "Padrão ({language})", "components.UserProfile.UserSettings.UserGeneralSettings.applanguage": "Idioma da Interface", "components.Settings.webpush": "Web Push", - "components.Settings.locale": "Idioma da Interface", "components.Settings.is4k": "4K", "components.Settings.SettingsUsers.newPlexLoginTip": "Permite que novos usuários do Plex entrem sem terem que ser importados", "components.Settings.SettingsUsers.newPlexLogin": "Habilitar Novo Método de Início de Sessão do Plex", diff --git a/src/i18n/locale/pt_PT.json b/src/i18n/locale/pt_PT.json index ba83cdd8b6..4e68c7d4e7 100644 --- a/src/i18n/locale/pt_PT.json +++ b/src/i18n/locale/pt_PT.json @@ -92,7 +92,7 @@ "components.RequestModal.AdvancedRequester.animenote": "* Esta série é um anime.", "components.RequestModal.AdvancedRequester.advancedoptions": "Avançado", "components.RequestList.sortModified": "Última Alteração", - "components.RequestList.sortAdded": "Data do Pedido", + "components.RequestList.sortAdded": "Mais Recente", "components.RequestList.showallrequests": "Mostrar Todos os Pedidos", "components.RequestList.requests": "Pedidos", "components.RequestList.RequestItem.seasons": "{seasonCount, plural, one {Temporada} other {Temporadas}}", @@ -120,14 +120,14 @@ "components.PersonDetails.appearsin": "Presenças", "components.NotificationTypeSelector.mediafailedDescription": "Enviar notificações quando os pedidos de multimédia não forem adicionados ao Radarr ou Sonarr.", "components.NotificationTypeSelector.mediarequestedDescription": "Enviar notificações quando os utilizadores enviam novos pedidos de multimédia que requerem aprovação.", - "components.NotificationTypeSelector.mediarequested": "Multimédia Pedida", - "components.NotificationTypeSelector.mediafailed": "Multimédia Falhou", + "components.NotificationTypeSelector.mediarequested": "Solicitação com Aprovação Pendente", + "components.NotificationTypeSelector.mediafailed": "Falha ao Processar Solicitação", "components.NotificationTypeSelector.mediadeclinedDescription": "Envia uma notificação quando um pedido de multimédia é rejeitado.", - "components.NotificationTypeSelector.mediadeclined": "Multimédia Rejeitada", + "components.NotificationTypeSelector.mediadeclined": "Solicitação Recusada", "components.NotificationTypeSelector.mediaavailableDescription": "Enviar notificações quando os pedidos da multimédia ficarem disponíveis.", - "components.NotificationTypeSelector.mediaavailable": "Multimédia Disponível", + "components.NotificationTypeSelector.mediaavailable": "Solicitação Disponível", "components.NotificationTypeSelector.mediaapprovedDescription": "Enviar notificações quando os pedidos de multimédia são aprovados manualmente.", - "components.NotificationTypeSelector.mediaapproved": "Multimédia Aprovada", + "components.NotificationTypeSelector.mediaapproved": "Solicitação Aprovada", "components.MovieDetails.watchtrailer": "Ver Trailer", "components.MovieDetails.viewfullcrew": "Ver Equipa Técnica Completa", "components.MovieDetails.studio": "{studioCount, plural, one {Estúdio} other {Estúdios}}", @@ -163,8 +163,6 @@ "components.Discover.recentlyAdded": "Adicionado Recentemente", "components.Discover.populartv": "Séries Populares", "components.Discover.popularmovies": "Filmes Populares", - "components.Discover.discovertv": "Séries Populares", - "components.Discover.discovermovies": "Filmes Populares", "components.CollectionDetails.requestcollection": "Pedir Coleção", "components.CollectionDetails.overview": "Sinopse", "components.CollectionDetails.numberofmovies": "{count} Filmes", @@ -191,14 +189,14 @@ "components.UserList.usercreatedsuccess": "Utilizador criado com sucesso!", "components.UserList.usercreatedfailed": "Ocorreu um erro ao criar o utilizador.", "components.UserList.user": "Utilizador", - "components.UserList.totalrequests": "Pedidos", + "components.UserList.totalrequests": "Solicitações", "components.UserList.role": "Função", "components.UserList.plexuser": "Utilizador Plex", "components.UserList.passwordinfodescription": "Configurar um URL de aplicação e ativar as notificações por e-mail para permitir a geração automática de palavra-passe.", "components.UserList.localuser": "Utilizador Local", - "components.UserList.importfromplexerror": "Ocorreu um erro ao importar utilizadores do Plex.", + "components.UserList.importfromplexerror": "Algo deu errado ao importar utilizadores do Plex.", "components.UserList.importfromplex": "Importar Utilizadores do Plex", - "components.UserList.importedfromplex": "{userCount, plural, one {# novo utilizador} other {# novos utilizadores}} importados do Plex com sucesso!", + "components.UserList.importedfromplex": "{userCount} {userCount, plural, one {utilizador Plex importado} other {utilizadores Plex importados}} com sucesso!", "components.UserList.email": "Endereço de E-mail", "components.UserList.deleteuser": "Apagar Utilizador", "components.UserList.deleteconfirm": "Tem certeza que deseja apagar este utilizador? Todos os seus dados de pedidos serão removidos permanentemente.", @@ -213,10 +211,6 @@ "components.Setup.continue": "Continuar", "components.Setup.configureservices": "Configurar Serviços", "components.Setup.configureplex": "Configurar Plex", - "components.Settings.toastSettingsSuccess": "Definições gravadas com sucesso!", - "components.Settings.toastSettingsFailure": "Ocorreu um erro ao gravar as definições.", - "components.Settings.toastApiKeySuccess": "Nova chave API gerada com sucesso!", - "components.Settings.toastApiKeyFailure": "Ocorreu um erro ao gerar uma nova chave API.", "components.Settings.startscan": "Iniciar Sincronização", "components.Settings.sonarrsettings": "Definições do Sonarr", "components.Settings.radarrsettings": "Definições Radarr", @@ -238,10 +232,7 @@ "components.Settings.cancelscan": "Cancelar Sincronização", "components.Settings.librariesRemaining": "Bibliotecas Restantes: {count}", "components.Settings.hostname": "Nome do hospedeiro ou endereço IP", - "components.Settings.hideAvailable": "Esconder Multimédia Disponível", - "components.Settings.generalsettingsDescription": "Configure as definições globais e predefinidas para o Overseerr.", "components.Settings.menuGeneralSettings": "Geral", - "components.Settings.generalsettings": "Definições Gerais", "i18n.edit": "Modificar", "components.Settings.deleteserverconfirm": "Tem certeza que deseja eliminar este servidor?", "i18n.delete": "Eliminar", @@ -249,8 +240,6 @@ "components.Settings.default": "Predefinição", "components.Settings.currentlibrary": "Biblioteca Atual: {name}", "components.Settings.copied": "Chave API copiada.", - "components.Settings.applicationurl": "URL da Aplicação", - "components.Settings.apikey": "Chave API", "components.Settings.addsonarr": "Adicionar Servidor Sonarr", "components.Settings.address": "Endereço", "components.Settings.addradarr": "Adicionar Servidor Radarr", @@ -258,8 +247,8 @@ "components.Settings.SonarrModal.validationRootFolderRequired": "Deve selecionar uma pasta raiz", "components.Settings.SonarrModal.validationProfileRequired": "Deve selecionar um perfil de qualidade", "components.Settings.SonarrModal.validationNameRequired": "Deve fornecer o nome do servidor", - "components.Settings.RadarrModal.validationHostnameRequired": "Deve fornecer um nome de hospedeiro ou endereço IP", - "components.Settings.SonarrModal.validationHostnameRequired": "Deve fornecer um nome de hospedeiro ou endereço IP", + "components.Settings.RadarrModal.validationHostnameRequired": "Deve prover o nome ou IP do servidor", + "components.Settings.SonarrModal.validationHostnameRequired": "Deve prover o nome ou IP do servidor", "components.Settings.SonarrModal.validationPortRequired": "Deve fornecer um número de porta válido", "components.Settings.validationPortRequired": "Deve fornecer um número de porta válido", "components.Settings.validationHostnameRequired": "Deve fornecer um nome de hospedeiro ou endereço IP válido", @@ -295,11 +284,11 @@ "components.Settings.SettingsAbout.documentation": "Documentação", "components.Settings.SettingsAbout.Releases.viewongithub": "Ver no GitHub", "components.Settings.SettingsAbout.Releases.viewchangelog": "Ver Mudanças", - "components.Settings.SettingsAbout.Releases.versionChangelog": "Mudanças Nesta Versão", + "components.Settings.SettingsAbout.Releases.versionChangelog": "Mudanças em {version}", "components.Settings.SettingsAbout.Releases.releases": "Versões", - "components.Settings.SettingsAbout.Releases.releasedataMissing": "Informações de versão indisponíveis. O GitHub está abaixo?", + "components.Settings.SettingsAbout.Releases.releasedataMissing": "Informações de versão indisponíveis.", "components.Settings.SettingsAbout.Releases.latestversion": "Mais Recente", - "components.Settings.SettingsAbout.Releases.currentversion": "Versão Atual", + "components.Settings.SettingsAbout.Releases.currentversion": "Atual", "components.Settings.RadarrModal.validationRootFolderRequired": "Deve selecionar uma pasta raiz", "components.Settings.RadarrModal.validationProfileRequired": "Deve selecionar um perfil de qualidade", "components.Settings.RadarrModal.validationPortRequired": "Deve fornecer um número de porta válido", @@ -323,7 +312,7 @@ "components.TvDetails.overviewunavailable": "Sinopse indisponível.", "components.TvDetails.overview": "Sinopse", "components.TvDetails.originallanguage": "Língua original", - "components.TvDetails.network": "{networkCount, plural, one {Emissor} other {Emissores}}", + "components.TvDetails.network": "{networkCount, plural, one {Emissora} other {Emissoras}}", "components.TvDetails.firstAirDate": "Data da Estreia", "i18n.decline": "Rejeitar", "components.TvDetails.cast": "Elenco", @@ -356,27 +345,25 @@ "components.Settings.serverpreset": "Servidor", "components.Settings.serverRemote": "remoto", "components.Settings.serverLocal": "local", - "components.Settings.csrfProtectionTip": "Definir o acesso externo API para somente leitura (requer HTTPS)", - "components.Settings.csrfProtection": "Ativar Proteção CSRF", - "components.PermissionEdit.usersDescription": "Conceder permissão para gerir utilizadores Overseerr. Os utilizadores com essa permissão não podem modificar os utilizadores ou conceder o privilégio de administrador.", + "components.PermissionEdit.usersDescription": "Concede permissão para gerir utilizadores. Utilizadores com essa permissão não podem modificar utilizadores com acesso Administrativo, ou condecer tal permissão.", "components.PermissionEdit.users": "Gerir Utilizadores", - "components.PermissionEdit.requestDescription": "Conceder permissão para pedir multimédia não 4K.", - "components.PermissionEdit.request4kTvDescription": "Conceder permissão para pedir séries em 4K.", + "components.PermissionEdit.requestDescription": "Concede permissão para solicitar mídia não 4K.", + "components.PermissionEdit.request4kTvDescription": "Concede permissão para solicitar séries em 4K.", "components.PermissionEdit.request4kTv": "Pedir Séries 4K", - "components.PermissionEdit.request4kMoviesDescription": "Conceder permissão para pedir filmes em 4K.", + "components.PermissionEdit.request4kMoviesDescription": "Concede permissão para solicitar filmes em 4K.", "components.PermissionEdit.request4kMovies": "Pedir Filmes 4K", - "components.PermissionEdit.request4kDescription": "Conceder permissão para pedir multimédia 4K.", + "components.PermissionEdit.request4kDescription": "Concede permissão para solicitar mídia em 4K.", "components.PermissionEdit.request4k": "Pedir 4K", "components.PermissionEdit.request": "Pedir", - "components.PermissionEdit.managerequestsDescription": "Conceder permissão para gerir pedidos Overseerr. Todas os pedidos feitos por um utilizador com essa permissão serão aprovados automaticamente.", + "components.PermissionEdit.managerequestsDescription": "Concede permissão para gerir solicitações de mídia. Todas solicitações feitas por um utilizador com esse perfil serão automaticamente aprovadas.", "components.PermissionEdit.managerequests": "Gerir Pedidos", "components.PermissionEdit.autoapproveSeriesDescription": "Conceder aprovação automática para pedidos de séries não 4K.", "components.PermissionEdit.autoapproveSeries": "Aprovar Séries Automaticamente", "components.PermissionEdit.autoapproveMoviesDescription": "Conceder aprovação automática para pedidos de filmes não 4K.", "components.PermissionEdit.autoapproveMovies": "Aprovar Filmes Automaticamente", "components.PermissionEdit.autoapprove": "Aprovação Automática", - "components.PermissionEdit.autoapproveDescription": "Conceder aprovação automática para todas os pedidos não 4K.", - "components.PermissionEdit.advancedrequestDescription": "Conceder permissão para fazer pedidos avançados.", + "components.PermissionEdit.autoapproveDescription": "Concede aprovação automática para todas solicitações de mídia não 4K.", + "components.PermissionEdit.advancedrequestDescription": "Concede permissão para alterar solicitações avançadas de mídia.", "components.PermissionEdit.advancedrequest": "Pedidos Avançados", "components.PermissionEdit.adminDescription": "Acesso total de administrador. Ignora todas as outras verificações de permissão.", "components.PermissionEdit.admin": "Administrador", @@ -390,13 +377,10 @@ "components.TvDetails.play4konplex": "Ver em 4K no Plex", "components.MovieDetails.play4konplex": "Ver em 4K no Plex", "components.MovieDetails.playonplex": "Ver no Plex", - "components.Settings.trustProxyTip": "Permitir que o Overseerr registe corretamente os endereços IP do cliente por trás de um proxy", - "components.Settings.trustProxy": "Ativar Suporte de Proxy", "components.MovieDetails.markavailable": "Marcar como Disponível", "components.MovieDetails.mark4kavailable": "Marcar como Disponível em 4K", "components.Settings.SettingsJobsCache.cachehits": "Acertos", "i18n.advanced": "Avançado", - "components.Settings.csrfProtectionHoverTip": "NÃO ative esta definição a menos que entenda o que está a fazer!", "components.Settings.SettingsJobsCache.runnow": "Executar Agora", "components.Settings.SettingsJobsCache.process": "Processo", "components.Settings.SettingsJobsCache.nextexecution": "Próxima Execução", @@ -420,17 +404,13 @@ "components.Settings.SettingsAbout.preferredmethod": "Preferido", "components.UserList.users": "Utilizadores", "components.Search.search": "Pesquisar", - "components.Settings.applicationTitle": "Título da Aplicação", "components.Setup.setup": "Configurar", - "components.Settings.validationApplicationTitle": "Deve fornecer um título de aplicação", "components.Settings.RadarrModal.validationApplicationUrlTrailingSlash": "A URL não deve terminar com uma barra final", "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "A URL não deve terminar com uma barra final", - "components.Settings.validationApplicationUrlTrailingSlash": "A URL não deve terminar com uma barra final", "components.Settings.SonarrModal.validationApplicationUrl": "Deve fornecer um URL valido", - "components.Settings.validationApplicationUrl": "Deve fornecer um URL valido", "components.Settings.RadarrModal.validationApplicationUrl": "Deve fornecer um URL valido", "components.RequestModal.AdvancedRequester.requestas": "Pedir Como", - "components.PermissionEdit.viewrequestsDescription": "Conceder permissão para ver pedidos de outros utilizadores.", + "components.PermissionEdit.viewrequestsDescription": "Concede permissão para visualizar solicitações de mídia feita por outros utilizadores.", "components.PermissionEdit.viewrequests": "Ver Pedidos", "components.Discover.discover": "Descobrir", "components.AppDataWarning.dockerVolumeMissingDescription": "O ponto de montagem {appDataPath} não foi configurado corretamente . Todos dados serão perdidos quando o contentor parar ou reiniciar.", @@ -452,7 +432,7 @@ "components.ResetPassword.password": "Palavra-passe", "components.ResetPassword.gobacklogin": "Voltar a Página de Inicio de Sessão", "components.ResetPassword.resetpassword": "Repor a sua Palavra-passe", - "components.ResetPassword.emailresetlink": "Link de Recuperação por E-mail", + "components.ResetPassword.emailresetlink": "Envie uma ligação de Recuperação", "components.ResetPassword.email": "Endereço E-mail", "components.ResetPassword.confirmpassword": "Confirmar Palavra-passe", "components.Login.forgotpassword": "Esqueceu a Palavra-passe?", @@ -472,7 +452,7 @@ "components.PermissionEdit.autoapprove4kSeries": "Aprovar Séries 4K Automaticamente", "components.PermissionEdit.autoapprove4kMoviesDescription": "Conceder aprovação automática para pedidos de filmes 4K.", "components.PermissionEdit.autoapprove4kMovies": "Aprovar Filmes 4K Automaticamente", - "components.PermissionEdit.autoapprove4kDescription": "Conceder aprovação automática para todas os pedidos 4K.", + "components.PermissionEdit.autoapprove4kDescription": "Concede aprovação automática para todas solicitações de mídia em 4K.", "components.PermissionEdit.autoapprove4k": "Aprovar 4K Automaticamente", "components.UserProfile.recentrequests": "Pedidos Recentes", "components.UserProfile.UserSettings.menuPermissions": "Permissões", @@ -509,7 +489,7 @@ "components.UserProfile.UserSettings.UserPasswordChange.validationNewPasswordLength": "Palavra-passe muito curta; necessário ter no mínimo 8 caracteres", "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailure": "Ocorreu um erro ao gravar a palavra-passe.", "components.UserProfile.UserSettings.UserNotificationSettings.validationDiscordId": "Deve fornecer um ID de utilizador válido", - "components.UserProfile.UserSettings.UserNotificationSettings.discordIdTip": "O número de ID da sua conta de utilizador", + "components.UserProfile.UserSettings.UserNotificationSettings.discordIdTip": "O número de identificação correspondente ao seu utilizador", "components.UserProfile.UserSettings.UserNotificationSettings.discordId": "ID de Utilizador", "components.UserList.userfail": "Ocorreu um erro ao gravar as permissões do utilizador.", "components.Settings.Notifications.NotificationsPushbullet.pushbulletSettingsSaved": "Definições de notificação Pushbullet gravadas com sucesso!", @@ -519,11 +499,7 @@ "components.UserProfile.UserSettings.UserGeneralSettings.region": "Descubrir Região", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "Filtrar conteúdo por idioma original", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "Descobrir Idioma", - "components.Settings.regionTip": "Filtrar conteúdo por disponibilidade regional", - "components.Settings.region": "Descubrir Região", - "components.Settings.originallanguageTip": "Filtrar conteúdo por idioma original", "components.Discover.upcomingtv": "Séries a Estrear", - "components.Settings.originallanguage": "Descubrir Idioma", "components.RegionSelector.regionDefault": "Todas as Regiões", "components.Settings.webhook": "Webhook", "components.Settings.email": "E-Mail", @@ -531,7 +507,7 @@ "components.UserProfile.UserSettings.UserPasswordChange.nopermissionDescription": "Não tem permissão para modificar a palavra-passe deste utilizador.", "components.UserProfile.UserSettings.UserGeneralSettings.user": "Utilizador", "components.UserProfile.UserSettings.UserGeneralSettings.role": "Função", - "components.UserProfile.UserSettings.UserGeneralSettings.owner": "Proprietário", + "components.UserProfile.UserSettings.UserGeneralSettings.owner": "Dono", "components.UserProfile.UserSettings.UserGeneralSettings.admin": "Administrador", "components.UserProfile.UserSettings.UserGeneralSettings.accounttype": "Tipo de Conta", "components.UserList.owner": "Proprietário", @@ -579,7 +555,7 @@ "components.UserProfile.UserSettings.unauthorizedDescription": "Não tem permissão para modificar as definições deste utilizador.", "components.UserProfile.UserSettings.UserPermissions.unauthorizedDescription": "Não pode modificar suas próprias permissões.", "components.NotificationTypeSelector.mediaAutoApprovedDescription": "Enviar notificações quando os utilizadores apresentarem novos pedidos de multimédia que são automaticamente aprovados.", - "components.NotificationTypeSelector.mediaAutoApproved": "Multimédia Aprovada Automaticamente", + "components.NotificationTypeSelector.mediaAutoApproved": "Solicitação Aprovada Automaticamente", "components.TvDetails.episodeRuntimeMinutes": "{runtime} minutos", "components.TvDetails.episodeRuntime": "Duração do Episódio", "components.Settings.Notifications.pgpPrivateKeyTip": "Assinar mensagens de e-mail encriptadas utilizando OpenPGP", @@ -587,7 +563,6 @@ "components.Settings.Notifications.pgpPrivateKey": "Chave Privada PGP", "components.Settings.Notifications.pgpPassword": "Palavra-passe PGP", "components.RequestModal.AdvancedRequester.folder": "{path} ({space})", - "components.Settings.partialRequestsEnabled": "Permitir Pedidos Parciais de Séries", "components.RequestModal.alreadyrequested": "Já Foi Pedido", "components.Discover.TvGenreSlider.tvgenres": "Géneros de Série", "components.Discover.TvGenreList.seriesgenres": "Géneros de Série", @@ -605,10 +580,7 @@ "components.Settings.services": "Serviços", "components.Settings.plex": "Plex", "components.Settings.notifications": "Notificações", - "components.Settings.general": "Geral", "components.UserProfile.UserSettings.UserGeneralSettings.general": "Geral", - "components.Settings.cacheImagesTip": "Otimizar e armazenar todas as imagens localmente (consome uma quantidade significativa de espaço em disco)", - "components.Settings.cacheImages": "Ativar Caching de Imagem", "components.Settings.SettingsUsers.users": "Utilizadores", "components.Settings.SettingsLogs.time": "Marcação Horária", "components.Settings.SettingsLogs.showall": "Mostrar Todos os Registos", @@ -634,7 +606,7 @@ "components.PersonDetails.lifespan": "{birthdate} – {deathdate}", "components.PersonDetails.birthdate": "Nasceu {birthdate}", "components.PersonDetails.alsoknownas": "Também Conhecido Como: {nomes}", - "components.UserList.nouserstoimport": "Não há novos utilizadores para importar do Plex.", + "components.UserList.nouserstoimport": "Nenhum novo utilizador Plex para importar.", "i18n.delimitedlist": "{a}, {b}", "components.RequestModal.QuotaDisplay.movielimit": "{limit, plural, one {filme} other {filmes}}", "components.RequestModal.QuotaDisplay.movie": "filme", @@ -712,9 +684,9 @@ "components.Settings.Notifications.validationPgpPassword": "Deve fornecer uma palavra-passe PGP", "components.Settings.Notifications.botUsernameTip": "Permitir que utilizadores iniciem uma conversa com o seu bot e configurem as suas próprias notificações", "components.RequestModal.pendingapproval": "O seu pedido está com aprovação pendente.", - "components.RequestList.RequestItem.mediaerror": "O título associado a este pedido não está mais disponível.", + "components.RequestList.RequestItem.mediaerror": "{mediaType} Não Encontrado", "components.RequestList.RequestItem.deleterequest": "Apagar Pedido", - "components.RequestCard.mediaerror": "O título associado a este pedido não está mais disponível.", + "components.RequestCard.mediaerror": "{mediaType} Não Encontrado", "components.RequestCard.deleterequest": "Apagar Pedido", "components.NotificationTypeSelector.notificationTypes": "Tipos de Notificação", "components.Layout.VersionStatus.streamstable": "Overseerr Stable", @@ -792,16 +764,15 @@ "components.Settings.Notifications.NotificationsPushover.toastPushoverTestFailed": "Falha ao enviar notificação de teste Pushover.", "components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestFailed": "Falha ao enviar notificação de teste Pushbullet.", "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestFailed": "Falha ao enviar notificação de teste ao LunaSea.", - "components.PermissionEdit.requestTvDescription": "Conceder permissão para pedir séries não 4K.", + "components.PermissionEdit.requestTvDescription": "Concede permissão para solicitar séries em não 4K.", "components.PermissionEdit.requestTv": "Pedir Séries", - "components.PermissionEdit.requestMoviesDescription": "Conceder permissão para pedir filmes não 4K.", + "components.PermissionEdit.requestMoviesDescription": "Concede permissão para solicitar filmes em não 4K.", "components.PermissionEdit.requestMovies": "Pedir Filmes", "components.UserProfile.UserSettings.UserGeneralSettings.languageDefault": "Predefinido ({language})", "components.UserList.localLoginDisabled": "A configuração Ativar inicio de sessão Local está desativada de momento.", "components.UserList.displayName": "Nome de Exibição", "components.Settings.webAppUrlTip": "Opcionalmente direcionar os utilizadores para a aplicação de web app no seu servidor, em vez da aplicação de web app \"hospedada\"", "components.Settings.webAppUrl": "URL Web App", - "components.Settings.locale": "Idioma de Exibição", "components.Settings.Notifications.webhookUrlTip": "Criar um webhook de integração no seu servidor", "components.Settings.Notifications.encryptionTip": "Na maioria dos casos, o TLS implícito usa a porta 465 e o STARTTLS usa a porta 587", "components.Settings.Notifications.encryptionOpportunisticTls": "Usar STARTTLS sempre", @@ -840,10 +811,270 @@ "components.NotificationTypeSelector.usermediaavailableDescription": "Notificar quando os seus pedidos de multimédia ficarem disponíveis.", "components.QuotaSelector.days": "{conta, plural, one {dia} other {dias}}", "components.Settings.SettingsAbout.betawarning": "Isto é um software em BETA. As funcionalidades podem estar quebradas e/ou instáveis. Relate qualquer problema no GitHub!", - "components.MovieDetails.streamingproviders": "Atualmente a Exibir em", + "components.MovieDetails.streamingproviders": "Em Exibição na", "components.TvDetails.streamingproviders": "Atualmente a Exibir em", "components.MovieDetails.showmore": "Mostrar Mais", "components.Layout.LanguagePicker.displaylanguage": "Idioma da Interface", "components.MovieDetails.showless": "Mostrar Menos", - "components.StatusBadge.status": "{status}" + "components.StatusBadge.status": "{status}", + "components.Settings.SettingsJobsCache.jobScheduleEditFailed": "Algo deu errado ao gravar tarefa.", + "components.StatusBadge.managemedia": "Gerir {mediaType}", + "components.StatusBadge.openinarr": "Abrir em {arr}", + "components.IssueDetails.allseasons": "Todas Temporadas", + "components.IssueDetails.nocomments": "Nenhum comentário.", + "components.IssueDetails.openinarr": "Abrir no {arr}", + "components.PermissionEdit.viewissues": "Ver Problemas", + "components.Settings.Notifications.NotificationsGotify.agentenabled": "Ativar Agente", + "components.TvDetails.rtaudiencescore": "Pontuação de audiência no Rotten Tomatoes", + "components.TvDetails.rtcriticsscore": "Pontuação de audiência no Rotten Tomatoes", + "components.TvDetails.seasonnumber": "Temporada {seasonNumber}", + "components.TvDetails.seasonstitle": "Temporadas", + "components.TvDetails.status4k": "4K {status}", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Solicitar Séries Automaticamente", + "components.UserProfile.UserSettings.UserGeneralSettings.validationDiscordId": "Deve prover um ID válido de utilizador Discord", + "i18n.resolved": "Resolvido", + "components.PermissionEdit.createissuesDescription": "Concede permissão para reportar problemas com mídias.", + "components.PermissionEdit.manageissuesDescription": "Concede permissão para gerir problemas com mídia.", + "components.RequestModal.selectmovies": "Selecionar Filme(s)", + "components.IssueList.IssueItem.opened": "Aberto", + "components.IssueList.IssueItem.openeduserdate": "{date} por {user}", + "components.IssueList.IssueItem.unknownissuetype": "Desconhecido", + "components.IssueList.IssueItem.viewissue": "Ver Problema", + "components.IssueModal.CreateIssueModal.allepisodes": "Todos Episódios", + "components.ManageSlideOver.manageModalIssues": "Problemas Abertos", + "components.MovieDetails.productioncountries": "{countryCount, plural, one {País} other {Países}} de Produção", + "components.PermissionEdit.viewrecent": "Ver Recentemente Adicionados", + "components.PermissionEdit.viewrecentDescription": "Concede permissão para ver lista de mídias adicionadas recentemente.", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "A cada {jobScheduleMinutes, plural, one {minuto} other {{jobScheduleMinutes} minutos}}", + "components.UserProfile.UserSettings.UserGeneralSettings.discordId": "ID do Utilizador Discord", + "i18n.restartRequired": "Reinicialização Necessária", + "components.StatusChecker.appUpdated": "{applicationTitle} Atualizado", + "components.StatusChecker.restartRequiredDescription": "Por favor, reinicie o servidor para aplicar as novas configurações.", + "components.TitleCard.cleardata": "Limpar Dados", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKeyTip": "O seu identificador de utilizador ou grupo contendo 30 caractéres", + "components.RequestCard.tmdbid": "ID do TMDB", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingssaved": "Configurações de notificação via Pushover salvas com sucesso!", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "A sua Lista a Assistir do Plex", + "components.IssueDetails.deleteissueconfirm": "Tem certeza que deseja apagar este problema?", + "components.IssueDetails.toaststatusupdated": "Estado do problema atualizado com sucesso!", + "components.IssueList.IssueItem.episodes": "{episodeCount, plural, one {Espisódio} other {Episódios}}", + "components.IssueList.IssueItem.issuestatus": "Estado", + "components.IssueModal.CreateIssueModal.problemepisode": "Episódio Afetado", + "components.IssueModal.CreateIssueModal.problemseason": "Temporada Afetada", + "components.IssueModal.CreateIssueModal.reportissue": "Reportar um Problema", + "components.IssueModal.issueAudio": "Áudio", + "components.ManageSlideOver.manageModalTitle": "Gerir {mediaType}", + "components.RequestList.RequestItem.tmdbid": "ID do TMDB", + "components.Settings.SettingsJobsCache.plex-watchlist-sync": "Sincronizar Lista para assistir do Plex", + "components.Settings.deleteServer": "Remover Servidor {serverType}", + "components.StatusChecker.appUpdatedDescription": "Por favor, clique no botão abaixo para recarregar a aplicação.", + "components.ManageSlideOver.manageModalAdvanced": "Avançado", + "components.ManageSlideOver.alltime": "Desde Início", + "components.ManageSlideOver.manageModalMedia": "Mídia", + "components.ManageSlideOver.manageModalMedia4k": "Mídia 4K", + "components.ManageSlideOver.markallseasons4kavailable": "Marcar Todas Temporadas como Disponíveis em 4K", + "components.NotificationTypeSelector.userissuereopenedDescription": "Receber notificação quando problemas que reportou forem re-abertos.", + "components.PermissionEdit.viewissuesDescription": "Concede permissão para ver problemas em mídias reportados por outros problemas.", + "components.RequestModal.requestmovies": "Solicitar {count} {count, plural, one {Filme} other {Filmes}}", + "components.Settings.validationUrlBaseLeadingSlash": "URL Base deve iniciar com uma barra", + "components.Discover.DiscoverWatchlist.watchlist": "Lista a Assistir do Plex", + "components.Discover.plexwatchlist": "A sua Lista a Assistir do Plex", + "components.IssueDetails.closeissue": "Encerrar Problema", + "components.IssueDetails.commentplaceholder": "Adicionar um comentário…", + "components.IssueDetails.closeissueandcomment": "Fechar com Comentário", + "components.IssueDetails.leavecomment": "Comentar", + "components.IssueDetails.comments": "Comentários", + "components.IssueDetails.deleteissue": "Apagar Problema", + "components.IssueDetails.problemseason": "Temporada Afetada", + "components.IssueDetails.reopenissue": "Re-abrir Problema", + "components.IssueDetails.reopenissueandcomment": "Re-abrir com Comentário", + "components.IssueDetails.season": "Temporada {seasonNumber}", + "components.IssueDetails.toasteditdescriptionfailed": "Algo deu errado ao editar a descrição do problema.", + "components.IssueDetails.toasteditdescriptionsuccess": "Descrição do problema alterada com sucesso!", + "components.IssueDetails.toastissuedeleted": "Problema apagado com sucesso!", + "components.IssueModal.CreateIssueModal.whatswrong": "O quê há de errado?", + "components.IssueModal.issueOther": "Outros", + "components.IssueModal.issueSubtitles": "Legenda", + "components.NotificationTypeSelector.adminissuereopenedDescription": "Receber notificação quando problemas forem re-abertos por outros utilizadores.", + "components.NotificationTypeSelector.issuecomment": "Comentário no Problema", + "components.NotificationTypeSelector.issuecommentDescription": "Enviar notificações quando problemas receberem novos comentários.", + "components.NotificationTypeSelector.issuecreatedDescription": "Enviar notificações quando problemas são reportados.", + "components.NotificationTypeSelector.issueresolvedDescription": "Enviar notificações quando problemas são resolvidos.", + "components.NotificationTypeSelector.mediaautorequested": "Pedido automaticamente enviado", + "components.PermissionEdit.viewwatchlists": "Ver Lista para assistir do Plex", + "components.RequestModal.requestseasons4k": "Solicitar {seasonCount} {seasonCount, plural, one {Temporada} other {Temporadas}} em 4K", + "components.Settings.toastTautulliSettingsFailure": "Algo deu errado ao gravar configurações do Tautulli.", + "components.TitleCard.tmdbid": "ID do TMDB", + "components.TitleCard.tvdbid": "ID do TheTVDB", + "components.TvDetails.manageseries": "Gerir Séries", + "components.NotificationTypeSelector.adminissueresolvedDescription": "Receber notificação quando problemas são resolvidos por outros utilizadores.", + "components.PermissionEdit.autorequest": "Solicitar Automaticamente", + "components.NotificationTypeSelector.mediaautorequestedDescription": "Ser notificado quando um novo pedido de mídia de algum item da sua Lista a assistir no Plex for automaticamente enviado.", + "components.PermissionEdit.autorequestDescription": "Dar permissão para enviar automaticamente pedidos para mídias não-4K via Lista para assistir do Plex.", + "components.PermissionEdit.autorequestMovies": "Solicitar Filmes Automaticamente", + "components.PermissionEdit.autorequestMoviesDescription": "Dar permissão para enviar automaticamente pedidos para filmes não-4K via Lista para assistir do Plex.", + "components.PermissionEdit.autorequestSeries": "Solicitar Séries Automaticamente", + "components.RequestCard.tvdbid": "ID do TheTVDB", + "components.Settings.SettingsLogs.viewdetails": "Ver Detalhes", + "components.Settings.advancedTooltip": "Configurar incorretamente esta opção pode resultar numa funcionalidade quebrada", + "components.StatusChecker.restartRequired": "Reinicialização do Servidor Necessária", + "components.TitleCard.mediaerror": "{mediaType} Não Encontrado", + "components.Settings.toastTautulliSettingsSuccess": "Configurações do Tautulli salvas com sucesso!", + "components.Settings.RadarrModal.released": "Lançado", + "components.IssueDetails.IssueComment.areyousuredelete": "Tem certeza que deseja apagar este comentário?", + "components.IssueDetails.IssueComment.delete": "Apagar Comentário", + "components.IssueDetails.IssueComment.postedbyedited": "Feito {relativeTime} por {username} (Edited)", + "components.IssueDetails.IssueComment.validationComment": "Deve escrever uma mensagem", + "components.IssueDetails.IssueDescription.deleteissue": "Apagar Problema", + "components.IssueDetails.openedby": "#{issueId} aberto {relativeTime} por {username}", + "components.IssueDetails.problemepisode": "Episódio Afetado", + "components.IssueList.sortAdded": "Mais Recente", + "components.IssueList.sortModified": "Última Modificação", + "components.NotificationTypeSelector.issuecreated": "Problema Reportado", + "components.PermissionEdit.manageissues": "Gerir Problemas", + "components.IssueDetails.IssueDescription.edit": "Alterar Descrição", + "components.IssueDetails.allepisodes": "Todos Episódios", + "components.IssueDetails.toastissuedeletefailed": "Algo deu errado ao apagar problema.", + "components.IssueDetails.toaststatusupdatefailed": "Algo deu errado ao atualizar o estado do problema.", + "components.IssueDetails.unknownissuetype": "Desconhecido", + "components.RequestModal.requestmovies4k": "Solicitar {count} {count, plural, one {Filme} other {Filmes}} em 4K", + "components.TvDetails.tmdbuserscore": "Pontuação de Utilizador do TMDB", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Solicitar Filmes Automaticamente", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessTokenTip": "Criar um token da sua Configuração de Conta", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessToken": "Token de Acesso", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPushbulletAccessToken": "Deve prover um token de acesso", + "i18n.open": "Aberto", + "components.Settings.SettingsAbout.runningDevelop": "Está usando a versão develop do Overseerr que é recomendada apenas para àqueles contribuindo com o desenvolvimento ou ajudando no teste de novas funcionalidades.", + "components.AirDateBadge.airedrelative": "Exibido em {relativeTime}", + "components.AirDateBadge.airsrelative": "Exibindo {relativeTime}", + "components.IssueDetails.IssueDescription.description": "Descrição", + "components.IssueDetails.play4konplex": "Assistir em 4K no Plex", + "components.IssueDetails.playonplex": "Assistir no Plex", + "components.IssueModal.CreateIssueModal.toastSuccessCreate": "Relato de problema em {title} enviado com sucesso!", + "components.IssueModal.CreateIssueModal.toastviewissue": "Ver Problema", + "components.PermissionEdit.autorequestSeriesDescription": "Dar permissão para enviar automaticamente pedidos para séries não-4K via Lista para assistir do Plex.", + "components.TvDetails.reportissue": "Reportar um Problema", + "components.RequestBlock.languageprofile": "Perfil de Idioma", + "components.RequestModal.requestApproved": "Solicitação de {title} aprovada!", + "components.Settings.Notifications.NotificationsGotify.gotifysettingsfailed": "Falha ao gravar configurações de notificação via Gotify.", + "components.Settings.Notifications.NotificationsGotify.gotifysettingssaved": "Configurações de notificação via Gotify salvas com sucesso!", + "components.Settings.Notifications.NotificationsGotify.toastGotifyTestFailed": "Falha ao enviar notificação de teste via Gotify.", + "components.Settings.Notifications.NotificationsGotify.url": "URL do Servidor", + "components.Settings.Notifications.NotificationsGotify.validationTokenRequired": "Deve prover um token de acesso", + "components.Settings.Notifications.NotificationsGotify.validationTypes": "Deve selecionar ao menos um tipo de notificação", + "components.Settings.Notifications.enableMentions": "Ativar Menções", + "components.Settings.RadarrModal.inCinemas": "Nos Cinemas", + "components.Settings.tautulliSettings": "Configurações do Tautulli", + "components.Settings.tautulliSettingsDescription": "Tem a opção de configurar a integração com o seu servidor Tautulli. Overseer irá obter o histórico de reproduções das suas mídias no Plex através do Tautulli.", + "components.Settings.urlBase": "URL Base", + "components.Settings.validationApiKey": "Deve prover uma chave de API válida", + "components.Settings.validationUrl": "Deve prover uma URL válida", + "components.TvDetails.productioncountries": "{countryCount, plural, one {País} other {Países}} de Produção", + "components.UserProfile.UserSettings.UserGeneralSettings.discordIdTip": "O número de identificação associado à sua conta Discord", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingsfailed": "Falha ao gravar configurações de notificação via Pushover.", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverApplicationToken": "Deve prover uma chave válida de acesso", + "components.UserProfile.recentlywatched": "Assistidos Recentemente", + "i18n.import": "Importar", + "i18n.importing": "Importando…", + "components.IssueDetails.issuetype": "Tipo", + "components.IssueDetails.openin4karr": "Abrir em {arr} 4K", + "components.IssueList.IssueItem.problemepisode": "Episódio Afetado", + "components.IssueList.IssueItem.seasons": "{seasonCount, plural, one {Temporada} other {Temporadas}}", + "components.ManageSlideOver.manageModalNoRequests": "Nenhuma solicitação.", + "components.ManageSlideOver.downloadstatus": "Downloads", + "components.ManageSlideOver.manageModalClearMedia": "Limpar Dados", + "components.ManageSlideOver.manageModalClearMediaWarning": "* Isso irá remover em definitivo todos dados desse(a) {mediaType}, incluindo quaisquer solicitações para esse item. Se este item existir na sua biblioteca do Plex, os dados de mídia serão recriados na próxima sincronia.", + "components.ManageSlideOver.manageModalRequests": "Solicitações", + "components.NotificationTypeSelector.userissuecreatedDescription": "Receber notificação quando outros utilizadores reportarem problemas.", + "components.NotificationTypeSelector.userissuecommentDescription": "Receber notificação quando problemas reportados por receberem novos comentários.", + "components.NotificationTypeSelector.userissueresolvedDescription": "Receber notificação quando problemas que reportou forem resolvidos.", + "components.Settings.SettingsJobsCache.editJobSchedule": "Editar Tarefa", + "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "A cada {jobScheduleHours, plural, one {hora} other {{jobScheduleHours} horas}}", + "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverUserKey": "Deve prover uma chave válida de usúario ou grupo", + "components.Settings.SettingsAbout.appDataPath": "Configurações", + "components.Settings.Notifications.NotificationsPushbullet.channelTag": "Tag do Canal", + "components.RequestBlock.edit": "Editar Pedido", + "components.RequestBlock.lastmodifiedby": "Última modificação por", + "components.RequestBlock.requestdate": "Data do pedido", + "components.RequestBlock.requestedby": "Pedido por", + "components.RequestCard.approverequest": "Aprovar pedido", + "components.RequestCard.cancelrequest": "Cancelar pedido", + "components.RequestCard.declinerequest": "Rejeitar Pedido", + "components.RequestCard.editrequest": "Editar Pedido", + "components.RequestModal.approve": "Aprovar Solicitação", + "components.IssueDetails.IssueComment.edit": "Editar Comentário", + "components.IssueDetails.IssueComment.postedby": "Feito {relativeTime} por {username}", + "components.IssueDetails.episode": "Episódio {episodeNumber}", + "components.IssueDetails.issuepagetitle": "Problema", + "components.IssueDetails.lastupdated": "Última Atualização", + "components.IssueList.IssueItem.issuetype": "Tipo", + "components.IssueList.issues": "Problemas", + "components.IssueList.showallissues": "Exibir Todos Problemas", + "components.IssueModal.CreateIssueModal.allseasons": "Todas Temporadas", + "components.IssueModal.CreateIssueModal.episode": "Episódio {episodeNumber}", + "components.IssueModal.CreateIssueModal.extras": "Extras", + "components.IssueModal.CreateIssueModal.providedetail": "Por favor, explique em detalhes o problema que encontrou.", + "components.IssueModal.CreateIssueModal.season": "Temporada {seasonNumber}", + "components.IssueModal.CreateIssueModal.submitissue": "Enviar Problema", + "components.IssueModal.CreateIssueModal.toastFailedCreate": "Algo deu errado ao enviar problema.", + "components.IssueModal.CreateIssueModal.validationMessageRequired": "Deve prover uma descrição", + "components.IssueModal.issueVideo": "Vídeo", + "components.Layout.Sidebar.issues": "Problemas", + "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "Pedidos de Filmes", + "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "Pedidos de Séries", + "components.Layout.UserDropdown.requests": "Pedidos", + "components.ManageSlideOver.mark4kavailable": "Marcar como Disponível em 4K", + "components.ManageSlideOver.markallseasonsavailable": "Marcar Todas Temporadas como Disponíveis", + "components.ManageSlideOver.markavailable": "Marcar como Disponível", + "components.ManageSlideOver.movie": "filme", + "components.ManageSlideOver.openarr": "Abrir no {arr}", + "components.ManageSlideOver.openarr4k": "Abrir no {arr} 4K", + "components.ManageSlideOver.opentautulli": "Abrir no Tautulli", + "components.ManageSlideOver.pastdays": "Últimos {days, number} Dias", + "components.ManageSlideOver.playedby": "Reproduzido por", + "components.ManageSlideOver.plays": "{playCount, number} {playCount, plural, one {Reprodução} other {Reproduções}}", + "components.ManageSlideOver.tvshow": "série", + "components.MovieDetails.digitalrelease": "Lançamento Digital", + "components.MovieDetails.managemovie": "Gerir Filme", + "components.MovieDetails.physicalrelease": "Lançamento em Disco", + "components.MovieDetails.reportissue": "Reportar um problema", + "components.MovieDetails.rtaudiencescore": "Pontuação de audiência no Rotten Tomatoes", + "components.MovieDetails.rtcriticsscore": "Tomatômetro do Rotten Tomatoes", + "components.MovieDetails.theatricalrelease": "Lançamento no Cinema", + "components.MovieDetails.tmdbuserscore": "Pontuação de utilizador do TMDB", + "components.NotificationTypeSelector.adminissuecommentDescription": "Receber notificação quando outros utilizadores comentarem nos problemas.", + "components.NotificationTypeSelector.issuereopened": "Problema Re-aberto", + "components.NotificationTypeSelector.issuereopenedDescription": "Enviar notificações quando problemas são re-abertos.", + "components.NotificationTypeSelector.issueresolved": "Problema Resolvido", + "components.PermissionEdit.createissues": "Reportar Problemas", + "components.PermissionEdit.viewwatchlistsDescription": "Dar permissão para ver a Lista para assistir do Plex de outros utilizadores.", + "components.RequestBlock.approve": "Aprovar pedido", + "components.RequestBlock.decline": "Rejeitar pedido", + "components.RequestBlock.delete": "Deletar pedido", + "components.RequestList.RequestItem.tvdbid": "ID do TheTVDB", + "components.RequestModal.requestcollection4ktitle": "Solicitar Coleção em 4K", + "components.RequestModal.requestcollectiontitle": "Solicitar Coleção", + "components.RequestModal.requestseriestitle": "Solicitar Séries", + "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSending": "Enviando notificação de teste via Gotify…", + "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSuccess": "Notificação de teste via Gotify enviada!", + "components.Settings.Notifications.NotificationsGotify.token": "Token de Acesso", + "components.Settings.Notifications.NotificationsGotify.validationUrlRequired": "Deve prover uma URL válida", + "components.Settings.Notifications.NotificationsGotify.validationUrlTrailingSlash": "A URL não deve terminar com uma barra", + "components.Settings.RadarrModal.announced": "Anunciado", + "components.Settings.SettingsJobsCache.jobScheduleEditSaved": "Tarefa modificada com sucesso!", + "components.Settings.experimentalTooltip": "Ativar essa opção pode resultar num comportamento não esperado da aplicação", + "components.Settings.externalUrl": "URL Externa", + "components.Settings.restartrequiredTooltip": "Overseerr deve ser reiniciado para as mudanças tomarem efeito", + "components.Settings.tautulliApiKey": "Chave de API", + "components.Settings.validationUrlBaseTrailingSlash": "A URL base não pode terminar com uma barra", + "components.Settings.validationUrlTrailingSlash": "A URL não pode terminar com uma barra", + "components.StatusBadge.playonplex": "Reproduzir no Plex", + "components.StatusChecker.reloadApp": "Recarregar {applicationTitle}", + "components.TvDetails.Season.somethingwentwrong": "Algo deu errado enquanto os dados da temporada eram adquiridos.", + "components.UserList.newplexsigninenabled": "A opção Ativar Novo Método de Início de Sessão do Plex está ativada. Utilizadores Plex com acesso à bibliotecas podem se autenticar sem que precisem serem importados.", + "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingssaved": "Configurações de notificação via Pushbullet salvas com sucesso!", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationToken": "Token de Acesso", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationTokenTip": "Registe uma aplicação para uso com {applicationTitle}", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKey": "Chave do Utilizador ou Grupo", + "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingsfailed": "Falha ao gravar configurações de notificação via Pushover." } diff --git a/src/i18n/locale/ro.json b/src/i18n/locale/ro.json index 40156c1859..83ccba977f 100644 --- a/src/i18n/locale/ro.json +++ b/src/i18n/locale/ro.json @@ -1,5 +1,5 @@ { - "components.Discover.DiscoverStudio.studioMovies": "{studio} Filme", + "components.Discover.DiscoverStudio.studioMovies": "Filme {studio}", "components.AppDataWarning.dockerVolumeMissingDescription": "Montarea volumului {appDataPath} nu a fost configurată corespunzător. Toate datele vor fi șterse atunci când containerul este oprit sau repornit.", "components.CollectionDetails.numberofmovies": "{count} Filme", "components.CollectionDetails.overview": "Prezentare generală", @@ -7,10 +7,10 @@ "components.CollectionDetails.requestcollection4k": "Cere colecția în 4K", "components.Discover.DiscoverMovieGenre.genreMovies": "{genul} Filme", "components.Discover.DiscoverMovieLanguage.languageMovies": "{Limba} Filme", - "components.Discover.DiscoverNetwork.networkSeries": "{network} Seriale", + "components.Discover.DiscoverNetwork.networkSeries": "Seriale {network}", "components.Discover.MovieGenreSlider.moviegenres": "Genuri de film", "components.Discover.NetworkSlider.networks": "Rețele", - "components.Discover.TvGenreList.seriesgenres": "Genuri seriale", + "components.Discover.TvGenreList.seriesgenres": "Genuri Seriale", "components.IssueDetails.IssueDescription.edit": "Editați descrierea", "components.IssueDetails.IssueComment.validationComment": "Trebuie să introduceți un mesaj", "components.IssueDetails.IssueDescription.description": "Descriere", @@ -19,21 +19,245 @@ "components.Discover.DiscoverTvLanguage.languageSeries": "{language} Seriale", "components.Discover.MovieGenreList.moviegenres": "Genuri de film", "components.Discover.StudioSlider.studios": "Studiouri", - "components.Discover.TvGenreSlider.tvgenres": "Genuri seriale", + "components.Discover.TvGenreSlider.tvgenres": "Genuri Seriale", "components.Discover.discover": "Descoperă", - "components.Discover.discovermovies": "Filme populare", - "components.Discover.discovertv": "Seriale populare", - "components.Discover.popularmovies": "Filme populare", - "components.Discover.populartv": "Seriale populare", - "components.Discover.recentlyAdded": "Adăugate recent", - "components.Discover.recentrequests": "Solicitări recente", - "components.Discover.upcoming": "Filme viitoare", - "components.Discover.upcomingmovies": "Filme viitoare", - "components.Discover.upcomingtv": "Seriale viitoare", + "components.Discover.popularmovies": "Filme Populare", + "components.Discover.populartv": "Seriale Populare", + "components.Discover.recentlyAdded": "Adăugate Recent", + "components.Discover.recentrequests": "Solicitări Recente", + "components.Discover.upcoming": "Filme Viitoare", + "components.Discover.upcomingmovies": "Filme Viitoare", + "components.Discover.upcomingtv": "Seriale Viitoare", "components.DownloadBlock.estimatedtime": "Estimat {time}", - "components.IssueDetails.IssueComment.areyousuredelete": "Ești sigur că vrei să ștergi acest comentariu?", + "components.IssueDetails.IssueComment.areyousuredelete": "Sunteți sigur că doriți să ștergeți acest comentariu?", "components.IssueDetails.IssueComment.delete": "Șterge comentariul", - "components.IssueDetails.IssueComment.edit": "Editează comentariul", + "components.IssueDetails.IssueComment.edit": "Editați comentariul", "components.IssueDetails.IssueComment.postedby": "Postat {relativeTime} de {username}", - "components.IssueDetails.IssueDescription.deleteissue": "Ștergeți problema" + "components.IssueDetails.IssueDescription.deleteissue": "Ștergeți problema", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "Lista ta de Urmărire în Plex", + "components.Discover.plexwatchlist": "Lista ta de Urmărire în Plex", + "components.IssueDetails.allseasons": "Toate sezoanele", + "components.IssueDetails.closeissue": "Închide problema", + "components.IssueDetails.deleteissueconfirm": "Ești sigur că vrei să ștergi această problema?", + "components.IssueDetails.commentplaceholder": "Adaugă un comentariu…", + "components.IssueDetails.comments": "Comentarii", + "components.IssueDetails.issuetype": "Tip", + "components.IssueDetails.lastupdated": "Ultimul update", + "components.IssueDetails.leavecomment": "Comentează", + "components.Discover.DiscoverWatchlist.watchlist": "Listă de urmărire în Plex", + "components.Discover.trending": "Tendințe", + "components.IssueDetails.openinarr": "Deschide în {arr}", + "components.IssueDetails.play4konplex": "Vizionează în 4K în Plex", + "components.IssueDetails.playonplex": "Vizionează în Plex", + "components.IssueDetails.problemepisode": "Episoade afectate", + "components.IssueDetails.problemseason": "Sezoane afectate", + "components.IssueDetails.reopenissue": "Redeschide problemă", + "components.IssueDetails.reopenissueandcomment": "Redeschide cu comentariu", + "components.IssueDetails.toasteditdescriptionfailed": "A intervenit o eroare în timpul editării descrierii problemei.", + "components.IssueDetails.toasteditdescriptionsuccess": "Descrierea problemei editată cu succes!", + "components.IssueDetails.toastissuedeleted": "Problemă ștearsă cu succes!", + "components.IssueDetails.season": "Sezon {seasonNumber}", + "components.IssueDetails.toastissuedeletefailed": "A intervenit o eroare în timpul ștergerii problemei.", + "components.IssueDetails.toaststatusupdated": "Statusul problemei a fost actualizat cu succes!", + "components.IssueDetails.toaststatusupdatefailed": "A intervenit o eroare în timpul actualizării statusului problemei.", + "components.IssueDetails.unknownissuetype": "Necunoscut", + "components.IssueList.IssueItem.episodes": "{episodeCount, plural, un {Episod} alte {Episoade}}}", + "components.IssueList.IssueItem.issuestatus": "Stare", + "components.IssueList.IssueItem.opened": "Deschis", + "components.IssueList.IssueItem.unknownissuetype": "Necunoscut", + "components.IssueList.IssueItem.openeduserdate": "{date} de către {user}", + "components.IssueList.IssueItem.problemepisode": "Episodul afectat", + "components.IssueList.IssueItem.viewissue": "Vedeți problema", + "components.IssueModal.CreateIssueModal.problemepisode": "Episodul afectat", + "components.IssueModal.CreateIssueModal.providedetail": "Vă rugăm să furnizați o explicație detaliată a problemei pe care ați întâmpinat-o.", + "components.IssueModal.CreateIssueModal.problemseason": "Sezonul afectat", + "components.IssueModal.CreateIssueModal.episode": "Episodul {episodeNumber}", + "components.IssueModal.CreateIssueModal.extras": "Extra", + "components.IssueModal.CreateIssueModal.season": "Sezonul {seasonNumber}", + "components.IssueModal.CreateIssueModal.submitissue": "Trimiteți problema", + "components.IssueModal.CreateIssueModal.toastFailedCreate": "Ceva nu a mers bine în timpul trimiterii problemei.", + "components.IssueModal.CreateIssueModal.toastSuccessCreate": "Raportul problemei pentru {title} a fost trimis cu succes!", + "components.IssueModal.CreateIssueModal.whatswrong": "Ce nu e bine?", + "components.IssueModal.issueAudio": "Audio", + "components.IssueModal.issueOther": "Altele", + "components.IssueModal.issueSubtitles": "Subtitrare", + "components.IssueModal.issueVideo": "Video", + "components.LanguageSelector.languageServerDefault": "Implicit ({language})", + "components.LanguageSelector.originalLanguageDefault": "Toate limbile", + "components.Layout.LanguagePicker.displaylanguage": "Limba de afișare", + "components.Layout.Sidebar.dashboard": "Descoperiți", + "components.Layout.Sidebar.issues": "Probleme", + "components.Layout.Sidebar.requests": "Solicitări", + "components.Layout.Sidebar.settings": "Setări", + "components.Layout.Sidebar.users": "Utilizatori", + "components.Layout.UserDropdown.myprofile": "Profil", + "components.Layout.VersionStatus.commitsbehind": "{commitsBehind} {commitsBehind, plural, one {commit} altul {commits}} în spate", + "components.IssueDetails.allepisodes": "Toate episoadele", + "components.IssueDetails.episode": "Episod {episodeNumber}", + "components.IssueDetails.issuepagetitle": "Problemă", + "components.IssueDetails.openedby": "#{issueId} deschis {relativeTime} de către {username}", + "components.IssueDetails.openin4karr": "Deschide în 4K {arr}", + "components.AirDateBadge.airedrelative": "Difuzat la {relativeTime}", + "components.AirDateBadge.airsrelative": "Se va difuza la {relativeTime}", + "components.IssueList.issues": "Probleme", + "components.IssueList.showallissues": "Afișați toate problemele", + "components.IssueModal.CreateIssueModal.allseasons": "Toate sezoanele", + "components.IssueModal.CreateIssueModal.reportissue": "Raportați o problemă", + "components.IssueModal.CreateIssueModal.toastviewissue": "Vedeți problema", + "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "Solicitări de Serii", + "components.Layout.UserDropdown.requests": "Solicitări", + "components.IssueList.IssueItem.issuetype": "Tip", + "components.IssueList.sortModified": "Ultima modificare", + "components.Discover.emptywatchlist": "Media adăugată în Lista de Urmărire în Plex va apărea aici.", + "components.IssueDetails.closeissueandcomment": "Închide cu comentariu", + "components.IssueDetails.deleteissue": "Șterge problema", + "components.IssueDetails.nocomments": "Niciun comentariu.", + "components.IssueModal.CreateIssueModal.allepisodes": "Toate episoadele", + "components.IssueList.sortAdded": "Cele mai recente", + "components.Layout.SearchInput.searchPlaceholder": "Căutați Filme și Seriale", + "components.IssueModal.CreateIssueModal.validationMessageRequired": "Trebuie să furnizați o descriere", + "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "Solicitări de Filme", + "components.Layout.UserDropdown.settings": "Setări", + "components.Layout.UserDropdown.signout": "Deconectare", + "components.Layout.VersionStatus.outofdate": "Expirat", + "components.Login.loginerror": "A apărut o eroare în timp ce încercam să vă conectați.", + "components.ManageSlideOver.manageModalAdvanced": "Avansat", + "components.ManageSlideOver.movie": "film", + "components.ManageSlideOver.openarr": "Deschide în {arr}", + "components.NotificationTypeSelector.adminissueresolvedDescription": "Primiți notificări când problemele sunt rezolvate de alți utilizatori.", + "components.NotificationTypeSelector.issuecomment": "Comentariu la Problemă", + "components.NotificationTypeSelector.issuereopenedDescription": "Trimiteți notificări când problemele sunt redeschise.", + "components.MovieDetails.digitalrelease": "Lansare Digitală", + "components.MovieDetails.originaltitle": "Titlu Original", + "components.MovieDetails.overview": "Prezentare Generală", + "components.MovieDetails.recommendations": "Recomandări", + "components.MovieDetails.releasedate": "{releaseCount, plural, one {Data de Lansare} other {Date de Lansare}}", + "components.MovieDetails.revenue": "Venituri", + "components.MovieDetails.runtime": "{minutes} minute", + "components.MovieDetails.showless": "Arată Mai Puțin", + "components.MovieDetails.studio": "{studioCount, plural, one {Studio} other {Studiouri}}", + "components.MovieDetails.theatricalrelease": "Lansare la Cinema", + "components.MovieDetails.viewfullcrew": "Vizualizați Echipa Completă", + "components.MovieDetails.streamingproviders": "În Prezent se Difuzează pe", + "components.NotificationTypeSelector.issuecommentDescription": "Trimiteți notificări când problemele primesc comentarii noi.", + "components.NotificationTypeSelector.issuecreated": "Problemă Raportată", + "components.NotificationTypeSelector.issueresolved": "Problemă Rezolvată", + "components.NotificationTypeSelector.issueresolvedDescription": "Trimiteți notificări când problemele sunt rezolvate.", + "components.NotificationTypeSelector.mediaAutoApproved": "Solicitare Aprobată Automat", + "components.Login.email": "Adresă de Mail", + "components.Login.forgotpassword": "Ai uitat parola?", + "components.ManageSlideOver.manageModalNoRequests": "Nicio solicitare.", + "components.ManageSlideOver.manageModalTitle": "Administrează {mediaType}", + "components.ManageSlideOver.manageModalRequests": "Solicitări", + "components.MovieDetails.overviewunavailable": "Prezentare Generală Indisponibilă.", + "components.NotificationTypeSelector.issuecreatedDescription": "Trimiteți notificări când sunt raportate probleme.", + "components.NotificationTypeSelector.issuereopened": "Problemă Redeschisă", + "components.IssueList.IssueItem.seasons": "{seasonCount, plural, one {Sezon} other {Sezoane}}", + "components.Login.signinwithplex": "Folosește contul tău Plex", + "components.Login.validationemailrequired": "Trebuie să furnizați o adresă de e-mail validă", + "components.ManageSlideOver.manageModalIssues": "Probleme Deschise", + "components.ManageSlideOver.manageModalClearMedia": "Golește Datele", + "components.ManageSlideOver.manageModalMedia": "Media", + "components.ManageSlideOver.manageModalMedia4k": "Media 4K", + "components.ManageSlideOver.mark4kavailable": "Marcați ca Disponibil în 4K", + "components.ManageSlideOver.markallseasons4kavailable": "Marcați Toate Sezoanele ca fiind Disponibile în 4K", + "components.ManageSlideOver.markallseasonsavailable": "Marcați Toate Sezoanele ca Disponibile", + "components.ManageSlideOver.markavailable": "Marcați ca Disponibil", + "components.MovieDetails.originallanguage": "Limbă Originală", + "components.MovieDetails.showmore": "Arată Mai Mult", + "components.MovieDetails.similar": "Titluri Similare", + "components.MovieDetails.physicalrelease": "Lansare Fizică", + "components.MovieDetails.managemovie": "Gestionați Filmul", + "components.MovieDetails.play4konplex": "Vizionează în 4k pe Plex", + "components.MovieDetails.playonplex": "Vizionează pe Plex", + "components.MovieDetails.reportissue": "Raportează o Problemă", + "components.Login.password": "Parolă", + "components.Login.signin": "Autentificare", + "components.Login.signingin": "Se autentifică…", + "components.Login.signinheader": "Autentifică-te pentru a continua", + "components.Login.signinwithoverseerr": "Folosește contul tău pentru {applicationTitle}", + "components.Login.validationpasswordrequired": "Trebuie să furnizați o parolă", + "components.MovieDetails.markavailable": "Marcați ca Disponibil", + "components.MovieDetails.rtaudiencescore": "Scorul Publicului pe Rotten Tomatoes", + "components.MovieDetails.rtcriticsscore": "Tomatometru pe Rotten Tomatoes", + "components.MovieDetails.tmdbuserscore": "Scor Utilizatori pe TMDB", + "components.ManageSlideOver.pastdays": "Acum {days, number} Zile", + "components.ManageSlideOver.opentautulli": "Deschide în Tautilli", + "components.ManageSlideOver.tvshow": "serii", + "components.MediaSlider.ShowMoreCard.seemore": "Vezi Mai Mult", + "components.MovieDetails.MovieCast.fullcast": "Distribuție Completă", + "components.MovieDetails.MovieCrew.fullcrew": "Echipaj Complet", + "components.MovieDetails.budget": "Buget", + "components.MovieDetails.cast": "Distribuție", + "components.MovieDetails.mark4kavailable": "Marcați ca Disponibil în 4K", + "components.NotificationTypeSelector.adminissuereopenedDescription": "Primiți notificări când problemele sunt redeschise de alți utilizatori.", + "components.MovieDetails.watchtrailer": "Vizionați Trailerul", + "components.NotificationTypeSelector.adminissuecommentDescription": "Primiți notificări când alți utilizatori comentează la probleme.", + "components.ManageSlideOver.downloadstatus": "Descărcări", + "components.ManageSlideOver.openarr4k": "Deschide în {arr} 4k", + "components.ManageSlideOver.manageModalClearMediaWarning": "* Aceasta va elimina ireversibil toate datele pentru {mediaType}, inclusiv orice solicitare. Dacă acest articol există în biblioteca dvs. Plex, informațiile media vor fi recreate în timpul următoarei scanări.", + "components.NotificationTypeSelector.userissuereopenedDescription": "Primiți notificări când problemele pe care le-ați raportat sunt redeschise.", + "components.PermissionEdit.advancedrequestDescription": "Acordați permisiunea de a modifica opțiunile avansate de solicitare media.", + "components.NotificationTypeSelector.mediaAutoApprovedDescription": "Trimiteți notificări atunci când utilizatorii trimit noi solicitări media care sunt aprobate automat.", + "components.NotificationTypeSelector.mediaavailable": "Solicitare Disponibilă", + "components.NotificationTypeSelector.mediaavailableDescription": "Trimiteți notificări când solicitările media devin disponibile.", + "components.NotificationTypeSelector.mediaapproved": "Solicitare Aprobată", + "components.NotificationTypeSelector.mediaapprovedDescription": "Trimiteți notificări când solicitările media sunt aprobate manual.", + "components.NotificationTypeSelector.mediadeclined": "Solicitare Refuzată", + "components.PermissionEdit.admin": "Admin", + "components.NotificationTypeSelector.usermediaapprovedDescription": "Primiți notificări când solicitările dvs. media sunt aprobate.", + "components.NotificationTypeSelector.usermediaavailableDescription": "Primiți notificări când solicitările dvs. media devin disponibile.", + "components.PermissionEdit.adminDescription": "Acces de administrator complet. Ocolește toate celelalte verificări ale permisiunilor.", + "components.PermissionEdit.advancedrequest": "Solicitări Avansate", + "components.NotificationTypeSelector.mediaautorequested": "Solicitare Trimisă Automat", + "components.NotificationTypeSelector.mediaautorequestedDescription": "Primiți notificări atunci când noi solicitări media sunt trimise automat pentru articole din Lista dvs. de Urmărire Plex.", + "components.NotificationTypeSelector.mediafailed": "Procesarea Solicitării Eșuată", + "components.NotificationTypeSelector.mediafailedDescription": "Trimiteți notificări atunci când solicitările media nu pot fi adăugate la Radarr sau Sonarr.", + "components.NotificationTypeSelector.mediarequested": "Solicitarea Așteptă Aprobare", + "components.NotificationTypeSelector.mediarequestedDescription": "Trimiteți notificări atunci când utilizatorii trimit noi solicitări media care necesită aprobare.", + "components.NotificationTypeSelector.notificationTypes": "Tipuri de Notificări", + "components.NotificationTypeSelector.userissuecommentDescription": "Primiți notificări când problemele pe care le-ați raportat primesc comentarii noi.", + "components.NotificationTypeSelector.userissuecreatedDescription": "Primiți notificări când alți utilizatori raportează probleme.", + "components.PermissionEdit.autoapprove": "Aprobare Automată", + "components.PermissionEdit.autoapprove4k": "Aprobare Automată 4K", + "components.PermissionEdit.autoapprove4kDescription": "Acordați aprobare automată pentru toate solicitările media 4K.", + "components.PermissionEdit.autoapprove4kMovies": "Aprobare Automată a Filmelor 4K", + "components.PermissionEdit.autoapprove4kMoviesDescription": "Acordați aprobare automată pentru solicitările de filme 4K.", + "components.PermissionEdit.autoapprove4kSeries": "Aprobare Automată a Seriilor 4K", + "components.PermissionEdit.autoapproveDescription": "Acordați aprobare automată pentru toate solicitările media non-4K.", + "components.PermissionEdit.autoapproveMovies": "Aprobare Automată a Filmelor", + "components.NotificationTypeSelector.mediadeclinedDescription": "Trimiteți notificări atunci când solicitările media sunt refuzate.", + "components.NotificationTypeSelector.usermediarequestedDescription": "Primiți notificări atunci când alți utilizatori trimit noi solicitări media care necesită aprobare.", + "components.NotificationTypeSelector.usermediafailedDescription": "Primiți notificări când solicitările media nu pot fi adăugate la Radarr sau Sonarr.", + "components.PermissionEdit.autoapproveSeriesDescription": "Acordați aprobare automată pentru solicitările de seriale non-4K.", + "components.NotificationTypeSelector.usermediaAutoApprovedDescription": "Primiți notificări când alți utilizatori trimit solicitări media noi, care sunt aprobate automat.", + "components.NotificationTypeSelector.usermediadeclinedDescription": "Primiți notificări când solicitările dvs. media sunt refuzate.", + "components.PermissionEdit.autoapprove4kSeriesDescription": "Acordați aprobare automată pentru solicitările de serii 4K.", + "components.PermissionEdit.autoapproveMoviesDescription": "Acordați aprobare automată pentru solicitările de filme non-4K.", + "components.PermissionEdit.autoapproveSeries": "Aprobare Automată a Serialelor", + "components.PermissionEdit.autorequestDescription": "Acordați permisiunea de a trimite automat solicitări pentru conținut media non-4K prin Lista de Urmărire Plex.", + "components.PermissionEdit.autorequest": "Solicitare Automată", + "components.NotificationTypeSelector.userissueresolvedDescription": "Primiți notificări când problemele pe care le-ați raportat sunt rezolvate.", + "components.PermissionEdit.autorequestMovies": "Solicitați Automat Filme", + "components.PermissionEdit.autorequestMoviesDescription": "Acordați permisiunea de a trimite automat solicitări pentru filme non-4K prin Lista de Urmărire Plex.", + "components.MovieDetails.productioncountries": "Producție {countryCount, plural, one {Țară} other {Țări}}", + "components.PermissionEdit.request": "Solicitați", + "components.PermissionEdit.request4kDescription": "Acordați permisiunea de a trimite solicitări pentru conținut media 4K.", + "components.PermissionEdit.managerequestsDescription": "Acordați permisiunea de a gestiona solicitările media. Toate solicitările făcute de un utilizator cu această permisiune vor fi aprobate automat.", + "components.PermissionEdit.request4k": "Solicitați 4K", + "components.PermissionEdit.request4kTv": "Solicitați Seria TV în 4K", + "components.Layout.VersionStatus.streamstable": "Overseerr Stabil", + "components.PermissionEdit.request4kMoviesDescription": "Acordați permisiunea de a trimite solicitări pentru filme 4K.", + "components.PermissionEdit.createissuesDescription": "Acordați permisiunea de a raporta probleme media.", + "components.PermissionEdit.autorequestSeries": "Solicită Automat Seriale TV", + "components.PermissionEdit.autorequestSeriesDescription": "Acordați permisiunea de a trimite automat cereri pentru seriale tv non-4K prin Lista de Urmărire Plex.", + "components.PermissionEdit.createissues": "Raportați Probleme", + "components.PermissionEdit.manageissuesDescription": "Acordați permisiunea de a gestiona problemele media.", + "components.PermissionEdit.managerequests": "Gestionați Solicitările", + "components.PermissionEdit.request4kMovies": "Solicitați Filme 4K", + "components.Layout.VersionStatus.streamdevelop": "Overseerr Dezvoltat", + "components.PermissionEdit.manageissues": "Gestionarea Problemelor", + "components.ManageSlideOver.playedby": "Rulat De", + "components.ManageSlideOver.plays": "{playCount, number} {playCount, plural, one {rulare} other {rulări}}", + "components.ManageSlideOver.alltime": "Dintotdeauna" } diff --git a/src/i18n/locale/ru.json b/src/i18n/locale/ru.json index 2676327c3b..1b419b44c0 100644 --- a/src/i18n/locale/ru.json +++ b/src/i18n/locale/ru.json @@ -1,6 +1,4 @@ { - "components.Discover.discovermovies": "Популярные фильмы", - "components.Discover.discovertv": "Популярные сериалы", "components.Discover.popularmovies": "Популярные фильмы", "components.Discover.populartv": "Популярные сериалы", "components.Discover.recentlyAdded": "Недавно добавленные", @@ -33,7 +31,7 @@ "components.RequestModal.cancel": "Отменить запрос", "components.RequestModal.extras": "Дополнительно", "components.RequestModal.numberofepisodes": "# эпизодов", - "components.RequestModal.pendingrequest": "", + "components.RequestModal.pendingrequest": "Ожидающий запрос", "components.RequestModal.requestCancel": "Запрос на {title} отменён.", "components.RequestModal.requestSuccess": "{title} успешно запрошен!", "components.RequestModal.requestadmin": "Этот запрос будет одобрен автоматически.", @@ -101,16 +99,12 @@ "components.Settings.addradarr": "Добавить сервер Radarr", "components.Settings.address": "Адрес", "components.Settings.addsonarr": "Добавить сервер Sonarr", - "components.Settings.apikey": "Ключ API", - "components.Settings.applicationurl": "URL-адрес приложения", "components.Settings.cancelscan": "Отменить сканирование", "components.Settings.copied": "Ключ API скопирован в буфер обмена.", "components.Settings.currentlibrary": "Текущая библиотека: {name}", "components.Settings.default": "По умолчанию", "components.Settings.default4k": "4К по умолчанию", "components.Settings.deleteserverconfirm": "Вы уверены, что хотите удалить этот сервер?", - "components.Settings.generalsettings": "Общие настройки", - "components.Settings.generalsettingsDescription": "Настройте глобальные параметры и параметры по умолчанию для Overseerr.", "components.Settings.hostname": "Имя хоста или IP-адрес", "components.Settings.librariesRemaining": "Осталось библиотек: {count}", "components.Settings.manualscan": "Сканировать библиотеки вручную", @@ -189,11 +183,9 @@ "components.UserList.create": "Создать", "components.TvDetails.network": "{networkCount, plural, one {Телеканал} other {Телеканалы}}", "components.TvDetails.anime": "Аниме", - "components.Settings.toastSettingsSuccess": "Настройки успешно сохранены!", "components.Settings.serverpresetManualMessage": "Ручная настройка", "components.Settings.serverpreset": "Сервер", "i18n.deleting": "Удаление…", - "components.Settings.applicationTitle": "Название приложения", "components.Settings.SettingsAbout.Releases.latestversion": "Последняя", "components.Settings.SettingsAbout.Releases.currentversion": "Текущая", "components.Settings.SonarrModal.syncEnabled": "Включить сканирование", @@ -236,7 +228,6 @@ "components.Settings.Notifications.sendSilently": "Отправлять без звука", "components.Settings.Notifications.NotificationsWebhook.resetPayload": "Сбросить к настройкам по умолчанию", "components.Settings.Notifications.NotificationsWebhook.validationWebhookUrl": "Вы должны указать действительный URL-адрес", - "components.Settings.validationApplicationUrl": "Вы должны указать действительный URL-адрес", "components.Settings.Notifications.validationUrl": "Вы должны указать действительный URL-адрес", "components.Settings.RadarrModal.validationApplicationUrl": "Вы должны указать действительный URL-адрес", "components.Settings.SonarrModal.validationApplicationUrl": "Вы должны указать действительный URL-адрес", @@ -276,7 +267,6 @@ "components.UserProfile.UserSettings.UserPasswordChange.confirmpassword": "Подтвердите пароль", "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsSuccess": "Настройки успешно сохранены!", "components.UserProfile.UserSettings.UserPermissions.toastSettingsSuccess": "Разрешения успешно сохранены!", - "components.Settings.toastSettingsFailure": "Что-то пошло не так при сохранении настроек.", "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsFailure": "Что-то пошло не так при сохранении настроек.", "components.UserProfile.UserSettings.UserPermissions.toastSettingsFailure": "Что-то пошло не так при сохранении настроек.", "components.UserProfile.UserSettings.UserNotificationSettings.sendSilentlyDescription": "Отправлять уведомления без звука", @@ -378,17 +368,17 @@ "components.Settings.SettingsAbout.supportoverseerr": "Поддержать Overseerr", "components.NotificationTypeSelector.usermediaAutoApprovedDescription": "Получать уведомления, когда другие пользователи отправляют новые медиа-запросы, которые одобряются автоматически.", "components.NotificationTypeSelector.mediarequestedDescription": "Отправлять уведомления, когда пользователи отправляют новые медиа-запросы, требующие одобрения.", - "components.NotificationTypeSelector.mediarequested": "Запросы медиафайлов", + "components.NotificationTypeSelector.mediarequested": "Запросы, ожидающие одобрения", "components.NotificationTypeSelector.mediafailedDescription": "Отправлять уведомления, когда медиа-запросы не удаётся добавить в Radarr или Sonarr.", - "components.NotificationTypeSelector.mediafailed": "Ошибки при добавлении медиа-запросов", + "components.NotificationTypeSelector.mediafailed": "Ошибки при обработке запросов", "components.NotificationTypeSelector.mediadeclinedDescription": "Отправлять уведомления, когда медиа-запросы отклоняются.", "components.NotificationTypeSelector.mediaAutoApprovedDescription": "Отправлять уведомления, когда пользователи отправляют новые медиа-запросы, которые одобряются автоматически.", - "components.NotificationTypeSelector.mediaAutoApproved": "Автоматическое одобрение медиа-запросов", - "components.NotificationTypeSelector.mediaapproved": "Одобрение медиа-запросов", + "components.NotificationTypeSelector.mediaAutoApproved": "Автоматическое одобрение запросов", + "components.NotificationTypeSelector.mediaapproved": "Одобрение запросов", "components.NotificationTypeSelector.mediaapprovedDescription": "Отправлять уведомления, когда медиа-запросы одобряются вручную.", - "components.NotificationTypeSelector.mediadeclined": "Отклонение медиа-запросов", + "components.NotificationTypeSelector.mediadeclined": "Отклонение запросов", "components.NotificationTypeSelector.mediaavailableDescription": "Отправлять уведомления, когда запрошенные медиафайлы становятся доступны.", - "components.NotificationTypeSelector.mediaavailable": "Доступны новые медиафайлы", + "components.NotificationTypeSelector.mediaavailable": "Доступны запрошенные медиафайлы", "components.MovieDetails.MovieCrew.fullcrew": "Полная съёмочная группа", "components.MovieDetails.viewfullcrew": "Посмотреть полную cъёмочную группу", "components.MovieDetails.showmore": "Развернуть", @@ -424,9 +414,9 @@ "components.Settings.RadarrModal.testFirstRootFolders": "Протестировать подключение для загрузки корневых каталогов", "components.Settings.RadarrModal.loadingrootfolders": "Загрузка корневых каталогов…", "components.RequestModal.AdvancedRequester.destinationserver": "Сервер-получатель", - "components.RequestList.RequestItem.mediaerror": "Название, связанное с этим запросом, больше недоступно.", + "components.RequestList.RequestItem.mediaerror": "{mediaType} не найден", "components.RequestList.RequestItem.failedretry": "Что-то пошло не так при попытке повторить запрос.", - "components.RequestCard.mediaerror": "Название, связанное с этим запросом, больше недоступно.", + "components.RequestCard.mediaerror": "{mediaType} не найден", "components.RequestCard.failedretry": "Что-то пошло не так при попытке повторить запрос.", "components.RequestButton.viewrequest4k": "Посмотреть 4К запрос", "components.RequestButton.requestmore4k": "Запросить больше в 4К", @@ -561,12 +551,10 @@ "components.ResetPassword.requestresetlinksuccessmessage": "Ссылка для сброса пароля будет отправлена на указанный адрес электронной почты, если он связан с действительным пользователем.", "components.ResetPassword.gobacklogin": "Вернуться на страницу входа", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "Языки для поиска фильмов и сериалов", - "components.Settings.region": "Регион для поиска фильмов и сериалов", - "components.Settings.originallanguage": "Языки для поиска фильмов и сериалов", "components.TvDetails.seasons": "{seasonCount, plural, one {# сезон} other {# сезонов}}", "components.RequestModal.QuotaDisplay.requiredquotaUser": "Этому пользователю необходимо иметь по крайней мере {seasons} {seasons, plural, one {запрос на сезоны} other {запроса(ов) на сезоны}} для того, чтобы отправить запрос на этот сериал.", "components.RequestModal.QuotaDisplay.requiredquota": "Вам необходимо иметь по крайней мере {seasons} {seasons, plural, one {запрос на сезоны} other {запроса(ов) на сезоны}} для того, чтобы отправить запрос на этот сериал.", - "components.RequestModal.pending4krequest": "", + "components.RequestModal.pending4krequest": "Ожидающий запрос в 4К", "components.RequestModal.autoapproval": "Автоматическое одобрение", "i18n.usersettings": "Настройки пользователя", "i18n.showingresults": "Показываются результаты с {from} по {to} из {total}", @@ -577,11 +565,9 @@ "i18n.request4k": "Запросить в 4К", "i18n.areyousure": "Вы уверены?", "components.RequestModal.alreadyrequested": "Уже запрошен", - "components.RequestModal.SearchByNameModal.notvdbiddescription": "Мы не смогли автоматически выполнить ваш запрос. Пожалуйста, выберите правильное совпадение из списка ниже.", + "components.RequestModal.SearchByNameModal.notvdbiddescription": "Нам не удалось автоматически сопоставить этот сериал. Пожалуйста, выберите подходящее соответствие ниже.", "components.TvDetails.originaltitle": "Название оригинала", - "components.Settings.validationApplicationTitle": "Вы должны указать название приложения", "i18n.tvshow": "Сериал", - "components.Settings.partialRequestsEnabled": "Разрешить частичные запросы сериалов", "components.Settings.mediaTypeSeries": "сериал", "components.UserProfile.UserSettings.UserGeneralSettings.region": "Регион для поиска фильмов и сериалов", "components.RequestModal.QuotaDisplay.seasonlimit": "{limit, plural, one {сезон} other {сезоны}}", @@ -591,14 +577,12 @@ "components.UserProfile.UserSettings.UserNotificationSettings.emailsettingsfailed": "Не удалось сохранить настройки уведомлений по электронной почте.", "components.UserProfile.UserSettings.UserGeneralSettings.applanguage": "Язык интерфейса", "components.UserList.validationpasswordminchars": "Пароль слишком короткий: он должен содержать не менее 8 символов", - "components.UserList.nouserstoimport": "Нет новых пользователей для импорта из Plex.", + "components.UserList.nouserstoimport": "Нет пользователей Plex для импорта.", "components.UserList.autogeneratepasswordTip": "Отправить пользователю пароль, сгенерированный сервером, по электронной почте", "components.TvDetails.viewfullcrew": "Посмотреть полную cъёмочную группу", "components.TvDetails.showtype": "Тип сериала", "components.TvDetails.TvCrew.fullseriescrew": "Полная съёмочная группа сериала", "components.TvDetails.TvCast.fullseriescast": "Полный актёрский состав сериала", - "components.Settings.trustProxyTip": "Позволяет Overseerr корректно регистрировать IP-адреса клиентов за прокси-сервером", - "components.Settings.originallanguageTip": "Контент фильтруется по языку оригинала", "components.Settings.noDefaultNon4kServer": "Если вы используете один сервер {serverType} для контента, в том числе и для 4К, или если вы загружаете только контент 4K, ваш сервер {serverType} НЕ должен быть помечен как 4К сервер.", "components.UserList.localLoginDisabled": "Параметр Включить локальный вход в настоящее время отключен.", "components.Settings.SettingsLogs.showall": "Показать все логи", @@ -609,15 +593,12 @@ "components.Settings.noDefaultServer": "По крайней мере один сервер {serverType} должен быть помечен как сервер по умолчанию для обработки запросов на {mediaType}ы.", "components.Settings.noDefault4kServer": "4K сервер {serverType} должен быть помечен как сервер по умолчанию, чтобы пользователи могли отправлять запросы на 4K {mediaType}ы.", "components.Settings.SonarrModal.validationLanguageProfileRequired": "Вы должны выбрать языковой профиль", - "components.Settings.validationApplicationUrlTrailingSlash": "URL-адрес не должен заканчиваться косой чертой", - "components.Settings.RadarrModal.validationBaseUrlLeadingSlash": "Базовый URL-адрес должен иметь косую черту в начале", + "components.Settings.RadarrModal.validationBaseUrlLeadingSlash": "Базовый URL-адрес должен начинаться с косой черты", "components.Settings.SonarrModal.validationBaseUrlLeadingSlash": "Базовый URL-адрес должен иметь косую черту в начале", "components.Settings.SonarrModal.testFirstLanguageProfiles": "Протестировать подключение для загрузки языковых профилей", "components.Settings.SonarrModal.loadingTags": "Загрузка тегов…", "components.Settings.SonarrModal.enableSearch": "Включить автоматический поиск", "components.Settings.SonarrModal.edit4ksonarr": "Редактировать 4К сервер Sonarr", - "components.Settings.toastApiKeyFailure": "Что-то пошло не так при создании нового ключа API.", - "components.Settings.csrfProtectionTip": "Устанавливает доступ к API извне только для чтения (требуется HTTPS)", "components.Settings.SonarrModal.animequalityprofile": "Профиль качества для аниме", "components.Settings.SonarrModal.animelanguageprofile": "Языковой профиль для аниме", "components.Settings.SonarrModal.animeTags": "Теги для аниме", @@ -639,8 +620,6 @@ "components.Settings.SettingsLogs.copyToClipboard": "Скопировать в буфер обмена", "components.Settings.serverpresetRefreshing": "Получение списка серверов…", "components.Settings.SettingsJobsCache.jobstarted": "Задание \"{jobname}\" запущено.", - "components.Settings.cacheImagesTip": "Оптимизировать и хранить все изображения локально (потребляет значительный объем дискового пространства)", - "components.Settings.cacheImages": "Включить кэширование изображений", "components.Settings.SettingsJobsCache.unknownJob": "Неизвестное задание", "components.Settings.SettingsJobsCache.sonarr-scan": "Сканирование Sonarr", "components.Settings.SettingsJobsCache.runnow": "Выполнить сейчас", @@ -752,7 +731,7 @@ "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPasswordSame": "Пароли должны совпадать", "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailureVerifyCurrent": "Что-то пошло не так при сохранении пароля. Правильно ли введен ваш текущий пароль?", "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailure": "Что-то пошло не так при сохранении пароля.", - "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSet": "В настоящее время для этой учётной записи не установлен пароль. Установите пароль ниже, чтобы с этой учётной записью можно было войти в систему как \"локальный пользователь\".", + "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSet": "В настоящее время для этой учётной записи не установлен пароль. Настройте его ниже, чтобы с этой учётной записью можно было войти в систему как \"локальный пользователь\".", "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSetOwnAccount": "В настоящее время для вашей учётной записи не установлен пароль. Установите пароль ниже, чтобы иметь возможность войти в систему как \"локальный пользователь\", используя свой адрес электронной почты.", "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingssaved": "Настройки веб-push-уведомлений успешно сохранены!", "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingsfailed": "Не удалось сохранить настройки веб-push-уведомлений.", @@ -768,9 +747,8 @@ "components.UserProfile.UserSettings.UserNotificationSettings.email": "Электронная почта", "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingssaved": "Настройки уведомлений Discord успешно сохранены!", "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingsfailed": "Не удалось сохранить настройки уведомлений Discord.", - "components.UserProfile.UserSettings.UserNotificationSettings.discordIdTip": "ID вашей учётной записи", + "components.UserProfile.UserSettings.UserNotificationSettings.discordIdTip": "Многозначный ID, связанный с вашей пользовательской учётной записью", "components.UserProfile.UserSettings.UserNotificationSettings.discordId": "ID пользователя", - "components.Settings.locale": "Язык интерфейса", "components.UserProfile.UserSettings.UserGeneralSettings.accounttype": "Тип учётной записи", "components.UserProfile.ProfileHeader.userid": "ID пользователя: {userid}", "components.UserProfile.ProfileHeader.settings": "Редактировать настройки", @@ -782,9 +760,9 @@ "components.UserList.userdeleteerror": "Что-то пошло не так при удалении пользователя.", "components.UserList.usercreatedfailed": "Что-то пошло не так при создании пользователя.", "components.UserList.passwordinfodescription": "Настройте URL-адрес приложения и включите уведомления по электронной почте, чтобы обеспечить возможность автоматической генерации пароля.", - "components.UserList.importfromplexerror": "Что-то пошло не так при импорте пользователей из Plex.", - "components.UserList.importfromplex": "Импортировать пользователей из Plex", - "components.UserList.importedfromplex": "{userCount, plural, one {# новый пользователь} other {# новых пользователя(ей)}} успешно импортированы из Plex!", + "components.UserList.importfromplexerror": "Что-то пошло не так при импорте пользователей Plex.", + "components.UserList.importfromplex": "Импортировать пользователей Plex", + "components.UserList.importedfromplex": "{userCount} {userCount, plural, one {пользователь} other {пользователя(ей)}} Plex успешно импортированы!", "components.UserList.edituser": "Изменить разрешения пользователя", "components.UserList.displayName": "Отображаемое имя", "components.UserList.deleteconfirm": "Вы уверены, что хотите удалить этого пользователя? Все данные о его запросах будут удалены без возможности восстановления.", @@ -801,7 +779,6 @@ "components.Settings.webpush": "Веб-push", "components.Settings.webAppUrlTip": "При необходимости направляйте пользователей в веб-приложение на вашем сервере вместо размещённого на plex.tv", "components.Settings.webAppUrl": "URL веб-приложения", - "components.Settings.trustProxy": "Включить поддержку прокси", "components.Settings.toastPlexRefreshSuccess": "Список серверов Plex успешно получен!", "components.Settings.toastPlexRefresh": "Получение списка серверов Plex…", "components.Settings.toastPlexRefreshFailure": "Не удалось получить список серверов Plex.", @@ -814,7 +791,6 @@ "components.Settings.serverRemote": "удалённый", "components.Settings.serverLocal": "локальный", "components.Settings.scan": "Синхронизировать библиотеки", - "components.Settings.regionTip": "Контент фильтруется по доступности в выбранном регионе", "components.Settings.SettingsLogs.logsDescription": "Вы также можете просматривать эти логи напрямую через stdout или в {appDataPath}/logs/overseerr.log.", "components.Settings.SettingsLogs.logs": "Логи", "components.Settings.SettingsLogs.logDetails": "Подробные сведения о логе", @@ -822,12 +798,8 @@ "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "Контент фильтруется по языку оригинала", "components.UserProfile.UserSettings.UserGeneralSettings.languageDefault": "По умолчанию ({language})", "components.UserProfile.UserSettings.UserGeneralSettings.general": "Общее", - "components.Settings.general": "Общее", - "components.Settings.hideAvailable": "Скрывать доступные медиа", "components.Settings.SettingsUsers.userSettingsDescription": "Настройте глобальные параметры и параметры по умолчанию для пользователей.", "components.Settings.email": "Электронная почта", - "components.Settings.csrfProtectionHoverTip": "НЕ включайте этот параметр, если вы не понимаете, что делаете!", - "components.Settings.csrfProtection": "Включить защиту от CSRF", "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "URL-адрес не должен заканчиваться косой чертой", "components.Settings.toastPlexConnectingSuccess": "Соединение с Plex установлено успешно!", "components.Settings.SonarrModal.toastSonarrTestSuccess": "Соединение с Sonarr установлено успешно!", @@ -844,9 +816,8 @@ "components.Settings.RadarrModal.edit4kradarr": "Редактировать 4К сервер Radarr", "components.Settings.RadarrModal.create4kradarr": "Добавить новый 4К сервер Radarr", "components.Settings.SonarrModal.default4kserver": "4К сервер по умолчанию", - "components.Settings.toastApiKeySuccess": "Новый ключ API успешно сгенерирован!", "components.Settings.SettingsJobsCache.editJobSchedule": "Изменить задание", - "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Частота", + "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Новая частота", "components.Settings.SettingsJobsCache.jobScheduleEditSaved": "Задание успешно отредактировано!", "components.Settings.SettingsAbout.runningDevelop": "Вы используете ветку develop проекта Overseerr, которая рекомендуется только для тех, кто вносит вклад в разработку или помогает в тестировании.", "components.Settings.SettingsJobsCache.jobScheduleEditFailed": "Что-то пошло не так при сохранении задания.", diff --git a/src/i18n/locale/sq.json b/src/i18n/locale/sq.json index 0b0a4c436d..0503769171 100644 --- a/src/i18n/locale/sq.json +++ b/src/i18n/locale/sq.json @@ -53,8 +53,6 @@ "components.Discover.TvGenreList.seriesgenres": "Zhanre Seriali", "components.Discover.TvGenreSlider.tvgenres": "Zhanre Seriali", "components.Discover.discover": "Zbulo", - "components.Discover.discovermovies": "Filma Popullorë", - "components.Discover.discovertv": "Seriale Popullore", "components.Discover.popularmovies": "Filma Popullorë", "components.Discover.populartv": "Seriale Popullore", "components.Discover.recentlyAdded": "Shtuar së Fundmi", @@ -177,15 +175,12 @@ "components.Settings.notifications": "Njoftimet", "components.Settings.notificationsettings": "Cilësimet e njoftimit", "components.Settings.notrunning": "Nuk Po Punon", - "components.Settings.originallanguage": "Zbuloni gjuhën", "components.Settings.plexlibraries": "Libraritë e Plex", "components.Settings.scan": "Sinkronizoni Libraritë", "components.Settings.scanning": "Po sinkronizohet…", "components.Settings.serverSecure": "i sigurt", "components.Settings.serverpreset": "Serveri", "components.Settings.serverpresetLoad": "Shtyp butonin për të ngarkuar serverët e disponueshëm", - "components.Settings.toastApiKeyFailure": "Diçka shkoi keq duke gjeneruar një çelës të ri API.", - "components.Settings.toastApiKeySuccess": "Çelësi i ri API u prodhua me sukses!", "components.Settings.toastPlexConnecting": "Duke u përpjekur për t'u lidhur me Plex…", "components.Settings.toastPlexConnectingFailure": "Dështoi lidhja me Plex.", "components.Settings.toastPlexConnectingSuccess": "Lidhja Plex u krijua me sukses!", @@ -285,15 +280,15 @@ "components.RequestModal.QuotaDisplay.notenoughseasonrequests": "Nuk kanë mbetur kërkesa të mjaftueshme për sezonin", "components.RequestModal.QuotaDisplay.quotaLink": "Ju mund të shikoni një përmbledhje të kufizimeve tuaja të kërkesës në faqen tuaj të profilit.", "components.RequestModal.QuotaDisplay.season": "sezon", - "components.RequestModal.SearchByNameModal.notvdbiddescription": "Nuk mund të përputheshim automatikisht me kërkesën tënde. Ju lutem zgjidhni ndeshjen e saktë nga lista më poshtë.", + "components.RequestModal.SearchByNameModal.notvdbiddescription": "Nuk mundëm ta përputhim automatikisht këtë seri. Ju lutemi zgjidhni përputhjen e saktë më poshtë.", "components.RequestModal.alreadyrequested": "E Kërkuar Tashmë", "components.RequestModal.approve": "Mirato Kërkesën", "components.RequestModal.autoapproval": "Aprovim automatik", "components.RequestModal.edit": "Ndrysho kërkesën", "components.RequestModal.errorediting": "Diçka shkoi keq duke modifikuar kërkesën.", "components.RequestModal.numberofepisodes": "# i Episodeve", - "components.RequestModal.pending4krequest": "", - "components.RequestModal.pendingrequest": "Kërkesë në pritje", + "components.RequestModal.pending4krequest": "Kërkesë 4K në pritje", + "components.RequestModal.pendingrequest": "Kërkesë në Pritje", "components.RequestModal.requestApproved": "Kërkesa për {title} u miratua!", "components.RequestModal.requestCancel": "Kërkesa për {title} u anullua.", "components.RequestModal.requestSuccess": "{title} u kërkua me sukses!", @@ -412,7 +407,7 @@ "components.RequestButton.requestmore4k": "Kërko më shumë në 4K", "components.RequestModal.AdvancedRequester.qualityprofile": "Profili i cilësisë", "components.RequestModal.AdvancedRequester.tags": "Etiketat", - "components.RequestCard.mediaerror": "Titulli shoqërues për këtë kërkesë nuk është më në dispozicion.", + "components.RequestCard.mediaerror": "{mediaType} Nuk u gjet", "components.RequestList.RequestItem.editrequest": "Ndrysho kërkesën", "components.RequestModal.AdvancedRequester.rootfolder": "Direktoria", "components.RequestButton.approverequest": "Mirato Kërkesën", @@ -421,7 +416,7 @@ "components.RequestBlock.profilechanged": "Profili i cilësisë", "components.RequestButton.approverequest4k": "Mirato kërkesën 4K", "components.RequestCard.deleterequest": "Fshije Kërkesën", - "components.RequestList.RequestItem.mediaerror": "Titulli shoqërues për këtë kërkesë nuk është më në dispozicion.", + "components.RequestList.RequestItem.mediaerror": "{mediaType} Nuk u gjet", "components.RequestButton.viewrequest": "Shiko Kërkesën", "components.RequestList.RequestItem.deleterequest": "Fshije Kërkesën", "components.RequestList.RequestItem.failedretry": "Diçka shkoi keq duke e riprovuar kërkesën.", @@ -497,7 +492,6 @@ "components.Settings.Notifications.toastDiscordTestSuccess": "Njoftimi i testit të Discord u dërgua!", "components.Settings.Notifications.toastEmailTestFailed": "Njoftimi i testit me email nuk u dërgua.", "components.Settings.Notifications.toastEmailTestSending": "Po dërgohet njoftimi i testit me email…", - "components.Settings.partialRequestsEnabled": "Lejo kërkesat e serive të pjesshme", "components.Settings.startscan": "Nis skanimin", "components.Settings.tautulliApiKey": "Çelësi API", "components.Settings.tautulliSettings": "Cilësimet e Tautulli", @@ -510,13 +504,10 @@ "components.Settings.radarrsettings": "Cilësimet e Radarr", "components.Settings.serverRemote": "në distancë", "components.Settings.sonarrsettings": "Cilësimet e Sonarr", - "components.Settings.originallanguageTip": "Filtro përmbajtjen nga gjuha origjinale", - "components.Settings.regionTip": "Filtro përmbajtjen sipas disponueshmërisë rajonale", "components.Settings.serverLocal": "lokale", "components.Settings.serverpresetRefreshing": "Duke marrë serverat…", "components.Settings.tautulliSettingsDescription": "Konfiguro në mënyrë opsionale rregullimet për serverin tënd Tautulli. Overseerr merr të dhënat e historisë për mediat tuaja Plex nga Tautulli.", "components.Settings.plexsettings": "Cilësimet e Plex", - "components.Settings.region": "Zbuloni rajonin", "components.Settings.serverpresetManualMessage": "Konfigurimi manual", "components.Settings.services": "Shërbime", "components.Settings.toastPlexRefreshFailure": "Gabim gjatë marrjes së listës së serverave Plex.", @@ -597,7 +588,7 @@ "components.Settings.SettingsJobsCache.command": "Komandë", "components.Settings.SettingsJobsCache.download-sync-reset": "Rivendos Sinkronizimin e Shkarkimit", "components.Settings.SettingsJobsCache.editJobSchedule": "Modifiko punën", - "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Frekuenca", + "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Frekuenca e re", "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "Çdo {jobScheduleHours, plural, one {orë} other {{jobScheduleHours} orë}}", "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "Çdo {jobScheduleMinutes, plural, one {minutë} other {{jobScheduleMinutes} minuta}}", "components.Settings.SettingsJobsCache.flushcache": "Pastro Cache", @@ -650,17 +641,10 @@ "components.Settings.settingUpPlexDescription": "Për të vendosur Plex, ju ose mund të vendosni detajet manualisht ose të zgjidhni një server të marrë nga plex.tv. Shtyp butonin në të djathtë të listës për të marrë listën e serverëve në dispozicion.", "components.Settings.ssl": "SSL", "components.Settings.toastPlexRefreshSuccess": "Lista e serverëve Plex u mor me sukses!", - "components.Settings.toastSettingsFailure": "Diçka shkoi keq duke ruajtur cilësimet.", - "components.Settings.toastSettingsSuccess": "Cilësimet u ruajtën me sukses!", "components.Settings.toastTautulliSettingsFailure": "Diçka shkoi keq duke ruajtur cilësimet e Tautullit.", "components.Settings.toastTautulliSettingsSuccess": "Cilësimet e Tautulli u ruajtën me sukses!", - "components.Settings.trustProxy": "Aktivo suportin Proxy", - "components.Settings.trustProxyTip": "Lejo Overseerr të regjistrojë në mënyrë korrekte adresat IP të klientit prapa një proxy", "components.Settings.urlBase": "Baza URL", "components.Settings.validationApiKey": "Duhet të japësh një çelës API", - "components.Settings.validationApplicationTitle": "Duhet të japësh një titull aplikacioni", - "components.Settings.validationApplicationUrl": "Duhet të jepni një URL të vlefshme", - "components.Settings.validationApplicationUrlTrailingSlash": "URL nuk duhet të përfundojë me një slesh", "components.Settings.validationPortRequired": "Duhet të jepni një numër të vlefshëm porte", "components.Settings.validationUrl": "Duhet të jepni një URL të vlefshme", "components.Settings.validationUrlBaseLeadingSlash": "Baza e URL-së duhet të ketë slesh përpara", @@ -948,16 +932,8 @@ "components.Settings.addradarr": "Shto Serverin Radarr", "components.Settings.address": "Adresa", "components.Settings.addsonarr": "Shto Serverin Sonarr", - "components.Settings.apikey": "Çelësi API", - "components.Settings.applicationTitle": "Titulli i aplikacionit", - "components.Settings.applicationurl": "URL e aplikacionit", - "components.Settings.cacheImages": "Aktivizo memorien e imazheve", - "components.Settings.cacheImagesTip": "Optimizo dhe ruaj të gjitha imazhet në vend (konsumon një sasi të konsiderueshme të hapësirës së diskut)", "components.Settings.cancelscan": "Anullo skanimin", "components.Settings.copied": "Çelësi API u kopjua.", - "components.Settings.csrfProtection": "Aktivo mbrojtjen e CSRF", - "components.Settings.csrfProtectionHoverTip": "MOS e aktivizoni këtë cilësim nëse nuk e kuptoni se çfarë po bëni!", - "components.Settings.csrfProtectionTip": "Cakto aksesin e API-së së jashtme vetëm për lexim (kërkon HTTPS)", "components.Settings.currentlibrary": "Libraria aktuale: {name}", "components.Settings.default": "E paracaktuar", "components.Settings.default4k": "E Paracaktuar 4K", @@ -965,14 +941,9 @@ "components.Settings.email": "Email", "components.Settings.enablessl": "Përdorni SSL", "components.Settings.externalUrl": "URL e jashtme", - "components.Settings.general": "Gjeneral", - "components.Settings.generalsettings": "Cilësimet e përgjithshme", - "components.Settings.generalsettingsDescription": "Konfiguro cilësimet globale dhe të paracaktuara për Overseerr.", - "components.Settings.hideAvailable": "Fshih mediat e disponueshme", "components.Settings.hostname": "Emri i hostit ose adresa IP", "components.Settings.is4k": "4K", "components.Settings.librariesRemaining": "Libraritë e mbetura: {count}", - "components.Settings.locale": "Shfaq Gjuhën", "components.Settings.manualscan": "Skanimi manual i Librarisë", "components.Settings.manualscanDescription": "Normalisht, kjo do të bëhet vetëm një herë në 24 orë. Overseerr do të kontrollojë serverin tuaj Plex për media të shtuar kohët e fundit në mënyrë më agresive. Nëse kjo është hera e parë që konfiguroni Plex, këshillohet një skanim manual një herë i plotë i librarisë!", "components.Settings.mediaTypeMovie": "film", @@ -1067,5 +1038,80 @@ "components.RequestBlock.lastmodifiedby": "Ndryshuar së fundi nga", "components.RequestBlock.requestdate": "Data e Kërkesës", "components.RequestBlock.requestedby": "Kërkuar nga", - "components.RequestCard.approverequest": "Mirato Kërkesën" + "components.RequestCard.approverequest": "Mirato Kërkesën", + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Frekuenca Aktuale", + "components.StatusBadge.managemedia": "Menaxho {mediaType}", + "components.StatusBadge.openinarr": "Hape në {arr}", + "components.TvDetails.Season.somethingwentwrong": "Ndodhi një gabim gjatë marrjes së të dhënave të sezonit.", + "components.TvDetails.episodeCount": "{episodeCount, plural, një {# Episode} disa {# Episodes}}", + "components.TvDetails.rtaudiencescore": "Rezultati i audiencës së Rotten Tomatoes", + "components.TvDetails.rtcriticsscore": "Tomatometeri i Rotten Tomatoes", + "components.TvDetails.seasonnumber": "Sezoni {seasonNumber}", + "components.TvDetails.status4k": "4K {status}", + "components.TvDetails.tmdbuserscore": "Nota e përdoruesve TMDB", + "components.Settings.deleteServer": "Fshi serverin {serverType}", + "components.StatusChecker.appUpdated": "{applicationTitle} u Përditësua", + "i18n.restartRequired": "Kërkohet rinisja", + "components.StatusChecker.reloadApp": "Rifresko {applicationTitle}", + "components.StatusChecker.restartRequired": "Kërkohet rinisja e serverit", + "components.RequestList.RequestItem.tmdbid": "ID e TMDB", + "components.StatusChecker.appUpdatedDescription": "Ju lutem klikoni butonin më poshtë për të ringarkuar aplikacionin.", + "components.StatusChecker.restartRequiredDescription": "Rinis serverin për të aplikuar rregullimet e përditësuara.", + "components.TitleCard.cleardata": "Pastro të dhënat", + "components.TitleCard.mediaerror": "{mediaType} Nuk u gjet", + "components.TitleCard.tmdbid": "ID e TMDB", + "components.Settings.SettingsLogs.viewdetails": "Shiko Detajet", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Kërkesa Automatike Serialesh", + "components.TvDetails.reportissue": "Raportoni një problem", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Automatikisht kërko serialet në Listën e Vëzhgimit Plex", + "components.TvDetails.manageseries": "Menaxho Serinë", + "components.Settings.restartrequiredTooltip": "Overseerr duhet të riniset që ndryshimet në këtë cilësim të hyjnë në fuqi", + "components.StatusBadge.playonplex": "Luaje në Plex", + "components.Settings.SettingsJobsCache.plex-watchlist-sync": "Sinkronizimi i listës së vëzhgimit Plex", + "components.Settings.experimentalTooltip": "Aktivizimi i këtij cilësimi mund të rezultojë në sjellje të papritur të aplikacionit", + "components.Settings.advancedTooltip": "Konfigurimi i gabuar i këtij përcaktimi mund të rezultojë në një funksionalitet të prishur", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Automatikisht kërko filmat në Listën e Vëzhgimit Plex", + "components.TitleCard.tvdbid": "ID e TheTVDB", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Kërkesë automatike për filma", + "components.UserProfile.plexwatchlist": "Lista e vëzhgimit Plex", + "components.RequestCard.tmdbid": "ID e TMDB", + "components.RequestCard.tvdbid": "ID e TheTVDB", + "components.RequestList.RequestItem.tvdbid": "ID e TheTVDB", + "components.RequestCard.declinerequest": "Refuzo Kërkesën", + "components.RequestCard.editrequest": "Ndrysho Kërkesën", + "components.TvDetails.seasonstitle": "Sezonet", + "components.RequestModal.SearchByNameModal.nomatches": "Nuk mundëm të gjenim një përputhje për këtë seri.", + "components.RequestCard.cancelrequest": "Anulo Kërkesën", + "components.RequestModal.requestcollection4ktitle": "Kërko Koleksionin në 4K", + "components.RequestModal.requestcollectiontitle": "Kërko Koleksionin", + "components.RequestModal.requestmovie4ktitle": "Kërko Filmin në 4K", + "components.RequestModal.requestmovietitle": "Kërko Filmin", + "components.RequestModal.requestseries4ktitle": "Kërko Serinë në 4K", + "components.RequestModal.requestseriestitle": "Kërko Serialin", + "components.UserProfile.emptywatchlist": "Media të shtuara në Listën e Vëzhgimit Plex do të shfaqen këtu.", + "components.Settings.SettingsJobsCache.image-cache-cleanup": "Pastrimi i Imazheve në Memorien Kashe", + "components.Settings.SettingsJobsCache.imagecache": "Imazhet e Ruajtura", + "components.Settings.SettingsJobsCache.imagecacheDescription": "Kur aktivizohet në cilësime, Overseerr do të ruajë imazhet nga burime të jashtme të konfiguruara përparësisht. Imazhet e ruajtura ndodhet në direktorinë config.You mund ti jeni skedarët në {appDataPath}/cache/images.", + "components.Settings.SettingsJobsCache.imagecachecount": "Imazhet u Ruajtën", + "components.Settings.SettingsJobsCache.imagecachesize": "Madhësia Totale e Ruajtjes", + "components.TvDetails.Season.noepisodes": "Lista e Episodeve është e padisponueshme.", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "Filmat {keywordTitle}", + "components.Discover.DiscoverTvKeyword.keywordSeries": "Serialet {keywordTitle}", + "components.Discover.PlexWatchlistSlider.emptywatchlist": "Media të shtuara në Listën e Plex do shfaqen këtu.", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "Lista e Shikimit Plex", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "Shtuar së fundmi", + "components.Discover.moviegenres": "Zhanret e Filmave", + "components.Discover.networks": "Rrjetet", + "components.Discover.studios": "Studiot", + "components.Discover.tmdbmoviegenre": "Zhanri nga Filmi TMDB", + "components.Discover.tmdbmoviekeyword": "Fjala Kyçe nga Filmi TMDB", + "components.Discover.tmdbnetwork": "Rrjeti TMDB", + "components.Discover.tmdbsearch": "Kerko nga TMDB", + "components.Discover.tmdbstudio": "Studio nga TMDB", + "components.Discover.tmdbtvgenre": "Zhanri nga Serialet TMDB", + "components.Discover.tmdbtvkeyword": "Fjala Kyçe nga Serialet TMDB", + "components.Discover.tvgenres": "Zhanret e Serialeve", + "components.RequestList.RequestItem.unknowntitle": "Titull i Panjohur", + "components.DownloadBlock.formattedTitle": "{title}: Sezoni {seasonNumber} Episodi {episodeNumber}", + "components.RequestCard.unknowntitle": "Titull i Panjohur" } diff --git a/src/i18n/locale/sr.json b/src/i18n/locale/sr.json index d04487c996..d9e06adb40 100644 --- a/src/i18n/locale/sr.json +++ b/src/i18n/locale/sr.json @@ -49,10 +49,6 @@ "components.Setup.configureplex": "Konfiguriši Plex", "components.Settings.validationPortRequired": "Morate dodati važeći broj porta", "components.Settings.validationHostnameRequired": "Morate dodati važeći hostname ili IP adresu", - "components.Settings.toastSettingsSuccess": "Podešavanja sačuvana!", - "components.Settings.toastSettingsFailure": "Nešto nije uredu pri čuvanju podešavanja.", - "components.Settings.toastApiKeySuccess": "Novi API Ključ generisan uspešno!", - "components.Settings.toastApiKeyFailure": "Nešto nije odradjeno kako treba pri generisanju novog API ključa.", "components.Settings.startscan": "Pokreni skeniranje", "components.Settings.ssl": "SSL", "components.Settings.sonarrsettings": "Sonarr podešavanja", @@ -74,16 +70,12 @@ "components.Settings.manualscan": "Ručno skeniranje sadržaja", "components.Settings.librariesRemaining": "Broj sadržaja koji se obradjuje: {count}", "components.Settings.hostname": "Hostname ili IP adresa", - "components.Settings.generalsettingsDescription": "Konfiguriši globalna i uobičajena podešavanja za Overseerr.", - "components.Settings.generalsettings": "Standarna podešavanja", "components.Settings.deleteserverconfirm": "Da li ste sigurni da želite da izbrišete ovaj server?", "components.Settings.default4k": "Podrazumevano 4K", "components.Settings.default": "Podrazumeno", "components.Settings.currentlibrary": "Trenutna biblioteka: {name}", "components.Settings.copied": "Kopiran API ključ.", "components.Settings.cancelscan": "Otkaži skeniranje", - "components.Settings.applicationurl": "URL Aplikacije", - "components.Settings.apikey": "API Ključ", "components.Settings.addsonarr": "Dodaj Sonarr server", "components.Settings.address": "Adresa", "components.Settings.addradarr": "Dodaj Radarr server", @@ -208,8 +200,6 @@ "components.Discover.recentlyAdded": "Nedavno dodato", "components.Discover.populartv": "Popularne serije", "components.Discover.popularmovies": "Popularni filmovi", - "components.Discover.discovertv": "Popularne serije", - "components.Discover.discovermovies": "Popularni filmovi", "pages.errormessagewithcode": "{statusCode} - {error}", "components.StatusBadge.status": "{status}", "components.UserProfile.movierequests": "Zahtev za film", @@ -261,7 +251,6 @@ "components.Settings.SettingsJobsCache.cache": "Keš", "components.Settings.SettingsLogs.filterInfo": "Info", "components.Settings.SonarrModal.tags": "Oznake", - "components.Settings.general": "Opšte", "components.Settings.mediaTypeMovie": "film", "components.UserList.owner": "Vlasnik", "components.UserList.password": "Lozinka", @@ -328,7 +317,6 @@ "components.Settings.Notifications.senderName": "Ime pošiljaoca", "components.DownloadBlock.estimatedtime": "Procenjeno {time}", "components.RequestModal.AdvancedRequester.requestas": "Zahtevaj kao", - "components.Settings.applicationTitle": "Naziv aplikacije", "i18n.retrying": "Ponovni pokušaj…", "components.Discover.MovieGenreSlider.moviegenres": "Žanrovi filmova", "components.Discover.TvGenreSlider.tvgenres": "Žanrovi serija", @@ -337,7 +325,6 @@ "components.RegionSelector.regionDefault": "Svi regioni", "components.Settings.SonarrModal.externalUrl": "Eksterni URL", "components.Discover.DiscoverMovieLanguage.languageMovies": "{language} filmova", - "components.Settings.originallanguage": "Otkrijte jezik", "components.CollectionDetails.numberofmovies": "{count} filmova", "components.RequestList.sortAdded": "Najnoviji", "components.Discover.DiscoverMovieGenre.genreMovies": "{genre} filmovi", @@ -426,7 +413,6 @@ "components.Settings.SettingsJobsCache.cachekeys": "Ukupno ključeva", "components.Settings.SettingsJobsCache.canceljob": "Otkaži posao", "components.Settings.SettingsJobsCache.jobcancelled": "{jobname} je otkazan.", - "components.Settings.region": "Otkrijte region", "components.UserProfile.UserSettings.UserNotificationSettings.discordId": "ID korisnika", "components.UserProfile.UserSettings.UserNotificationSettings.notificationsettings": "Podešavanje notifikacija", "components.UserProfile.UserSettings.UserPasswordChange.confirmpassword": "Potvrdi lozinku", @@ -567,7 +553,6 @@ "components.Settings.SonarrModal.validationApplicationUrl": "Moraš uneti validnu URL adresu", "components.Settings.SonarrModal.validationLanguageProfileRequired": "Moraš izabrati jezički profil", "components.Settings.externalUrl": "Spoljni URL", - "components.Settings.regionTip": "Filtriraj sadržaj po regionalnoj dostupnosti", "components.Settings.tautulliSettings": "Tautulli podešavanja", "components.Settings.tautulliApiKey": "API ključ", "components.Settings.toastTautulliSettingsFailure": "Nešto nije u redu prilikom čuvanja Tautulli podešavanja.", diff --git a/src/i18n/locale/sv.json b/src/i18n/locale/sv.json index b363ea80d1..cd99f35285 100644 --- a/src/i18n/locale/sv.json +++ b/src/i18n/locale/sv.json @@ -6,10 +6,6 @@ "components.Setup.configureplex": "Konfigurera Plex", "components.Settings.validationPortRequired": "Du måste ange ett giltigt port nummer", "components.Settings.validationHostnameRequired": "Du måste ange giltigt värdnamn eller IP-adress", - "components.Settings.toastSettingsSuccess": "Inställningar sparade!", - "components.Settings.toastSettingsFailure": "Något gick fel när inställningarna skulle sparas.", - "components.Settings.toastApiKeySuccess": "Ny API-nyckel skapad!", - "components.Settings.toastApiKeyFailure": "Något gick fel vid skapandet av ny API-nyckel.", "components.Settings.startscan": "Starta scanning", "components.Settings.ssl": "SSL", "components.Settings.sonarrsettings": "Sonarrinställningar", @@ -32,16 +28,12 @@ "components.Settings.manualscan": "Manuell Biblioteksscan", "components.Settings.librariesRemaining": "Kvarvarande Bibliotek: {count}", "components.Settings.hostname": "Värdnamn eller IP-adress", - "components.Settings.generalsettingsDescription": "Konfigurera global- och standardinställningar för Overseerr.", - "components.Settings.generalsettings": "Generella Inställningar", "components.Settings.deleteserverconfirm": "Är du säker på att du vill radera servern?", "components.Settings.default4k": "Standard 4K", "components.Settings.default": "Standard", "components.Settings.currentlibrary": "Nuvarande Bibliotek: {name}", "components.Settings.copied": "API-nyckel kopierad.", "components.Settings.cancelscan": "Avbryt scanning", - "components.Settings.applicationurl": "Applikations-URL", - "components.Settings.apikey": "API-nyckel", "components.Settings.addsonarr": "Lägg till Sonarr Server", "components.Settings.address": "Adress", "components.Settings.addradarr": "Lägg till Radarr Server", @@ -166,8 +158,6 @@ "components.Discover.recentlyAdded": "Nyligen tillagda", "components.Discover.populartv": "Populära TV-serier", "components.Discover.popularmovies": "Populära filmer", - "components.Discover.discovertv": "Populära TV-serier", - "components.Discover.discovermovies": "Populära filmer", "components.TvDetails.anime": "Anime", "components.TvDetails.TvCast.fullseriescast": "Rollista", "components.Setup.welcome": "Välkommen till Overseerr", @@ -294,7 +284,6 @@ "components.NotificationTypeSelector.mediaapproved": "Begäran godkänd", "components.MovieDetails.viewfullcrew": "Visa Filmteam", "components.MovieDetails.MovieCrew.fullcrew": "Filmteam", - "components.Settings.csrfProtection": "Aktivera CSRF-skydd", "components.UserList.userssaved": "Användarbehörigheter sparade!", "components.UserList.bulkedit": "Mass-redigering", "components.PermissionEdit.usersDescription": "Bevilja behörighet att hantera användare. Användare med denna behörighet kan inte ändra användare med eller bevilja administratörsbehörighet.", @@ -313,9 +302,8 @@ "components.PlexLoginButton.signinwithplex": "Logga in", "components.PlexLoginButton.signingin": "Loggar in…", "components.RequestModal.requesterror": "Någonting gick fel vid behandling av din begäran.", - "components.RequestModal.SearchByNameModal.notvdbiddescription": "Vi kunde inte automatiskt matcha din begäran. Var god välj den korrekta matchningen från listan nedanför.", + "components.RequestModal.SearchByNameModal.notvdbiddescription": "Vi kunde inte automatiskt matcha den här serien. Var god välj den korrekta matchningen nedan.", "i18n.experimental": "Experimentell", - "components.Settings.hideAvailable": "Göm Tillgänglig Media", "components.RequestModal.autoapproval": "Automatiskt Godkännande", "i18n.edit": "Redigera", "components.RequestModal.requestedited": "Förfrågan för {title} redigerad!", @@ -393,8 +381,6 @@ "components.Settings.Notifications.NotificationsWebhook.validationWebhookUrl": "Du måste ange en giltig URL", "components.Settings.Notifications.NotificationsSlack.validationWebhookUrl": "Du måste ange en giltig URL", "components.Settings.RadarrModal.validationApplicationUrl": "Du måste ange en giltig URL", - "components.Settings.validationApplicationUrlTrailingSlash": "URL:n får inte avslutas med ett slash", - "components.Settings.validationApplicationUrl": "Du måste ange en giltig URL", "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "URL:n får inte avslutas med ett slash", "components.Settings.SonarrModal.validationApplicationUrl": "Du måste ange en giltig URL", "components.Settings.RadarrModal.validationApplicationUrlTrailingSlash": "URL:n får inte avslutas med ett slash", @@ -402,14 +388,11 @@ "components.PermissionEdit.viewrequests": "Visa Förfrågningar", "components.RequestModal.AdvancedRequester.requestas": "Begär Som", "components.Setup.setup": "Installationsguide", - "components.Settings.validationApplicationTitle": "Du måste ange en applikationstitel", "components.UserList.users": "Användare", - "components.Settings.applicationTitle": "Applikationstitel", "components.Search.search": "Sök", "components.Settings.SettingsJobsCache.process": "Process", "components.Settings.SettingsJobsCache.command": "Kommando", "i18n.advanced": "Avancerad", - "components.Settings.csrfProtectionHoverTip": "Aktivera INTE denna inställning om du inte förstår vad det är du gör!", "components.Settings.SettingsJobsCache.runnow": "Kör Nu", "components.Settings.SettingsJobsCache.nextexecution": "Nästa Körning", "components.Settings.SettingsJobsCache.jobtype": "Typ", @@ -429,8 +412,6 @@ "components.Settings.SettingsJobsCache.cacheflushed": "{cachename} cache rensad.", "components.Settings.SettingsJobsCache.cacheDescription": "Overseerr cachear förfrågningar till externa API-endpoints för att optimera prestanda och att undvika onödiga api-kall.", "components.Settings.SettingsJobsCache.cache": "Cache", - "components.Settings.trustProxyTip": "Tillåt Overseerr att korrekt registrera klienters IP-adresser bakom en proxy", - "components.Settings.trustProxy": "Aktivera Proxy-stöd", "components.TvDetails.playonplex": "Spela upp på Plex", "components.TvDetails.play4konplex": "Spela upp i 4K på Plex", "components.Settings.SonarrModal.syncEnabled": "Aktivera skanning", @@ -452,7 +433,6 @@ "components.Settings.serverpreset": "Server", "components.Settings.serverRemote": "fjärr", "components.Settings.serverLocal": "lokal", - "components.Settings.csrfProtectionTip": "Ställ in extern API-åtkomst till skrivskyddad (kräver HTTPS)", "i18n.loading": "Laddar…", "components.UserProfile.recentrequests": "Senaste förfrågningar", "components.UserProfile.UserSettings.menuPermissions": "Behörigheter", @@ -514,10 +494,6 @@ "components.Settings.webhook": "Webhook", "components.Settings.scanning": "Synkar…", "components.Settings.scan": "Skanna bibliotek", - "components.Settings.regionTip": "Filtrera innehåll efter region tillgänglighet", - "components.Settings.region": "Upptäck region", - "components.Settings.originallanguageTip": "Filtrera innehåll efter originalspråk", - "components.Settings.originallanguage": "Upptäck språk", "components.Settings.notificationAgentSettingsDescription": "Konfigurera och aktivera aviseringsagenter.", "components.Settings.menuUsers": "Användare", "components.Settings.email": "E-post", @@ -528,7 +504,7 @@ "components.Settings.SonarrModal.languageprofile": "Spårkprofil", "components.Settings.SonarrModal.animelanguageprofile": "Anime språkprofil", "components.Settings.SettingsUsers.userSettingsDescription": "Konfigurera globala och standardinställningar för användare.", - "components.Settings.SettingsUsers.userSettings": "Anvädnarinställningar", + "components.Settings.SettingsUsers.userSettings": "Användarinställningar", "components.Settings.SettingsUsers.toastSettingsSuccess": "Användarinställningar sparade!", "components.Settings.SettingsUsers.toastSettingsFailure": "Något gick fel när inställningarna sparades.", "components.Settings.SettingsUsers.localLogin": "Aktivera lokal inloggning", @@ -587,7 +563,6 @@ "components.RequestModal.AdvancedRequester.folder": "{path} ({space})", "components.TvDetails.episodeRuntimeMinutes": "{runtime} minuter", "components.TvDetails.episodeRuntime": "Avsnittets speltid", - "components.Settings.partialRequestsEnabled": "Tillåt begäran av ofullständig serie", "components.Settings.Notifications.pgpPrivateKeyTip": "Signera krypterade e-postmeddelanden med OpenPGP ", "components.Settings.Notifications.pgpPrivateKey": "PGP Privat nyckel", "components.Settings.Notifications.pgpPasswordTip": "Signera krypterade e-postmeddelanden med OpenPGP ", @@ -606,7 +581,6 @@ "components.Settings.services": "Tjänster", "components.Settings.plex": "Plex", "components.Settings.notifications": "Notifieringar", - "components.Settings.general": "Allmäna", "components.Settings.SettingsUsers.users": "Användare", "components.Settings.SettingsLogs.time": "Tidsstämpel", "components.Settings.SettingsLogs.showall": "Visa alla loggar", @@ -624,8 +598,6 @@ "components.Settings.SettingsJobsCache.jobsandcache": "Jobb & Cache", "components.Settings.SettingsAbout.about": "Om", "components.ResetPassword.passwordreset": "Återställning av lösenord", - "components.Settings.cacheImagesTip": "Optimera och lagra alla bilder lokalt (använder en betydande mängd diskutrymme)", - "components.Settings.cacheImages": "Aktivera bild-cachning", "components.Settings.SettingsLogs.logDetails": "Logginformation", "components.Settings.SettingsLogs.extraData": "Ytterligare data", "components.Settings.SettingsLogs.copyToClipboard": "Kopiera till urklipp", @@ -705,9 +677,9 @@ "components.RequestModal.AdvancedRequester.selecttags": "Välj taggar", "components.RequestModal.AdvancedRequester.notagoptions": "Inga taggar.", "components.Settings.RadarrModal.loadingTags": "Laddar taggar…", - "components.RequestList.RequestItem.mediaerror": "Den tillhörande titeln för den här begäran är inte längre tillgänglig.", + "components.RequestList.RequestItem.mediaerror": "{mediaType} Hittades inte", "components.RequestList.RequestItem.deleterequest": "Ta bort begäran", - "components.RequestCard.mediaerror": "Den tillhörande titeln för denna begäran är inte längre tillgänglig.", + "components.RequestCard.mediaerror": "{mediaType} hittades inte", "components.RequestCard.deleterequest": "Ta bort begäran", "components.UserProfile.UserSettings.UserNotificationSettings.discordsettingsfailed": "Notifieringsinställningar för Discord kunde inte sparas.", "components.UserProfile.UserSettings.UserNotificationSettings.validationPgpPublicKey": "Du måste ange en giltig offentlig PGP-nyckel", @@ -797,7 +769,6 @@ "components.PermissionEdit.requestMoviesDescription": "Ge tillåtelse att skicka in förfrågningar om icke-4K-filmer.", "components.PermissionEdit.requestMovies": "Begär filmer", "components.UserProfile.UserSettings.UserGeneralSettings.languageDefault": "Standard ({language})", - "components.Settings.locale": "Visningsspråk", "components.Settings.Notifications.webhookUrlTip": "Skapa en integrering av webbhook på din server", "components.Settings.Notifications.encryptionTip": "I de flesta fall använder Implicit TLS port 465 och STARTTLS använder port 587", "components.Settings.Notifications.encryptionOpportunisticTls": "Använd alltid STARTTLS", @@ -846,7 +817,7 @@ "components.TvDetails.streamingproviders": "Strömmas för närvarande på", "components.MovieDetails.streamingproviders": "Strömmas för närvarande på", "components.Settings.SettingsJobsCache.editJobSchedule": "Ändra jobb", - "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Frekvens", + "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "Ny Frekvens", "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "Varje {jobScheduleHours, plural, one {timme} other {{jobScheduleHours} timmar}}", "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "varje{jobScheduleMinutes, plural, one {minut} other {{jobScheduleMinutes} minuter}}", "components.Settings.SettingsJobsCache.jobScheduleEditFailed": "Något gick fel vid sparning av jobbet.", @@ -1037,5 +1008,91 @@ "components.StatusChecker.appUpdated": "{applicationTitle} Uppdaterad", "components.StatusChecker.appUpdatedDescription": "Klicka på knappen under för att ladda om programmet.", "components.StatusChecker.restartRequired": "Servern behöver startas om", - "components.StatusChecker.restartRequiredDescription": "Starta om servern för att verkställa uppdaterade inställningar." + "components.StatusChecker.restartRequiredDescription": "Starta om servern för att verkställa uppdaterade inställningar.", + "components.MovieDetails.digitalrelease": "Digital utgåva", + "components.MovieDetails.physicalrelease": "Fysisk utgåva", + "components.PermissionEdit.viewrecent": "Se nyligen tillagda", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "Din Plex spellista", + "components.RequestCard.tmdbid": "TMDB ID", + "components.Discover.plexwatchlist": "Din Plex spellista", + "components.Discover.DiscoverWatchlist.watchlist": "Plex spellista", + "components.MovieDetails.reportissue": "Rapportera ett problem", + "components.AirDateBadge.airedrelative": "Sändes {relativeTime}", + "components.AirDateBadge.airsrelative": "Sänds {relativeTime}", + "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "Önskade serier", + "components.RequestCard.approverequest": "Godkänn begäran", + "components.RequestCard.tvdbid": "TheTVDB ID", + "components.RequestBlock.approve": "Godkänn begäran", + "components.RequestBlock.decline": "Neka begäran", + "components.RequestBlock.delete": "Ta bort begäran", + "components.RequestBlock.edit": "Editera begäran", + "components.RequestBlock.lastmodifiedby": "Senast modifierad av", + "components.RequestCard.declinerequest": "Neka begäran", + "components.RequestCard.cancelrequest": "Annullera begäran", + "components.MovieDetails.theatricalrelease": "Teaterutgåva", + "components.PermissionEdit.autorequest": "Automatisk begäran", + "components.MovieDetails.managemovie": "Hantera Film", + "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "Filmbegäran", + "components.MovieDetails.rtaudiencescore": "Rotten Tomatoes publiksiffror", + "components.MovieDetails.rtcriticsscore": "Rotten Tomatoes Tomatometer", + "components.MovieDetails.tmdbuserscore": "TMDB Användarpoäng", + "components.NotificationTypeSelector.mediaautorequested": "Begäran skickas automatiskt", + "components.NotificationTypeSelector.mediaautorequestedDescription": "Få meddelande när nya medieförfrågningar skickas in automatiskt för objekt på din bevakningslista för Plex.", + "components.Discover.emptywatchlist": "Media som lagts till i din Plex Watchlist visas här.", + "components.Layout.UserDropdown.requests": "Begäran", + "components.TvDetails.episodeCount": "{episodeCount, plural, one {# Avsnitt} other {# Avsnitt}}", + "components.TvDetails.seasonstitle": "Säsonger", + "components.Settings.SettingsJobsCache.image-cache-cleanup": "Rensning av bildcache", + "components.Settings.SettingsJobsCache.imagecache": "Bildcache", + "components.Settings.SettingsJobsCache.imagecachecount": "Bilder cachade", + "components.Settings.SettingsJobsCache.imagecachesize": "Total cache-storlek", + "components.Settings.experimentalTooltip": "Om du aktiverar den här inställningen kan det leda till oväntat beteende i programmet", + "components.TitleCard.tmdbid": "TMDB ID", + "components.PermissionEdit.autorequestDescription": "Ge tillstånd att automatiskt skicka in förfrågningar för medier som inte är 4K-medier via Plex Watchlist.", + "components.PermissionEdit.autorequestSeriesDescription": "Ge tillstånd att automatiskt skicka in förfrågningar för icke-4K-serier via Plex Watchlist.", + "components.PermissionEdit.autorequestSeries": "Begär automatiskt serier", + "components.RequestList.RequestItem.tmdbid": "TMDB ID", + "components.RequestList.RequestItem.tvdbid": "TheTVDB ID", + "components.Settings.SettingsJobsCache.plex-watchlist-sync": "Synkronisering av Plex Watchlist", + "components.Settings.advancedTooltip": "Om du konfigurerar den här inställningen felaktigt kan det leda till att funktionerna inte fungerar", + "components.Settings.restartrequiredTooltip": "Overseerr måste startas om för att ändringarna i den här inställningen ska träda i kraft", + "components.TvDetails.reportissue": "Rapportera ett problem", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Begär automatiskt serier", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Begär automatiskt serier på din Plex Watchlist", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "Begär automatiskt filmer på din Plex Watchlist", + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "Nuvarande frekvens", + "components.PermissionEdit.viewrecentDescription": "Ge tillstånd att visa listan över nyligen tillagda medier.", + "components.StatusBadge.managemedia": "Hantera {mediaType}", + "components.StatusBadge.playonplex": "Spela upp på Plex", + "components.TitleCard.tvdbid": "TheTVDB ID", + "components.Settings.SettingsLogs.viewdetails": "Visa detaljer", + "components.Settings.SettingsJobsCache.imagecacheDescription": "När det är aktiverat i inställningarna kommer Overseerr att göra proxy- och cache-bilder från förkonfigurerade externa källor. Cachade bilder sparas i din konfigurationsmapp. Du hittar filerna i {appDataPath}/cache/images.", + "components.TitleCard.cleardata": "Rensa data", + "components.TitleCard.mediaerror": "{mediaType} Hittades inte", + "components.TvDetails.rtcriticsscore": "Rotten Tomatoes Tomatometer", + "components.TvDetails.tmdbuserscore": "TMDB Användarpoäng", + "components.UserProfile.emptywatchlist": "Media som lagts till i din Plex Watchlist visas här.", + "components.UserProfile.plexwatchlist": "Plex Watchlist", + "components.TvDetails.Season.noepisodes": "Episodlistan är inte tillgänglig.", + "components.PermissionEdit.viewwatchlistsDescription": "Ge tillstånd att visa andra användares Plex Watchlists.", + "components.PermissionEdit.autorequestMovies": "Begär automatiskt filmer", + "components.PermissionEdit.autorequestMoviesDescription": "Ge tillstånd att automatiskt skicka in förfrågningar för filmer som inte är 4K-filmer via Plex Watchlist.", + "components.PermissionEdit.viewwatchlists": "Visa Plex Watchlist", + "components.RequestModal.SearchByNameModal.nomatches": "Vi kunde inte hitta någon matchning för denna serie.", + "components.RequestBlock.requestdate": "Datum för begäran", + "components.RequestBlock.requestedby": "Begärt av", + "components.RequestCard.editrequest": "Editera begäran", + "components.RequestModal.requestcollection4ktitle": "Begär samling i 4K", + "components.RequestModal.requestcollectiontitle": "Begär Kollektion", + "components.RequestModal.requestmovie4ktitle": "Begär film i 4K", + "components.RequestModal.requestmovietitle": "Begär film", + "components.RequestModal.requestseries4ktitle": "Begär serien i 4K", + "components.RequestModal.requestseriestitle": "Begär serie", + "components.StatusBadge.openinarr": "Öppna i {arr}", + "components.TvDetails.Season.somethingwentwrong": "Något gick fel när säsongsdata hämtades.", + "components.TvDetails.manageseries": "Hantera Serier", + "components.TvDetails.rtaudiencescore": "Rotten Tomatoes publiksiffror", + "components.TvDetails.seasonnumber": "Säsong {seasonNumber}", + "components.TvDetails.status4k": "4K {status}", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "Begär automatiskt filmer" } diff --git a/src/i18n/locale/zh_Hans.json b/src/i18n/locale/zh_Hans.json index 4232a1f789..57aa815fa3 100644 --- a/src/i18n/locale/zh_Hans.json +++ b/src/i18n/locale/zh_Hans.json @@ -5,8 +5,8 @@ "components.UserList.users": "用户", "components.UserList.userlist": "用户清单", "components.UserList.userfail": "用户权限保存中出了点问题。", - "components.UserList.userdeleteerror": "刪除用户中出了点问题。", - "components.UserList.userdeleted": "用户刪除成功!", + "components.UserList.userdeleteerror": "删除用户中出了点问题。", + "components.UserList.userdeleted": "用户删除成功!", "components.UserList.usercreatedsuccess": "建立新用户成功!", "components.UserList.usercreatedfailedexisting": "你提供的电子邮件地址已由其他用户使用。", "components.UserList.usercreatedfailed": "建立新用户中出了点问题。", @@ -29,14 +29,14 @@ "components.UserList.email": "电子邮件地址", "components.UserList.edituser": "编辑用户权限", "components.UserList.displayName": "显示名称", - "components.UserList.deleteuser": "刪除用户", - "components.UserList.deleteconfirm": "确定要刪除这个用户吗?此用户的所有储存资料将被清除。", + "components.UserList.deleteuser": "删除用户", + "components.UserList.deleteconfirm": "确定要删除这个用户吗?此用户的所有储存资料将被清除。", "components.UserList.creating": "创建中…", "components.UserList.createlocaluser": "建立本地用户", "components.UserList.created": "加入", "components.UserList.create": "建立", "components.UserList.bulkedit": "批量编辑", - "components.UserList.autogeneratepasswordTip": "通過电子邮件发送服务器生成的密码给用户", + "components.UserList.autogeneratepasswordTip": "通过电子邮件发送服务器生成的密码给用户", "components.UserList.autogeneratepassword": "自动生成密码", "components.UserList.admin": "管理员", "components.UserList.accounttype": "类型", @@ -50,19 +50,19 @@ "components.TvDetails.play4konplex": "在 Plex 上观看 4K 版", "components.TvDetails.overviewunavailable": "没有简介。", "components.TvDetails.overview": "简介", - "components.TvDetails.originaltitle": "原始標題", + "components.TvDetails.originaltitle": "原始标题", "components.TvDetails.originallanguage": "原始语言", "components.TvDetails.nextAirDate": "下一次播出日期", "components.TvDetails.network": "电视网", - "components.TvDetails.firstAirDate": "原始播出日期", + "components.TvDetails.firstAirDate": "首次播出日期", "components.TvDetails.episodeRuntimeMinutes": "{runtime} 分钟", - "components.TvDetails.episodeRuntime": "劇集片長", + "components.TvDetails.episodeRuntime": "剧集片长", "components.TvDetails.cast": "演员阵容", "components.TvDetails.anime": "动漫", "components.TvDetails.TvCrew.fullseriescrew": "制作群", "components.TvDetails.TvCast.fullseriescast": "演员阵容", "components.StatusBadge.status4k": "4K 版{status}", - "components.Setup.welcome": "欢迎來到 Overseerr", + "components.Setup.welcome": "欢迎来到 Overseerr", "components.Setup.tip": "提示", "components.Setup.signinMessage": "首先,请使用你的 Plex 账户登入", "components.Setup.setup": "配置", @@ -79,38 +79,27 @@ "components.Settings.webAppUrl": "网络应用网址(URL)", "components.Settings.validationPortRequired": "请输入有效的端口", "components.Settings.validationHostnameRequired": "请输入有效的主机名称或 IP 地址", - "components.Settings.validationApplicationUrlTrailingSlash": "必须刪除結尾斜線", - "components.Settings.validationApplicationUrl": "请输入有效的网址", - "components.Settings.validationApplicationTitle": "请输入应用程序名", - "components.Settings.trustProxyTip": "允许 Overseerr 使用代理正确注册客户端 IP 地址", - "components.Settings.trustProxy": "启用代理服务器所需功能", - "components.Settings.toastSettingsSuccess": "设置保存成功!", - "components.Settings.toastSettingsFailure": "保存设置中出了点问题。", "components.Settings.toastPlexRefreshSuccess": "获取 Plex 服务器列表成功!", "components.Settings.toastPlexRefreshFailure": "获取 Plex 服务器列表失败。", "components.Settings.toastPlexRefresh": "载入中…", "components.Settings.toastPlexConnectingSuccess": "Plex 服务器连线成功!", "components.Settings.toastPlexConnectingFailure": "Plex 服务器连线失败。", "components.Settings.toastPlexConnecting": "连线中…", - "components.Settings.toastApiKeySuccess": "生成新应用程序密钥成功!", - "components.Settings.toastApiKeyFailure": "生成应用程序密钥出了点问题。", "components.Settings.startscan": "执行扫描", "components.Settings.ssl": "SSL", "components.Settings.sonarrsettings": "Sonarr 设置", "components.Settings.settingUpPlexDescription": "你可以手动输入你的 Plex 服务器资料,或从 plex.tv 返回的设置做选择以及自动配置。请点下拉式选单右边的按钮获取服务器列表。", "components.Settings.services": "服务器", - "components.Settings.serviceSettingsDescription": "关于 {serverType} 服务器的设置。{serverType} 服务器数没有最大值限制,但你只能指定兩个服务器为默认(一个非 4K、一个 4K)。", + "components.Settings.serviceSettingsDescription": "关于 {serverType} 服务器的设置。{serverType} 服务器数没有最大值限制,但你只能指定两个服务器为默认(一个非 4K、一个 4K)。", "components.Settings.serverpresetRefreshing": "载入中…", "components.Settings.serverpresetManualMessage": "手动设定", "components.Settings.serverpresetLoad": "请点右边的按钮", "components.Settings.serverpreset": "服务器", "components.Settings.serverSecure": "SSL", - "components.Settings.serverRemote": "遠端", + "components.Settings.serverRemote": "远端", "components.Settings.serverLocal": "本地", "components.Settings.scanning": "同步中…", "components.Settings.scan": "媒体库同步", - "components.Settings.regionTip": "以地区可用性筛选結果", - "components.Settings.region": "探索地区", "components.Settings.radarrsettings": "Radarr 设置", "components.Settings.port": "端口", "components.Settings.plexsettingsDescription": "关于 Plex 服务器的设置。Overseerr 将定时执行媒体库扫描。", @@ -118,15 +107,12 @@ "components.Settings.plexlibrariesDescription": "Overseerr 将扫描的媒体库。", "components.Settings.plexlibraries": "Plex 媒体库", "components.Settings.plex": "Plex", - "components.Settings.partialRequestsEnabled": "允许不完整的电视节目请求", - "components.Settings.originallanguageTip": "以原始语言筛选結果", - "components.Settings.originallanguage": "探索语言", "components.Settings.notrunning": "未运行", "components.Settings.notificationsettings": "通知设置", "components.Settings.notifications": "通知", "components.Settings.notificationAgentSettingsDescription": "设置通知类型和代理服务。", "components.Settings.noDefaultServer": "你必须至少指定一个 {serverType} 服务器为默认,才能处理{mediaType}请求。", - "components.Settings.noDefaultNon4kServer": "如果你只有一台 {serverType} 服务器用于非 4K 和 4K 内容(或者如果你只下载 4k 内容),你的 {serverType} 服务器 不应该被指定为 4K 服务器。", + "components.Settings.noDefaultNon4kServer": "如果你只有一台 {serverType} 服务器用于非 4K 和 4K 内容(或者如果你只下载 4K 内容),你的 {serverType} 服务器不应该被指定为 4K 服务器。", "components.Settings.noDefault4kServer": "你必须指定一个 4K {serverType} 服务器为默认,才能处理 4K 的{mediaType}请求。", "components.Settings.menuUsers": "用户", "components.Settings.menuServices": "服务器", @@ -140,43 +126,30 @@ "components.Settings.mediaTypeMovie": "电影", "components.Settings.manualscanDescription": "在正常情況下,Overseerr 会每24小时扫描你的 Plex 媒体库。最新添加的媒体将更频繁扫描。设置新的 Plex 服务器时,我们建议你执行一次手动扫描!", "components.Settings.manualscan": "媒体库手动扫描", - "components.Settings.locale": "显示语言", - "components.Settings.librariesRemaining": "媒体库剩余数: {count}", + "components.Settings.librariesRemaining": "媒体库剩余数:{count}", "components.Settings.is4k": "4K", "components.Settings.hostname": "主机名称或 IP 地址", - "components.Settings.hideAvailable": "隱藏可观看的电影和电视节目", - "components.Settings.generalsettingsDescription": "Overseerr 的全局和默认设置。", - "components.Settings.generalsettings": "一般设置", - "components.Settings.general": "一般", - "components.Settings.enablessl": "使用安全通訊协议(SSL)", + "components.Settings.enablessl": "使用安全通讯协议(SSL)", "components.Settings.email": "电子邮件", - "components.Settings.deleteserverconfirm": "确定要刪除这个服务器吗?", + "components.Settings.deleteserverconfirm": "确定要删除这个服务器吗?", "components.Settings.default4k": "设置 4K 为默认分辨率", "components.Settings.default": "默认", "components.Settings.currentlibrary": "当前媒体库: {name}", - "components.Settings.csrfProtectionTip": "设置外部访问权限为只读(需要 HTTPS)", - "components.Settings.csrfProtectionHoverTip": "除非你了解此功能,请勿启用它!", - "components.Settings.csrfProtection": "防止跨站请求伪造(CSRF)攻击", "components.Settings.copied": "应用程序密钥已复制到剪贴板。", "components.Settings.cancelscan": "取消扫描", - "components.Settings.cacheImagesTip": "缓存并提供优化的图像(需要大量磁盘空间)", - "components.Settings.cacheImages": "启用图像緩存", - "components.Settings.applicationurl": "应用程序网址(URL)", - "components.Settings.applicationTitle": "应用程序名", - "components.Settings.apikey": "应用程序密钥", "components.Settings.addsonarr": "添加 Sonarr 服务器", "components.Settings.address": "网址", "components.Settings.addradarr": "添加 Radarr 服务器", - "components.Settings.activeProfile": "现行质量设置", + "components.Settings.activeProfile": "当前质量设置", "components.Settings.SonarrModal.validationRootFolderRequired": "必须设置根目录", "components.Settings.SonarrModal.validationProfileRequired": "必须设置质量", "components.Settings.SonarrModal.validationPortRequired": "请输入有效的端口", "components.Settings.SonarrModal.validationNameRequired": "请输入服务器名称", "components.Settings.SonarrModal.validationLanguageProfileRequired": "必须设置语言", "components.Settings.SonarrModal.validationHostnameRequired": "你必须提供有效的主机名或 IP 地址", - "components.Settings.SonarrModal.validationBaseUrlTrailingSlash": "必须刪除結尾斜線", - "components.Settings.SonarrModal.validationBaseUrlLeadingSlash": "必须添加前置斜線", - "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "必须刪除結尾斜線", + "components.Settings.SonarrModal.validationBaseUrlTrailingSlash": "必须删除结尾斜线", + "components.Settings.SonarrModal.validationBaseUrlLeadingSlash": "必须添加前置斜线", + "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "必须删除结尾斜线", "components.Settings.SonarrModal.validationApplicationUrl": "请输入有效的网址", "components.Settings.SonarrModal.validationApiKeyRequired": "请输入应用程序密钥", "components.Settings.SonarrModal.toastSonarrTestSuccess": "Sonarr 服务器连线成功!", @@ -187,7 +160,7 @@ "components.Settings.SonarrModal.testFirstLanguageProfiles": "请先测试连线", "components.Settings.SonarrModal.tags": "标签", "components.Settings.SonarrModal.syncEnabled": "启用扫描", - "components.Settings.SonarrModal.ssl": "使用安全通訊协议(SSL)", + "components.Settings.SonarrModal.ssl": "使用安全通讯协议(SSL)", "components.Settings.SonarrModal.servername": "服务器名称", "components.Settings.SonarrModal.server4k": "4K 服务器", "components.Settings.SonarrModal.selecttags": "设定标签", @@ -202,7 +175,7 @@ "components.PermissionEdit.autoapproveSeries": "电视节目自动批准", "components.PermissionEdit.autoapproveMoviesDescription": "自动批准非 4K 电影请求。", "components.PermissionEdit.autoapproveMovies": "电影自动批准", - "components.PermissionEdit.autoapproveDescription": "自动批准所有非 4K 媒体请求。", + "components.PermissionEdit.autoapproveDescription": "授予自动批准所有非 4K 媒体请求的权限。", "components.PermissionEdit.autoapprove4kSeriesDescription": "自动批准 4K 电视节目请求。", "components.PermissionEdit.autoapprove4kSeries": "4K 电视节目自动批准", "components.PermissionEdit.autoapprove4kMoviesDescription": "自动批准 4K 电影请求。", @@ -212,7 +185,7 @@ "components.PermissionEdit.autoapprove": "自动批准", "components.PermissionEdit.advancedrequestDescription": "授予修改高级媒体请求选项的权限。", "components.PermissionEdit.advancedrequest": "进阶请求", - "components.PermissionEdit.adminDescription": "授予最高权限;旁路所有权限检查。", + "components.PermissionEdit.adminDescription": "授予最高权限,跳过其它所有权限勾选。", "components.PermissionEdit.admin": "管理员", "components.NotificationTypeSelector.usermediarequestedDescription": "当其他用户提交需要管理员批准的请求时得到通知。", "components.NotificationTypeSelector.usermediafailedDescription": "当 Radarr 或 Sonarr 处理请求失败时得到通知。", @@ -225,7 +198,7 @@ "components.NotificationTypeSelector.mediarequested": "请求待批准", "components.NotificationTypeSelector.mediafailedDescription": "当 Radarr 或 Sonarr 处理请求失败时发送通知。", "components.NotificationTypeSelector.mediafailed": "请求处理失败", - "components.NotificationTypeSelector.mediadeclinedDescription": "当请求拒被絕时发送通知。", + "components.NotificationTypeSelector.mediadeclinedDescription": "当请求被拒绝时发送通知。", "components.NotificationTypeSelector.mediadeclined": "请求被拒", "components.NotificationTypeSelector.mediaavailableDescription": "当请求的媒体可观看时发送通知。", "components.NotificationTypeSelector.mediaavailable": "请求可用", @@ -240,17 +213,17 @@ "components.MovieDetails.showmore": "显示更多", "components.MovieDetails.showless": "显示更少", "components.MovieDetails.runtime": "{minutes} 分钟", - "components.MovieDetails.revenue": "收入", + "components.MovieDetails.revenue": "票房", "components.MovieDetails.releasedate": "上映日期", "components.MovieDetails.recommendations": "推荐", "components.MovieDetails.playonplex": "在 Plex 上观看", "components.MovieDetails.play4konplex": "在 Plex 上观看 4K 版", "components.MovieDetails.overviewunavailable": "没有简介。", "components.MovieDetails.overview": "简介", - "components.MovieDetails.originaltitle": "原始標題", + "components.MovieDetails.originaltitle": "原始标题", "components.MovieDetails.originallanguage": "原始语言", - "components.MovieDetails.markavailable": "標记为可观看", - "components.MovieDetails.mark4kavailable": "標记 4K 版为可观看", + "components.MovieDetails.markavailable": "标记为可观看", + "components.MovieDetails.mark4kavailable": "标记 4K 版为可观看", "components.MovieDetails.cast": "演员阵容", "components.MovieDetails.budget": "电影成本", "components.MovieDetails.MovieCrew.fullcrew": "制作群", @@ -269,7 +242,7 @@ "components.Login.email": "电子邮件地址", "components.Layout.VersionStatus.streamstable": "Overseerr 稳定版", "components.Layout.VersionStatus.streamdevelop": "Overseerr 开发版", - "components.Layout.VersionStatus.outofdate": "過时", + "components.Layout.VersionStatus.outofdate": "过时", "components.Layout.VersionStatus.commitsbehind": "落后 {commitsBehind} 次提交", "components.Layout.UserDropdown.signout": "登出", "components.Layout.UserDropdown.settings": "用户设定", @@ -291,8 +264,6 @@ "components.Discover.recentlyAdded": "最新添加", "components.Discover.populartv": "热门电视节目", "components.Discover.popularmovies": "热门电影", - "components.Discover.discovertv": "热门电视节目", - "components.Discover.discovermovies": "热门电影", "components.Discover.discover": "探索", "components.Discover.TvGenreSlider.tvgenres": "电视节目类型", "components.Discover.TvGenreList.seriesgenres": "电视节目类型", @@ -327,13 +298,13 @@ "i18n.testing": "测试中…", "i18n.test": "测试", "i18n.status": "状态", - "i18n.showingresults": "{from}{to} 列(共 {total} 列)", + "i18n.showingresults": "{from}{to} 项(共 {total} 项)", "i18n.settings": "设定", "i18n.saving": "保存中…", "i18n.save": "保存", "i18n.retrying": "重试中…", "i18n.retry": "重试", - "i18n.resultsperpage": "每页显示 {pageSize} 列", + "i18n.resultsperpage": "每页显示 {pageSize} 项", "i18n.requesting": "提交请求中…", "i18n.requested": "已经有请求", "i18n.request4k": "提交 4K 请求", @@ -343,7 +314,7 @@ "i18n.pending": "待处理", "i18n.partiallyavailable": "部分可观看", "i18n.notrequested": "没有请求", - "i18n.noresults": "没有結果。", + "i18n.noresults": "没有结果。", "i18n.next": "下一页", "i18n.movies": "电影", "i18n.movie": "电影", @@ -352,8 +323,8 @@ "i18n.experimental": "实验性", "i18n.edit": "编辑", "i18n.delimitedlist": "{a}、{b}", - "i18n.deleting": "刪除中…", - "i18n.delete": "刪除", + "i18n.deleting": "删除中…", + "i18n.delete": "删除", "i18n.declined": "已拒绝", "i18n.decline": "拒绝", "i18n.close": "关闭", @@ -385,7 +356,7 @@ "components.UserProfile.UserSettings.UserPermissions.permissions": "权限设置", "components.UserProfile.UserSettings.UserPasswordChange.validationNewPasswordLength": "密码必须至少包含八个字符", "components.UserProfile.UserSettings.UserPasswordChange.validationNewPassword": "请输入新密码", - "components.UserProfile.UserSettings.UserPasswordChange.validationCurrentPassword": "请输入当前的密码", + "components.UserProfile.UserSettings.UserPasswordChange.validationCurrentPassword": "请输入当前密码", "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPasswordSame": "密码必须匹配", "components.UserProfile.UserSettings.UserPasswordChange.validationConfirmPassword": "密码必须匹配", "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsSuccess": "密码设置成功!", @@ -396,7 +367,7 @@ "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSetOwnAccount": "你的帐户目前没有设置密码。在下方配置密码,使你能够作为“本地用户”登录。", "components.UserProfile.UserSettings.UserPasswordChange.noPasswordSet": "此用户帐户目前没有设置密码。在下方配置密码,使该帐户能够作为“本地用户”登录。", "components.UserProfile.UserSettings.UserPasswordChange.newpassword": "新密码", - "components.UserProfile.UserSettings.UserPasswordChange.currentpassword": "当前的密码", + "components.UserProfile.UserSettings.UserPasswordChange.currentpassword": "当前密码", "components.UserProfile.UserSettings.UserPasswordChange.confirmpassword": "确认密码", "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingssaved": "网络推送知设置保存成功!", "components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingsfailed": "网络推送知设置保存失败。", @@ -426,11 +397,11 @@ "components.UserProfile.UserSettings.UserGeneralSettings.toastSettingsFailure": "保存设置中出了点问题。", "components.UserProfile.UserSettings.UserGeneralSettings.seriesrequestlimit": "电视节目请求限制", "components.UserProfile.UserSettings.UserGeneralSettings.role": "角色", - "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "以地区可用性筛选結果", + "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "以地区可用性筛选结果", "components.UserProfile.UserSettings.UserGeneralSettings.region": "探索地区", "components.UserProfile.UserSettings.UserGeneralSettings.plexuser": "Plex 用户", "components.UserProfile.UserSettings.UserGeneralSettings.owner": "所有者", - "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "以原始语言筛选結果", + "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "以原始语言筛选结果", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "探索语言", "components.UserProfile.UserSettings.UserGeneralSettings.movierequestlimit": "电影请求限制", "components.UserProfile.UserSettings.UserGeneralSettings.localuser": "本地用户", @@ -474,7 +445,7 @@ "components.Settings.SettingsUsers.tvRequestLimitLabel": "电视节目请求全局限制", "components.Settings.SettingsUsers.toastSettingsSuccess": "用户设置保存成功!", "components.Settings.SettingsUsers.toastSettingsFailure": "保存设置中出了点问题。", - "components.Settings.SettingsUsers.newPlexLoginTip": "让还没导入的 Plex 用户登录", + "components.Settings.SettingsUsers.newPlexLoginTip": "允许 Plex 用户在未被导入的情况下登录", "components.Settings.SettingsUsers.newPlexLogin": "允许新的 Plex 登录", "components.Settings.SettingsUsers.movieRequestLimitLabel": "电影请求全局限制", "components.Settings.SettingsUsers.localLoginTip": "让用户使用电子邮件地址和密码登录", @@ -484,12 +455,12 @@ "components.Settings.SettingsLogs.time": "时间戳", "components.Settings.SettingsLogs.showall": "查看所有日志", "components.Settings.SettingsLogs.resumeLogs": "恢复", - "components.Settings.SettingsLogs.pauseLogs": "暫停", + "components.Settings.SettingsLogs.pauseLogs": "暂停", "components.Settings.SettingsLogs.message": "消息", "components.Settings.SettingsLogs.logsDescription": "你也可以直接查看这些日志,方法是借助 stdout, 或者打开 {appDataPath}/logs/overseerr.log。", "components.Settings.SettingsLogs.logs": "日志", - "components.Settings.SettingsLogs.logDetails": "日志详細信息", - "components.Settings.SettingsLogs.level": "等級", + "components.Settings.SettingsLogs.logDetails": "日志详细信息", + "components.Settings.SettingsLogs.level": "等级", "components.Settings.SettingsLogs.label": "标签", "components.Settings.SettingsLogs.filterWarn": "警告", "components.Settings.SettingsLogs.filterInfo": "消息", @@ -509,7 +480,7 @@ "components.Settings.SettingsJobsCache.jobtype": "作业类型", "components.Settings.SettingsJobsCache.jobstarted": "{jobname} 已开始运行。", "components.Settings.SettingsJobsCache.jobsandcache": "作业和缓存", - "components.Settings.SettingsJobsCache.jobsDescription": "Overseerr 将定时运行以下的維護任務。手动执行工作不会影响它正常的时间表。", + "components.Settings.SettingsJobsCache.jobsDescription": "Overseerr 将定时运行以下的维护任務。手动执行工作不会影响它正常的时间表。", "components.Settings.SettingsJobsCache.jobs": "作业", "components.Settings.SettingsJobsCache.jobname": "作业名", "components.Settings.SettingsJobsCache.jobcancelled": "{jobname}已被取消。", @@ -525,7 +496,7 @@ "components.Settings.SettingsJobsCache.cachekeys": "键数", "components.Settings.SettingsJobsCache.cachehits": "击中数", "components.Settings.SettingsJobsCache.cacheflushed": "{cachename} 缓存已清除。", - "components.Settings.SettingsJobsCache.cacheDescription": "外部应用程序介面(external API)请求将存到缓存,以減少 API 呼叫次数。", + "components.Settings.SettingsJobsCache.cacheDescription": "对外部应用程序 API 端点的请求将存到缓存,以优化性能并減少不必要的 API 调用。", "components.Settings.SettingsJobsCache.cache": "缓存", "components.Settings.SettingsAbout.version": "软件版本", "components.Settings.SettingsAbout.uptodate": "最新", @@ -535,19 +506,19 @@ "components.Settings.SettingsAbout.supportoverseerr": "支持 Overseerr", "components.Settings.SettingsAbout.preferredmethod": "首选", "components.Settings.SettingsAbout.overseerrinformation": "关于 Overseerr", - "components.Settings.SettingsAbout.outofdate": "過时", + "components.Settings.SettingsAbout.outofdate": "过时", "components.Settings.SettingsAbout.helppaycoffee": "请开发者喝咖啡", "components.Settings.SettingsAbout.githubdiscussions": "GitHub 讨论区", - "components.Settings.SettingsAbout.gettingsupport": "支援", + "components.Settings.SettingsAbout.gettingsupport": "帮助", "components.Settings.SettingsAbout.documentation": "文档", - "components.Settings.SettingsAbout.betawarning": "这是测试版软件,所以可能会不稳定或被破坏。请向 GitHub 报告问题!", + "components.Settings.SettingsAbout.betawarning": "这是测试版软件,有些功能可能损坏或不稳定。请在 GitHub 报告问题!", "components.Settings.SettingsAbout.about": "关于 Overseerr", "components.Settings.SettingsAbout.Releases.viewongithub": "在 GitHub 上查看", "components.Settings.SettingsAbout.Releases.viewchangelog": "查看变更日志", "components.Settings.SettingsAbout.Releases.versionChangelog": "{version} 更新日志", "components.Settings.SettingsAbout.Releases.releases": "软件版本", "components.Settings.SettingsAbout.Releases.releasedataMissing": "软件发行数据当前不可用。", - "components.Settings.SettingsAbout.Releases.latestversion": "最新软件版本", + "components.Settings.SettingsAbout.Releases.latestversion": "最新版本", "components.Settings.SettingsAbout.Releases.currentversion": "当前版本", "components.Settings.RadarrModal.validationRootFolderRequired": "必须设置根目录", "components.Settings.RadarrModal.validationProfileRequired": "必须设置质量", @@ -557,7 +528,7 @@ "components.Settings.RadarrModal.validationHostnameRequired": "你必须提供有效的主机名或 IP 地址", "components.Settings.RadarrModal.validationBaseUrlTrailingSlash": "URL base 不能以尾部斜杠结束", "components.Settings.RadarrModal.validationBaseUrlLeadingSlash": "URL base 必须有前置斜杠", - "components.Settings.RadarrModal.validationApplicationUrlTrailingSlash": "必须刪除結尾斜線", + "components.Settings.RadarrModal.validationApplicationUrlTrailingSlash": "必须删除结尾斜线", "components.Settings.RadarrModal.validationApplicationUrl": "请输入有效的网址", "components.Settings.RadarrModal.validationApiKeyRequired": "请输入应用程序密钥", "components.Settings.RadarrModal.toastRadarrTestSuccess": "Radarr 服务器连线成功!", @@ -567,7 +538,7 @@ "components.Settings.RadarrModal.testFirstQualityProfiles": "请先测试连线", "components.Settings.RadarrModal.tags": "标签", "components.Settings.RadarrModal.syncEnabled": "启用扫描", - "components.Settings.RadarrModal.ssl": "使用安全通訊协议(SSL)", + "components.Settings.RadarrModal.ssl": "使用安全通讯协议(SSL)", "components.Settings.RadarrModal.servername": "服务器名称", "components.Settings.RadarrModal.server4k": "4K 服务器", "components.Settings.RadarrModal.selecttags": "设定标签", @@ -626,14 +597,14 @@ "components.Settings.Notifications.pgpPasswordTip": "使用 OpenPGP 电子邮件加密与签章", "components.Settings.Notifications.pgpPassword": "PGP 解密密码", "components.Settings.Notifications.encryptionTip": "TLS 通常会使用端口 465,而 STARTTLS 通常会使用端口 587", - "components.Settings.Notifications.NotificationsWebhook.authheader": "Authorization 頭欄位", + "components.Settings.Notifications.NotificationsWebhook.authheader": "Authorization 请求标头", "components.Settings.Notifications.NotificationsWebhook.agentenabled": "启用通知", "components.Settings.Notifications.NotificationsWebPush.webpushsettingssaved": "网络推送通知设置保存成功!", "components.Settings.Notifications.NotificationsWebPush.webpushsettingsfailed": "网络推送通知设置保存失败。", "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSuccess": "网络推送测试通知已发送!", "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSending": "发送网络推送测试通知中…", "components.Settings.Notifications.NotificationsWebPush.toastWebPushTestFailed": "网络推送测试通知发送失败。", - "components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Overseerr 必须通過 HTTPS 投放才能使用网络推送通知。", + "components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Overseerr 必须通过 HTTPS 投放才能使用网络推送通知。", "components.Settings.Notifications.NotificationsWebPush.agentenabled": "启用通知", "components.Settings.Notifications.NotificationsSlack.webhookUrlTip": "创建一个 incoming webhook 集成", "components.Settings.Notifications.NotificationsSlack.webhookUrl": "网络钩子网址(URL)", @@ -648,7 +619,7 @@ "components.Settings.Notifications.NotificationsPushover.validationUserTokenRequired": "请输入有效的用户或群组令牌", "components.Settings.Notifications.NotificationsPushover.validationTypes": "请选择通知类型", "components.Settings.Notifications.NotificationsPushover.validationAccessTokenRequired": "请输入应用程序 API 令牌", - "components.Settings.Notifications.NotificationsPushover.userTokenTip": "你的 30 个字符的用户或群组標識符", + "components.Settings.Notifications.NotificationsPushover.userTokenTip": "你的 30 个字符的用户或群组标识符", "components.Settings.Notifications.NotificationsPushover.userToken": "用户或群组令牌", "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSuccess": "Pushover 测试通知已发送!", "components.Settings.Notifications.NotificationsPushover.toastPushoverTestSending": "发送 Pushover 测试通知中…", @@ -668,7 +639,7 @@ "components.Settings.Notifications.NotificationsPushbullet.agentEnabled": "启用通知", "components.Settings.Notifications.NotificationsPushbullet.accessTokenTip": "从你的账户设定取得 API 令牌", "components.Settings.Notifications.NotificationsPushbullet.accessToken": "API 令牌", - "components.Settings.Notifications.NotificationsLunaSea.webhookUrlTip": "用户或设備通知的网络钩子网址", + "components.Settings.Notifications.NotificationsLunaSea.webhookUrlTip": "用户或设备通知的网络钩子网址", "components.Settings.Notifications.NotificationsLunaSea.webhookUrl": "网络钩子网址(URL)", "components.Settings.Notifications.NotificationsLunaSea.validationWebhookUrl": "请输入有效的网址", "components.Settings.Notifications.NotificationsLunaSea.validationTypes": "请选择通知类型", @@ -677,10 +648,10 @@ "components.Settings.Notifications.NotificationsLunaSea.toastLunaSeaTestFailed": "LunaSea 测试通知发送失败。", "components.Settings.Notifications.NotificationsLunaSea.settingsSaved": "LunaSea 通知设置保存成功!", "components.Settings.Notifications.NotificationsLunaSea.settingsFailed": "LunaSea 通知设置保存失败。", - "components.Settings.Notifications.NotificationsLunaSea.profileNameTip": "不使用 default 默认设定档才必须输入", + "components.Settings.Notifications.NotificationsLunaSea.profileNameTip": "仅在不使用 default 默认设定档时才须输入", "components.Settings.Notifications.NotificationsLunaSea.profileName": "设定档名", "components.Settings.Notifications.NotificationsLunaSea.agentenabled": "启用通知", - "components.Search.searchresults": "搜索結果", + "components.Search.searchresults": "搜索结果", "components.Search.search": "搜索", "components.ResetPassword.validationpasswordrequired": "请输入密码", "components.ResetPassword.validationpasswordminchars": "密码必须至少包含八个字符", @@ -688,7 +659,7 @@ "components.ResetPassword.validationemailrequired": "请输入有效的电子邮件地址", "components.ResetPassword.resetpasswordsuccessmessage": "密码重设成功!", "components.ResetPassword.resetpassword": "重设密码", - "components.ResetPassword.requestresetlinksuccessmessage": "通過电子邮件发送了密码重设鏈接。", + "components.ResetPassword.requestresetlinksuccessmessage": "通过电子邮件发送了密码重设链接。", "components.ResetPassword.passwordreset": "密码重设", "components.ResetPassword.password": "密码", "components.ResetPassword.gobacklogin": "返回", @@ -716,7 +687,7 @@ "components.RequestModal.cancel": "取消请求", "components.RequestModal.autoapproval": "自动批准", "components.RequestModal.alreadyrequested": "已经有请求", - "components.RequestModal.SearchByNameModal.notvdbiddescription": "我们无法自动匹配这个连续剧。请选择下方正确的匹配。", + "components.RequestModal.SearchByNameModal.notvdbiddescription": "我们无法自动匹配这个电视节目。请选择下方正确的匹配。", "components.RequestModal.QuotaDisplay.seasonlimit": "个季数", "components.RequestModal.QuotaDisplay.season": "电视节目季数", "components.RequestModal.QuotaDisplay.requiredquotaUser": "此用户的电视节目请求数量必须至少剩余 {seasons} 个季数才能为此节目提交请求。", @@ -737,7 +708,7 @@ "components.RequestModal.AdvancedRequester.notagoptions": "没有标签。", "components.RequestModal.AdvancedRequester.languageprofile": "语言设置", "components.RequestModal.AdvancedRequester.folder": "{path}({space})", - "components.RequestModal.AdvancedRequester.destinationserver": "目標服务器", + "components.RequestModal.AdvancedRequester.destinationserver": "目标服务器", "components.RequestModal.AdvancedRequester.default": "{name}(默认)", "components.RequestModal.AdvancedRequester.animenote": "*这是个动漫节目。", "components.RequestModal.AdvancedRequester.advancedoptions": "进阶选项", @@ -753,12 +724,12 @@ "components.RequestList.RequestItem.mediaerror": "未找到{mediaType}", "components.RequestList.RequestItem.failedretry": "重试提交请求中出了点问题。", "components.RequestList.RequestItem.editrequest": "编辑请求", - "components.RequestList.RequestItem.deleterequest": "刪除请求", + "components.RequestList.RequestItem.deleterequest": "删除请求", "components.RequestList.RequestItem.cancelRequest": "取消请求", "components.RequestCard.seasons": "季数", "components.RequestCard.mediaerror": "未找到{mediaType}", "components.RequestCard.failedretry": "重试提交请求中出了点问题。", - "components.RequestCard.deleterequest": "刪除请求", + "components.RequestCard.deleterequest": "删除请求", "components.RequestButton.viewrequest4k": "查看 4K 请求", "components.RequestButton.viewrequest": "查看请求", "components.RequestButton.requestmore4k": "再提交 4K 请求", @@ -771,7 +742,7 @@ "components.RequestButton.approverequest4k": "批准 4K 请求", "components.RequestButton.approverequest": "批准请求", "components.RequestButton.approve4krequests": "批准{requestCount, plural, one { 4K 请求} other { {requestCount} 个 4K 请求}}", - "components.RequestBlock.server": "目標服务器", + "components.RequestBlock.server": "目标服务器", "components.RequestBlock.seasons": "季数", "components.RequestBlock.rootfolder": "根目录", "components.RequestBlock.requestoverrides": "覆盖请求", @@ -789,11 +760,11 @@ "components.PersonDetails.lifespan": "{birthdate}-{deathdate}", "components.PersonDetails.crewmember": "制作群成员", "components.PersonDetails.birthdate": "{birthdate}-", - "components.PersonDetails.appearsin": "演出", - "components.PersonDetails.alsoknownas": "別名:{names}", + "components.PersonDetails.appearsin": "参演", + "components.PersonDetails.alsoknownas": "别名:{names}", "components.PermissionEdit.viewrequestsDescription": "授予查看其他用户提交的媒体请求的权限。", "components.PermissionEdit.viewrequests": "查看请求", - "components.PermissionEdit.usersDescription": "授予管理用户的权限。 拥有此权限的用户无法修改具有管理员权限的用户或授予管理员权限。", + "components.PermissionEdit.usersDescription": "授予管理用户的权限。拥有此权限的用户无法修改具有管理员权限的用户或授予管理员权限。", "components.PermissionEdit.users": "用户管理", "components.PermissionEdit.requestTvDescription": "授予提交非 4K 电视剧请求的权限。", "components.PermissionEdit.requestTv": "提交电视节目请求", @@ -807,18 +778,18 @@ "components.PermissionEdit.request4kDescription": "授予提交 4K 媒体请求的权限。", "components.PermissionEdit.request4k": "提交 4K 请求", "components.PermissionEdit.request": "提交请求", - "components.PermissionEdit.managerequestsDescription": "授予管理媒体请求的权限。 拥有此权限的用户提出的所有请求都将被自动批准。", + "components.PermissionEdit.managerequestsDescription": "授予管理媒体请求的权限。拥有此权限的用户提出的所有请求都将被自动批准。", "components.PermissionEdit.managerequests": "请求管理", "components.Settings.Notifications.emailsettingssaved": "电子邮件通知设置保存成功!", "components.Settings.Notifications.emailsettingsfailed": "电子邮件通知设置保存失败。", "components.Settings.Notifications.emailsender": "发件人电子邮件地址", "components.Settings.Notifications.discordsettingssaved": "Discord 通知设置保存成功!", "components.Settings.Notifications.discordsettingsfailed": "Discord 通知设置保存失败。", - "components.Settings.Notifications.chatIdTip": "先与你的机器人建立一个聊天室以及把 @get_id_bot 也加到聊天室,然后在聊天室里发出 /my_id 命令", + "components.Settings.Notifications.chatIdTip": "先与你的机器人建立一个聊天室,并将 @get_id_bot 也加到聊天室,然后在聊天室里发出 /my_id 命令", "components.Settings.Notifications.chatId": "聊天室 ID", "components.Settings.Notifications.botUsernameTip": "允许用户也把机器人加到自己的聊天室以及设定自己的通知", "components.Settings.Notifications.botUsername": "Bot 机器人名", - "components.Settings.Notifications.botAvatarUrl": "Bot 机器人頭像网址(URL)", + "components.Settings.Notifications.botAvatarUrl": "Bot 机器人头像网址(URL)", "components.Settings.Notifications.botApiTip": "建立一个 Overseerr 专用的机器人", "components.Settings.Notifications.botAPI": "Bot 机器人授权令牌", "components.Settings.Notifications.authUser": "SMTP 用户", @@ -834,14 +805,14 @@ "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestSuccess": "网络钩子测试通知已发送!", "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestSending": "发送网络钩子测试通知中…", "components.Settings.Notifications.NotificationsWebhook.toastWebhookTestFailed": "网络钩子测试通知发送失败。", - "components.Settings.Notifications.NotificationsWebhook.templatevariablehelp": "幫助", + "components.Settings.Notifications.NotificationsWebhook.templatevariablehelp": "帮助", "components.Settings.Notifications.NotificationsWebhook.resetPayloadSuccess": "JSON 有效负载重设为默认负载成功!", "components.Settings.Notifications.NotificationsWebhook.resetPayload": "重置为默认", "components.Settings.Notifications.NotificationsWebhook.customJson": "JSON 有效负载", "components.Settings.Notifications.encryptionOpportunisticTls": "始終使用 STARTTLS", "components.Settings.Notifications.encryptionNone": "不使用加密", "components.Settings.Notifications.encryptionImplicitTls": "使用传输层安全标准(TLS)", - "components.Settings.Notifications.encryptionDefault": "盡可能使用 STARTTLS", + "components.Settings.Notifications.encryptionDefault": "尽可能使用 STARTTLS", "components.Settings.Notifications.encryption": "加密方式", "components.StatusBadge.status": "{status}", "components.IssueDetails.IssueComment.areyousuredelete": "你确定删除此条评论吗?", @@ -850,68 +821,68 @@ "components.IssueDetails.IssueComment.postedby": "由 {username} 发布于 {relativeTime}", "components.IssueDetails.IssueComment.postedbyedited": "由 {username} 发布于 {relativeTime}(已编辑)", "components.IssueDetails.IssueComment.validationComment": "你必须输入一条消息", - "components.IssueDetails.IssueDescription.deleteissue": "删除 Issue", + "components.IssueDetails.IssueDescription.deleteissue": "删除问题", "components.IssueDetails.allseasons": "所有季数", "components.IssueDetails.nocomments": "没有评论。", - "components.IssueDetails.openedby": "#{issueId} 由 {username} 打开于 {relativeTime}", - "components.IssueDetails.toaststatusupdatefailed": "更新 issue 状态时出错。", + "components.IssueDetails.openedby": "#{issueId} 由 {username} 报告于 {relativeTime}", + "components.IssueDetails.toaststatusupdatefailed": "更新问题状态时出错。", "components.IssueDetails.unknownissuetype": "未知", "components.IssueDetails.IssueDescription.description": "描述", "components.IssueDetails.IssueDescription.edit": "编辑描述", - "components.IssueDetails.closeissue": "关闭 Issue", + "components.IssueDetails.closeissue": "关闭问题", "components.IssueDetails.closeissueandcomment": "评论后关闭", "components.IssueDetails.comments": "评论", - "components.IssueDetails.deleteissueconfirm": "你是否确实要删除此 issue?", + "components.IssueDetails.deleteissueconfirm": "确定要删除这个问题吗?", "components.IssueDetails.episode": "第 {episodeNumber} 集", "components.IssueDetails.issuepagetitle": "问题", "components.IssueDetails.lastupdated": "最后更新时间", "components.IssueDetails.leavecomment": "评论", "components.IssueDetails.openinarr": "在 {arr} 中打开", "components.IssueDetails.problemseason": "有问题的季数", - "components.IssueDetails.toasteditdescriptionfailed": "编辑 issue 描述时出错。", - "components.IssueDetails.toastissuedeletefailed": "删除 issue 时出错。", - "components.IssueDetails.play4konplex": "在 Plex 中播放 4K", + "components.IssueDetails.toasteditdescriptionfailed": "编辑问题描述时出错。", + "components.IssueDetails.toastissuedeletefailed": "删除问题时出错。", + "components.IssueDetails.play4konplex": "在 Plex 上播放 4K 版", "components.IssueDetails.openin4karr": "在 4K {arr} 中打开", "components.IssueDetails.playonplex": "在 Plex 上播放", "components.IssueDetails.problemepisode": "有问题的集数", - "components.IssueDetails.toasteditdescriptionsuccess": "Issue 描述编辑成功!", - "components.IssueDetails.toaststatusupdated": "Issue 状态更新成功!", - "components.IssueDetails.reopenissue": "重新打开 Issue", + "components.IssueDetails.toasteditdescriptionsuccess": "问题描述编辑成功!", + "components.IssueDetails.toaststatusupdated": "问题状态更新成功!", + "components.IssueDetails.reopenissue": "重新开启问题", "components.IssueDetails.allepisodes": "所有剧集", "components.IssueDetails.issuetype": "类型", - "components.IssueDetails.deleteissue": "删除 Issue", - "components.IssueDetails.reopenissueandcomment": "评论后重新打开", + "components.IssueDetails.deleteissue": "删除问题", + "components.IssueDetails.reopenissueandcomment": "评论后重新开启", "components.IssueDetails.season": "第 {seasonNumber} 季", - "components.IssueDetails.toastissuedeleted": "Issue 删除成功!", + "components.IssueDetails.toastissuedeleted": "问题删除成功!", "components.IssueModal.CreateIssueModal.episode": "第 {episodeNumber} 集", "components.IssueDetails.commentplaceholder": "添加评论…", "components.IssueList.IssueItem.issuestatus": "状态", "components.IssueList.IssueItem.issuetype": "类型", - "components.IssueList.IssueItem.openeduserdate": "{date} by {user}", + "components.IssueList.IssueItem.openeduserdate": "{user}({date})", "components.IssueList.IssueItem.problemepisode": "受影响的剧集", "components.IssueList.IssueItem.episodes": "集数", - "components.IssueList.IssueItem.opened": "打开", + "components.IssueList.IssueItem.opened": "报告者", "components.Settings.Notifications.NotificationsGotify.agentenabled": "开启通知", - "components.Settings.Notifications.NotificationsGotify.gotifysettingsfailed": "Gotify通知设置保存失败。", - "components.Settings.Notifications.NotificationsGotify.gotifysettingssaved": "Gotify通知设置保存成功!", + "components.Settings.Notifications.NotificationsGotify.gotifysettingsfailed": "Gotify 通知设置保存失败。", + "components.Settings.Notifications.NotificationsGotify.gotifysettingssaved": "Gotify 通知设置保存成功!", "components.Settings.Notifications.NotificationsGotify.toastGotifyTestFailed": "Gotify 测试通知发送失败。", - "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSending": "Gotify测试通知发送中…", + "components.Settings.Notifications.NotificationsGotify.toastGotifyTestSending": "Gotify 测试通知发送中…", "components.Settings.Notifications.enableMentions": "允许提及", "components.Settings.SettingsJobsCache.editJobScheduleSelectorMinutes": "每 {jobScheduleMinutes} 分钟", "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationToken": "应用 API 令牌", - "components.UserList.newplexsigninenabled": "允许新的 Plex 用户登录 设置目前已启用。还没有导入的Plex用户也能登录。", + "components.UserList.newplexsigninenabled": "允许新的 Plex 用户登录 设置目前已启用。还没有导入的 Plex 用户也能登录。", "components.UserProfile.UserSettings.UserNotificationSettings.pushoversettingsfailed": "Pushover 通知设置保存失败。", "components.NotificationTypeSelector.issuecomment": "问题评论", - "components.MovieDetails.streamingproviders": "当前可播放", + "components.MovieDetails.streamingproviders": "当前可串流", "components.Settings.RadarrModal.inCinemas": "已上映", "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessTokenTip": "从您的账号设置获取API令牌", "components.Settings.SettingsAbout.appDataPath": "数据目录", "components.Settings.SettingsJobsCache.editJobScheduleSelectorHours": "每 {jobScheduleHours} 小时", "components.Settings.tautulliSettings": "Tautulli 设置", "components.Settings.tautulliSettingsDescription": "关于 Tautulli 服务器的设置。Overseerr 会从 Tautulli 获取 Plex 媒体的观看历史记录。", - "components.UserProfile.UserSettings.UserGeneralSettings.discordId": "Discord 用户ID", + "components.UserProfile.UserSettings.UserGeneralSettings.discordId": "Discord 用户 ID", "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingsfailed": "Pushbullet 通知设置保存失败。", - "components.UserProfile.UserSettings.UserGeneralSettings.discordIdTip": "您的Discord 用户 ID ", + "components.UserProfile.UserSettings.UserGeneralSettings.discordIdTip": "您的 Discord 用户 ID", "components.IssueList.IssueItem.unknownissuetype": "未知", "components.IssueList.IssueItem.viewissue": "查看问题", "components.IssueList.issues": "问题", @@ -936,15 +907,15 @@ "components.NotificationTypeSelector.issuereopenedDescription": "当问题重新开启时发送通知。", "components.PermissionEdit.createissuesDescription": "授予报告媒体问题的权限。", "components.PermissionEdit.manageissuesDescription": "授予管理媒体问题的权限。", - "components.RequestModal.requestmovies": "提出请求", - "components.RequestModal.requestseasons4k": "提出4K请求", + "components.RequestModal.requestmovies": "提交请求", + "components.RequestModal.requestseasons4k": "提交 4K 请求", "components.Settings.SettingsJobsCache.jobScheduleEditSaved": "作业编辑成功!", "i18n.resolved": "已解决", "components.NotificationTypeSelector.issuereopened": "问题重新开启", "components.NotificationTypeSelector.userissueresolvedDescription": "当您报告的问题解决时获取通知。", "components.ManageSlideOver.alltime": "历史", "components.ManageSlideOver.manageModalAdvanced": "高级", - "components.ManageSlideOver.manageModalClearMediaWarning": "* 这将会删除所有和{mediaType}相关的数据和所有请求。如果{mediaType}在您的Plex服务器存在,数据将会在媒体库扫描时重新建立。", + "components.ManageSlideOver.manageModalClearMediaWarning": "* 这将会删除所有和{mediaType}相关的数据和所有请求。如果{mediaType}在您的 Plex 服务器存在,数据将会在媒体库扫描时重新建立。", "components.ManageSlideOver.manageModalIssues": "未解决问题", "components.ManageSlideOver.manageModalMedia": "媒体", "components.ManageSlideOver.manageModalMedia4k": "4K 媒体", @@ -952,7 +923,7 @@ "components.ManageSlideOver.manageModalTitle": "管理{mediaType}", "components.ManageSlideOver.markavailable": "标记为可观看", "components.ManageSlideOver.mark4kavailable": "标记4K版本可观看", - "components.ManageSlideOver.markallseasons4kavailable": "标记所有季的4K版本可观看", + "components.ManageSlideOver.markallseasons4kavailable": "标记所有季的 4K 版本可观看", "components.ManageSlideOver.markallseasonsavailable": "标记所有季可观看", "components.ManageSlideOver.opentautulli": "在 Tautulli 中查看", "components.ManageSlideOver.pastdays": "过去 {days, number} 天", @@ -979,23 +950,23 @@ "components.Settings.Notifications.NotificationsGotify.validationTokenRequired": "请输入应用令牌", "components.Settings.Notifications.NotificationsGotify.validationTypes": "请选择通知类型", "components.Settings.Notifications.NotificationsGotify.validationUrlRequired": "请输入有效的网址", - "components.Settings.Notifications.NotificationsGotify.validationUrlTrailingSlash": "请删除网址结尾斜杠", + "components.Settings.Notifications.NotificationsGotify.validationUrlTrailingSlash": "请删除网址结尾斜线", "components.Settings.urlBase": "网站根路径", - "components.Settings.validationApiKey": "请输入API key", + "components.Settings.validationApiKey": "请输入应用程序密钥", "components.UserProfile.UserSettings.UserNotificationSettings.pushoverUserKeyTip": "您 30 个字符的用户或群组ID", "components.Settings.Notifications.NotificationsPushbullet.channelTag": "频道标签", "components.Settings.RadarrModal.announced": "已公布", "components.Settings.RadarrModal.released": "已发布", "components.Settings.SettingsJobsCache.editJobSchedulePrompt": "新频率", "components.Settings.externalUrl": "外部网址", - "components.Settings.tautulliApiKey": "API Key", + "components.Settings.tautulliApiKey": "应用程序密钥", "components.Settings.toastTautulliSettingsFailure": "保存 Tautulli 设置时出现问题。", "components.Settings.toastTautulliSettingsSuccess": "Tautulli 设置保存成功!", "components.Settings.validationUrlTrailingSlash": "请删除结尾斜杠", "components.Settings.validationUrlBaseLeadingSlash": "请添加前置斜杠", "components.Settings.validationUrlBaseTrailingSlash": "请删除结尾斜杠", "components.TvDetails.productioncountries": "出品国家", - "components.TvDetails.streamingproviders": "当前可播放", + "components.TvDetails.streamingproviders": "当前可串流", "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletAccessToken": "API 令牌", "components.UserProfile.UserSettings.UserNotificationSettings.pushbulletsettingssaved": "Pushbullet 通知设置保存成功!", "components.UserProfile.UserSettings.UserNotificationSettings.pushoverApplicationTokenTip": "建立一个 {applicationTitle} 专用的 应用", @@ -1007,15 +978,15 @@ "components.PermissionEdit.manageissues": "管理问题", "components.RequestModal.approve": "批准请求", "components.RequestModal.requestApproved": "{title} 的请求已被批准!", - "components.RequestModal.requestmovies4k": "提出4K请求", + "components.RequestModal.requestmovies4k": "提交 4K 请求", "components.IssueModal.CreateIssueModal.extras": "特辑", "components.IssueModal.CreateIssueModal.problemepisode": "有问题的集数", "components.IssueModal.CreateIssueModal.problemseason": "有问题的季数", "components.IssueModal.CreateIssueModal.providedetail": "请详细描述您遇到的问题。", "components.IssueModal.CreateIssueModal.reportissue": "报告问题", "components.IssueModal.CreateIssueModal.season": "第 {seasonNumber} 季", - "components.ManageSlideOver.openarr": "打开{arr}服务器", - "components.ManageSlideOver.openarr4k": "打开4K {arr} 服务器", + "components.ManageSlideOver.openarr": "在 {arr} 中打开", + "components.ManageSlideOver.openarr4k": "在 4K {arr} 中打开", "components.ManageSlideOver.tvshow": "个剧集", "components.UserProfile.UserSettings.UserNotificationSettings.validationPushoverApplicationToken": "请输入有效的 API 令牌", "components.UserProfile.UserSettings.UserNotificationSettings.validationPushbulletAccessToken": "请输入 API 令牌", @@ -1033,7 +1004,7 @@ "components.RequestBlock.languageprofile": "语言配置文件", "components.TitleCard.mediaerror": "未找到{mediaType}", "components.MovieDetails.digitalrelease": "数字发行", - "components.MovieDetails.physicalrelease": "物理释放", + "components.MovieDetails.physicalrelease": "实体发行", "components.MovieDetails.theatricalrelease": "剧场版", "components.PermissionEdit.viewrecent": "查看最近添加的内容", "components.PermissionEdit.viewrecentDescription": "授予查看最近添加的媒体列表的权限。", @@ -1049,7 +1020,7 @@ "components.MovieDetails.managemovie": "管理电影", "components.MovieDetails.reportissue": "报告问题", "components.NotificationTypeSelector.mediaautorequested": "自动提交的请求", - "components.PermissionEdit.viewwatchlistsDescription": "授权查看其他用户的Plex关注列表。", + "components.PermissionEdit.viewwatchlistsDescription": "授权查看其他用户的 Plex 关注列表的权限。", "components.RequestList.RequestItem.tvdbid": "TheTVDB ID", "components.Settings.advancedTooltip": "错误配置此设置可能会导致功能不可用", "components.Settings.experimentalTooltip": "启用此设置可能会导致意外的应用程序行为", @@ -1059,14 +1030,76 @@ "components.Layout.UserDropdown.requests": "请求", "components.Settings.restartrequiredTooltip": "必须重新启动 Overseerr 才能使更改的设置生效", "components.TvDetails.manageseries": "管理电视节目", - "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "自动请求您的 Plex 关注列表的媒体", - "components.AirDateBadge.airedrelative": "播出{relativeTime}", - "components.AirDateBadge.airsrelative": "播出{relativeTime}", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "自动请求您的 Plex 关注列表 的电视节目", + "components.AirDateBadge.airedrelative": "{relativeTime}播出", + "components.AirDateBadge.airsrelative": "{relativeTime}播出", "components.Layout.UserDropdown.MiniQuotaDisplay.movierequests": "电影请求", "components.Layout.UserDropdown.MiniQuotaDisplay.seriesrequests": "电视节目请求", "components.NotificationTypeSelector.mediaautorequestedDescription": "当 Plex 关注列表中的项目自动提交新媒体请求时,会收到通知。", "components.PermissionEdit.viewwatchlists": "查看 Plex 关注列表", "components.TvDetails.Season.somethingwentwrong": "在检索季元数据时出了问题。", "components.UserProfile.plexwatchlist": "Plex 关注列表", - "components.RequestCard.tvdbid": "TheTVDB ID" + "components.RequestCard.tvdbid": "TheTVDB ID", + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "当前频率", + "components.StatusBadge.playonplex": "在 Plex 上观看", + "components.TitleCard.cleardata": "清除数据", + "components.Discover.DiscoverWatchlist.discoverwatchlist": "您的 Plex 关注列表", + "components.Discover.plexwatchlist": "您的 Plex 关注列表", + "components.PermissionEdit.autorequestSeriesDescription": "授予自动请求 Plex 关注列表中的非 4K 电视节目的权限。", + "components.PermissionEdit.autorequest": "自动请求", + "components.PermissionEdit.autorequestDescription": "授予自动请求 Plex 关注列表中的非 4K 媒体的权限。", + "components.TvDetails.episodeCount": "{episodeCount} 集", + "components.MovieDetails.rtcriticsscore": "烂番茄专业评分", + "components.MovieDetails.tmdbuserscore": "TMDB 用户评分", + "components.RequestBlock.approve": "批准请求", + "components.RequestBlock.lastmodifiedby": "最后修改者", + "components.MovieDetails.rtaudiencescore": "烂番茄观众评分", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "电视节目自动请求", + "components.TvDetails.rtaudiencescore": "烂番茄观众评分", + "components.TvDetails.rtcriticsscore": "烂番茄专业评分", + "components.TvDetails.tmdbuserscore": "TMDB 用户评分", + "components.Settings.SettingsJobsCache.plex-watchlist-sync": "同步 Plex 关注列表", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmoviestip": "自动请求您的 Plex 关注列表 中的电影", + "components.PermissionEdit.autorequestSeries": "电视节目自动请求", + "components.PermissionEdit.autorequestMoviesDescription": "授予自动请求 Plex 关注列表中的非 4K 电影的权限。", + "components.PermissionEdit.autorequestMovies": "电影自动请求", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncmovies": "电影自动请求", + "components.RequestBlock.decline": "拒绝请求", + "components.RequestModal.requestcollection4ktitle": "提交 4K 系列请求", + "components.RequestModal.requestmovie4ktitle": "提交 4K 电影请求", + "components.RequestModal.requestmovietitle": "提交电影请求", + "components.RequestModal.requestseriestitle": "提交电视节目请求", + "components.RequestBlock.edit": "编辑请求", + "components.RequestModal.requestseries4ktitle": "提交 4K 电视节目请求", + "components.RequestBlock.delete": "删除请求", + "components.RequestBlock.requestdate": "请求日期", + "components.RequestBlock.requestedby": "请求者", + "components.RequestCard.approverequest": "批准请求", + "components.RequestModal.requestcollectiontitle": "提交系列请求", + "components.TvDetails.Season.noepisodes": "剧集列表不可用。", + "components.StatusBadge.managemedia": "管理{mediaType}", + "components.StatusBadge.openinarr": "在 {arr} 中打开", + "components.TvDetails.status4k": "4K 版{status}", + "components.UserProfile.emptywatchlist": "您的 Plex 关注列表中的媒体会显示在这里。", + "components.TvDetails.seasonnumber": "第 {seasonNumber} 季", + "components.TvDetails.seasonstitle": "季数", + "components.RequestModal.SearchByNameModal.nomatches": "找不到此电视节目的数据。", + "components.Discover.emptywatchlist": "您的 Plex 关注列表中的媒体会显示在这里。", + "components.RequestCard.cancelrequest": "取消请求", + "components.RequestCard.declinerequest": "拒绝请求", + "components.RequestCard.editrequest": "编辑请求", + "components.TitleCard.tmdbid": "TMDB ID", + "components.TitleCard.tvdbid": "TheTVDB ID", + "components.Settings.SettingsJobsCache.imagecachecount": "已缓存图片", + "components.Settings.SettingsJobsCache.image-cache-cleanup": "清理图片缓存", + "components.Settings.SettingsJobsCache.imagecacheDescription": "当此功能在设置中启用时,Overseerr 将代理并缓存预配置的外部来源中的图像。缓存的图片保存于你的配置文件夹中,你可以在 {appDataPath}/cache/images 目录下找到这些文件。", + "components.Settings.SettingsJobsCache.imagecache": "图片缓存", + "components.Settings.SettingsJobsCache.imagecachesize": "缓存总大小", + "components.StatusBadge.seasonepisodenumber": "S{seasonNumber}E{episodeNumber}", + "components.Discover.PlexWatchlistSlider.plexwatchlist": "您的 Plex 关注列表", + "components.Discover.RecentlyAddedSlider.recentlyAdded": "最新添加", + "components.Discover.moviegenres": "电影类型", + "components.Discover.networks": "电视网", + "components.Discover.studios": "制作公司", + "components.Discover.DiscoverMovieKeyword.keywordMovies": "{keywordTitle} 电影" } diff --git a/src/i18n/locale/zh_Hant.json b/src/i18n/locale/zh_Hant.json index b58c3408fd..d80715aab1 100644 --- a/src/i18n/locale/zh_Hant.json +++ b/src/i18n/locale/zh_Hant.json @@ -2,9 +2,7 @@ "components.Settings.Notifications.webhookUrl": "Webhook 網址", "components.Settings.Notifications.NotificationsWebhook.webhookUrl": "Webhook 網址", "components.Settings.Notifications.NotificationsSlack.webhookUrl": "Webhook 網址", - "components.Settings.applicationurl": "應用程式網址", "components.Settings.SonarrModal.apiKey": "應用程式密鑰", - "components.Settings.apikey": "應用程式密鑰", "components.Settings.RadarrModal.apiKey": "應用程式密鑰", "components.Settings.Notifications.senderName": "發件人名稱", "components.Settings.Notifications.emailsender": "發件人電子郵件地址", @@ -76,7 +74,6 @@ "components.Settings.SonarrModal.loadingprofiles": "載入中…", "components.Settings.RadarrModal.loadingrootfolders": "載入中…", "components.Settings.RadarrModal.loadingprofiles": "載入中…", - "components.Settings.toastSettingsSuccess": "設定儲存成功!", "components.Search.searchresults": "搜尋結果", "components.RequestModal.seasonnumber": "第 {number} 季", "components.RequestModal.season": "季數", @@ -141,8 +138,6 @@ "components.Discover.recentrequests": "最新請求", "components.Discover.populartv": "熱門影集", "components.Discover.popularmovies": "熱門電影", - "components.Discover.discovertv": "熱門影集", - "components.Discover.discovermovies": "熱門電影", "components.CollectionDetails.requestcollection": "提出電影系列請求", "components.CollectionDetails.overview": "概要", "components.UserList.userdeleteerror": "刪除使用者時出了點問題。", @@ -178,7 +173,6 @@ "components.Settings.SettingsAbout.helppaycoffee": "請開發者喝咖啡", "components.Settings.SettingsAbout.githubdiscussions": "GitHub 討論區", "components.Settings.startscan": "執行掃描", - "components.Settings.generalsettings": "一般設定", "components.Settings.cancelscan": "取消掃描", "components.Settings.RadarrModal.toastRadarrTestSuccess": "Radarr 伺服器連線成功!", "components.Settings.SonarrModal.testFirstRootFolders": "請先測試連線", @@ -220,8 +214,6 @@ "components.Settings.Notifications.NotificationsWebhook.resetPayloadSuccess": "JSON 有效負載重設為預設負載成功!", "components.Settings.Notifications.NotificationsPushover.validationUserTokenRequired": "請輸入有效的使用者或群組令牌", "components.Settings.menuJobs": "作業和快取", - "components.Settings.toastApiKeyFailure": "生成應用程式密鑰時出了點問題。", - "components.Settings.toastSettingsFailure": "儲存設定時出了點問題。", "components.UserList.deleteconfirm": "確定要刪除這個使用者嗎?此使用者的所有儲存資料將被清除。", "components.Settings.SettingsAbout.Releases.releasedataMissing": "無法獲取軟體版本資料。", "components.UserList.passwordinfodescription": "設定應用程式網址以及啟用電子郵件通知,才能自動生成密碼。", @@ -265,7 +257,6 @@ "components.TvDetails.showtype": "影集類型", "components.TvDetails.similar": "類似", "components.RequestModal.requestfrom": "{username} 的請求待處理。", - "components.Settings.toastApiKeySuccess": "生成新應用程式密鑰成功!", "components.Settings.validationPortRequired": "請輸入有效的通訊埠", "components.Settings.validationHostnameRequired": "請輸入有效的主機名稱或 IP 位址", "components.Settings.SonarrModal.validationPortRequired": "請輸入有效的通訊埠", @@ -330,10 +321,8 @@ "components.Settings.serverpresetRefreshing": "載入中…", "components.Settings.SonarrModal.syncEnabled": "啟用掃描", "components.UserList.userssaved": "使用者權限儲存成功!", - "components.Settings.hideAvailable": "隱藏可觀看的電影和影集", "components.Settings.SonarrModal.externalUrl": "外部網址", "components.Settings.RadarrModal.externalUrl": "外部網址", - "components.Settings.csrfProtection": "防止跨站請求偽造(CSRF)攻擊", "components.RequestBlock.requestoverrides": "覆寫請求", "components.Settings.toastPlexConnectingSuccess": "Plex 伺服器連線成功!", "components.Settings.serverRemote": "遠端", @@ -361,7 +350,6 @@ "components.RequestBlock.profilechanged": "品質設定", "components.PermissionEdit.advancedrequest": "進階請求", "components.RequestModal.requestedited": "{title} 的請求編輯成功!", - "components.Settings.trustProxy": "啟用代理伺服器所需功能", "components.RequestModal.errorediting": "編輯請求時出了點問題。", "components.RequestModal.requesterror": "提出請求時出了點問題。", "components.Settings.SettingsJobsCache.cachekeys": "鍵數", @@ -391,9 +379,7 @@ "components.Settings.toastPlexRefreshSuccess": "獲取 Plex 伺服器列表成功!", "components.Settings.toastPlexRefreshFailure": "獲取 Plex 伺服器列表失敗。", "components.Settings.toastPlexConnectingFailure": "Plex 伺服器連線失敗。", - "components.Settings.csrfProtectionHoverTip": "除非您了解此功能,請勿啟用它!", "components.UserList.users": "使用者", - "components.Settings.applicationTitle": "應用程式名稱", "components.Search.search": "搜尋", "components.Setup.setup": "設定", "components.Discover.discover": "探索", @@ -401,9 +387,6 @@ "components.RequestModal.AdvancedRequester.requestas": "請求者", "components.Settings.RadarrModal.validationApplicationUrlTrailingSlash": "請刪除結尾斜線", "components.Settings.SonarrModal.validationApplicationUrlTrailingSlash": "請刪除結尾斜線", - "components.Settings.validationApplicationUrlTrailingSlash": "請刪除結尾斜線", - "components.Settings.validationApplicationTitle": "請輸入應用程式名稱", - "components.Settings.validationApplicationUrl": "請輸入有效的網址", "components.Settings.SonarrModal.validationApplicationUrl": "請輸入有效的網址", "components.Settings.RadarrModal.validationApplicationUrl": "請輸入有效的網址", "components.PermissionEdit.viewrequests": "查看請求", @@ -504,24 +487,17 @@ "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailure": "重設密碼時出了點問題。", "components.RequestModal.SearchByNameModal.notvdbiddescription": "無法自動配對此影集的數據。 請在以下選擇正確的媒體項。", "components.CollectionDetails.requestcollection4k": "提出 4K 電影系列請求", - "components.Settings.trustProxyTip": "使用代理伺服器時,允許 Overseerr 註冊客戶端的正確 IP 位址", - "components.Settings.csrfProtectionTip": "設定外部訪問權限為只讀(需要 HTTPS)", "components.ResetPassword.requestresetlinksuccessmessage": "通過電子郵件發送了密碼重設鏈接。", "components.ResetPassword.resetpasswordsuccessmessage": "密碼重設成功!", "components.RegionSelector.regionDefault": "所有地區", "components.UserProfile.UserSettings.UserGeneralSettings.region": "「探索」地區", - "components.Settings.region": "「探索」地區", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguage": "「探索」語言", - "components.Settings.originallanguage": "「探索」語言", "components.Discover.upcomingtv": "即將上映的影集", "components.Settings.webhook": "Webhook", "components.Settings.email": "電子郵件", - "components.Settings.generalsettingsDescription": "Overseerr 的全域和預設設定。", "components.Settings.notificationAgentSettingsDescription": "設定通知類型和代理服務。", "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "以地區可用性篩選結果", - "components.Settings.regionTip": "以地區可用性篩選結果", "components.UserProfile.UserSettings.UserGeneralSettings.originallanguageTip": "以原始語言篩選結果", - "components.Settings.originallanguageTip": "以原始語言篩選結果", "components.Settings.SettingsJobsCache.jobsDescription": "Overseerr 將定時運行以下的維護任務。手動執行工作不會影響它正常的行程。", "components.Settings.plexsettingsDescription": "關於 Plex 伺服器的設定。Overseerr 將定時執行媒體庫掃描。", "components.Settings.manualscanDescription": "在正常情況下,Overseerr 會每24小時掃描您的 Plex 媒體庫。最近新增的媒體將更頻繁掃描。設定新的 Plex 伺服器時,我們建議您執行一次手動掃描!", @@ -591,7 +567,6 @@ "components.Discover.MovieGenreSlider.moviegenres": "電影類型", "components.Discover.MovieGenreList.moviegenres": "電影類型", "components.Discover.TvGenreList.seriesgenres": "影集類型", - "components.Settings.partialRequestsEnabled": "允許不完整的影集請求", "components.RequestModal.alreadyrequested": "已經有請求", "components.Settings.SettingsLogs.time": "時間戳", "components.Settings.SettingsLogs.resumeLogs": "恢復", @@ -616,16 +591,13 @@ "components.UserProfile.UserSettings.UserPasswordChange.toastSettingsFailureVerifyCurrent": "重設密碼時出了點問題。您確定輸入的當前密碼是正確的嗎?", "components.ResetPassword.passwordreset": "密碼重設", "components.UserProfile.UserSettings.UserGeneralSettings.general": "一般", - "components.Settings.general": "一般", "components.Settings.services": "伺服器", "components.Settings.plex": "Plex", "components.Settings.notifications": "通知", "components.Settings.SettingsLogs.message": "訊息", "components.Settings.SettingsJobsCache.jobsandcache": "作業和快取", "components.Settings.SettingsAbout.about": "關於 Overseerr", - "components.Settings.cacheImages": "啟用圖像檔案快取", "components.Settings.SettingsLogs.logsDescription": "您也能直接查看 stdout 數據流或位置於 {appDataPath}/logs/overseerr.log 的日誌檔案。", - "components.Settings.cacheImagesTip": "處理和提供優化的圖像檔案(需要大量的磁碟空間)", "components.Settings.SettingsLogs.logDetails": "日誌詳細信息", "components.Settings.SettingsLogs.extraData": "附加數據", "components.Settings.SettingsLogs.copyToClipboard": "複製到剪貼板", @@ -797,7 +769,6 @@ "components.PermissionEdit.requestMoviesDescription": "授予提出非 4K 電影請求的權限。", "components.PermissionEdit.requestTvDescription": "授予提出非 4K 影集請求的權限。", "components.UserProfile.UserSettings.UserGeneralSettings.languageDefault": "預設設定({language})", - "components.Settings.locale": "顯示語言", "components.DownloadBlock.estimatedtime": "預計:{time}", "components.Settings.Notifications.encryptionTip": "TLS 通常會使用通訊埠 465,而 STARTTLS 通常會使用通訊埠 587", "components.Settings.Notifications.encryptionDefault": "盡可能使用 STARTTLS", @@ -1117,5 +1088,6 @@ "components.Discover.emptywatchlist": "您的 Plex 關注列表中的媒體會顯示在這裡。", "components.Settings.advancedTooltip": "錯誤的設定可能會破壞應用程式功能", "components.Settings.experimentalTooltip": "啟用此設定可能會出現意外的應用程式行為", - "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "目前的頻率" + "components.Settings.SettingsJobsCache.editJobScheduleCurrent": "目前的頻率", + "components.TvDetails.Season.noepisodes": "没有剧集列表。" } diff --git a/src/pages/404.tsx b/src/pages/404.tsx index 3df55fc1be..0b0a059f18 100644 --- a/src/pages/404.tsx +++ b/src/pages/404.tsx @@ -1,5 +1,5 @@ import PageTitle from '@app/components/Common/PageTitle'; -import { ArrowCircleRightIcon } from '@heroicons/react/outline'; +import { ArrowRightCircleIcon } from '@heroicons/react/24/outline'; import Link from 'next/link'; import { defineMessages, useIntl } from 'react-intl'; @@ -24,7 +24,7 @@ const Custom404 = () => { {intl.formatMessage(messages.returnHome)} - +
diff --git a/src/pages/_error.tsx b/src/pages/_error.tsx index 2d5102c49d..66d85fdbfb 100644 --- a/src/pages/_error.tsx +++ b/src/pages/_error.tsx @@ -1,6 +1,6 @@ import PageTitle from '@app/components/Common/PageTitle'; import type { Undefinable } from '@app/utils/typeHelpers'; -import { ArrowCircleRightIcon } from '@heroicons/react/outline'; +import { ArrowRightCircleIcon } from '@heroicons/react/24/outline'; import type { NextPage } from 'next'; import Link from 'next/link'; import { defineMessages, useIntl } from 'react-intl'; @@ -47,7 +47,7 @@ const Error: NextPage = ({ statusCode }) => { {intl.formatMessage(messages.returnHome)} - +
diff --git a/src/pages/discover/movies/keyword/index.tsx b/src/pages/discover/movies/keyword/index.tsx new file mode 100644 index 0000000000..4fc0cfd27c --- /dev/null +++ b/src/pages/discover/movies/keyword/index.tsx @@ -0,0 +1,8 @@ +import DiscoverMovieKeyword from '@app/components/Discover/DiscoverMovieKeyword'; +import type { NextPage } from 'next'; + +const DiscoverMoviesKeywordPage: NextPage = () => { + return ; +}; + +export default DiscoverMoviesKeywordPage; diff --git a/src/pages/discover/tv/keyword/index.tsx b/src/pages/discover/tv/keyword/index.tsx new file mode 100644 index 0000000000..0c6ab00fff --- /dev/null +++ b/src/pages/discover/tv/keyword/index.tsx @@ -0,0 +1,8 @@ +import DiscoverTvKeyword from '@app/components/Discover/DiscoverTvKeyword'; +import type { NextPage } from 'next'; + +const DiscoverTvKeywordPage: NextPage = () => { + return ; +}; + +export default DiscoverTvKeywordPage; diff --git a/src/styles/globals.css b/src/styles/globals.css index a5f417ddbd..7598cb9b1d 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -6,7 +6,13 @@ html { min-height: calc(100% + env(safe-area-inset-top)); padding: env(safe-area-inset-top) env(safe-area-inset-right) - env(safe-area-inset-bottom) env(safe-area-inset-left); + calc(4rem + env(safe-area-inset-bottom)) env(safe-area-inset-left); + } + + @media (min-width: 640px) { + html { + padding-bottom: env(safe-area-inset-bottom); + } } body { @@ -417,6 +423,42 @@ .react-select-container .react-select__input-container { @apply text-white; } + + .react-select-container .react-select__single-value { + @apply text-sm text-gray-100; + } + + .react-select-container .react-select__placeholder { + @apply text-sm text-gray-500; + } + + .datepicker-wrapper > button { + @apply top-0; + } + + .datepicker-wrapper > div { + @apply fixed left-0 right-0 w-full px-4 md:w-auto; + } + + .datepicker-wrapper > div > div:nth-child(2) > div { + @apply !flex-col; + } + + .datepicker-wrapper > div > div:nth-child(2) > div > div > div { + @apply !w-full !min-w-full; + } + + .datepicker-wrapper > div > div:first-child { + @apply hidden; + } + + input[type='range']::-webkit-slider-thumb { + @apply rounded-full bg-indigo-500; + pointer-events: all; + width: 16px; + height: 16px; + -webkit-appearance: none; + } } @layer utilities { @@ -424,6 +466,18 @@ top: calc(-4rem - env(safe-area-inset-top)); } + .absolute-bottom-shift { + bottom: calc(5rem + env(safe-area-inset-bottom)); + } + + .safe-shift-edit-menu { + bottom: calc(54px + env(safe-area-inset-bottom)); + } + + .padding-bottom-safe { + padding-bottom: env(safe-area-inset-bottom); + } + .min-h-screen-shift { min-height: calc(100vh + env(safe-area-inset-top)); } @@ -453,6 +507,10 @@ @apply hidden; } } + + .extra-bottom-space { + height: calc(4rem + env(safe-area-inset-bottom)); + } } .ptr--ptr { diff --git a/src/utils/typeHelpers.ts b/src/utils/typeHelpers.ts index 1ec82c4279..dd6579902b 100644 --- a/src/utils/typeHelpers.ts +++ b/src/utils/typeHelpers.ts @@ -9,7 +9,10 @@ export type Maybe = T | null | undefined; * @param component Main object you want to apply properties to * @param properties Object of properties you want to type on the main component */ -export function withProperties(component: A, properties: B): A & B { +export function withProperties( + component: A, + properties: B +): A & B { (Object.keys(properties) as (keyof B)[]).forEach((key) => { Object.assign(component, { [key]: properties[key] }); }); diff --git a/tailwind.config.js b/tailwind.config.js index 96b5faadbb..b8b70fd541 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -4,7 +4,11 @@ const defaultTheme = require('tailwindcss/defaultTheme'); /** @type {import('tailwindcss').Config} */ module.exports = { mode: 'jit', - content: ['./src/pages/**/*.{ts,tsx}', './src/components/**/*.{ts,tsx}'], + content: [ + './node_modules/react-tailwindcss-datepicker-sct/dist/index.esm.js', + './src/pages/**/*.{ts,tsx}', + './src/components/**/*.{ts,tsx}', + ], theme: { extend: { transitionProperty: { diff --git a/yarn.lock b/yarn.lock index 3036e822ac..1da72e83bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20,10 +20,10 @@ call-me-maybe "^1.0.1" js-yaml "^4.1.0" -"@babel/cli@7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.18.10.tgz#4211adfc45ffa7d4f3cee6b60bb92e9fe68fe56a" - integrity sha512-dLvWH+ZDFAkd2jPBSghrsFBuXrREvFwjpDycXbmUoeochqKYe4zNSLEJYErpLg8dvxvZYe79/MkN461XCwpnGw== +"@babel/cli@7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.20.7.tgz#8fc12e85c744a1a617680eacb488fab1fcd35b7c" + integrity sha512-WylgcELHB66WwQqItxNILsMlaTd8/SO6SgTTjMp4uCI7P4QyH1r3nqgFmO3BfM4AtfniHgFMH3EpYFj/zynBkQ== dependencies: "@jridgewell/trace-mapping" "^0.3.8" commander "^4.0.1" @@ -36,97 +36,48 @@ "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" chokidar "^3.4.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/code-frame@^7.18.6": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" - integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== - -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" - integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": + version "7.20.10" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec" + integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== -"@babel/core@^7.18.5": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.10.tgz#39ad504991d77f1f3da91be0b8b949a5bc466fb8" - integrity sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw== +"@babel/core@^7.19.6", "@babel/core@^7.9.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.7.tgz#37072f951bd4d28315445f66e0ec9f6ae0c8c35f" + integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.10" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-module-transforms" "^7.18.9" - "@babel/helpers" "^7.18.9" - "@babel/parser" "^7.18.10" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.18.10" - "@babel/types" "^7.18.10" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/core@^7.9.0": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.2.tgz#87b2fcd7cce9becaa7f5acebdc4f09f3dd19d876" - integrity sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.18.2" - "@babel/helper-compilation-targets" "^7.18.2" - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helpers" "^7.18.2" - "@babel/parser" "^7.18.0" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.2" - "@babel/types" "^7.18.2" + "@babel/generator" "^7.20.7" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.20.7" + "@babel/helpers" "^7.20.7" + "@babel/parser" "^7.20.7" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@^7.18.10": - version "7.18.12" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.12.tgz#fa58daa303757bd6f5e4bbca91b342040463d9f4" - integrity sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg== +"@babel/generator@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" + integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== dependencies: - "@babel/types" "^7.18.10" + "@babel/types" "^7.20.7" "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" - integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw== - dependencies: - "@babel/types" "^7.18.2" - "@jridgewell/gen-mapping" "^0.3.0" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" - integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -142,59 +93,42 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" - integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== dependencies: - "@babel/compat-data" "^7.18.8" + "@babel/compat-data" "^7.20.5" "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.20.2" - semver "^6.3.0" - -"@babel/helper-compilation-targets@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b" - integrity sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ== - dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.20.2" + browserslist "^4.21.3" + lru-cache "^5.1.1" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz#d802ee16a64a9e824fcbf0a2ffc92f19d58550ce" - integrity sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw== +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz#d0e1f8d7e4ed5dac0389364d9c0c191d948ade6f" + integrity sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-member-expression-to-functions" "^7.20.7" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-replace-supers" "^7.20.7" "@babel/helper-split-export-declaration" "^7.18.6" -"@babel/helper-create-regexp-features-plugin@^7.16.7", "@babel/helper-create-regexp-features-plugin@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz#bb37ca467f9694bbe55b884ae7a5cc1e0084e4fd" - integrity sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - regexpu-core "^5.0.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz#3e35f4e04acbbf25f1b3534a657610a000543d3c" - integrity sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz#5ea79b59962a09ec2acf20a963a01ab4d076ccca" + integrity sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - regexpu-core "^5.1.0" + regexpu-core "^5.2.1" -"@babel/helper-define-polyfill-provider@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz#bd10d0aca18e8ce012755395b05a79f45eca5073" - integrity sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg== +"@babel/helper-define-polyfill-provider@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" + integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== dependencies: "@babel/helper-compilation-targets" "^7.17.7" "@babel/helper-plugin-utils" "^7.16.7" @@ -203,11 +137,6 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-environment-visitor@^7.16.7", "@babel/helper-environment-visitor@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd" - integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ== - "@babel/helper-environment-visitor@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" @@ -220,28 +149,13 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-function-name@^7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" - integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== - dependencies: - "@babel/template" "^7.16.7" - "@babel/types" "^7.17.0" - -"@babel/helper-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0" - integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A== - dependencies: - "@babel/template" "^7.18.6" - "@babel/types" "^7.18.9" - -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== +"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== dependencies: - "@babel/types" "^7.16.7" + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" "@babel/helper-hoist-variables@^7.18.6": version "7.18.6" @@ -250,54 +164,33 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-member-expression-to-functions@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" - integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== - dependencies: - "@babel/types" "^7.18.9" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== +"@babel/helper-member-expression-to-functions@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz#a6f26e919582275a93c3aa6594756d71b0bb7f05" + integrity sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.20.7" -"@babel/helper-module-imports@^7.18.6": +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" - integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.0" - "@babel/types" "^7.18.0" - -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" - integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.20.7": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" + integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.10" + "@babel/types" "^7.20.7" "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" @@ -306,17 +199,12 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz#86c2347da5acbf5583ba0a10aed4c9bf9da9cf96" - integrity sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA== - -"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" - integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== -"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": +"@babel/helper-remap-async-to-generator@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== @@ -326,44 +214,31 @@ "@babel/helper-wrap-function" "^7.18.9" "@babel/types" "^7.18.9" -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz#1092e002feca980fbbb0bd4d51b74a65c6a500e6" - integrity sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ== +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" + integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== dependencies: "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.20.7" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-simple-access@^7.17.7": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz#4dc473c2169ac3a1c9f4a51cfcd091d1c36fcff9" - integrity sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ== - dependencies: - "@babel/types" "^7.18.2" - -"@babel/helper-simple-access@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" - integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== - dependencies: - "@babel/types" "^7.18.6" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" -"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz#778d87b3a758d90b471e7b9918f34a9a02eb5818" - integrity sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw== +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== dependencies: - "@babel/types" "^7.18.9" + "@babel/types" "^7.20.2" -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" + integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.20.0" "@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" @@ -372,25 +247,15 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-string-parser@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" - integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-identifier@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" - integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== "@babel/helper-validator-option@^7.18.6": version "7.18.6" @@ -398,41 +263,23 @@ integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== "@babel/helper-wrap-function@^7.18.9": - version "7.18.11" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz#bff23ace436e3f6aefb61f85ffae2291c80ed1fb" - integrity sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3" + integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== dependencies: - "@babel/helper-function-name" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" "@babel/template" "^7.18.10" - "@babel/traverse" "^7.18.11" - "@babel/types" "^7.18.10" - -"@babel/helpers@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384" - integrity sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.2" - "@babel/types" "^7.18.2" - -"@babel/helpers@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" - integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== - dependencies: - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" -"@babel/highlight@^7.16.7": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351" - integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg== +"@babel/helpers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce" + integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" "@babel/highlight@^7.18.6": version "7.18.6" @@ -443,15 +290,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.16.7", "@babel/parser@^7.18.0", "@babel/parser@^7.6.0", "@babel/parser@^7.9.6": - version "7.18.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.4.tgz#6774231779dd700e0af29f6ad8d479582d7ce5ef" - integrity sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow== - -"@babel/parser@^7.18.10", "@babel/parser@^7.18.11": - version "7.18.11" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9" - integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.6.0", "@babel/parser@^7.9.6": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" + integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -461,21 +303,21 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" - integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" + integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-proposal-optional-chaining" "^7.20.7" -"@babel/plugin-proposal-async-generator-functions@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz#85ea478c98b0095c3e4102bff3b67d306ed24952" - integrity sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew== +"@babel/plugin-proposal-async-generator-functions@^7.20.1": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== dependencies: "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" @@ -488,12 +330,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" - integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz#92592e9029b13b15be0f7ce6a7aedc2879ca45a7" + integrity sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-proposal-dynamic-import@^7.18.6": @@ -521,11 +363,11 @@ "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" - integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" + integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": @@ -544,16 +386,16 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz#f9434f6beb2c8cae9dfcf97d2a5941bbbf9ad4e7" - integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q== +"@babel/plugin-proposal-object-rest-spread@^7.20.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== dependencies: - "@babel/compat-data" "^7.18.8" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/compat-data" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.18.8" + "@babel/plugin-transform-parameters" "^7.20.7" "@babel/plugin-proposal-optional-catch-binding@^7.18.6": version "7.18.6" @@ -563,13 +405,13 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" - integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== +"@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz#49f2b372519ab31728cc14115bb0998b15bfda55" + integrity sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-proposal-private-methods@^7.18.6": @@ -581,16 +423,16 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503" - integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz#309c7668f2263f1c711aa399b5a9a6291eef6135" + integrity sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.20.5" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.18.6": +"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== @@ -598,14 +440,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz#3dbd7a67bd7f94c8238b394da112d86aaf32ad4d" - integrity sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -641,12 +475,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-import-assertions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz#cd6190500a4fa2fe31990a963ffab4b63e4505e4" - integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ== +"@babel/plugin-syntax-import-assertions@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" + integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" @@ -655,14 +489,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.12.13": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.17.12.tgz#834035b45061983a491f60096f61a2e7c5674a47" - integrity sha512-spyY3E3AURfxh/RHtjx5j6hs8am5NbUBGfcZ2vB3uShSpZdQyXSf5rR5Mk76vbtlAZOelyVQ71Fg0x9SG4fsog== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-syntax-jsx@^7.18.6": +"@babel/plugin-syntax-jsx@^7.17.12", "@babel/plugin-syntax-jsx@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== @@ -725,28 +552,28 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285" - integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== +"@babel/plugin-syntax-typescript@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" + integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-transform-arrow-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" - integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" + integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-async-to-generator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" - integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" + integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== dependencies: "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-remap-async-to-generator" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-transform-block-scoped-functions@^7.18.6": version "7.18.6" @@ -755,42 +582,44 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz#f9b7e018ac3f373c81452d6ada8bd5a18928926d" - integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw== +"@babel/plugin-transform-block-scoping@^7.20.2": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz#9f5a3424bd112a3f32fe0cf9364fbb155cff262a" + integrity sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-classes@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz#90818efc5b9746879b869d5ce83eb2aa48bbc3da" - integrity sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g== +"@babel/plugin-transform-classes@^7.20.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz#f438216f094f6bb31dc266ebfab8ff05aecad073" + integrity sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-compilation-targets" "^7.20.7" "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-replace-supers" "^7.20.7" "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" - integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" + integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/template" "^7.20.7" -"@babel/plugin-transform-destructuring@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz#68906549c021cb231bee1db21d3b5b095f8ee292" - integrity sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA== +"@babel/plugin-transform-destructuring@^7.20.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz#8bda578f71620c7de7c93af590154ba331415454" + integrity sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-dotall-regex@^7.18.6": +"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== @@ -798,14 +627,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" - integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-duplicate-keys@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" @@ -851,35 +672,32 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-modules-amd@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz#8c91f8c5115d2202f277549848874027d7172d21" - integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg== +"@babel/plugin-transform-modules-amd@^7.19.6": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" + integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-modules-commonjs@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" - integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== +"@babel/plugin-transform-modules-commonjs@^7.19.6": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz#8cb23010869bf7669fd4b3098598b6b2be6dc607" + integrity sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw== dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-simple-access" "^7.20.2" -"@babel/plugin-transform-modules-systemjs@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz#545df284a7ac6a05125e3e405e536c5853099a06" - integrity sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A== +"@babel/plugin-transform-modules-systemjs@^7.19.6": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" + integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== dependencies: "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-validator-identifier" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-identifier" "^7.19.1" "@babel/plugin-transform-modules-umd@^7.18.6": version "7.18.6" @@ -889,13 +707,13 @@ "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz#c89bfbc7cc6805d692f3a49bc5fc1b630007246d" - integrity sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg== +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" + integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-regexp-features-plugin" "^7.20.5" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-new-target@^7.18.6": version "7.18.6" @@ -912,12 +730,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.18.8": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" - integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== +"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz#0ee349e9d1bc96e78e3b37a7af423a4078a7083f" + integrity sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-property-literals@^7.18.6": version "7.18.6" @@ -926,12 +744,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-react-constant-elements@^7.17.12": - version "7.18.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.12.tgz#edf3bec47eb98f14e84fa0af137fcc6aad8e0443" - integrity sha512-Q99U9/ttiu+LMnRU8psd23HhvwXmKWDQIpocm0JKaICcZHnw+mdQbHm6xnSy7dOl8I5PELakYtNBubNQlBXbZw== +"@babel/plugin-transform-react-constant-elements@^7.18.12": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.20.2.tgz#3f02c784e0b711970d7d8ccc96c4359d64e27ac7" + integrity sha512-KS/G8YI8uwMGKErLFOHS/ekhqdHhpEloxs43NecQHVgo2QuQSyJhGIY1fL8UGl9wy5ItVwwoUL4YxVqsplGq2g== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-react-display-name@^7.18.6": version "7.18.6" @@ -948,15 +766,15 @@ "@babel/plugin-transform-react-jsx" "^7.18.6" "@babel/plugin-transform-react-jsx@^7.18.6": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.10.tgz#ea47b2c4197102c196cbd10db9b3bb20daa820f1" - integrity sha512-gCy7Iikrpu3IZjYZolFE4M1Sm+nrh1/6za2Ewj77Z+XirT4TsbJcvOFOyF+fRPwU6AKKK136CZxx6L8AbSFG6A== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.7.tgz#025d85a1935fd7e19dfdcb1b1d4df34d4da484f7" + integrity sha512-Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-jsx" "^7.18.6" - "@babel/types" "^7.18.10" + "@babel/types" "^7.20.7" "@babel/plugin-transform-react-pure-annotations@^7.18.6": version "7.18.6" @@ -967,12 +785,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-regenerator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" - integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d" + integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - regenerator-transform "^0.15.0" + "@babel/helper-plugin-utils" "^7.20.2" + regenerator-transform "^0.15.1" "@babel/plugin-transform-reserved-words@^7.18.6": version "7.18.6" @@ -988,13 +806,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz#6ea7a6297740f381c540ac56caf75b05b74fb664" - integrity sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA== +"@babel/plugin-transform-spread@^7.19.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" + integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-transform-sticky-regex@^7.18.6": version "7.18.6" @@ -1018,13 +836,13 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-typescript@^7.18.6": - version "7.18.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.12.tgz#712e9a71b9e00fde9f8c0238e0cceee86ab2f8fd" - integrity sha512-2vjjam0cum0miPkenUbQswKowuxs/NjMwIKEq0zwegRxXk12C9YOF9STXnaUptITOtOJHKHpzvvWYOjbm6tc0w== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz#673f49499cd810ae32a1ea5f3f8fab370987e055" + integrity sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-typescript" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-typescript" "^7.20.0" "@babel/plugin-transform-unicode-escapes@^7.18.10": version "7.18.10" @@ -1041,18 +859,18 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/preset-env@^7.18.2": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.10.tgz#83b8dfe70d7eea1aae5a10635ab0a5fe60dfc0f4" - integrity sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA== +"@babel/preset-env@^7.19.4": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" + integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== dependencies: - "@babel/compat-data" "^7.18.8" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/compat-data" "^7.20.1" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.18.10" + "@babel/plugin-proposal-async-generator-functions" "^7.20.1" "@babel/plugin-proposal-class-properties" "^7.18.6" "@babel/plugin-proposal-class-static-block" "^7.18.6" "@babel/plugin-proposal-dynamic-import" "^7.18.6" @@ -1061,7 +879,7 @@ "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.18.9" + "@babel/plugin-proposal-object-rest-spread" "^7.20.2" "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" "@babel/plugin-proposal-optional-chaining" "^7.18.9" "@babel/plugin-proposal-private-methods" "^7.18.6" @@ -1072,7 +890,7 @@ "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.18.6" + "@babel/plugin-syntax-import-assertions" "^7.20.0" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" @@ -1085,10 +903,10 @@ "@babel/plugin-transform-arrow-functions" "^7.18.6" "@babel/plugin-transform-async-to-generator" "^7.18.6" "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.18.9" - "@babel/plugin-transform-classes" "^7.18.9" + "@babel/plugin-transform-block-scoping" "^7.20.2" + "@babel/plugin-transform-classes" "^7.20.2" "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.20.2" "@babel/plugin-transform-dotall-regex" "^7.18.6" "@babel/plugin-transform-duplicate-keys" "^7.18.9" "@babel/plugin-transform-exponentiation-operator" "^7.18.6" @@ -1096,30 +914,30 @@ "@babel/plugin-transform-function-name" "^7.18.9" "@babel/plugin-transform-literals" "^7.18.9" "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.18.6" - "@babel/plugin-transform-modules-commonjs" "^7.18.6" - "@babel/plugin-transform-modules-systemjs" "^7.18.9" + "@babel/plugin-transform-modules-amd" "^7.19.6" + "@babel/plugin-transform-modules-commonjs" "^7.19.6" + "@babel/plugin-transform-modules-systemjs" "^7.19.6" "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" "@babel/plugin-transform-new-target" "^7.18.6" "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.18.8" + "@babel/plugin-transform-parameters" "^7.20.1" "@babel/plugin-transform-property-literals" "^7.18.6" "@babel/plugin-transform-regenerator" "^7.18.6" "@babel/plugin-transform-reserved-words" "^7.18.6" "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.18.9" + "@babel/plugin-transform-spread" "^7.19.0" "@babel/plugin-transform-sticky-regex" "^7.18.6" "@babel/plugin-transform-template-literals" "^7.18.9" "@babel/plugin-transform-typeof-symbol" "^7.18.9" "@babel/plugin-transform-unicode-escapes" "^7.18.10" "@babel/plugin-transform-unicode-regex" "^7.18.6" "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.18.10" - babel-plugin-polyfill-corejs2 "^0.3.2" - babel-plugin-polyfill-corejs3 "^0.5.3" - babel-plugin-polyfill-regenerator "^0.4.0" - core-js-compat "^3.22.1" + "@babel/types" "^7.20.2" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + core-js-compat "^3.25.1" semver "^6.3.0" "@babel/preset-modules@^0.1.5": @@ -1133,7 +951,7 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.17.12": +"@babel/preset-react@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.18.6.tgz#979f76d6277048dc19094c217b507f3ad517dd2d" integrity sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg== @@ -1145,7 +963,7 @@ "@babel/plugin-transform-react-jsx-development" "^7.18.6" "@babel/plugin-transform-react-pure-annotations" "^7.18.6" -"@babel/preset-typescript@^7.17.12": +"@babel/preset-typescript@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz#ce64be3e63eddc44240c6358daefac17b3186399" integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== @@ -1155,92 +973,52 @@ "@babel/plugin-transform-typescript" "^7.18.6" "@babel/runtime-corejs3@^7.10.2": - version "7.18.3" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.18.3.tgz#52f0241a31e0ec61a6187530af6227c2846bd60c" - integrity sha512-l4ddFwrc9rnR+EJsHsh+TJ4A35YqQz/UqcjtlX2ov53hlJYG5CxtQmNZxyajwDVmCxwy++rtvGU5HazCK4W41Q== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz#a1e5ea3d758ba6beb715210142912e3f29981d84" + integrity sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg== dependencies: - core-js-pure "^3.20.2" - regenerator-runtime "^0.13.4" + core-js-pure "^3.25.1" + regenerator-runtime "^0.13.11" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.13.10", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": - version "7.18.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.3.tgz#c7b654b57f6f63cf7f8b418ac9ca04408c4579f4" - integrity sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" - integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== +"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.20.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" + integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== dependencies: - regenerator-runtime "^0.13.4" + regenerator-runtime "^0.13.11" -"@babel/template@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/template@^7.18.10", "@babel/template@^7.18.6": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== +"@babel/template@^7.18.10", "@babel/template@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" - -"@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.9.0": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.2.tgz#b77a52604b5cc836a9e1e08dca01cba67a12d2e8" - integrity sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.18.2" - "@babel/helper-environment-visitor" "^7.18.2" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.18.0" - "@babel/types" "^7.18.2" - debug "^4.1.0" - globals "^11.1.0" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" -"@babel/traverse@^7.18.10", "@babel/traverse@^7.18.11", "@babel/traverse@^7.18.9": - version "7.18.11" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.11.tgz#3d51f2afbd83ecf9912bcbb5c4d94e3d2ddaa16f" - integrity sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ== +"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.9.0": + version "7.20.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.10.tgz#2bf98239597fcec12f842756f186a9dde6d09230" + integrity sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.10" + "@babel/generator" "^7.20.7" "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.11" - "@babel/types" "^7.18.10" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.6.1", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6": - version "7.18.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354" - integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.10", "@babel/types@^7.18.4", "@babel/types@^7.18.6", "@babel/types@^7.18.9": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.10.tgz#4908e81b6b339ca7c6b7a555a5fc29446f26dde6" - integrity sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ== +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.6.1", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" + integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.18.6" + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" "@colors/colors@1.5.0": @@ -1248,186 +1026,201 @@ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@commitlint/cli@17.0.3": - version "17.0.3" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.0.3.tgz#50be9d9a8d79f6c47bfd2703638fe65215eb2526" - integrity sha512-oAo2vi5d8QZnAbtU5+0cR2j+A7PO8zuccux65R/EycwvsZrDVyW518FFrnJK2UQxbRtHFFIG+NjQ6vOiJV0Q8A== +"@commitlint/cli@17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.4.0.tgz#14a5f9b713a5b60ff1a0cfce66b0bb207954c1ad" + integrity sha512-SEY4sYe8yVlgxPP7X0wJb96DBAGBPsCsy6QbqJt/UECbIAjDeDV5xXBV4jnS7T/qMC10sk6Ub9kDhEX0VWvblw== dependencies: - "@commitlint/format" "^17.0.0" - "@commitlint/lint" "^17.0.3" - "@commitlint/load" "^17.0.3" - "@commitlint/read" "^17.0.0" - "@commitlint/types" "^17.0.0" + "@commitlint/format" "^17.4.0" + "@commitlint/lint" "^17.4.0" + "@commitlint/load" "^17.4.0" + "@commitlint/read" "^17.4.0" + "@commitlint/types" "^17.4.0" execa "^5.0.0" - lodash "^4.17.19" + lodash.isfunction "^3.0.9" resolve-from "5.0.0" resolve-global "1.0.0" yargs "^17.0.0" -"@commitlint/config-conventional@17.0.3": - version "17.0.3" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.0.3.tgz#61e937357ce63ea08a2017e58b918748fcf3abc5" - integrity sha512-HCnzTm5ATwwwzNVq5Y57poS0a1oOOcd5pc1MmBpLbGmSysc4i7F/++JuwtdFPu16sgM3H9J/j2zznRLOSGVO2A== +"@commitlint/config-conventional@17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.4.0.tgz#9188d793886d8a1c633834602f06a642dd16ed64" + integrity sha512-G4XBf45J4ZMspO4NwBFzY3g/1Kb+B42BcIxeikF8wucQxcyxcmhRdjeQpRpS1XEcBq5pdtEEQFipuB9IuiNFhw== dependencies: conventional-changelog-conventionalcommits "^5.0.0" -"@commitlint/config-validator@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.0.0.tgz#49ab09f3ca0ac3449e79ea389cb4942423162ac0" - integrity sha512-78IQjoZWR4kDHp/U5y17euEWzswJpPkA9TDL5F6oZZZaLIEreWzrDZD5PWtM8MsSRl/K2LDU/UrzYju2bKLMpA== +"@commitlint/config-validator@^17.1.0": + version "17.1.0" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.1.0.tgz#51d09ca53d7a0d19736abf34eb18a66efce0f97a" + integrity sha512-Q1rRRSU09ngrTgeTXHq6ePJs2KrI+axPTgkNYDWSJIuS1Op4w3J30vUfSXjwn5YEJHklK3fSqWNHmBhmTR7Vdg== dependencies: "@commitlint/types" "^17.0.0" - ajv "^6.12.6" + ajv "^8.11.0" -"@commitlint/config-validator@^17.0.3": - version "17.0.3" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.0.3.tgz#5d1ec17eece1f85a0d06c05d168a039b313eb5d7" - integrity sha512-3tLRPQJKapksGE7Kee9axv+9z5I2GDHitDH4q63q7NmNA0wkB+DAorJ0RHz2/K00Zb1/MVdHzhCga34FJvDihQ== +"@commitlint/config-validator@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.4.0.tgz#2cb229672a22476cf1f21bedbfcd788e5da5b54f" + integrity sha512-Sa/+8KNpDXz4zT4bVbz2fpFjvgkPO6u2V2fP4TKgt6FjmOw2z3eEX859vtfeaTav/ukBw0/0jr+5ZTZp9zCBhA== dependencies: - "@commitlint/types" "^17.0.0" + "@commitlint/types" "^17.4.0" ajv "^8.11.0" -"@commitlint/ensure@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-17.0.0.tgz#781ff5f8870cb98ce4496d5c71649a4cd122a0e0" - integrity sha512-M2hkJnNXvEni59S0QPOnqCKIK52G1XyXBGw51mvh7OXDudCmZ9tZiIPpU882p475Mhx48Ien1MbWjCP1zlyC0A== +"@commitlint/ensure@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-17.4.0.tgz#3de65768bfccb9956ec3a0ecd8a415421bf315e5" + integrity sha512-7oAxt25je0jeQ/E0O/M8L3ADb1Cvweu/5lc/kYF8g/kXatI0wxGE5La52onnAUAWeWlsuvBNar15WcrmDmr5Mw== dependencies: - "@commitlint/types" "^17.0.0" - lodash "^4.17.19" + "@commitlint/types" "^17.4.0" + lodash.camelcase "^4.3.0" + lodash.kebabcase "^4.1.1" + lodash.snakecase "^4.1.1" + lodash.startcase "^4.4.0" + lodash.upperfirst "^4.3.1" "@commitlint/execute-rule@^17.0.0": version "17.0.0" resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-17.0.0.tgz#186e9261fd36733922ae617497888c4bdb6e5c92" integrity sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ== -"@commitlint/format@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-17.0.0.tgz#2c991ac0df3955fe5d7d4d733967bd17e6cfd9e0" - integrity sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA== +"@commitlint/execute-rule@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz#4518e77958893d0a5835babe65bf87e2638f6939" + integrity sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA== + +"@commitlint/format@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-17.4.0.tgz#1c80cf3a6274ff9b3d3c0dd150a97882d557aa0f" + integrity sha512-Z2bWAU5+f1YZh9W76c84J8iLIWIvvm+mzqogTz0Nsc1x6EHW0Z2gI38g5HAjB0r0I3ZjR15IDEJKhsxyblcyhA== dependencies: - "@commitlint/types" "^17.0.0" + "@commitlint/types" "^17.4.0" chalk "^4.1.0" -"@commitlint/is-ignored@^17.0.3": - version "17.0.3" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.0.3.tgz#0e1c725c1e50aea5852fb1260bc92b2ee1856425" - integrity sha512-/wgCXAvPtFTQZxsVxj7owLeRf5wwzcXLaYmrZPR4a87iD4sCvUIRl1/ogYrtOyUmHwWfQsvjqIB4mWE/SqWSnA== +"@commitlint/is-ignored@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.4.0.tgz#7c1f35db20c409783935b9305ad695f378287b31" + integrity sha512-mkRuBlPUaBimvSvJyIHEHEW1/jP1SqEI7NOoaO9/eyJkMbsaiv5b1QgDYL4ZXlHdS64RMV7Y21MVVzuIceImDA== dependencies: - "@commitlint/types" "^17.0.0" - semver "7.3.7" + "@commitlint/types" "^17.4.0" + semver "7.3.8" -"@commitlint/lint@^17.0.3": - version "17.0.3" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.0.3.tgz#98542a48f03b5c144309e24cbe1c032366ea75e2" - integrity sha512-2o1fk7JUdxBUgszyt41sHC/8Nd5PXNpkmuOo9jvGIjDHzOwXyV0PSdbEVTH3xGz9NEmjohFHr5l+N+T9fcxong== +"@commitlint/lint@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.4.0.tgz#ba3554692d8e156db04085caa75eab9d46908449" + integrity sha512-HG2YT4TUbQKs9v8QvpQjJ6OK+fhflsDB8M+D5tLrY79hbQOWA9mDKdRkABsW/AAhpNI9+zeGUWF3jj245jSHKw== dependencies: - "@commitlint/is-ignored" "^17.0.3" - "@commitlint/parse" "^17.0.0" - "@commitlint/rules" "^17.0.0" - "@commitlint/types" "^17.0.0" + "@commitlint/is-ignored" "^17.4.0" + "@commitlint/parse" "^17.4.0" + "@commitlint/rules" "^17.4.0" + "@commitlint/types" "^17.4.0" "@commitlint/load@>6.1.1": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.0.0.tgz#0bbefe6d8b99276714c5ea8ef32de2bd2f082698" - integrity sha512-XaiHF4yWQOPAI0O6wXvk+NYLtJn/Xb7jgZEeKd4C1ZWd7vR7u8z5h0PkWxSr0uLZGQsElGxv3fiZ32C5+q6M8w== + version "17.3.0" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.3.0.tgz#ebfec0198dd1627627e32a2b2ae4744d297599a8" + integrity sha512-u/pV6rCAJrCUN+HylBHLzZ4qj1Ew3+eN9GBPhNi9otGxtOfA8b+8nJSxaNbcC23Ins/kcpjGf9zPSVW7628Umw== dependencies: - "@commitlint/config-validator" "^17.0.0" + "@commitlint/config-validator" "^17.1.0" "@commitlint/execute-rule" "^17.0.0" - "@commitlint/resolve-extends" "^17.0.0" + "@commitlint/resolve-extends" "^17.3.0" "@commitlint/types" "^17.0.0" - "@types/node" ">=12" + "@types/node" "^14.0.0" chalk "^4.1.0" cosmiconfig "^7.0.0" - cosmiconfig-typescript-loader "^2.0.0" - lodash "^4.17.19" + cosmiconfig-typescript-loader "^4.0.0" + lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" + lodash.uniq "^4.5.0" resolve-from "^5.0.0" + ts-node "^10.8.1" typescript "^4.6.4" -"@commitlint/load@^17.0.3": - version "17.0.3" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.0.3.tgz#683aa484a5515714512e442f2f4b11f75e66097a" - integrity sha512-3Dhvr7GcKbKa/ey4QJ5MZH3+J7QFlARohUow6hftQyNjzoXXROm+RwpBes4dDFrXG1xDw9QPXA7uzrOShCd4bw== +"@commitlint/load@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.4.0.tgz#d0136d38f3d533e706340efbccc2fb38ebb97538" + integrity sha512-wDKNvAJqukqZqKmhRlf3KNo/12QGo1AQcd80EbV01SxtGvyHOsJ/g+/IbrZpopZv8rvzmEVktcpfDYH6ITepFA== dependencies: - "@commitlint/config-validator" "^17.0.3" - "@commitlint/execute-rule" "^17.0.0" - "@commitlint/resolve-extends" "^17.0.3" - "@commitlint/types" "^17.0.0" - "@types/node" ">=12" + "@commitlint/config-validator" "^17.4.0" + "@commitlint/execute-rule" "^17.4.0" + "@commitlint/resolve-extends" "^17.4.0" + "@commitlint/types" "^17.4.0" chalk "^4.1.0" - cosmiconfig "^7.0.0" - cosmiconfig-typescript-loader "^2.0.0" - lodash "^4.17.19" + cosmiconfig "^8.0.0" + cosmiconfig-typescript-loader "^4.0.0" + lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" + lodash.uniq "^4.5.0" resolve-from "^5.0.0" + ts-node "^10.8.1" typescript "^4.6.4" -"@commitlint/message@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-17.0.0.tgz#ae0f8ec6a3e5c8d369792a2c391952c7596cca73" - integrity sha512-LpcwYtN+lBlfZijHUdVr8aNFTVpHjuHI52BnfoV01TF7iSLnia0jttzpLkrLmI8HNQz6Vhr9UrxDWtKZiMGsBw== +"@commitlint/message@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-17.4.0.tgz#40779163d1cd7946b081077e1ef7f831baa577e5" + integrity sha512-USGJDU9PPxcgQjKXCzvPUal65KAhxWq3hp+MrU1pNCN2itWM654CLIoY2LMIQ7rScTli9B5dTLH3vXhzbItmzA== -"@commitlint/parse@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.0.0.tgz#6d508a1e2aec76f348a447994f26e9b749c02091" - integrity sha512-cKcpfTIQYDG1ywTIr5AG0RAiLBr1gudqEsmAGCTtj8ffDChbBRxm6xXs2nv7GvmJN7msOt7vOKleLvcMmRa1+A== +"@commitlint/parse@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.4.0.tgz#bb2a78dcad9abd12a53a9d50387a45c5b86afcff" + integrity sha512-x8opKc5p+Hgs+CrMbq3VAnW2L2foPAX6arW8u9c8nTzksldGgFsENT+XVyPmpSMLlVBswZ1tndcz1xyKiY9TJA== dependencies: - "@commitlint/types" "^17.0.0" + "@commitlint/types" "^17.4.0" conventional-changelog-angular "^5.0.11" conventional-commits-parser "^3.2.2" -"@commitlint/read@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.0.0.tgz#8ab01cf2f27350d8f81f21690962679a7cae5abf" - integrity sha512-zkuOdZayKX3J6F6mPnVMzohK3OBrsEdOByIqp4zQjA9VLw1hMsDEFQ18rKgUc2adkZar+4S01QrFreDCfZgbxA== +"@commitlint/read@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.4.0.tgz#946def0be19a2af8fd1d09cd7ad7f33b3c30b610" + integrity sha512-pGDeZpbkyvhxK8ZoCDUacPPRpauKPWF3n2XpDBEnuGreqUF2clq2PVJpwMMaNN5cHW8iFKCbcoOjXhD01sln0A== dependencies: - "@commitlint/top-level" "^17.0.0" - "@commitlint/types" "^17.0.0" - fs-extra "^10.0.0" + "@commitlint/top-level" "^17.4.0" + "@commitlint/types" "^17.4.0" + fs-extra "^11.0.0" git-raw-commits "^2.0.0" + minimist "^1.2.6" -"@commitlint/resolve-extends@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.0.0.tgz#3a40ee08184b984acf475ebc962641f435e3a639" - integrity sha512-wi60WiJmwaQ7lzMXK8Vbc18Hq9tE2j/6iv2AFfPUGV7fvfY6Sf1iNKuUHirSqR0fquUyufIXe4y/K9A6LVIIvw== +"@commitlint/resolve-extends@^17.3.0": + version "17.3.0" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.3.0.tgz#413a9ec393266d0673e6b9ec2f0974c358ed662d" + integrity sha512-Lf3JufJlc5yVEtJWC8o4IAZaB8FQAUaVlhlAHRACd0TTFizV2Lk2VH70et23KgvbQNf7kQzHs/2B4QZalBv6Cg== dependencies: - "@commitlint/config-validator" "^17.0.0" + "@commitlint/config-validator" "^17.1.0" "@commitlint/types" "^17.0.0" import-fresh "^3.0.0" - lodash "^4.17.19" + lodash.mergewith "^4.6.2" resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/resolve-extends@^17.0.3": - version "17.0.3" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.0.3.tgz#43b237899e2abd59d16af091521b888c8a071412" - integrity sha512-H/RFMvrcBeJCMdnVC4i8I94108UDccIHrTke2tyQEg9nXQnR5/Hd6MhyNWkREvcrxh9Y+33JLb+PiPiaBxCtBA== +"@commitlint/resolve-extends@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.4.0.tgz#9023da6c70c4ebd173b4b0995fe29f27051da2d3" + integrity sha512-3JsmwkrCzoK8sO22AzLBvNEvC1Pmdn/65RKXzEtQMy6oYMl0Snrq97a5bQQEFETF0VsvbtUuKttLqqgn99OXRQ== dependencies: - "@commitlint/config-validator" "^17.0.3" - "@commitlint/types" "^17.0.0" + "@commitlint/config-validator" "^17.4.0" + "@commitlint/types" "^17.4.0" import-fresh "^3.0.0" - lodash "^4.17.19" + lodash.mergewith "^4.6.2" resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/rules@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.0.0.tgz#4eecc5d28cabbc5f3f73838fb02592b551f9bf62" - integrity sha512-45nIy3dERKXWpnwX9HeBzK5SepHwlDxdGBfmedXhL30fmFCkJOdxHyOJsh0+B0RaVsLGT01NELpfzJUmtpDwdQ== +"@commitlint/rules@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.4.0.tgz#7814f9de38c10ba17b33dd16a05be8f181031538" + integrity sha512-lz3i1jet2NNjTWpAMwjjQjMZCPWBIHK1Kkja9o09UmUtMjRdALTb8uMLe8gCyeq3DiiZ5lLYOhbsoPK56xGQKA== dependencies: - "@commitlint/ensure" "^17.0.0" - "@commitlint/message" "^17.0.0" - "@commitlint/to-lines" "^17.0.0" - "@commitlint/types" "^17.0.0" + "@commitlint/ensure" "^17.4.0" + "@commitlint/message" "^17.4.0" + "@commitlint/to-lines" "^17.4.0" + "@commitlint/types" "^17.4.0" execa "^5.0.0" -"@commitlint/to-lines@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-17.0.0.tgz#5766895836b8085b099a098482f88a03f070b411" - integrity sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ== +"@commitlint/to-lines@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-17.4.0.tgz#9bd02e911e7d4eab3fb4a50376c4c6d331e10d8d" + integrity sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg== -"@commitlint/top-level@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-17.0.0.tgz#ebd0df4c703c026c2fbdc20fa746836334f4ed15" - integrity sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ== +"@commitlint/top-level@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-17.4.0.tgz#540cac8290044cf846fbdd99f5cc51e8ac5f27d6" + integrity sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g== dependencies: find-up "^5.0.0" @@ -1438,6 +1231,13 @@ dependencies: chalk "^4.1.0" +"@commitlint/types@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-17.4.0.tgz#c7c2b97b959f6175c164632bf26208ce417b3f31" + integrity sha512-2NjAnq5IcxY9kXtUeO2Ac0aPpvkuOmwbH/BxIm36XXK5LtWFObWJWjXOA+kcaABMrthjWu6la+FUpyYFMHRvbA== + dependencies: + chalk "^4.1.0" + "@cspotcode/source-map-support@^0.8.0": version "0.8.1" resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" @@ -1486,23 +1286,23 @@ enabled "2.0.x" kuler "^2.0.0" -"@emotion/babel-plugin@^11.7.1": - version "11.9.2" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.9.2.tgz#723b6d394c89fb2ef782229d92ba95a740576e95" - integrity sha512-Pr/7HGH6H6yKgnVFNEj2MVlreu3ADqftqjqwUvDy/OJzKFgxKeTQ+eeUf20FOTuHVkDON2iNa25rAXVYtWJCjw== - dependencies: - "@babel/helper-module-imports" "^7.12.13" - "@babel/plugin-syntax-jsx" "^7.12.13" - "@babel/runtime" "^7.13.10" - "@emotion/hash" "^0.8.0" - "@emotion/memoize" "^0.7.5" - "@emotion/serialize" "^1.0.2" - babel-plugin-macros "^2.6.1" +"@emotion/babel-plugin@^11.10.5": + version "11.10.5" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.10.5.tgz#65fa6e1790ddc9e23cc22658a4c5dea423c55c3c" + integrity sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/plugin-syntax-jsx" "^7.17.12" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.0" + "@emotion/memoize" "^0.8.0" + "@emotion/serialize" "^1.1.1" + babel-plugin-macros "^3.1.0" convert-source-map "^1.5.0" escape-string-regexp "^4.0.0" find-root "^1.1.0" source-map "^0.5.7" - stylis "4.0.13" + stylis "4.1.3" "@emotion/cache@^10.0.27": version "10.0.29" @@ -1514,16 +1314,16 @@ "@emotion/utils" "0.11.3" "@emotion/weak-memoize" "0.2.5" -"@emotion/cache@^11.4.0", "@emotion/cache@^11.7.1": - version "11.7.1" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.7.1.tgz#08d080e396a42e0037848214e8aa7bf879065539" - integrity sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A== +"@emotion/cache@^11.10.5", "@emotion/cache@^11.4.0": + version "11.10.5" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.10.5.tgz#c142da9351f94e47527ed458f7bbbbe40bb13c12" + integrity sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA== dependencies: - "@emotion/memoize" "^0.7.4" - "@emotion/sheet" "^1.1.0" - "@emotion/utils" "^1.0.0" - "@emotion/weak-memoize" "^0.2.5" - stylis "4.0.13" + "@emotion/memoize" "^0.8.0" + "@emotion/sheet" "^1.2.1" + "@emotion/utils" "^1.2.0" + "@emotion/weak-memoize" "^0.3.0" + stylis "4.1.3" "@emotion/core@^10.0.14": version "10.3.1" @@ -1546,32 +1346,38 @@ "@emotion/utils" "0.11.3" babel-plugin-emotion "^10.0.27" -"@emotion/hash@0.8.0", "@emotion/hash@^0.8.0": +"@emotion/hash@0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== +"@emotion/hash@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7" + integrity sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ== + "@emotion/memoize@0.7.4": version "0.7.4" resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== -"@emotion/memoize@^0.7.4", "@emotion/memoize@^0.7.5": - version "0.7.5" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.5.tgz#2c40f81449a4e554e9fc6396910ed4843ec2be50" - integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ== +"@emotion/memoize@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.0.tgz#f580f9beb67176fa57aae70b08ed510e1b18980f" + integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== "@emotion/react@^11.8.1": - version "11.9.0" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.9.0.tgz#b6d42b1db3bd7511e7a7c4151dc8bc82e14593b8" - integrity sha512-lBVSF5d0ceKtfKCDQJveNAtkC7ayxpVlgOohLgXqRwqWr9bOf4TZAFFyIcNngnV6xK6X4x2ZeXq7vliHkoVkxQ== - dependencies: - "@babel/runtime" "^7.13.10" - "@emotion/babel-plugin" "^11.7.1" - "@emotion/cache" "^11.7.1" - "@emotion/serialize" "^1.0.3" - "@emotion/utils" "^1.1.0" - "@emotion/weak-memoize" "^0.2.5" + version "11.10.5" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.5.tgz#95fff612a5de1efa9c0d535384d3cfa115fe175d" + integrity sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.10.5" + "@emotion/cache" "^11.10.5" + "@emotion/serialize" "^1.1.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" + "@emotion/utils" "^1.2.0" + "@emotion/weak-memoize" "^0.3.0" hoist-non-react-statics "^3.3.1" "@emotion/serialize@^0.11.15", "@emotion/serialize@^0.11.16": @@ -1585,15 +1391,15 @@ "@emotion/utils" "0.11.3" csstype "^2.5.7" -"@emotion/serialize@^1.0.2", "@emotion/serialize@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.0.3.tgz#99e2060c26c6292469fb30db41f4690e1c8fea63" - integrity sha512-2mSSvgLfyV3q+iVh3YWgNlUc2a9ZlDU7DjuP5MjK3AXRR0dYigCrP99aeFtaB2L/hjfEZdSThn5dsZ0ufqbvsA== +"@emotion/serialize@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.1.tgz#0595701b1902feded8a96d293b26be3f5c1a5cf0" + integrity sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA== dependencies: - "@emotion/hash" "^0.8.0" - "@emotion/memoize" "^0.7.4" - "@emotion/unitless" "^0.7.5" - "@emotion/utils" "^1.0.0" + "@emotion/hash" "^0.9.0" + "@emotion/memoize" "^0.8.0" + "@emotion/unitless" "^0.8.0" + "@emotion/utils" "^1.2.0" csstype "^3.0.2" "@emotion/sheet@0.9.4": @@ -1601,58 +1407,85 @@ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.4.tgz#894374bea39ec30f489bbfc3438192b9774d32e5" integrity sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA== -"@emotion/sheet@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.1.0.tgz#56d99c41f0a1cda2726a05aa6a20afd4c63e58d2" - integrity sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g== +"@emotion/sheet@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.1.tgz#0767e0305230e894897cadb6c8df2c51e61a6c2c" + integrity sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA== "@emotion/stylis@0.8.5": version "0.8.5" resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04" integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ== -"@emotion/unitless@0.7.5", "@emotion/unitless@^0.7.5": +"@emotion/unitless@0.7.5": version "0.7.5" resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== +"@emotion/unitless@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.0.tgz#a4a36e9cbdc6903737cd20d38033241e1b8833db" + integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw== + +"@emotion/use-insertion-effect-with-fallbacks@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz#ffadaec35dbb7885bd54de3fa267ab2f860294df" + integrity sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A== + "@emotion/utils@0.11.3": version "0.11.3" resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.3.tgz#a759863867befa7e583400d322652a3f44820924" integrity sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw== -"@emotion/utils@^1.0.0", "@emotion/utils@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.1.0.tgz#86b0b297f3f1a0f2bdb08eeac9a2f49afd40d0cf" - integrity sha512-iRLa/Y4Rs5H/f2nimczYmS5kFJEbpiVvgN3XVfZ022IYhuNA1IRSHEizcof88LtCTXtl9S2Cxt32KgaXEu72JQ== +"@emotion/utils@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.0.tgz#9716eaccbc6b5ded2ea5a90d65562609aab0f561" + integrity sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw== -"@emotion/weak-memoize@0.2.5", "@emotion/weak-memoize@^0.2.5": +"@emotion/weak-memoize@0.2.5": version "0.2.5" resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== -"@eslint/eslintrc@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" - integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw== +"@emotion/weak-memoize@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz#ea89004119dc42db2e1dba0f97d553f7372f6fcb" + integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg== + +"@eslint/eslintrc@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" + integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.3.2" - globals "^13.15.0" + espree "^9.4.0" + globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@formatjs/ecma402-abstract@1.11.8": - version "1.11.8" - resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.8.tgz#f4015dfb6a837369d94c6ba82455c609e45bce20" - integrity sha512-fgLqyWlwmTEuqV/TSLEL/t9JOmHNLFvCdgzXB0jc2w+WOItPCOJ1T0eyN6fQBQKRPfSqqNlu+kWj7ijcOVTVVQ== +"@floating-ui/core@^1.0.5": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.1.0.tgz#0a1dee4bbce87ff71602625d33f711cafd8afc08" + integrity sha512-zbsLwtnHo84w1Kc8rScAo5GMk1GdecSlrflIbfnEBJwvTSj1SL6kkOYV+nHraMCPEy+RNZZUaZyL8JosDGCtGQ== + +"@floating-ui/dom@^1.0.1": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.1.0.tgz#29fea1344fdef15b6ba270a733d20b7134fee5c2" + integrity sha512-TSogMPVxbRe77QCj1dt8NmRiJasPvuc+eT5jnJ6YpLqgOD2zXc5UA3S1qwybN+GVCDNdKfpKy1oj8RpzLJvh6A== + dependencies: + "@floating-ui/core" "^1.0.5" + +"@formatjs/ecma402-abstract@1.14.3": + version "1.14.3" + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz#6428f243538a11126180d121ce8d4b2f17465738" + integrity sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg== dependencies: - "@formatjs/intl-localematcher" "0.2.28" - tslib "2.4.0" + "@formatjs/intl-localematcher" "0.2.32" + tslib "^2.4.0" "@formatjs/ecma402-abstract@1.4.0": version "1.4.0" @@ -1668,70 +1501,70 @@ dependencies: tslib "^2.0.1" -"@formatjs/fast-memoize@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-1.2.4.tgz#4b5ddce9eb7803ff0bd4052387672151a8b7f8a0" - integrity sha512-9ARYoLR8AEzXvj2nYrOVHY/h1dDMDWGTnKDLXSISF1uoPakSmfcZuSqjiqZX2wRkEUimPxdwTu/agyozBtZRHA== +"@formatjs/fast-memoize@1.2.7": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-1.2.7.tgz#90d5de031fc80e0027b2d4e8a3197b0df4a94457" + integrity sha512-hPeM5LXUUjtCKPybWOUAWpv8lpja8Xz+uKprFPJcg5F2Rd+/bf1E0UUsLRpaAgOReAf5HMRtoIgv/UcyPICrTQ== dependencies: - tslib "2.4.0" + tslib "^2.4.0" -"@formatjs/icu-messageformat-parser@2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.4.tgz#f1e32b9937f151c1dd5c30536ce3e920b7f23813" - integrity sha512-3PqMvKWV1oyok0BuiXUAHIaotdhdTJw6OICqCZbfUgKT+ZRwRWO4IlCgvXJeCITaKS5p+PY0XXKjf/vUyIpWjQ== +"@formatjs/icu-messageformat-parser@2.1.14": + version "2.1.14" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.14.tgz#d7bc8c82bfce1eb8e3232e6d7e3d6ea92ba390cc" + integrity sha512-0KqeVOb72losEhUW+59vhZGGd14s1f35uThfEMVKZHKLEObvJdFTiI3ZQwvTMUCzLEMxnS6mtnYPmG4mTvwd3Q== dependencies: - "@formatjs/ecma402-abstract" "1.11.8" - "@formatjs/icu-skeleton-parser" "1.3.10" - tslib "2.4.0" + "@formatjs/ecma402-abstract" "1.14.3" + "@formatjs/icu-skeleton-parser" "1.3.18" + tslib "^2.4.0" -"@formatjs/icu-skeleton-parser@1.3.10": - version "1.3.10" - resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.10.tgz#2f504e56ac80137ee2baad55c7fa0b5dc7f4e4df" - integrity sha512-kXJmtLDqFF5aLTf8IxdJXnhrIX1Qb4Qp3a9jqRecGDYfzOa9hMhi9U0nKyhrJJ4cXxBzptcgb+LWkyeHL6nlBQ== +"@formatjs/icu-skeleton-parser@1.3.18": + version "1.3.18" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz#7aed3d60e718c8ad6b0e64820be44daa1e29eeeb" + integrity sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg== dependencies: - "@formatjs/ecma402-abstract" "1.11.8" - tslib "2.4.0" + "@formatjs/ecma402-abstract" "1.14.3" + tslib "^2.4.0" -"@formatjs/intl-displaynames@6.0.3": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@formatjs/intl-displaynames/-/intl-displaynames-6.0.3.tgz#e648a91bccd9fb21519090eaafece3be9d15f480" - integrity sha512-Mxh6W1VOlmiEvO/QPBrBQHlXrIn5VxjJWyyEI0V7ZHNGl0ee8AjSlq7vIJG8GodRJqGUuutF6N3OB/6qFv0YWg== +"@formatjs/intl-displaynames@6.2.3": + version "6.2.3" + resolved "https://registry.yarnpkg.com/@formatjs/intl-displaynames/-/intl-displaynames-6.2.3.tgz#65bc954fe891fdfe197268602f4d2d3ccd631cce" + integrity sha512-teB0L68MDGM8jEKQg55w7nvFjzeLHE6e3eK/04s+iuEVYYmvjjiHJKHrthKENzcJ0F6mHf/AwXrbX+1mKxT6AQ== dependencies: - "@formatjs/ecma402-abstract" "1.11.8" - "@formatjs/intl-localematcher" "0.2.28" - tslib "2.4.0" + "@formatjs/ecma402-abstract" "1.14.3" + "@formatjs/intl-localematcher" "0.2.32" + tslib "^2.4.0" -"@formatjs/intl-getcanonicallocales@2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@formatjs/intl-getcanonicallocales/-/intl-getcanonicallocales-2.0.2.tgz#e9fd5d2215ce0dba4d8611b37ac87c5fae60a1a7" - integrity sha512-nMkPblAjgK49ORueVhyuKJDXOCq8at2h9Xf0lqabBZylaX3xLEeuAW2eMXuwJ/ascYYQnwuxeukd/qlzDkuJzQ== +"@formatjs/intl-getcanonicallocales@2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@formatjs/intl-getcanonicallocales/-/intl-getcanonicallocales-2.0.5.tgz#d405cf5221f49531e62ecfde50acdfb62fcc4854" + integrity sha512-YOk+Fa5gpPq5bdpm8JDAY5bkfCkR+NENZKQbLHeqhm8JchHcclPwZ9FU48gYGg3CW6Wi/cTCOvmOrzsIhlkr0w== dependencies: - tslib "2.4.0" + tslib "^2.4.0" -"@formatjs/intl-listformat@7.0.3": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-7.0.3.tgz#8627969b77849559d148bc9536d0884c2271e6de" - integrity sha512-ampNLRGZl/08epHa3i5sRmcHGLneC6JrknexbbgnexYFNSmJ6AbL/dCzgrQzw2Efl+5AZK7UbNFxcDYY3RePvw== +"@formatjs/intl-listformat@7.1.7": + version "7.1.7" + resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-7.1.7.tgz#b46fec1038ef9ca062d1e7b9b3412c2a14dca18f" + integrity sha512-Zzf5ruPpfJnrAA2hGgf/6pMgQ3tx9oJVhpqycFDavHl3eEzrwdHddGqGdSNwhd0bB4NAFttZNQdmKDldc5iDZw== dependencies: - "@formatjs/ecma402-abstract" "1.11.8" - "@formatjs/intl-localematcher" "0.2.28" - tslib "2.4.0" + "@formatjs/ecma402-abstract" "1.14.3" + "@formatjs/intl-localematcher" "0.2.32" + tslib "^2.4.0" -"@formatjs/intl-locale@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@formatjs/intl-locale/-/intl-locale-3.0.3.tgz#ae112831c06209d1d7286b36e7b824a5e84ddd63" - integrity sha512-AZrh8z/GaR+4ogy9LR1lKouXwXWKRK4TDtwFv6SIFIJgF9SQ6l4gdJ1/k13susw6NMAQiKdtG9IdhEtKXsp+6w== +"@formatjs/intl-locale@3.0.11": + version "3.0.11" + resolved "https://registry.yarnpkg.com/@formatjs/intl-locale/-/intl-locale-3.0.11.tgz#6b3bee5692fab3c70a0ce9c642c2a2bec3700aa4" + integrity sha512-gLEX9kzebBjIVCkXMMN+VFMUV2aj0vhmrP+nke2muxUSJ3fLs/DJjlkv+s59rAL3nNaGdvphqKLhQsul0mmhAw== dependencies: - "@formatjs/ecma402-abstract" "1.11.8" - "@formatjs/intl-getcanonicallocales" "2.0.2" - tslib "2.4.0" + "@formatjs/ecma402-abstract" "1.14.3" + "@formatjs/intl-getcanonicallocales" "2.0.5" + tslib "^2.4.0" -"@formatjs/intl-localematcher@0.2.28": - version "0.2.28" - resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.2.28.tgz#412ea7fefbfc7ed33cd6b43aa304fc14d816e564" - integrity sha512-FLsc6Gifs1np/8HnCn/7Q+lHMmenrD5fuDhRT82yj0gi9O19kfaFwjQUw1gZsyILuRyT93GuzdifHj7TKRhBcw== +"@formatjs/intl-localematcher@0.2.32": + version "0.2.32" + resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz#00d4d307cd7d514b298e15a11a369b86c8933ec1" + integrity sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ== dependencies: - tslib "2.4.0" + tslib "^2.4.0" "@formatjs/intl-numberformat@^5.5.2": version "5.7.6" @@ -1741,14 +1574,14 @@ "@formatjs/ecma402-abstract" "1.4.0" tslib "^2.0.1" -"@formatjs/intl-pluralrules@5.0.3": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@formatjs/intl-pluralrules/-/intl-pluralrules-5.0.3.tgz#78d76da83470495e3e4d82df8cd6250578c1685c" - integrity sha512-av3ks022vDE1dbCUAqwYc8bnGRcAPKK6C7ZRINNjjQn43ZQVX1AXc7PY2RqO/GXzkixsSWfHFZjSgzzbhbd21A== +"@formatjs/intl-pluralrules@5.1.8": + version "5.1.8" + resolved "https://registry.yarnpkg.com/@formatjs/intl-pluralrules/-/intl-pluralrules-5.1.8.tgz#11eeca3cde088fd68d258a09b0791b327a8eb019" + integrity sha512-uevO916EWoeuueqeNzHjnUzpfWZzXFJibC/sEvPR/ZiZH5btWuOLeJLdb1To4nMH8ZJQlmAf8SDpFf+eWvz5lQ== dependencies: - "@formatjs/ecma402-abstract" "1.11.8" - "@formatjs/intl-localematcher" "0.2.28" - tslib "2.4.0" + "@formatjs/ecma402-abstract" "1.14.3" + "@formatjs/intl-localematcher" "0.2.32" + tslib "^2.4.0" "@formatjs/intl-utils@3.8.4": version "3.8.4" @@ -1757,18 +1590,18 @@ dependencies: emojis-list "^3.0.0" -"@formatjs/intl@2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-2.3.1.tgz#eccd6d03e4db18c256181f235b1d0a7f7aaebf5a" - integrity sha512-f06qZ/ukpeN24gc01qFjh3P+r3FU/ikY4yG+fDJu6dPNvpUQzDy98lYogA1dr6ig2UtrnoEk3xncyFPL1e9cZw== - dependencies: - "@formatjs/ecma402-abstract" "1.11.8" - "@formatjs/fast-memoize" "1.2.4" - "@formatjs/icu-messageformat-parser" "2.1.4" - "@formatjs/intl-displaynames" "6.0.3" - "@formatjs/intl-listformat" "7.0.3" - intl-messageformat "10.1.1" - tslib "2.4.0" +"@formatjs/intl@2.6.3": + version "2.6.3" + resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-2.6.3.tgz#7cedd184fb62d39174fbf62ee636b1b306524b7c" + integrity sha512-JaVZk14U/GypVfCZPevQ0KdruFkq16FXx7g398/Dm+YEx/W7sRiftbZeDy4wQ7WGryb45e763XycxD9o/vm9BA== + dependencies: + "@formatjs/ecma402-abstract" "1.14.3" + "@formatjs/fast-memoize" "1.2.7" + "@formatjs/icu-messageformat-parser" "2.1.14" + "@formatjs/intl-displaynames" "6.2.3" + "@formatjs/intl-listformat" "7.1.7" + intl-messageformat "10.2.5" + tslib "^2.4.0" "@formatjs/ts-transformer@2.13.0", "@formatjs/ts-transformer@^2.6.0": version "2.13.0" @@ -1779,18 +1612,18 @@ tslib "^2.0.1" typescript "^4.0" -"@formatjs/ts-transformer@3.9.9": - version "3.9.9" - resolved "https://registry.yarnpkg.com/@formatjs/ts-transformer/-/ts-transformer-3.9.9.tgz#4804e0560e1944407e9dc5f5ae568a329d5668e4" - integrity sha512-V5BDpn5XW1wWBkpDn5SFHRH4Ndf3oyjxmuqWMxe2EwOKkV4XJvzZI73k3p/Hut3Xg55AxBQQmkFK9hyeBJPyIg== +"@formatjs/ts-transformer@3.11.5": + version "3.11.5" + resolved "https://registry.yarnpkg.com/@formatjs/ts-transformer/-/ts-transformer-3.11.5.tgz#0502c0c38d4ad628efbef61f1c2e35b7ea37959e" + integrity sha512-cAmvKzgPqdetAr/RsxoXYhfNhMf5tERlXzJTsQw+j6tddPwIAbihACQx6KaajyJJ4aNssiziWNmcaHtjTqrrVw== dependencies: - "@formatjs/icu-messageformat-parser" "2.1.4" + "@formatjs/icu-messageformat-parser" "2.1.14" "@types/json-stable-stringify" "^1.0.32" "@types/node" "14 || 16 || 17" chalk "^4.0.0" json-stable-stringify "^1.0.1" - tslib "2.4.0" - typescript "^4.5" + tslib "^2.4.0" + typescript "^4.7" "@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3": version "1.1.3" @@ -1809,36 +1642,67 @@ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== -"@headlessui/react@0.0.0-insiders.b301f04": - version "0.0.0-insiders.b301f04" - resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-0.0.0-insiders.b301f04.tgz#12f209097f987cddbba72de40240a12648ebe12b" - integrity sha512-I+UUEUkdYp+AgKU1teWUZaICEg//OWl0R1UxCB50Jzfi3APu7aSY0Y+ABrgfEWDhBYTG9hNgXvMVTNCnFu49yA== +"@headlessui/react@1.7.7": + version "1.7.7" + resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.7.7.tgz#d6f8708d8943ae8ebb1a6929108234e4515ac7e8" + integrity sha512-BqDOd/tB9u2tA0T3Z0fn18ktw+KbVwMnkxxsGPIH2hzssrQhKB5n/6StZOyvLYP/FsYtvuXfi9I0YowKPv2c1w== + dependencies: + client-only "^0.0.1" -"@heroicons/react@1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@heroicons/react/-/react-1.0.6.tgz#35dd26987228b39ef2316db3b1245c42eb19e324" - integrity sha512-JJCXydOFWMDpCP4q13iEplA503MQO3xLoZiKum+955ZCtHINWnx26CUxVxxFQu/uLb4LW3ge15ZpzIkXKkJ8oQ== +"@heroicons/react@2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@heroicons/react/-/react-2.0.13.tgz#9b1cc54ff77d6625c9565efdce0054a4bcd9074c" + integrity sha512-iSN5XwmagrnirWlYEWNPdCDj9aRYVD/lnK3JlsC9/+fqGF80k8C7rl+1HCvBX0dBoagKqOFBs6fMhJJ1hOg1EQ== -"@humanwhocodes/config-array@^0.10.4": - version "0.10.4" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" - integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== +"@humanwhocodes/config-array@^0.11.8": + version "0.11.8" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" + integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" - minimatch "^3.0.4" + minimatch "^3.0.5" -"@humanwhocodes/gitignore-to-minimatch@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" - integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== "@humanwhocodes/object-schema@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@isaacs/string-locale-compare@^1.1.0": +"@internationalized/date@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@internationalized/date/-/date-3.0.2.tgz#1566a0bcbd82dce4dd54a5b26456bb701068cb89" + integrity sha512-9V1IxesP6ASZj/hYyOXOC4yPJvidbbStyWQKLCQSqhhKACMOXoo+BddXZJy47ju9mqOMpWdrJ2rTx4yTxK9oag== + dependencies: + "@swc/helpers" "^0.4.14" + +"@internationalized/message@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@internationalized/message/-/message-3.0.10.tgz#340dcfd14ace37234e09419427c991a0c466b96e" + integrity sha512-vfLqEop/NH68IgqMcXJNSDqZ5Leg3EEgCxhuuSefU7vvdbptD3pwpUWXaK9igYPa+aZfUU0eqv86yqm76obtsw== + dependencies: + "@swc/helpers" "^0.4.14" + intl-messageformat "^10.1.0" + +"@internationalized/number@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@internationalized/number/-/number-3.1.2.tgz#4482a6ac573acfb18efd354a42008af20da6c89c" + integrity sha512-Mbys8SGsn0ApXz3hJLNU+d95B8luoUbwnmCpBwl7d63UmYAlcT6TRDyvaS/vwdbElXLcsQJjQCu0gox2cv/Tig== + dependencies: + "@swc/helpers" "^0.4.14" + +"@internationalized/string@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@internationalized/string/-/string-3.0.1.tgz#2c70a81ae5eb84f156f40330369c2469bad6d504" + integrity sha512-2+rHfXZ56YgsC6i3fKvBue/xatnSm0Jv+C/x4+n3wg5xAcLh4LPW3GvZ/9ifxNAz9+IWplgZHa1FRIbSuUvNWg== + dependencies: + "@swc/helpers" "^0.4.14" + +"@isaacs/string-locale-compare@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== @@ -1851,15 +1715,6 @@ "@jridgewell/set-array" "^1.0.0" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/gen-mapping@^0.3.0": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz#cf92a983c83466b8c0ce9124fadeaf09f7c66ea9" - integrity sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - "@jridgewell/gen-mapping@^0.3.2": version "0.3.2" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" @@ -1869,25 +1724,20 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/resolve-uri@^3.0.3": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" - integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA== - -"@jridgewell/set-array@^1.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" - integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== +"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== -"@jridgewell/set-array@^1.0.1": +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.13" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" - integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== "@jridgewell/trace-mapping@0.3.9": version "0.3.9" @@ -1898,12 +1748,12 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping@^0.3.8", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.13" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" - integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== + version "0.3.17" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" "@jsdevtools/ono@7.1.3", "@jsdevtools/ono@^7.1.3": version "7.1.3" @@ -1936,10 +1786,10 @@ titleize "2" tlds "^1.230.0" -"@mapbox/node-pre-gyp@^1.0.0": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz#09a8781a3a036151cdebbe8719d6f8b25d4058bc" - integrity sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw== +"@mapbox/node-pre-gyp@^1.0.0", "@mapbox/node-pre-gyp@^1.0.10": + version "1.0.10" + resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz#8e6735ccebbb1581e5a7e652244cadc8a844d03c" + integrity sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA== dependencies: detect-libc "^2.0.0" https-proxy-agent "^5.0.0" @@ -1964,14 +1814,14 @@ safe-identifier "^0.4.1" "@messageformat/date-skeleton@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@messageformat/date-skeleton/-/date-skeleton-1.0.0.tgz#a3bc22f0943b7f2871980cf2d7aa870195f19b06" - integrity sha512-vvj5Sd3VyXUHGbYpiFsPsSQ8pkdUM9vrR/NUbyP6ga3UqJH4p9eCwzfwaCAZatZMYMTyiKG/8QbUyGKHeTZ5kw== + version "1.0.1" + resolved "https://registry.yarnpkg.com/@messageformat/date-skeleton/-/date-skeleton-1.0.1.tgz#980b8babe21a11433b6e1e8f6dc8c4cae4f5f56b" + integrity sha512-jPXy8fg+WMPIgmGjxSlnGJn68h/2InfT0TNSkVx0IGXgp4ynnvYkbZ51dGWmGySEK+pBiYUttbQdu5XEqX5CRg== "@messageformat/number-skeleton@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@messageformat/number-skeleton/-/number-skeleton-1.0.0.tgz#1864b8b65abbee57a02bc8ea67061aa132947af7" - integrity sha512-Pe1HX/VG0q7tclM/ri85I4FKYd7Uc3gluSZbRaK1+jcXdT9Biw2hLAKyMsiz2tM6zLiK1xX+K0NMDO4RIstQig== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@messageformat/number-skeleton/-/number-skeleton-1.1.0.tgz#eb636738da8abbd35ccbeb84f7d84d63302aeb61" + integrity sha512-F0Io+GOSvFFxvp9Ze3L5kAoZ2NnOAT0Mr/jpGNd3fqo8A0t4NxNIAcCdggtl2B/gN2ErkIKSBVPrF7xcW1IGvA== "@messageformat/parser@^5.0.0": version "5.0.0" @@ -1987,82 +1837,82 @@ dependencies: make-plural "^7.0.0" -"@next/env@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/env/-/env-12.2.5.tgz#d908c57b35262b94db3e431e869b72ac3e1ad3e3" - integrity sha512-vLPLV3cpPGjUPT3PjgRj7e3nio9t6USkuew3JE/jMeon/9Mvp1WyR18v3iwnCuX7eUAm1HmAbJHHLAbcu/EJcw== +"@next/env@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/env/-/env-12.3.4.tgz#c787837d36fcad75d72ff8df6b57482027d64a47" + integrity sha512-H/69Lc5Q02dq3o+dxxy5O/oNxFsZpdL6WREtOOtOM1B/weonIwDXkekr1KV5DPVPr12IHFPrMrcJQ6bgPMfn7A== -"@next/eslint-plugin-next@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.2.5.tgz#4f3acccd2ed4f9300fbf9fd480cc8a0b261889a8" - integrity sha512-VBjVbmqEzGiOTBq4+wpeVXt/KgknnGB6ahvC/AxiIGnN93/RCSyXhFRI4uSfftM2Ba3w7ZO7076bfKasZsA0fw== +"@next/eslint-plugin-next@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.3.4.tgz#e7dc00e2e89ed361f111d687b8534483ec15518b" + integrity sha512-BFwj8ykJY+zc1/jWANsDprDIu2MgwPOIKxNVnrKvPs+f5TPegrVnem8uScND+1veT4B7F6VeqgaNLFW1Hzl9Og== dependencies: glob "7.1.7" -"@next/swc-android-arm-eabi@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.2.5.tgz#903a5479ab4c2705d9c08d080907475f7bacf94d" - integrity sha512-cPWClKxGhgn2dLWnspW+7psl3MoLQUcNqJqOHk2BhNcou9ARDtC0IjQkKe5qcn9qg7I7U83Gp1yh2aesZfZJMA== - -"@next/swc-android-arm64@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.2.5.tgz#2f9a98ec4166c7860510963b31bda1f57a77c792" - integrity sha512-vMj0efliXmC5b7p+wfcQCX0AfU8IypjkzT64GiKJD9PgiA3IILNiGJr1fw2lyUDHkjeWx/5HMlMEpLnTsQslwg== - -"@next/swc-darwin-arm64@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.2.5.tgz#31b1c3c659d54be546120c488a1e1bad21c24a1d" - integrity sha512-VOPWbO5EFr6snla/WcxUKtvzGVShfs302TEMOtzYyWni6f9zuOetijJvVh9CCTzInnXAZMtHyNhefijA4HMYLg== - -"@next/swc-darwin-x64@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.2.5.tgz#2e44dd82b2b7fef88238d1bc4d3bead5884cedfd" - integrity sha512-5o8bTCgAmtYOgauO/Xd27vW52G2/m3i5PX7MUYePquxXAnX73AAtqA3WgPXBRitEB60plSKZgOTkcpqrsh546A== - -"@next/swc-freebsd-x64@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.2.5.tgz#e24e75d8c2581bfebc75e4f08f6ddbd116ce9dbd" - integrity sha512-yYUbyup1JnznMtEBRkK4LT56N0lfK5qNTzr6/DEyDw5TbFVwnuy2hhLBzwCBkScFVjpFdfiC6SQAX3FrAZzuuw== - -"@next/swc-linux-arm-gnueabihf@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.2.5.tgz#46d8c514d834d2b5f67086013f0bd5e3081e10b9" - integrity sha512-2ZE2/G921Acks7UopJZVMgKLdm4vN4U0yuzvAMJ6KBavPzqESA2yHJlm85TV/K9gIjKhSk5BVtauIUntFRP8cg== - -"@next/swc-linux-arm64-gnu@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.2.5.tgz#91f725ac217d3a1f4f9f53b553615ba582fd3d9f" - integrity sha512-/I6+PWVlz2wkTdWqhlSYYJ1pWWgUVva6SgX353oqTh8njNQp1SdFQuWDqk8LnM6ulheVfSsgkDzxrDaAQZnzjQ== - -"@next/swc-linux-arm64-musl@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.2.5.tgz#e627e8c867920995810250303cd9b8e963598383" - integrity sha512-LPQRelfX6asXyVr59p5sTpx5l+0yh2Vjp/R8Wi4X9pnqcayqT4CUJLiHqCvZuLin3IsFdisJL0rKHMoaZLRfmg== - -"@next/swc-linux-x64-gnu@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.2.5.tgz#83a5e224fbc4d119ef2e0f29d0d79c40cc43887e" - integrity sha512-0szyAo8jMCClkjNK0hknjhmAngUppoRekW6OAezbEYwHXN/VNtsXbfzgYOqjKWxEx3OoAzrT3jLwAF0HdX2MEw== - -"@next/swc-linux-x64-musl@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.2.5.tgz#be700d48471baac1ec2e9539396625584a317e95" - integrity sha512-zg/Y6oBar1yVnW6Il1I/08/2ukWtOG6s3acdJdEyIdsCzyQi4RLxbbhkD/EGQyhqBvd3QrC6ZXQEXighQUAZ0g== - -"@next/swc-win32-arm64-msvc@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.2.5.tgz#a93e958133ad3310373fda33a79aa10af2a0aa97" - integrity sha512-3/90DRNSqeeSRMMEhj4gHHQlLhhKg5SCCoYfE3kBjGpE63EfnblYUqsszGGZ9ekpKL/R4/SGB40iCQr8tR5Jiw== - -"@next/swc-win32-ia32-msvc@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.2.5.tgz#4f5f7ba0a98ff89a883625d4af0125baed8b2e19" - integrity sha512-hGLc0ZRAwnaPL4ulwpp4D2RxmkHQLuI8CFOEEHdzZpS63/hMVzv81g8jzYA0UXbb9pus/iTc3VRbVbAM03SRrw== - -"@next/swc-win32-x64-msvc@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.2.5.tgz#20fed129b04a0d3f632c6d0de135345bb623b1e4" - integrity sha512-7h5/ahY7NeaO2xygqVrSG/Y8Vs4cdjxIjowTZ5W6CKoTKn7tmnuxlUc2h74x06FKmbhAd9agOjr/AOKyxYYm9Q== +"@next/swc-android-arm-eabi@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.3.4.tgz#fd1c2dafe92066c6120761c6a39d19e666dc5dd0" + integrity sha512-cM42Cw6V4Bz/2+j/xIzO8nK/Q3Ly+VSlZJTa1vHzsocJRYz8KT6MrreXaci2++SIZCF1rVRCDgAg5PpqRibdIA== + +"@next/swc-android-arm64@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.3.4.tgz#11a146dae7b8bca007239b21c616e83f77b19ed4" + integrity sha512-5jf0dTBjL+rabWjGj3eghpLUxCukRhBcEJgwLedewEA/LJk2HyqCvGIwj5rH+iwmq1llCWbOky2dO3pVljrapg== + +"@next/swc-darwin-arm64@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.3.4.tgz#14ac8357010c95e67327f47082af9c9d75d5be79" + integrity sha512-DqsSTd3FRjQUR6ao0E1e2OlOcrF5br+uegcEGPVonKYJpcr0MJrtYmPxd4v5T6UCJZ+XzydF7eQo5wdGvSZAyA== + +"@next/swc-darwin-x64@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.3.4.tgz#e7dc63cd2ac26d15fb84d4d2997207fb9ba7da0f" + integrity sha512-PPF7tbWD4k0dJ2EcUSnOsaOJ5rhT3rlEt/3LhZUGiYNL8KvoqczFrETlUx0cUYaXe11dRA3F80Hpt727QIwByQ== + +"@next/swc-freebsd-x64@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.3.4.tgz#fe7ceec58746fdf03f1fcb37ec1331c28e76af93" + integrity sha512-KM9JXRXi/U2PUM928z7l4tnfQ9u8bTco/jb939pdFUHqc28V43Ohd31MmZD1QzEK4aFlMRaIBQOWQZh4D/E5lQ== + +"@next/swc-linux-arm-gnueabihf@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.3.4.tgz#d7016934d02bfc8bd69818ffb0ae364b77b17af7" + integrity sha512-3zqD3pO+z5CZyxtKDTnOJ2XgFFRUBciOox6EWkoZvJfc9zcidNAQxuwonUeNts6Xbm8Wtm5YGIRC0x+12YH7kw== + +"@next/swc-linux-arm64-gnu@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.3.4.tgz#43a7bc409b03487bff5beb99479cacdc7bd29af5" + integrity sha512-kiX0vgJGMZVv+oo1QuObaYulXNvdH/IINmvdZnVzMO/jic/B8EEIGlZ8Bgvw8LCjH3zNVPO3mGrdMvnEEPEhKA== + +"@next/swc-linux-arm64-musl@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.3.4.tgz#4d1db6de6dc982b974cd1c52937111e3e4a34bd3" + integrity sha512-EETZPa1juczrKLWk5okoW2hv7D7WvonU+Cf2CgsSoxgsYbUCZ1voOpL4JZTOb6IbKMDo6ja+SbY0vzXZBUMvkQ== + +"@next/swc-linux-x64-gnu@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.3.4.tgz#c3b414d77bab08b35f7dd8943d5586f0adb15e38" + integrity sha512-4csPbRbfZbuWOk3ATyWcvVFdD9/Rsdq5YHKvRuEni68OCLkfy4f+4I9OBpyK1SKJ00Cih16NJbHE+k+ljPPpag== + +"@next/swc-linux-x64-musl@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.3.4.tgz#187a883ec09eb2442a5ebf126826e19037313c61" + integrity sha512-YeBmI+63Ro75SUiL/QXEVXQ19T++58aI/IINOyhpsRL1LKdyfK/35iilraZEFz9bLQrwy1LYAR5lK200A9Gjbg== + +"@next/swc-win32-arm64-msvc@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.3.4.tgz#89befa84e453ed2ef9a888f375eba565a0fde80b" + integrity sha512-Sd0qFUJv8Tj0PukAYbCCDbmXcMkbIuhnTeHm9m4ZGjCf6kt7E/RMs55Pd3R5ePjOkN7dJEuxYBehawTR/aPDSQ== + +"@next/swc-win32-ia32-msvc@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.3.4.tgz#cb50c08f0e40ead63642a7f269f0c8254261f17c" + integrity sha512-rt/vv/vg/ZGGkrkKcuJ0LyliRdbskQU+91bje+PgoYmxTZf/tYs6IfbmgudBJk6gH3QnjHWbkphDdRQrseRefQ== + +"@next/swc-win32-x64-msvc@12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.3.4.tgz#d28ea15a72cdcf96201c60a43e9630cd7fda168f" + integrity sha512-DQ20JEfTBZAgF8QCjYfJhv2/279M6onxFjdG/+5B0Cyj00/EdBxiWb2eGGFgQhrBbNv/lsvzFbbi0Ptf8Vw/bg== "@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3": version "2.1.8-no-fsevents.3" @@ -2082,7 +1932,7 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3": +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -2090,10 +1940,10 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@npmcli/arborist@^5.0.0", "@npmcli/arborist@^5.0.4": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.2.0.tgz#ee40dfe1f81ae1524819ee39c8f3e7022b0d6269" - integrity sha512-zWV7scFGL0SmpvfQyIWnMFbU/0YgtMNyvJiJwR98kyjUSntJGWFFR0O600d5W+TrDcTg0GyDbY+HdzGEg+GXLg== +"@npmcli/arborist@^5.6.3": + version "5.6.3" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.6.3.tgz#40810080272e097b4a7a4f56108f4a31638a9874" + integrity sha512-/7hbqEM6YuRjwTcQXkK1+xKslEblY5kFQe0tZ7jKyMlIR6x4iOmhLErIkBBGtTKvYxRKdpcxnFXjCobg3UqmsA== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -2103,21 +1953,24 @@ "@npmcli/name-from-folder" "^1.0.1" "@npmcli/node-gyp" "^2.0.0" "@npmcli/package-json" "^2.0.0" - "@npmcli/run-script" "^3.0.0" - bin-links "^3.0.0" - cacache "^16.0.6" + "@npmcli/query" "^1.2.0" + "@npmcli/run-script" "^4.1.3" + bin-links "^3.0.3" + cacache "^16.1.3" common-ancestor-path "^1.0.1" + hosted-git-info "^5.2.1" json-parse-even-better-errors "^2.3.1" json-stringify-nice "^1.1.4" + minimatch "^5.1.0" mkdirp "^1.0.4" mkdirp-infer-owner "^2.0.0" - nopt "^5.0.0" + nopt "^6.0.0" npm-install-checks "^5.0.0" npm-package-arg "^9.0.0" - npm-pick-manifest "^7.0.0" + npm-pick-manifest "^7.0.2" npm-registry-fetch "^13.0.0" npmlog "^6.0.2" - pacote "^13.0.5" + pacote "^13.6.1" parse-conflict-json "^2.0.1" proc-log "^2.0.0" promise-all-reject-late "^1.0.0" @@ -2135,15 +1988,15 @@ resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-2.0.0.tgz#e63c91bcd4185ac1e85720a34fc48e164ece5b89" integrity sha512-8yQtQ9ArHh/TzdUDKQwEvwCgpDuhSWTDAbiKMl3854PcT+Dk4UmWaiawuFTLy9n5twzXOBXVflWe+90/ffXQrA== -"@npmcli/config@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-4.1.0.tgz#5c92e5ded2a44baf76b94926646329c3b39e79b8" - integrity sha512-cPQmIQ2Q0vuOfrenrA3isikdMFMAHgzlXV+EmvZ8f2JeJsU5xTU2bG7ipXECiMvPF9nM+QDnMLuIg8QLw9H4xg== +"@npmcli/config@^4.2.1": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-4.2.2.tgz#2e3334dda84f48d059309c53d152e66b05ca24b7" + integrity sha512-5GNcLd+0c4bYBnFop53+26CO5GQP0R9YcxlernohpHDWdIgzUg9I0+GEMk3sNHnLntATVU39d283A4OO+W402w== dependencies: "@npmcli/map-workspaces" "^2.0.2" ini "^3.0.0" mkdirp-infer-owner "^2.0.0" - nopt "^5.0.0" + nopt "^6.0.0" proc-log "^2.0.0" read-package-json-fast "^2.0.3" semver "^7.3.5" @@ -2164,18 +2017,18 @@ "@gar/promisify" "^1.0.1" semver "^7.3.5" -"@npmcli/fs@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.0.tgz#f2a21c28386e299d1a9fae8051d35ad180e33109" - integrity sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ== +"@npmcli/fs@^2.1.0", "@npmcli/fs@^2.1.1": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865" + integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== dependencies: "@gar/promisify" "^1.1.3" semver "^7.3.5" "@npmcli/git@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.1.tgz#049b99b1381a2ddf7dc56ba3e91eaf76ca803a8d" - integrity sha512-UU85F/T+F1oVn3IsB/L6k9zXIMpXBuUBE25QDH0SsURwT6IOBqkC7M16uqo2vVZIyji3X1K4XH9luip7YekH1A== + version "3.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.2.tgz#5c5de6b4d70474cf2d09af149ce42e4e1dacb931" + integrity sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w== dependencies: "@npmcli/promise-spawn" "^3.0.0" lru-cache "^7.4.4" @@ -2196,9 +2049,9 @@ npm-normalize-package-bin "^1.0.1" "@npmcli/map-workspaces@^2.0.2", "@npmcli/map-workspaces@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.3.tgz#2d3c75119ee53246e9aa75bc469a55281cd5f08f" - integrity sha512-X6suAun5QyupNM8iHkNPh0AHdRC2rb1W+MTdMvvA/2ixgmqZwlq5cGUBgmKHUHT2LgrkKJMAXbfAoTxOigpK8Q== + version "2.0.4" + resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz#9e5e8ab655215a262aefabf139782b894e0504fc" + integrity sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg== dependencies: "@npmcli/name-from-folder" "^1.0.1" glob "^8.0.1" @@ -2206,9 +2059,9 @@ read-package-json-fast "^2.0.3" "@npmcli/metavuln-calculator@^3.0.1": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.0.tgz#b1c2f0991c4f2d992b1615a54d4358c05efc3702" - integrity sha512-Q5fbQqGDlYqk7kWrbg6E2j/mtqQjZop0ZE6735wYA1tYNHguIDjAuWs+kFb5rJCkLIlXllfapvsyotYKiZOTBA== + version "3.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz#9359bd72b400f8353f6a28a25c8457b562602622" + integrity sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA== dependencies: cacache "^16.0.0" json-parse-even-better-errors "^2.3.1" @@ -2224,9 +2077,9 @@ rimraf "^3.0.2" "@npmcli/move-file@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.0.tgz#417f585016081a0184cef3e38902cd917a9bbd02" - integrity sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg== + version "2.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4" + integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== dependencies: mkdirp "^1.0.4" rimraf "^3.0.2" @@ -2255,212 +2108,1212 @@ dependencies: infer-owner "^1.0.4" -"@npmcli/run-script@^3.0.0", "@npmcli/run-script@^3.0.1": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.3.tgz#66afa6e0c4c3484056195f295fa6c1d1a45ddf58" - integrity sha512-ZXL6qgC5NjwfZJ2nET+ZSLEz/PJgJ/5CU90C2S66dZY4Jw73DasS4ZCXuy/KHWYP0imjJ4VtA+Gebb5BxxKp9Q== +"@npmcli/query@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-1.2.0.tgz#46468d583cf013aa92102970700f9555314aabe4" + integrity sha512-uWglsUM3PjBLgTSmZ3/vygeGdvWEIZ3wTUnzGFbprC/RtvQSaT+GAXu1DXmSFj2bD3oOZdcRm1xdzsV2z1YWdw== + dependencies: + npm-package-arg "^9.1.0" + postcss-selector-parser "^6.0.10" + semver "^7.3.7" + +"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3", "@npmcli/run-script@^4.2.0", "@npmcli/run-script@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.2.1.tgz#c07c5c71bc1c70a5f2a06b0d4da976641609b946" + integrity sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg== dependencies: "@npmcli/node-gyp" "^2.0.0" "@npmcli/promise-spawn" "^3.0.0" - node-gyp "^8.4.1" + node-gyp "^9.0.0" read-package-json-fast "^2.0.3" + which "^2.0.2" -"@octokit/auth-token@^2.4.4": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" - integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== +"@octokit/auth-token@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.2.tgz#a0fc8de149fd15876e1ac78f6525c1c5ab48435f" + integrity sha512-pq7CwIMV1kmzkFTimdwjAINCXKTajZErLB4wMLYapR2nuB/Jpr66+05wOTZMSCBXP6n4DdDWT2W19Bm17vU69Q== dependencies: - "@octokit/types" "^6.0.3" + "@octokit/types" "^8.0.0" -"@octokit/core@^3.5.1": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.6.0.tgz#3376cb9f3008d9b3d110370d90e0a1fcd5fe6085" - integrity sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q== - dependencies: - "@octokit/auth-token" "^2.4.4" - "@octokit/graphql" "^4.5.8" - "@octokit/request" "^5.6.3" - "@octokit/request-error" "^2.0.5" - "@octokit/types" "^6.0.3" +"@octokit/core@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.1.0.tgz#b6b03a478f1716de92b3f4ec4fd64d05ba5a9251" + integrity sha512-Czz/59VefU+kKDy+ZfDwtOIYIkFjExOKf+HA92aiTZJ6EfWpFzYQWw0l54ji8bVmyhc+mGaLUbSUmXazG7z5OQ== + dependencies: + "@octokit/auth-token" "^3.0.0" + "@octokit/graphql" "^5.0.0" + "@octokit/request" "^6.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^8.0.0" before-after-hook "^2.2.0" universal-user-agent "^6.0.0" -"@octokit/endpoint@^6.0.1": - version "6.0.12" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658" - integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== +"@octokit/endpoint@^7.0.0": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.3.tgz#0b96035673a9e3bedf8bab8f7335de424a2147ed" + integrity sha512-57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw== dependencies: - "@octokit/types" "^6.0.3" + "@octokit/types" "^8.0.0" is-plain-object "^5.0.0" universal-user-agent "^6.0.0" -"@octokit/graphql@^4.5.8": - version "4.8.0" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.8.0.tgz#664d9b11c0e12112cbf78e10f49a05959aa22cc3" - integrity sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg== +"@octokit/graphql@^5.0.0": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.4.tgz#519dd5c05123868276f3ae4e50ad565ed7dff8c8" + integrity sha512-amO1M5QUQgYQo09aStR/XO7KAl13xpigcy/kI8/N1PnZYSS69fgte+xA4+c2DISKqUZfsh0wwjc2FaCt99L41A== dependencies: - "@octokit/request" "^5.6.0" - "@octokit/types" "^6.0.3" + "@octokit/request" "^6.0.0" + "@octokit/types" "^8.0.0" universal-user-agent "^6.0.0" -"@octokit/openapi-types@^11.2.0": - version "11.2.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-11.2.0.tgz#b38d7fc3736d52a1e96b230c1ccd4a58a2f400a6" - integrity sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA== +"@octokit/openapi-types@^14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-14.0.0.tgz#949c5019028c93f189abbc2fb42f333290f7134a" + integrity sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw== -"@octokit/plugin-paginate-rest@^2.16.8": - version "2.17.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz#32e9c7cab2a374421d3d0de239102287d791bce7" - integrity sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw== +"@octokit/plugin-paginate-rest@^5.0.0": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-5.0.1.tgz#93d7e74f1f69d68ba554fa6b888c2a9cf1f99a83" + integrity sha512-7A+rEkS70pH36Z6JivSlR7Zqepz3KVucEFVDnSrgHXzG7WLAzYwcHZbKdfTXHwuTHbkT1vKvz7dHl1+HNf6Qyw== dependencies: - "@octokit/types" "^6.34.0" + "@octokit/types" "^8.0.0" "@octokit/plugin-request-log@^1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== -"@octokit/plugin-rest-endpoint-methods@^5.12.0": - version "5.13.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz#8c46109021a3412233f6f50d28786f8e552427ba" - integrity sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA== +"@octokit/plugin-rest-endpoint-methods@^6.7.0": + version "6.7.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.7.0.tgz#2f6f17f25b6babbc8b41d2bb0a95a8839672ce7c" + integrity sha512-orxQ0fAHA7IpYhG2flD2AygztPlGYNAdlzYz8yrD8NDgelPfOYoRPROfEyIe035PlxvbYrgkfUZIhSBKju/Cvw== dependencies: - "@octokit/types" "^6.34.0" + "@octokit/types" "^8.0.0" deprecation "^2.3.1" -"@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" - integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== +"@octokit/request-error@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-3.0.2.tgz#f74c0f163d19463b87528efe877216c41d6deb0a" + integrity sha512-WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg== dependencies: - "@octokit/types" "^6.0.3" + "@octokit/types" "^8.0.0" deprecation "^2.0.0" once "^1.4.0" -"@octokit/request@^5.6.0", "@octokit/request@^5.6.3": - version "5.6.3" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0" - integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== +"@octokit/request@^6.0.0": + version "6.2.2" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-6.2.2.tgz#a2ba5ac22bddd5dcb3f539b618faa05115c5a255" + integrity sha512-6VDqgj0HMc2FUX2awIs+sM6OwLgwHvAi4KCK3mT2H2IKRt6oH9d0fej5LluF5mck1lRR/rFWN0YIDSYXYSylbw== dependencies: - "@octokit/endpoint" "^6.0.1" - "@octokit/request-error" "^2.1.0" - "@octokit/types" "^6.16.1" + "@octokit/endpoint" "^7.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^8.0.0" is-plain-object "^5.0.0" node-fetch "^2.6.7" universal-user-agent "^6.0.0" -"@octokit/rest@^18.0.0": - version "18.12.0" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.12.0.tgz#f06bc4952fc87130308d810ca9d00e79f6988881" - integrity sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q== +"@octokit/rest@^19.0.0": + version "19.0.5" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-19.0.5.tgz#4dbde8ae69b27dca04b5f1d8119d282575818f6c" + integrity sha512-+4qdrUFq2lk7Va+Qff3ofREQWGBeoTKNqlJO+FGjFP35ZahP+nBenhZiGdu8USSgmq4Ky3IJ/i4u0xbLqHaeow== dependencies: - "@octokit/core" "^3.5.1" - "@octokit/plugin-paginate-rest" "^2.16.8" + "@octokit/core" "^4.1.0" + "@octokit/plugin-paginate-rest" "^5.0.0" "@octokit/plugin-request-log" "^1.0.4" - "@octokit/plugin-rest-endpoint-methods" "^5.12.0" + "@octokit/plugin-rest-endpoint-methods" "^6.7.0" -"@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.34.0": - version "6.34.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.34.0.tgz#c6021333334d1ecfb5d370a8798162ddf1ae8218" - integrity sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw== +"@octokit/types@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-8.0.0.tgz#93f0b865786c4153f0f6924da067fe0bb7426a9f" + integrity sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg== dependencies: - "@octokit/openapi-types" "^11.2.0" + "@octokit/openapi-types" "^14.0.0" "@popperjs/core@^2.11.5": version "2.11.6" resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45" integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== -"@react-spring/animated@~9.5.2": - version "9.5.2" - resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.5.2.tgz#42785b4f369d9715e9ee32c04b78483e7bb85489" - integrity sha512-oRlX+MmYLbK8IuUZR7SQUnRjXxJ4PMIZeBkBd1SUWVgVJAHMTfJzPltzm+I6p59qX+qLlklYHfnWaonQKDqLuQ== - dependencies: - "@react-spring/shared" "~9.5.2" - "@react-spring/types" "~9.5.2" - -"@react-spring/core@~9.5.2": - version "9.5.2" - resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.5.2.tgz#c8450783ce87a82d3f9ab21e2650e42922398ff7" - integrity sha512-UMRtFH6EfebMp/NMDGCUY5+hZFXsg9iT9hzt/iPzJSz2WMXKBjLoFZHJXcmiVOrIhzHmg1O0pFECn1Wp6pZ5Gw== - dependencies: - "@react-spring/animated" "~9.5.2" - "@react-spring/rafz" "~9.5.2" - "@react-spring/shared" "~9.5.2" - "@react-spring/types" "~9.5.2" - -"@react-spring/konva@~9.5.2": - version "9.5.2" - resolved "https://registry.yarnpkg.com/@react-spring/konva/-/konva-9.5.2.tgz#cbc7c75c55c7946481f86c7392a6656bb5b1bf4a" - integrity sha512-FN8LpbGQtm2pllU9mOyYjYwvLtA9EiIPWk2NVuhhX+5lJZrdCWuEY7EyFpK8PtgZXBdVj8bj7eIu1LlTnARW/A== - dependencies: - "@react-spring/animated" "~9.5.2" - "@react-spring/core" "~9.5.2" - "@react-spring/shared" "~9.5.2" - "@react-spring/types" "~9.5.2" - -"@react-spring/native@~9.5.2": - version "9.5.2" - resolved "https://registry.yarnpkg.com/@react-spring/native/-/native-9.5.2.tgz#218fa228a746cb2f535ea59b317d2e99cdfed02d" - integrity sha512-G9BCAKVADLweLR43uyMnTrOnYDb4BboYvqKY+0X1fLs45PNrfbBXnSLot4g+5x3HjblypJgNq7CjHlqZKI980g== - dependencies: - "@react-spring/animated" "~9.5.2" - "@react-spring/core" "~9.5.2" - "@react-spring/shared" "~9.5.2" - "@react-spring/types" "~9.5.2" - -"@react-spring/rafz@~9.5.2": - version "9.5.2" - resolved "https://registry.yarnpkg.com/@react-spring/rafz/-/rafz-9.5.2.tgz#1264d5df09717cf46d55055da2c55ff84f59073f" - integrity sha512-xHSRXKKBI/wDUkZGrspkOm4VlgN6lZi8Tw9Jzibp9QKf3neoof+U2mDNgklvnLaasymtUwAq9o4ZfFvQIVNgPQ== - -"@react-spring/shared@~9.5.2": - version "9.5.2" - resolved "https://registry.yarnpkg.com/@react-spring/shared/-/shared-9.5.2.tgz#e0a252e06daa3927964460fef05d8092e7d78ffc" - integrity sha512-/OSf2sjwY4BUnjZL6xMC+H3WxOOhMUCk+yZwgdj40XuyUpk6E6tYyiPeD9Yq5GLsZHodkvE1syVMRVReL4ndAg== - dependencies: - "@react-spring/rafz" "~9.5.2" - "@react-spring/types" "~9.5.2" - -"@react-spring/three@~9.5.2": - version "9.5.2" - resolved "https://registry.yarnpkg.com/@react-spring/three/-/three-9.5.2.tgz#965ff4e729929ebbb9a1f8e84f3f4acb6acec4f9" - integrity sha512-3H7Lv8BJZ3dajh0yJA3m9rEbqz5ZNrTCAkhVOeLqgvBlcWU5qVs4luYA1Z7H4vZnLqVtzv+kHAyg3XIpuTOXhQ== - dependencies: - "@react-spring/animated" "~9.5.2" - "@react-spring/core" "~9.5.2" - "@react-spring/shared" "~9.5.2" - "@react-spring/types" "~9.5.2" - -"@react-spring/types@~9.5.2": - version "9.5.2" - resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.5.2.tgz#cce1b03afbafb23edfb9cd8c517cc7462abffb65" - integrity sha512-n/wBRSHPqTmEd4BFWY6TeR1o/UY+3ujoqMxLjqy90CcY/ozJzDRuREL3c+pxMeTF2+B7dX33dTPCtFMX51nbxg== - -"@react-spring/web@~9.5.2": - version "9.5.2" - resolved "https://registry.yarnpkg.com/@react-spring/web/-/web-9.5.2.tgz#762ee6b3c8fea40281e1298f5cf1c0515ad6a794" - integrity sha512-cusTjbOGTgtbsnpBDjb6Ia+B0lQLE0Fk5rGDog6Sww7hWnLIQ521PMiOBnAWtkntB9eXDUfj7L91nwJviEC0lw== - dependencies: - "@react-spring/animated" "~9.5.2" - "@react-spring/core" "~9.5.2" - "@react-spring/shared" "~9.5.2" - "@react-spring/types" "~9.5.2" - -"@react-spring/zdog@~9.5.2": - version "9.5.2" - resolved "https://registry.yarnpkg.com/@react-spring/zdog/-/zdog-9.5.2.tgz#a3e451378c23caa4381b5821d3d52c3017740c55" - integrity sha512-zUX8RzX8gM51g8NJ5Qaf15KNKQgN3qN/8m5FvqmiqZ5ZGqjoHkbCoMD3o2MICTUN1l+d4eUu9TYrmiO2bgJo/g== - dependencies: - "@react-spring/animated" "~9.5.2" - "@react-spring/core" "~9.5.2" - "@react-spring/shared" "~9.5.2" - "@react-spring/types" "~9.5.2" +"@react-aria/breadcrumbs@^3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@react-aria/breadcrumbs/-/breadcrumbs-3.4.1.tgz#f0fc1353bf402cac2d2312d7de60f545366e1413" + integrity sha512-3dotDXcXX5IbES9tS9gK5m/2inlZH1ZESi61aBUoD/kQbUcf4CJ3TniVqzBKjNqQN8yIBH/LjwkAoGmuvtPVRQ== + dependencies: + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/link" "^3.3.6" + "@react-aria/utils" "^3.14.2" + "@react-types/breadcrumbs" "^3.4.6" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/button@^3.6.4": + version "3.6.4" + resolved "https://registry.yarnpkg.com/@react-aria/button/-/button-3.6.4.tgz#51927c9d968d0c1f741ee2081ca7f2e244abbc12" + integrity sha512-OEs5fNGiuZzyC5y0cNl96+6pRf/3ZhI1i2m6LlRYhJLsWXPhHt21UHEnlSchE/XGtgKojJEeTsXottoBFTBi5w== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/interactions" "^3.13.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/toggle" "^3.4.4" + "@react-types/button" "^3.7.0" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/calendar@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@react-aria/calendar/-/calendar-3.0.5.tgz#78b4138688d325a3c3f8dc0be3e45291b3e8670b" + integrity sha512-RIOwGYIwMizN/MAF5RkTb2ic9OJ0rJyR2VqqgtV3c7ADHNejzyLYMQmaalEFDUHS+AbvaXM1LCXdFBhSB8nf5w== + dependencies: + "@internationalized/date" "^3.0.2" + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/live-announcer" "^3.1.2" + "@react-aria/utils" "^3.14.2" + "@react-stately/calendar" "^3.0.5" + "@react-types/button" "^3.7.0" + "@react-types/calendar" "^3.0.5" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/checkbox@^3.7.1": + version "3.7.1" + resolved "https://registry.yarnpkg.com/@react-aria/checkbox/-/checkbox-3.7.1.tgz#217ea3173ad37ae85cb39bcb9932eb5c1cde2e0b" + integrity sha512-3KRg/KrTRwQdw5Yg7gpbIKWWVt57PbGSEXAS/diQvRf9pTXbOuChTES8uVlcwF8q+3mKXc4ppzE3gsNQ5jOMqg== + dependencies: + "@react-aria/label" "^3.4.4" + "@react-aria/toggle" "^3.4.2" + "@react-aria/utils" "^3.14.2" + "@react-stately/checkbox" "^3.3.2" + "@react-stately/toggle" "^3.4.4" + "@react-types/checkbox" "^3.4.1" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/combobox@^3.4.4": + version "3.4.4" + resolved "https://registry.yarnpkg.com/@react-aria/combobox/-/combobox-3.4.4.tgz#0a968bfefedc9106e4b098ea84707f6da93dfc83" + integrity sha512-aviSDt4JkYZC1Ww83gvrNB4cHetXu73n5NuEfMNBC3B6fiL0MP5Av5+lMgf8FzpQks39QkZNxBtQ/h4I3D7SBA== + dependencies: + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/listbox" "^3.7.2" + "@react-aria/live-announcer" "^3.1.2" + "@react-aria/menu" "^3.7.1" + "@react-aria/overlays" "^3.12.1" + "@react-aria/selection" "^3.12.1" + "@react-aria/textfield" "^3.8.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/collections" "^3.5.1" + "@react-stately/combobox" "^3.3.1" + "@react-stately/layout" "^3.10.0" + "@react-types/button" "^3.7.0" + "@react-types/combobox" "^3.5.5" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/datepicker@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@react-aria/datepicker/-/datepicker-3.2.1.tgz#56a222c4b1c9c65b9b9371d3066611134f537ab7" + integrity sha512-NnW9VgX/YjxkgjcIaxmOhzpfiQmTQpCXjpPJ1+3nPhKzPKpcjtPxIYTDMkm/R+6i5FRukEGtjhg3QY9amLK6hQ== + dependencies: + "@internationalized/date" "^3.0.2" + "@internationalized/number" "^3.1.2" + "@internationalized/string" "^3.0.1" + "@react-aria/focus" "^3.10.1" + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/label" "^3.4.4" + "@react-aria/spinbutton" "^3.2.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/datepicker" "^3.2.1" + "@react-types/button" "^3.7.0" + "@react-types/calendar" "^3.0.5" + "@react-types/datepicker" "^3.1.4" + "@react-types/dialog" "^3.4.5" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/dialog@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@react-aria/dialog/-/dialog-3.4.2.tgz#b35f13e47d5d7d5363c7089d5d847069815bb5ea" + integrity sha512-Z6YZYXtwwmC5ZHjJldF3zuTjHnli7fXe/sM1ts3bw6jvU2L0kzhV/DRbPXYg8h695Oj9t+OIi4qxjEyKVH7SEA== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/overlays" "^3.12.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/overlays" "^3.4.4" + "@react-types/dialog" "^3.4.5" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/dnd@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@react-aria/dnd/-/dnd-3.0.1.tgz#6e601873bde4173578ce63ba6bcfb78abf3bba59" + integrity sha512-z/T59Jc+6mj3OMcLjfA6MYd0zD6K3DYw+kB2CZ0EPte7BRN8wtU4+q/bx1iX+If97X6bTcHjMGX6nrQJ5vX/fw== + dependencies: + "@internationalized/string" "^3.0.1" + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/live-announcer" "^3.1.2" + "@react-aria/overlays" "^3.12.1" + "@react-aria/utils" "^3.14.2" + "@react-aria/visually-hidden" "^3.6.1" + "@react-stately/dnd" "^3.0.1" + "@react-types/button" "^3.7.0" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/focus@^3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.10.1.tgz#624d02d2565151030a4156aeb17685d87f18ad58" + integrity sha512-HjgFUC1CznuYC7CxtBIFML6bOBxW3M3cSNtvmXU9QWlrPSwwOLkXCnfY6+UkjCc5huP4v7co4PoRDX8Vbe/cVQ== + dependencies: + "@react-aria/interactions" "^3.13.1" + "@react-aria/utils" "^3.14.2" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + clsx "^1.1.1" + +"@react-aria/grid@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@react-aria/grid/-/grid-3.5.2.tgz#17454be19d4f53bde27fc4b676fa02dae4f3a85d" + integrity sha512-+cDtTvTT0YF4jgy1pv0omcweub6z1N+GdkpHC6L6/jtH2gFRVns3IC6pf5ihLDIpLloylthaMMR8C3lus7035g== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/live-announcer" "^3.1.2" + "@react-aria/selection" "^3.12.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/grid" "^3.4.2" + "@react-stately/selection" "^3.11.2" + "@react-stately/virtualizer" "^3.4.1" + "@react-types/checkbox" "^3.4.1" + "@react-types/grid" "^3.1.5" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/gridlist@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@react-aria/gridlist/-/gridlist-3.1.2.tgz#ffb7bc5e4e15e3bacdf036e4762f1eea0e6292f7" + integrity sha512-3HI/e8HzyBRWdEbDH+3Hvj9U5fD/1TYaqA0f4XnBdSEDd7LHPOzZyNzbZMdlMmaq2W0Dmm1YRCMELacFVUehUA== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/grid" "^3.5.2" + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/selection" "^3.12.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/list" "^3.6.1" + "@react-types/checkbox" "^3.4.1" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/i18n@^3.6.3": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@react-aria/i18n/-/i18n-3.6.3.tgz#2b4d72d0baf07b514d2c35eb6ac356d0247ea84a" + integrity sha512-cDWl8FXJIXsw/raWcThywBueCJ5ncoogq81wYVS6hfZVmSyncONIB3bwUL12cojmjX1VEP31sN0ujT/83QP95Q== + dependencies: + "@internationalized/date" "^3.0.2" + "@internationalized/message" "^3.0.10" + "@internationalized/number" "^3.1.2" + "@internationalized/string" "^3.0.1" + "@react-aria/ssr" "^3.4.1" + "@react-aria/utils" "^3.14.2" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/interactions@^3.13.1": + version "3.13.1" + resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.13.1.tgz#75e102c50a5c1d002cad4ee8d59677aee226186b" + integrity sha512-WCvfZOi1hhussVTHxVq76OR48ry13Zvp9U5hmuQufyxIUlf4hOvDk4/cbK4o4JiCs8X7C7SRzcwFM34M4NHzmg== + dependencies: + "@react-aria/utils" "^3.14.2" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/label@^3.4.4": + version "3.4.4" + resolved "https://registry.yarnpkg.com/@react-aria/label/-/label-3.4.4.tgz#b891d3cebeeffc7a1413a492d8a694083dc3253e" + integrity sha512-1fuYf2UctNhBy31uYN7OhdcrwzlB5GS0+C49gDkwWzccB7yr+CoOJ5UQUoVB7WBmzrc+CuzwWxSDd4OupSYIZQ== + dependencies: + "@react-aria/utils" "^3.14.2" + "@react-types/label" "^3.7.1" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/link@^3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@react-aria/link/-/link-3.3.6.tgz#e9e3203c41c4dd5c4113d0a06b7620b476f78345" + integrity sha512-UjbdBJ8EB+jCC3mPZD6cYykHqZKTy6/VvI5RGJoKtF8cg9639tRy6g102pd4ncFTdD4DfU5PPWtthC24nQRCyQ== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/interactions" "^3.13.1" + "@react-aria/utils" "^3.14.2" + "@react-types/link" "^3.3.6" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/listbox@^3.7.2": + version "3.7.2" + resolved "https://registry.yarnpkg.com/@react-aria/listbox/-/listbox-3.7.2.tgz#0cbbd4dc39712ac927542259bf4663e087353448" + integrity sha512-e3O/u2T3TccinmfS/UvHywxLbASmh28U4020WTpZnIrsaoriVCkGZvG1AYNNPDIESz2WO0oRF6vDrmGunglJ2A== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/interactions" "^3.13.1" + "@react-aria/label" "^3.4.4" + "@react-aria/selection" "^3.12.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/collections" "^3.5.1" + "@react-stately/list" "^3.6.1" + "@react-types/listbox" "^3.3.5" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/live-announcer@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@react-aria/live-announcer/-/live-announcer-3.1.2.tgz#a492c7ec1e664c8f41a572368cdbc53e22241a0c" + integrity sha512-BqtVLPWU10sZssoOJF1lJiRvZe5zqZ5BM39PsFyO7dWhVkR/9O9bZviqvKXnC1oXCnypfa+85gUshbK9unFcWA== + dependencies: + "@swc/helpers" "^0.4.14" + +"@react-aria/menu@^3.7.1": + version "3.7.1" + resolved "https://registry.yarnpkg.com/@react-aria/menu/-/menu-3.7.1.tgz#74c60dcd33bba47faa79deb89523ad21d9855221" + integrity sha512-5KIUTs3xYSmERB8qzofFghznMVLcG3RWDnJcQjpRtrrYjm6Oc39TJeodDH874fiEr6o3i5WwMrEYVp7NSxz/TQ== + dependencies: + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/overlays" "^3.12.1" + "@react-aria/selection" "^3.12.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/collections" "^3.5.1" + "@react-stately/menu" "^3.4.4" + "@react-stately/tree" "^3.4.1" + "@react-types/button" "^3.7.0" + "@react-types/menu" "^3.7.3" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/meter@^3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@react-aria/meter/-/meter-3.3.4.tgz#7361a663ff21bc14df48d9eedec288e21146fabf" + integrity sha512-RdVd5vlb6//HI8G1hhH4G+E0Y387GYFKjmewSUKK0Lzp9PFLili26s+xLvgigUX9ald7HiPmfPdAlXzotvo54Q== + dependencies: + "@react-aria/progress" "^3.3.4" + "@react-types/meter" "^3.2.5" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/numberfield@^3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@react-aria/numberfield/-/numberfield-3.3.4.tgz#79fc2db5449a09efc20b83530aa2d69ae7140438" + integrity sha512-yoYeYaEW5v84Ff0x+oSN0h3uzqrSOBEgjtv8ZMaFVsZfm9yMjsVLu+QWGBYCEOPcASMkNZpNR3o91nBPK3XTDw== + dependencies: + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/live-announcer" "^3.1.2" + "@react-aria/spinbutton" "^3.2.1" + "@react-aria/textfield" "^3.8.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/numberfield" "^3.3.1" + "@react-types/button" "^3.7.0" + "@react-types/numberfield" "^3.3.5" + "@react-types/shared" "^3.16.0" + "@react-types/textfield" "^3.6.2" + "@swc/helpers" "^0.4.14" + +"@react-aria/overlays@^3.12.1": + version "3.12.1" + resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.12.1.tgz#429fe33b0da7b920334f241c688d73dc9a750a28" + integrity sha512-OSgSopk2uQI5unvC3+fUyngbRFFe4GnF0iopCmrsI7qSQEusJUd4M2SuPVXUBBwWFt5TsiH7TnxmIPWeh5LSoA== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/ssr" "^3.4.1" + "@react-aria/utils" "^3.14.2" + "@react-aria/visually-hidden" "^3.6.1" + "@react-stately/overlays" "^3.4.4" + "@react-types/button" "^3.7.0" + "@react-types/overlays" "^3.6.5" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/progress@^3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@react-aria/progress/-/progress-3.3.4.tgz#21138195532ae8807fb1dfc2f8162c6032d513dc" + integrity sha512-MVlWdH7L2e0u1SvkVk+C6/onS8opex9rIKUKHM08s++y80Xe3BIAh8jd5tgdlutDtcZ1kKgfb4bet9dvjymo4A== + dependencies: + "@react-aria/i18n" "^3.6.3" + "@react-aria/label" "^3.4.4" + "@react-aria/utils" "^3.14.2" + "@react-types/progress" "^3.2.5" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/radio@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@react-aria/radio/-/radio-3.4.2.tgz#bcd2deb8326f934046545fee9b2568f9d3b0655b" + integrity sha512-PpEsQjwkYOkSfKfnqXpBzf0FM/V2GSC0g/NG2ZAI5atDIACeic+kHCcs8fm2QzXtUDaRltNurvYdDJ+XzZ8g1g== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/label" "^3.4.4" + "@react-aria/utils" "^3.14.2" + "@react-stately/radio" "^3.6.2" + "@react-types/radio" "^3.3.1" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/searchfield@^3.4.4": + version "3.4.4" + resolved "https://registry.yarnpkg.com/@react-aria/searchfield/-/searchfield-3.4.4.tgz#f77f057fcd2582534bec60b5d65db5cf84490f27" + integrity sha512-Z3nZI2FXrWLPNUeJ3QV2ruTKBR9eHhPoHi+Iiuq4n+e02ib5s0Jlbam29FFiOxmf6vUMhScNcEYP9p2BNANmQA== + dependencies: + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/textfield" "^3.8.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/searchfield" "^3.3.4" + "@react-types/button" "^3.7.0" + "@react-types/searchfield" "^3.3.6" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/select@^3.8.4": + version "3.8.4" + resolved "https://registry.yarnpkg.com/@react-aria/select/-/select-3.8.4.tgz#cbb02f0cfca816e1f6b472212f0fb6aad9899fdb" + integrity sha512-d2JOe11lUoGLvsE32bZRMq32SzXuyLNczyTOLrWM0e9fsOr49A8p6L6bFm3symU/KpwjjnO+pf5IkvgEq+GoJg== + dependencies: + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/label" "^3.4.4" + "@react-aria/listbox" "^3.7.2" + "@react-aria/menu" "^3.7.1" + "@react-aria/selection" "^3.12.1" + "@react-aria/utils" "^3.14.2" + "@react-aria/visually-hidden" "^3.6.1" + "@react-stately/select" "^3.3.4" + "@react-types/button" "^3.7.0" + "@react-types/select" "^3.6.5" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/selection@^3.12.1": + version "3.12.1" + resolved "https://registry.yarnpkg.com/@react-aria/selection/-/selection-3.12.1.tgz#a21ea85952c55b5a7ce8c846478226fe3d03f1f8" + integrity sha512-UX1vSY+iUdHe0itFZIOizX1BCI8SAeFnEh5VIQ1bYRt93+kAxeC914fsxFPPgrodJyqWRCX1dblPyRUIWAzQiw== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/collections" "^3.5.1" + "@react-stately/selection" "^3.11.2" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/separator@^3.2.6": + version "3.2.6" + resolved "https://registry.yarnpkg.com/@react-aria/separator/-/separator-3.2.6.tgz#516fb27aa02862fc8e555042d9a8edde30214f40" + integrity sha512-QhYqoLfu+4T3ASCs5Q8ZWfBbRKBUmqquVdREWvHyvVyOBk9kRN9nxsoIxlkss1RJlJJx59AYF9T9CwgL80/bvw== + dependencies: + "@react-aria/utils" "^3.14.2" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/slider@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@react-aria/slider/-/slider-3.2.4.tgz#b272c13b5651f7e76a5b9d4ef300226ae315a64d" + integrity sha512-+BDPFaCgm0gtGewO33ZDNZz1b3Fc1p5Y/HSuwCcru+jHetODJXy23IIVpWsDri1vG3fHECRnWcDZAjLZgkVnAw== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/label" "^3.4.4" + "@react-aria/utils" "^3.14.2" + "@react-stately/radio" "^3.6.2" + "@react-stately/slider" "^3.2.4" + "@react-types/radio" "^3.3.1" + "@react-types/shared" "^3.16.0" + "@react-types/slider" "^3.3.1" + "@swc/helpers" "^0.4.14" + +"@react-aria/spinbutton@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@react-aria/spinbutton/-/spinbutton-3.2.1.tgz#8e9fff341deef3e14109c69f2b52fffa8a878a5b" + integrity sha512-y9QZ0VzWL7qzbWSPOCsAdvZhVlQrnHLRGc8bkRa2jmWrnCqS0iua/TRuLGgazIf2Rb7GmdbKBJJuPSScytVDUw== + dependencies: + "@react-aria/i18n" "^3.6.3" + "@react-aria/live-announcer" "^3.1.2" + "@react-aria/utils" "^3.14.2" + "@react-types/button" "^3.7.0" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/ssr@^3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.4.1.tgz#79e8bb621487e8f52890c917d3c734f448ba95e7" + integrity sha512-NmhoilMDyIfQiOSdQgxpVH2tC2u85Y0mVijtBNbI9kcDYLEiW/r6vKYVKtkyU+C4qobXhGMPfZ70PTc0lysSVA== + dependencies: + "@swc/helpers" "^0.4.14" + +"@react-aria/switch@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@react-aria/switch/-/switch-3.3.1.tgz#c0f92f417a78972a3a9d10592eb474698b827d5a" + integrity sha512-o9MvXiSK9c7rUZjA6oQ0PNlVCnHEctue6v6W8Vn4HNbQMfhJiWqiSSff4RFcgRgs8WsPsEqbT+vHi2kXykQzdA== + dependencies: + "@react-aria/toggle" "^3.4.2" + "@react-stately/toggle" "^3.4.4" + "@react-types/switch" "^3.2.5" + "@swc/helpers" "^0.4.14" + +"@react-aria/table@^3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@react-aria/table/-/table-3.7.0.tgz#234c905b6b2e2212bac6cc8ef93fe750bf606425" + integrity sha512-1YqOeb8r8pxIYyfa5qNdCoM3fNQELM4d+9DanoNJhgnehoq9QDI9A1pGC2pvK2PN2y9IuTJM+U/ITjSpPBoGjQ== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/grid" "^3.5.2" + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/live-announcer" "^3.1.2" + "@react-aria/selection" "^3.12.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/table" "^3.7.0" + "@react-stately/virtualizer" "^3.4.1" + "@react-types/checkbox" "^3.4.1" + "@react-types/grid" "^3.1.5" + "@react-types/shared" "^3.16.0" + "@react-types/table" "^3.4.0" + "@swc/helpers" "^0.4.14" + +"@react-aria/tabs@^3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@react-aria/tabs/-/tabs-3.3.4.tgz#0cbe65d4c99c9c9e5d8ebd5e1442da68964b9e14" + integrity sha512-SqlgfPvpRHlWelFk/lF9Ziu/8881NVErhKcpyyi+A9jASv5tvILWiwK8na82oI22UXXzyp0Y1EojLB25HnCB+w== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/selection" "^3.12.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/list" "^3.6.1" + "@react-stately/tabs" "^3.2.4" + "@react-types/shared" "^3.16.0" + "@react-types/tabs" "^3.1.5" + "@swc/helpers" "^0.4.14" + +"@react-aria/textfield@^3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@react-aria/textfield/-/textfield-3.8.1.tgz#b6df2decc587824a3757ec33bd9b432fed1bacc5" + integrity sha512-jgun/B9ecuRCfBSJLX2xDuNwfuj1lL0oibMWoSv6Y++W+CSS8a7LjR1f9Kll5TDVkQiRRUm9qHwI0og9xTJrNw== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/label" "^3.4.4" + "@react-aria/utils" "^3.14.2" + "@react-types/shared" "^3.16.0" + "@react-types/textfield" "^3.6.2" + "@swc/helpers" "^0.4.14" + +"@react-aria/toggle@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@react-aria/toggle/-/toggle-3.4.2.tgz#1c57539a26722219979c80dcebfbd0701c518789" + integrity sha512-xokCGf0fn96mOMqQku5QW672iQoMsN9RMpFbKvvgg2seceh8ifblyAXElWf/6YmluOZSgUSZljDkFrbMMYlzVA== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/interactions" "^3.13.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/toggle" "^3.4.4" + "@react-types/checkbox" "^3.4.1" + "@react-types/shared" "^3.16.0" + "@react-types/switch" "^3.2.5" + "@swc/helpers" "^0.4.14" + +"@react-aria/tooltip@^3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@react-aria/tooltip/-/tooltip-3.3.4.tgz#e508a6f4092ee632ca69fd202268c8f4317f04d2" + integrity sha512-KPDkDu7fquuUOOnNh9S7KfhPMwB1w9K+yLIFrYaj4iYSOLk/HH5TDkyiUQ7j5+B963D1fWlQjYFEGQ9o2KwO/Q== + dependencies: + "@react-aria/focus" "^3.10.1" + "@react-aria/interactions" "^3.13.1" + "@react-aria/utils" "^3.14.2" + "@react-stately/tooltip" "^3.2.4" + "@react-types/shared" "^3.16.0" + "@react-types/tooltip" "^3.2.5" + "@swc/helpers" "^0.4.14" + +"@react-aria/utils@^3.14.2": + version "3.14.2" + resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.14.2.tgz#3a8d0d14abab4bb1095e101ee44dc5e3e43e6217" + integrity sha512-3nr5gsAf/J/W+6Tu4NF3Q7m+1mXjfpXESh7TPa6UR6v3tVDTsJVMrITg2BkHN1jM8xELcl2ZxyUffOWqOXzWuA== + dependencies: + "@react-aria/ssr" "^3.4.1" + "@react-stately/utils" "^3.5.2" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + clsx "^1.1.1" + +"@react-aria/visually-hidden@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@react-aria/visually-hidden/-/visually-hidden-3.6.1.tgz#b0a94b1531b9a8942d0d9a5cc6ed88109b8f5487" + integrity sha512-7rUbiaIiR1nok9HAHPn/WcyQlvuldUqxnvh81V4dlI3NtXOgMw7/QaNc5Xo5FFWlsSVpbyK3UVJgzIui0Ns0Xg== + dependencies: + "@react-aria/interactions" "^3.13.1" + "@react-aria/utils" "^3.14.2" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + clsx "^1.1.1" + +"@react-spring/animated@~9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.6.1.tgz#ccc626d847cbe346f5f8815d0928183c647eb425" + integrity sha512-ls/rJBrAqiAYozjLo5EPPLLOb1LM0lNVQcXODTC1SMtS6DbuBCPaKco5svFUQFMP2dso3O+qcC4k9FsKc0KxMQ== + dependencies: + "@react-spring/shared" "~9.6.1" + "@react-spring/types" "~9.6.1" + +"@react-spring/core@~9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.6.1.tgz#ebe07c20682b360b06af116ea24e2b609e778c10" + integrity sha512-3HAAinAyCPessyQNNXe5W0OHzRfa8Yo5P748paPcmMowZ/4sMfaZ2ZB6e5x5khQI8NusOHj8nquoutd6FRY5WQ== + dependencies: + "@react-spring/animated" "~9.6.1" + "@react-spring/rafz" "~9.6.1" + "@react-spring/shared" "~9.6.1" + "@react-spring/types" "~9.6.1" + +"@react-spring/konva@~9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@react-spring/konva/-/konva-9.6.1.tgz#66e63da0e9681e42395e995402a7e73ba6892461" + integrity sha512-MevnU+tnG1LPsmMRpfJfevfLtI0ObIvrwYc+Xg+kmYJe00vwMRSdulQOztKANKalFXBewwk72XrQCeRLXFaUIg== + dependencies: + "@react-spring/animated" "~9.6.1" + "@react-spring/core" "~9.6.1" + "@react-spring/shared" "~9.6.1" + "@react-spring/types" "~9.6.1" + +"@react-spring/native@~9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@react-spring/native/-/native-9.6.1.tgz#b66e237f2faaa4f88569d5a03b6fb0136bcdf2b9" + integrity sha512-ZIfSytxFGLw4gYOb8gsmwG0+JZYxuM/Y1XPCXCkhuoMn+RmOYrr0kQ4gLczbmf+TRxth7OT1c8vBYz0+SCGcIQ== + dependencies: + "@react-spring/animated" "~9.6.1" + "@react-spring/core" "~9.6.1" + "@react-spring/shared" "~9.6.1" + "@react-spring/types" "~9.6.1" + +"@react-spring/rafz@~9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@react-spring/rafz/-/rafz-9.6.1.tgz#d71aafb92b78b24e4ff84639f52745afc285c38d" + integrity sha512-v6qbgNRpztJFFfSE3e2W1Uz+g8KnIBs6SmzCzcVVF61GdGfGOuBrbjIcp+nUz301awVmREKi4eMQb2Ab2gGgyQ== + +"@react-spring/shared@~9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@react-spring/shared/-/shared-9.6.1.tgz#4e2e4296910656c02bd9fd54c559702bc836ac4e" + integrity sha512-PBFBXabxFEuF8enNLkVqMC9h5uLRBo6GQhRMQT/nRTnemVENimgRd+0ZT4yFnAQ0AxWNiJfX3qux+bW2LbG6Bw== + dependencies: + "@react-spring/rafz" "~9.6.1" + "@react-spring/types" "~9.6.1" + +"@react-spring/three@~9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@react-spring/three/-/three-9.6.1.tgz#095fcd1dc6509127c33c14486d88289b89baeb9d" + integrity sha512-Tyw2YhZPKJAX3t2FcqvpLRb71CyTe1GvT3V+i+xJzfALgpk10uPGdGaQQ5Xrzmok1340DAeg2pR/MCfaW7b8AA== + dependencies: + "@react-spring/animated" "~9.6.1" + "@react-spring/core" "~9.6.1" + "@react-spring/shared" "~9.6.1" + "@react-spring/types" "~9.6.1" + +"@react-spring/types@~9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.6.1.tgz#913d3a68c5cbc1124fdb18eff919432f7b6abdde" + integrity sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q== + +"@react-spring/web@~9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@react-spring/web/-/web-9.6.1.tgz#3e4c03b724d2b545dc2fa2649eb6109318ab9178" + integrity sha512-X2zR6q2Z+FjsWfGAmAXlQaoUHbPmfuCaXpuM6TcwXPpLE1ZD4A1eys/wpXboFQmDkjnrlTmKvpVna1MjWpZ5Hw== + dependencies: + "@react-spring/animated" "~9.6.1" + "@react-spring/core" "~9.6.1" + "@react-spring/shared" "~9.6.1" + "@react-spring/types" "~9.6.1" + +"@react-spring/zdog@~9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@react-spring/zdog/-/zdog-9.6.1.tgz#5292c374e23e3846db3eb9d7557ed5a7bb40dada" + integrity sha512-0jSGm2OFW/+/+4dkRp46KzEkcLVfzV2k6DO1om0dLDtQ4q6FpX4dmDTlRc7Apzin6VtfQONMFIGITtbqoS28MQ== + dependencies: + "@react-spring/animated" "~9.6.1" + "@react-spring/core" "~9.6.1" + "@react-spring/shared" "~9.6.1" + "@react-spring/types" "~9.6.1" + +"@react-stately/calendar@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@react-stately/calendar/-/calendar-3.0.5.tgz#78decc870ddf33ce1f7b7c8da57d2639e9a46c30" + integrity sha512-vu5hKsiA8edqNtsqBTGi8QR38qZ+uHDjuq3vp2m0f6TZSnp0kg8fkPNHEOuBTQ8ZXFFbGUZKhL/1B+ZWwLHwMQ== + dependencies: + "@internationalized/date" "^3.0.2" + "@react-stately/utils" "^3.5.2" + "@react-types/calendar" "^3.0.5" + "@react-types/datepicker" "^3.1.4" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/checkbox@^3.3.2": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@react-stately/checkbox/-/checkbox-3.3.2.tgz#fd81866a7624c79cab2ec2c32234f164205a85e8" + integrity sha512-eU3zvWgQrcqS8UK8ZVkb3fMP816PeuN9N0/dOJKuOXXhkoLPuxtuja1oEqKU3sFMa5+bx3czZhhNIRpr60NAdw== + dependencies: + "@react-stately/toggle" "^3.4.4" + "@react-stately/utils" "^3.5.2" + "@react-types/checkbox" "^3.4.1" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/collections@^3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@react-stately/collections/-/collections-3.5.1.tgz#502a56658e4859aa7d31bd4b9189879b5b5a0255" + integrity sha512-egzVrZC5eFc5RJBpqUkzxd2aJOHZ2T1o7horEi8tAWZkg4YI+AmKrqela4ijVrrB9l1GO9z06qPT1UoPkFrC1w== + dependencies: + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/combobox@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@react-stately/combobox/-/combobox-3.3.1.tgz#5be13467dd64ddd09199b5e00e9f7d4a1aec5688" + integrity sha512-DgYn0MyfbDySf54o7ofXRd29TWznqtRRRbMG8TWgi/RaB0piDckT/TYWWSYOH3iMgnOEhReJhUUdMiQG4QLpIg== + dependencies: + "@react-stately/list" "^3.6.1" + "@react-stately/menu" "^3.4.4" + "@react-stately/select" "^3.3.4" + "@react-stately/utils" "^3.5.2" + "@react-types/combobox" "^3.5.5" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/datepicker@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@react-stately/datepicker/-/datepicker-3.2.1.tgz#4c545981f73771bff76885e50014b4274fa4b554" + integrity sha512-nd6thX2Z+rOLDHduB3EgMKA0n5U83lrwn3IUfjRGrcE21zFaFmhTPsHyvol5jHy3eSyjWSN9kGpKFzOxES+uoA== + dependencies: + "@internationalized/date" "^3.0.2" + "@internationalized/string" "^3.0.1" + "@react-stately/overlays" "^3.4.4" + "@react-stately/utils" "^3.5.2" + "@react-types/datepicker" "^3.1.4" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/dnd@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@react-stately/dnd/-/dnd-3.0.1.tgz#b8e8190c147dcaeac1a90eabce5bd20891f2c620" + integrity sha512-pwtyY/TR6Rdk33lFdF6dztQTV9gPujFmTqJG31NSSs6ei1FfUW9ZMq+311Zb8OhZ0TFiwZqAutVmmaaUrtl5+A== + dependencies: + "@react-stately/selection" "^3.11.2" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/grid@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@react-stately/grid/-/grid-3.4.2.tgz#d7d1a4ed4b5bb431b5e5429f8f557cf7d88a7ae8" + integrity sha512-NeIUykQeA7Hen+dV4771ARW5SRrHYNn5VTOsQwn3KBUd2Z2gZ01OwUl3gETl5u0e3/tzMUdJ1LUoSPhDMwcmKw== + dependencies: + "@react-stately/selection" "^3.11.2" + "@react-types/grid" "^3.1.5" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/layout@^3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@react-stately/layout/-/layout-3.10.0.tgz#86bcb9117a05df56f02d7b55d1d24c5593285c18" + integrity sha512-ThFgivQSD5ksLMX7tbu0HqIxbxac/E8a/0vA21wB9QF9IQnUKO796QAQqwfA5rwPvTT41LL2Xn00GkrwQ9g/zg== + dependencies: + "@react-stately/table" "^3.7.0" + "@react-stately/virtualizer" "^3.4.1" + "@react-types/grid" "^3.1.5" + "@react-types/shared" "^3.16.0" + "@react-types/table" "^3.4.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/list@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@react-stately/list/-/list-3.6.1.tgz#75d07a4e04111b804fb13c975df5a0c1265f3aa1" + integrity sha512-+/fVkK3UO+N2NoUGpe57k9gcnfIsyEgWP8SD6CXZUkJho7BTp6mwrH0Wm8tcOclT3uBk+fZaQrk8mR3uWsPZGw== + dependencies: + "@react-stately/collections" "^3.5.1" + "@react-stately/selection" "^3.11.2" + "@react-stately/utils" "^3.5.2" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/menu@^3.4.4": + version "3.4.4" + resolved "https://registry.yarnpkg.com/@react-stately/menu/-/menu-3.4.4.tgz#222ffd283691f1c4137a85ff0484b98a4385b099" + integrity sha512-WKak1NSV9yDY0tDB4mzsbj0FboTtR06gekio0VmKb1+FmnrC07mef8eGKUn974F0WhTNUy5A1iI5eM0W2YNynA== + dependencies: + "@react-stately/overlays" "^3.4.4" + "@react-stately/utils" "^3.5.2" + "@react-types/menu" "^3.7.3" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/numberfield@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@react-stately/numberfield/-/numberfield-3.3.1.tgz#ef411062ffdb3646eae2a320e07443b2bf78a76f" + integrity sha512-GOu6wE2L2eal4AOL+rJQ4wQnFRgRkwiS9xdAFPu9B4qfP0DVfEIUC3XV4jws9nBhANxEf5LyilUv400nG881wg== + dependencies: + "@internationalized/number" "^3.1.2" + "@react-stately/utils" "^3.5.2" + "@react-types/numberfield" "^3.3.5" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/overlays@^3.4.4": + version "3.4.4" + resolved "https://registry.yarnpkg.com/@react-stately/overlays/-/overlays-3.4.4.tgz#a228a230f46f0d593ffb7bc8f836439bbc08e9ed" + integrity sha512-IIlx+VXtXS4snDXrocUOls8QZ5XBQ4SNonaz1ox8/5W7Nsvq4VtdKsIaXsUP4agOudswaimlpj3pTDO/KuF5tQ== + dependencies: + "@react-stately/utils" "^3.5.2" + "@react-types/overlays" "^3.6.5" + "@swc/helpers" "^0.4.14" + +"@react-stately/radio@^3.6.2": + version "3.6.2" + resolved "https://registry.yarnpkg.com/@react-stately/radio/-/radio-3.6.2.tgz#6a13e3f97d130fccc1b404673cbe1414ac018621" + integrity sha512-qjbebR0YSkdEocLsPSzNnCsUYllWY938/5Z8mETxk4+74PJLxC3z0qjqVRq+aDO8hOgIfqSgrRRp3cJz9vIsBg== + dependencies: + "@react-stately/utils" "^3.5.2" + "@react-types/radio" "^3.3.1" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/searchfield@^3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@react-stately/searchfield/-/searchfield-3.3.4.tgz#a2d885fd68a3e8936d60b9d56e15f785022b448e" + integrity sha512-H/1evv7lsJl6PlD7/Sv7VgbCe0Yd2E2eKFihD6/tXPWO6L/ngYp5siqqhdwazjWTK2Hgw4TL0eviHGOGXKItzQ== + dependencies: + "@react-stately/utils" "^3.5.2" + "@react-types/searchfield" "^3.3.6" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/select@^3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@react-stately/select/-/select-3.3.4.tgz#61c3e739175e86babf0e585f8c68e30f3bf6363c" + integrity sha512-gD4JnF9/OIrQNdA4VqPIbifqpBC84BXHR5N7KmG7Ef06K9WGGVNB4FS538wno/znKg7lR6A45CPlaV53qfvWHg== + dependencies: + "@react-stately/collections" "^3.5.1" + "@react-stately/list" "^3.6.1" + "@react-stately/menu" "^3.4.4" + "@react-stately/selection" "^3.11.2" + "@react-stately/utils" "^3.5.2" + "@react-types/select" "^3.6.5" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/selection@^3.11.2": + version "3.11.2" + resolved "https://registry.yarnpkg.com/@react-stately/selection/-/selection-3.11.2.tgz#15c35dfb386e5218b8106070137a8b3ecded5a8b" + integrity sha512-g21Y36xhYkXO3yzz0BYSBqnD38olvEwsJUqBXGZfx//bshMC2FNmI5sRYMAi36stxWbwzBvB01OytxfLLxCXCA== + dependencies: + "@react-stately/collections" "^3.5.1" + "@react-stately/utils" "^3.5.2" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/slider@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@react-stately/slider/-/slider-3.2.4.tgz#4e9e22cd8c2c449497e8476f2bc8d1399a5b0f80" + integrity sha512-J97lTLqQKsrVSovYr4dTz7IJO/+j9OStT78N6bumDklnIKT7bsH3g857zITUFjs8yCcq0Jt3sfOvEU0ts6vyww== + dependencies: + "@react-aria/i18n" "^3.6.3" + "@react-aria/utils" "^3.14.2" + "@react-stately/utils" "^3.5.2" + "@react-types/shared" "^3.16.0" + "@react-types/slider" "^3.3.1" + "@swc/helpers" "^0.4.14" + +"@react-stately/table@^3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@react-stately/table/-/table-3.7.0.tgz#fbb50081805c391d43de8ca4153bcd89edb82368" + integrity sha512-oPvMEabRUD4LSJ/NZsal3TT2YjoRmpEK8t2pqG20+Vapxy5tC6QKEZQvrDxJwF4Z8fqQnX/GvnqmfypvqWDUSA== + dependencies: + "@react-stately/collections" "^3.5.1" + "@react-stately/grid" "^3.4.2" + "@react-stately/selection" "^3.11.2" + "@react-types/grid" "^3.1.5" + "@react-types/shared" "^3.16.0" + "@react-types/table" "^3.4.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/tabs@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@react-stately/tabs/-/tabs-3.2.4.tgz#e596623de62731efc769ee0d58e54f9f1400551c" + integrity sha512-qSnkoxzbC21KXZYGtg6TEDaex34WSNmPN4sJzXc9Xe39L6+wXNCA2tqZxWCfpIcWQklFm+BmnnNNCO8/PDDrMA== + dependencies: + "@react-stately/list" "^3.6.1" + "@react-stately/utils" "^3.5.2" + "@react-types/tabs" "^3.1.5" + "@swc/helpers" "^0.4.14" + +"@react-stately/toggle@^3.4.4": + version "3.4.4" + resolved "https://registry.yarnpkg.com/@react-stately/toggle/-/toggle-3.4.4.tgz#b7825bf900725dcee0444fe6132b06948be36b44" + integrity sha512-OwVJpd2M7P7fekTWpl3TUdD3Brq+Z/xElOCJYP5QuVytXCa5seKsk40YPld8JQnA5dRKojpbUxMDOJpb6hOOfw== + dependencies: + "@react-stately/utils" "^3.5.2" + "@react-types/checkbox" "^3.4.1" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/tooltip@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@react-stately/tooltip/-/tooltip-3.2.4.tgz#387bb53539c39b0f3a0807537e9d404e03dc5d3f" + integrity sha512-t7ksDRs9jKcOS25BVLM5cNCyzSCnzrin8OZ3AEmgeNxfiS58HhHbNxYk725hyGrbdpugQ03cRcJG70EZ6VgwDQ== + dependencies: + "@react-stately/overlays" "^3.4.4" + "@react-stately/utils" "^3.5.2" + "@react-types/tooltip" "^3.2.5" + "@swc/helpers" "^0.4.14" + +"@react-stately/tree@^3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@react-stately/tree/-/tree-3.4.1.tgz#bb267784000b22c7c1aa6415103ad1b9f3566677" + integrity sha512-kIXeJOHgGGaUFnAD2wyRIiOwOw/+PN1OXo46n8+dPTFIYwR4+IWFNG8OMjVlIiSLPYWMCzzxZBE9a5grmbmNWQ== + dependencies: + "@react-stately/collections" "^3.5.1" + "@react-stately/selection" "^3.11.2" + "@react-stately/utils" "^3.5.2" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-stately/utils@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@react-stately/utils/-/utils-3.5.2.tgz#9b5f3bb9ad500bf9c5b636a42988dba60a221669" + integrity sha512-639gSKqamPHIEPaApb9ahVJS0HgAqNdVF3tQRoh+Ky6759Mbk6i3HqG4zk4IGQ1tVlYSYZvCckwehF7b2zndMg== + dependencies: + "@swc/helpers" "^0.4.14" + +"@react-stately/virtualizer@^3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@react-stately/virtualizer/-/virtualizer-3.4.1.tgz#00c7b36b989244cf985b9ad5fb13dc1ecbb81a0f" + integrity sha512-2S7GARkZl41X7fN0Xa94TkN8ELAUbA89zn1xH59d02NOvAKLAFXHkCe69AivvVvbhXo8/nONzO8NXqqgBS/XQw== + dependencies: + "@react-aria/utils" "^3.14.2" + "@react-types/shared" "^3.16.0" + "@swc/helpers" "^0.4.14" + +"@react-types/breadcrumbs@^3.4.6": + version "3.4.6" + resolved "https://registry.yarnpkg.com/@react-types/breadcrumbs/-/breadcrumbs-3.4.6.tgz#cbc1132b5bfa87dde5467b037c563ed77a211980" + integrity sha512-hvGUI4mKHvOl3QyKFHk1qT/UkG+C4iJsRTlk6pbQgwk4lb7rplEm1CEa7fxzRdI8Gh4Id+C9+WyKCxZf9GNWUw== + dependencies: + "@react-types/link" "^3.3.6" + "@react-types/shared" "^3.16.0" + +"@react-types/button@^3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@react-types/button/-/button-3.7.0.tgz#774c043d8090a505e60fdf26f026d5f0cc968f0f" + integrity sha512-81BQO3QxSgF9PTXsVozNdNCKxBOB1lpbCWocV99dN1ws9s8uaYw8pmJJZ0LJKLiOsIECQ/3QrhQjmWTDW/qTug== + dependencies: + "@react-types/shared" "^3.16.0" + +"@react-types/calendar@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@react-types/calendar/-/calendar-3.0.5.tgz#a91fca7d5a2bbbd554748471f9920600cb364d18" + integrity sha512-Kx00132hFEVvqay/Ub7q2oZEA1AzksirAuCsjakamn4LAXvitlo3PZxqBdEsyRc3nP5NR48KJj8yo276mXY8kQ== + dependencies: + "@internationalized/date" "^3.0.2" + "@react-types/shared" "^3.16.0" + +"@react-types/checkbox@^3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@react-types/checkbox/-/checkbox-3.4.1.tgz#75a78b3f21f4cc72d2382761ba4c326aefd699db" + integrity sha512-kDMpy9SntjGQ7x00m5zmW8GENPouOtyiDgiEDKsPXUr2iYqHsNtricqVyG9S9+6hqpzuu8BzTcvZamc/xYjzlg== + dependencies: + "@react-types/shared" "^3.16.0" + +"@react-types/combobox@^3.5.5": + version "3.5.5" + resolved "https://registry.yarnpkg.com/@react-types/combobox/-/combobox-3.5.5.tgz#13410106fc2df8e3d02d53a33e9d2a6f3f2f6b61" + integrity sha512-gpDo/NTQFd5IfCZoNnG16N4/JfvwXpZBNc15Kn7bF+NcpSDhDpI26BZN4mvK4lljKCheD4VrEl9/3PtImCg7cA== + dependencies: + "@react-types/shared" "^3.16.0" + +"@react-types/datepicker@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@react-types/datepicker/-/datepicker-3.1.4.tgz#46fd291d8acd40fdd304c4c0bf1a47e71eaa1801" + integrity sha512-NBCXBCe3YZqeA/JrVKy0IAvJ2XSnXaVpR9iAlUwKu7V8P81CtnXHsVCrd/0HSH8QZWsGdIV5E23z0TctvW8trA== + dependencies: + "@internationalized/date" "^3.0.2" + "@react-types/overlays" "^3.6.5" + "@react-types/shared" "^3.16.0" + +"@react-types/dialog@^3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@react-types/dialog/-/dialog-3.4.5.tgz#a12c4e6d69dd7f098eb8b1534107ae6d970f734b" + integrity sha512-FkxZAYNRWkZVH5rjlw6qyQ/SpoGcYtNI/JQvn1H/xtZy/OJh2b2ERxGWv5x0RItGSeyATdSwFO1Qnf1Kl2K02A== + dependencies: + "@react-types/overlays" "^3.6.5" + "@react-types/shared" "^3.16.0" + +"@react-types/grid@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@react-types/grid/-/grid-3.1.5.tgz#b0efef48202b40aa05913f1fe5b05d80e7d26c15" + integrity sha512-KiEywsOJ+wdzLmJerAKEMADdvdItaLfhdo3bFfn1lgNUaKiNDJctDYWlhOYsRePf7MIrzoZuXEFnJj45jfpiOQ== + dependencies: + "@react-types/shared" "^3.16.0" + +"@react-types/label@^3.7.1": + version "3.7.1" + resolved "https://registry.yarnpkg.com/@react-types/label/-/label-3.7.1.tgz#ad4d3d7a6b5ea6aca70f89661d7c358cf2ab5f94" + integrity sha512-wFpdtjSDBWO4xQQGF57V3PqvVVyE9TPj9ELWLs1yzL09fpXosycuEl5d79RywVlC9aF9dQYUfES09q/DZhRhMQ== + dependencies: + "@react-types/shared" "^3.16.0" + +"@react-types/link@^3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@react-types/link/-/link-3.3.6.tgz#74ff1602c7aba38d3200f0d597a04e1f94989e25" + integrity sha512-HMFd94CW8WrHbwXeTtCP/WOZmGugrEkN8f16R0i7T9xlTumk5GxubDMjA41ND/ehH72Xq7lP9VX8qezHWCGSoQ== + dependencies: + "@react-aria/interactions" "^3.13.1" + "@react-types/shared" "^3.16.0" + +"@react-types/listbox@^3.3.5": + version "3.3.5" + resolved "https://registry.yarnpkg.com/@react-types/listbox/-/listbox-3.3.5.tgz#c2222e3f50fbf377ed20b2d16e761b9c09d7adc8" + integrity sha512-7SMRJWUi7ayzQ7SUPCXXwgI/Ua3vg0PPQOZFsmJ4/E8VG/xK82IV7BYSZiNjUQuGpVZJL0VPndt/RwIrQO4S3w== + dependencies: + "@react-types/shared" "^3.16.0" + +"@react-types/menu@^3.7.3": + version "3.7.3" + resolved "https://registry.yarnpkg.com/@react-types/menu/-/menu-3.7.3.tgz#beb8d0fb7f1e50254e2e7661dfbfa4bb38826dad" + integrity sha512-3Pax24I/FyNKBjKyNR4ePD8eZs35Th57HzJAVjamQg2fHEDRomg9GQ7fdmfGj72Dv3x3JRCoPYqhJ3L5R3kbzg== + dependencies: + "@react-types/overlays" "^3.6.5" + "@react-types/shared" "^3.16.0" + +"@react-types/meter@^3.2.5": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@react-types/meter/-/meter-3.2.5.tgz#99a381808e98765e7b645721bcc2bff4b5d5f19e" + integrity sha512-pBrHoWRSwrfo3JtCCxoniSEd27Pokt20Fj4ZkJxjjDtLdcHOM4Z1JIKvOlcXMCV35iknrVu4veDHpmXolI+vAw== + dependencies: + "@react-types/progress" "^3.2.5" + "@react-types/shared" "^3.16.0" + +"@react-types/numberfield@^3.3.5": + version "3.3.5" + resolved "https://registry.yarnpkg.com/@react-types/numberfield/-/numberfield-3.3.5.tgz#423aced559f7431e88b7988bf7e2cb3870fcdb1c" + integrity sha512-qBhUSkahiIeTW5IvKvyfLtVHgzyqwKfuDIOlJQiBwgrOPR96X8KDDsOib4r5SFv0lhibv0gQ5L5ucXbmwLyQ8A== + dependencies: + "@react-types/shared" "^3.16.0" + +"@react-types/overlays@^3.6.5": + version "3.6.5" + resolved "https://registry.yarnpkg.com/@react-types/overlays/-/overlays-3.6.5.tgz#466b325d9be51f67beb98b7bec3fd9295c72efac" + integrity sha512-IeWcF+YTucCYYHagNh8fZLH6R4YUONO1VHY57WJyIHwMy0qgEaKSQCwq72VO1fQJ0ySZgOgm31FniOyKkg6+eQ== + dependencies: + "@react-types/shared" "^3.16.0" + +"@react-types/progress@^3.2.5": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@react-types/progress/-/progress-3.2.5.tgz#71780e48402cb25813c8edd07ee6075cdd972488" + integrity sha512-pFSqaj6rlSdPqGHVErJ8G3RkIyYigoJ3EVozvhR9bcKkLlhnzJiFgOZl+k5u/ZKJOA+YHivIHJwg+Kl1sG0J6A== + dependencies: + "@react-types/shared" "^3.16.0" + +"@react-types/radio@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@react-types/radio/-/radio-3.3.1.tgz#688570ba9901d21850a16c2aaafed5dd83e09966" + integrity sha512-q/x0kMvBsu6mH4bIkp/Jjrm9ff5y/p3UR0V4CmQFI7604gQd2Dt1dZMU/2HV9x70r1JfWRrDeRrVjUHVfFL5Vg== + dependencies: + "@react-types/shared" "^3.16.0" + +"@react-types/searchfield@^3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@react-types/searchfield/-/searchfield-3.3.6.tgz#8f33ef6938e2db9f80b7e4008d81fc4de65f07d3" + integrity sha512-DIv5eznnJVv0CM4f8SEEiptEZSzXUJWUyxRPkTzYNWt91pPPaCNbCQbmzZtyR9/R9KRJ9hlZN2bMkrtfVLvl1g== + dependencies: + "@react-types/shared" "^3.16.0" + "@react-types/textfield" "^3.6.2" + +"@react-types/select@^3.6.5": + version "3.6.5" + resolved "https://registry.yarnpkg.com/@react-types/select/-/select-3.6.5.tgz#798abf0073b39eef041952198a9e84eff0ce9edc" + integrity sha512-FDeSA7TYMNnhsbXREnD4dWRSu21T5M4BLy+J/5VgwDpr3IN9pzbvngK8a3jc8Yg2S3igKYLMLYfmcsx+yk7ohA== + dependencies: + "@react-types/shared" "^3.16.0" + +"@react-types/shared@^3.16.0": + version "3.16.0" + resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.16.0.tgz#cab7bf0376969d1773480ecb2d6da5aa91391db5" + integrity sha512-IQgU4oAEvMwylEvaTsr2XB1G/mAoMe1JFYLD6G78v++oAR9l8o9MQxZ0YSeANDkqTamb2gKezGoT1RxvSKjVxw== + +"@react-types/slider@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@react-types/slider/-/slider-3.3.1.tgz#0e6a8d0767b1ab94f8c32541d50aaa6d93683df4" + integrity sha512-CbEa1v1IcUJD7VrFhWyOOlT7VyQ5DHEf/pNMkvICOBLMAwnWxS+tnTiRFgA/EbvV/vp24ydeszHYtMvsyRONRw== + dependencies: + "@react-types/shared" "^3.16.0" + +"@react-types/switch@^3.2.5": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@react-types/switch/-/switch-3.2.5.tgz#e1db722e8beeed846cfcf9de94cad81b4e0ead78" + integrity sha512-DlUL0Bz79SUTRje/i8m6qn4Ipn+q8QnyIkyJhkoHeH1R0YNude8xZrBPWbj3zfdddAGDFSF1NzP69q0xmNAcTQ== + dependencies: + "@react-types/checkbox" "^3.4.1" + "@react-types/shared" "^3.16.0" + +"@react-types/table@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@react-types/table/-/table-3.4.0.tgz#64715f6c355b880467f67b1e5288e6c28d6092e8" + integrity sha512-G2L5WtaBMeG3v/5Kj/ZXH4ywz95vyPUBj7qy9UZJOYNaAR7uJWZkbe+Ka4xD4H/AaOk4mqW8dSo8cj7gtD66GQ== + dependencies: + "@react-types/grid" "^3.1.5" + "@react-types/shared" "^3.16.0" + +"@react-types/tabs@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@react-types/tabs/-/tabs-3.1.5.tgz#8676dd16e0dc4be2d4d1cc33bb89cc679ef93abe" + integrity sha512-YgWY8IajCDBZmBzR3eii0aW6+SjcAT/dmqDNmfIuVVnDN7sHQ3PFa0nbmByvb0SfjOkJYumt8TJwFUCugohS8A== + dependencies: + "@react-types/shared" "^3.16.0" + +"@react-types/textfield@^3.6.2": + version "3.6.2" + resolved "https://registry.yarnpkg.com/@react-types/textfield/-/textfield-3.6.2.tgz#6cc87c2bac286a06ba04b9465d23fa9078bf280e" + integrity sha512-QhFcpXvmSEW1/PwkWkvHJkcjsVezLW0OAvA0kMt/FMOChQNxnO36Pha+WjfcVbiFHXMhCBl6akbY2xG9NsHJrQ== + dependencies: + "@react-types/shared" "^3.16.0" + +"@react-types/tooltip@^3.2.5": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@react-types/tooltip/-/tooltip-3.2.5.tgz#f2940d3edbcf846dc15f9222f0162664641f183c" + integrity sha512-D4lN32JwQuA3JbCgcI26mgCkLHIj1WE8MTzf1McaasPkx7gVaqW+wfPyFwt99/Oo52TLvA/1oin78qePP67PSw== + dependencies: + "@react-types/overlays" "^3.6.5" + "@react-types/shared" "^3.16.0" "@rushstack/eslint-patch@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.3.tgz#6801033be7ff87a6b7cadaf5b337c9f366a3c4b0" - integrity sha512-WiBSI6JBIhC6LRIsB2Kwh8DsGTlbBU+mLRxJmAe3LjHTdkDpwIbEOZgoXBbZilk/vlfjK8i6nKRAvIRn1XaIMw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728" + integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== + +"@selderee/plugin-htmlparser2@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.10.0.tgz#8a304d18df907e086f3cfc71ea0ced52d6524430" + integrity sha512-gW69MEamZ4wk1OsOq1nG1jcyhXIQcnrsX5JwixVw/9xaiav8TCyjESAruu1Rz9yyInhgBXxkNwMeygKnN2uxNA== + dependencies: + domhandler "^5.0.3" + selderee "^0.10.0" "@selderee/plugin-htmlparser2@^0.6.0": version "0.6.0" @@ -2470,14 +3323,14 @@ domhandler "^4.2.0" selderee "^0.6.0" -"@semantic-release/changelog@6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@semantic-release/changelog/-/changelog-6.0.1.tgz#8dd0334fd8c7d50cda747d2591e4f18f816b3c9c" - integrity sha512-FT+tAGdWHr0RCM3EpWegWnvXJ05LQtBkQUaQRIExONoXjVjLuOILNm4DEKNaV+GAQyJjbLRVs57ti//GypH6PA== +"@semantic-release/changelog@6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@semantic-release/changelog/-/changelog-6.0.2.tgz#fdcdbd368788c8fcc69c4af29bf2064f4afb45f4" + integrity sha512-jHqfTkoPbDEOAgAP18mGP53IxeMwxTISN+GwTRy9uLu58UjARoZU8ScCgWGeO2WPkEsm57H8AkyY02W2ntIlIw== dependencies: "@semantic-release/error" "^3.0.0" aggregate-error "^3.0.0" - fs-extra "^9.0.0" + fs-extra "^11.0.0" lodash "^4.17.4" "@semantic-release/commit-analyzer@9.0.2", "@semantic-release/commit-analyzer@^9.0.2": @@ -2493,11 +3346,6 @@ lodash "^4.17.4" micromatch "^4.0.2" -"@semantic-release/error@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@semantic-release/error/-/error-2.2.0.tgz#ee9d5a09c9969eade1ec864776aeda5c5cddbbf0" - integrity sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg== - "@semantic-release/error@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@semantic-release/error/-/error-3.0.0.tgz#30a3b97bbb5844d695eb22f9d3aa40f6a92770c2" @@ -2530,17 +3378,17 @@ p-reduce "^2.0.0" "@semantic-release/github@^8.0.0": - version "8.0.4" - resolved "https://registry.yarnpkg.com/@semantic-release/github/-/github-8.0.4.tgz#4ea242f6ad10a0474b0fbb09462e10c43518002a" - integrity sha512-But4e8oqqP3anZI5tjzZssZc2J6eoUdeeE0s7LVKKwyiAXJiQDWNNvtPOpgG2DsIz4+Exuse7cEQgjGMxwtLmg== + version "8.0.7" + resolved "https://registry.yarnpkg.com/@semantic-release/github/-/github-8.0.7.tgz#643aee7a5cdd2acd3ae643bb90ad4ac796901de6" + integrity sha512-VtgicRIKGvmTHwm//iqTh/5NGQwsncOMR5vQK9pMT92Aem7dv37JFKKRuulUsAnUOIlO4G8wH3gPiBAA0iW0ww== dependencies: - "@octokit/rest" "^18.0.0" - "@semantic-release/error" "^2.2.0" + "@octokit/rest" "^19.0.0" + "@semantic-release/error" "^3.0.0" aggregate-error "^3.0.0" bottleneck "^2.18.1" debug "^4.0.0" dir-glob "^3.0.0" - fs-extra "^10.0.0" + fs-extra "^11.0.0" globby "^11.0.0" http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" @@ -2587,153 +3435,163 @@ read-pkg-up "^7.0.0" "@sqltools/formatter@^1.2.2": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@sqltools/formatter/-/formatter-1.2.3.tgz#1185726610acc37317ddab11c3c7f9066966bd20" - integrity sha512-O3uyB/JbkAEMZaP3YqyHH7TMnex7tWyCbCI4EfJdOCoN6HIhqdJBWTM6aCCiWQ/5f5wxjgU735QAIpJbjDvmzg== + version "1.2.5" + resolved "https://registry.yarnpkg.com/@sqltools/formatter/-/formatter-1.2.5.tgz#3abc203c79b8c3e90fd6c156a0c62d5403520e12" + integrity sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw== "@supercharge/request-ip@1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@supercharge/request-ip/-/request-ip-1.2.0.tgz#b8a8164322e09de3fa9b6f556885795c4841a7d4" integrity sha512-wlt6JW69MHqLY2M6Sm/jVyCojNRKq2CBvwH0Hbx24SFhDQQGkgEjeKxVutDxHSyrWixFaOSLXC27euzxijhyMQ== -"@svgr/babel-plugin-add-jsx-attribute@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.3.1.tgz#b9a5d84902be75a05ede92e70b338d28ab63fa74" - integrity sha512-jDBKArXYO1u0B1dmd2Nf8Oy6aTF5vLDfLoO9Oon/GLkqZ/NiggYWZA+a2HpUMH4ITwNqS3z43k8LWApB8S583w== - -"@svgr/babel-plugin-remove-jsx-attribute@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.3.1.tgz#4877995452efc997b36777abe1fde9705ef78e8b" - integrity sha512-dQzyJ4prwjcFd929T43Z8vSYiTlTu8eafV40Z2gO7zy/SV5GT+ogxRJRBIKWomPBOiaVXFg3jY4S5hyEN3IBjQ== - -"@svgr/babel-plugin-remove-jsx-empty-expression@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.3.1.tgz#2d67a0e92904c9be149a5b22d3a3797ce4d7b514" - integrity sha512-HBOUc1XwSU67fU26V5Sfb8MQsT0HvUyxru7d0oBJ4rA2s4HW3PhyAPC7fV/mdsSGpAvOdd8Wpvkjsr0fWPUO7A== - -"@svgr/babel-plugin-replace-jsx-attribute-value@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.3.1.tgz#306f5247139c53af70d1778f2719647c747998ee" - integrity sha512-C12e6aN4BXAolRrI601gPn5MDFCRHO7C4TM8Kks+rDtl8eEq+NN1sak0eAzJu363x3TmHXdZn7+Efd2nr9I5dA== - -"@svgr/babel-plugin-svg-dynamic-title@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.3.1.tgz#6ce26d34cbc93eb81737ef528528907c292e7aa2" - integrity sha512-6NU55Mmh3M5u2CfCCt6TX29/pPneutrkJnnDCHbKZnjukZmmgUAZLtZ2g6ZoSPdarowaQmAiBRgAHqHmG0vuqA== - -"@svgr/babel-plugin-svg-em-dimensions@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.3.1.tgz#5ade2a724b290873c30529d1d8cd23523856287a" - integrity sha512-HV1NGHYTTe1vCNKlBgq/gKuCSfaRlKcHIADn7P8w8U3Zvujdw1rmusutghJ1pZJV7pDt3Gt8ws+SVrqHnBO/Qw== - -"@svgr/babel-plugin-transform-react-native-svg@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.3.1.tgz#d654f509d692c3a09dfb475757a44bd9f6ad7ddf" - integrity sha512-2wZhSHvTolFNeKDAN/ZmIeSz2O9JSw72XD+o2bNp2QAaWqa8KGpn5Yk5WHso6xqfSAiRzAE+GXlsrBO4UP9LLw== - -"@svgr/babel-plugin-transform-svg-component@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.3.1.tgz#21a285dbffdce9567c437ebf0d081bf9210807e6" - integrity sha512-cZ8Tr6ZAWNUFfDeCKn/pGi976iWSkS8ijmEYKosP+6ktdZ7lW9HVLHojyusPw3w0j8PI4VBeWAXAmi/2G7owxw== - -"@svgr/babel-preset@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-6.3.1.tgz#8bd1ead79637d395e9362b01dd37cfd59702e152" - integrity sha512-tQtWtzuMMQ3opH7je+MpwfuRA1Hf3cKdSgTtAYwOBDfmhabP7rcTfBi3E7V3MuwJNy/Y02/7/RutvwS1W4Qv9g== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^6.3.1" - "@svgr/babel-plugin-remove-jsx-attribute" "^6.3.1" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^6.3.1" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.3.1" - "@svgr/babel-plugin-svg-dynamic-title" "^6.3.1" - "@svgr/babel-plugin-svg-em-dimensions" "^6.3.1" - "@svgr/babel-plugin-transform-react-native-svg" "^6.3.1" - "@svgr/babel-plugin-transform-svg-component" "^6.3.1" - -"@svgr/core@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.3.1.tgz#752adf49d8d5473b15d76ca741961de093f715bd" - integrity sha512-Sm3/7OdXbQreemf9aO25keerZSbnKMpGEfmH90EyYpj1e8wMD4TuwJIb3THDSgRMWk1kYJfSRulELBy4gVgZUA== - dependencies: - "@svgr/plugin-jsx" "^6.3.1" +"@svgr/babel-plugin-add-jsx-attribute@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz#74a5d648bd0347bda99d82409d87b8ca80b9a1ba" + integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ== + +"@svgr/babel-plugin-remove-jsx-attribute@*": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.5.0.tgz#652bfd4ed0a0699843585cda96faeb09d6e1306e" + integrity sha512-8zYdkym7qNyfXpWvu4yq46k41pyNM9SOstoWhKlm+IfdCE1DdnRKeMUPsWIEO/DEkaWxJ8T9esNdG3QwQ93jBA== + +"@svgr/babel-plugin-remove-jsx-empty-expression@*": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.5.0.tgz#4b78994ab7d39032c729903fc2dd5c0fa4565cb8" + integrity sha512-NFdxMq3xA42Kb1UbzCVxplUc0iqSyM9X8kopImvFnB+uSDdzIHOdbs1op8ofAvVRtbg4oZiyRl3fTYeKcOe9Iw== + +"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz#fb9d22ea26d2bc5e0a44b763d4c46d5d3f596c60" + integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== + +"@svgr/babel-plugin-svg-dynamic-title@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz#01b2024a2b53ffaa5efceaa0bf3e1d5a4c520ce4" + integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== + +"@svgr/babel-plugin-svg-em-dimensions@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz#dd3fa9f5b24eb4f93bcf121c3d40ff5facecb217" + integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== + +"@svgr/babel-plugin-transform-react-native-svg@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz#1d8e945a03df65b601551097d8f5e34351d3d305" + integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== + +"@svgr/babel-plugin-transform-svg-component@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz#48620b9e590e25ff95a80f811544218d27f8a250" + integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== + +"@svgr/babel-preset@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-6.5.1.tgz#b90de7979c8843c5c580c7e2ec71f024b49eb828" + integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" + "@svgr/babel-plugin-remove-jsx-attribute" "*" + "@svgr/babel-plugin-remove-jsx-empty-expression" "*" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.1" + "@svgr/babel-plugin-svg-dynamic-title" "^6.5.1" + "@svgr/babel-plugin-svg-em-dimensions" "^6.5.1" + "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" + "@svgr/babel-plugin-transform-svg-component" "^6.5.1" + +"@svgr/core@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.5.1.tgz#d3e8aa9dbe3fbd747f9ee4282c1c77a27410488a" + integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== + dependencies: + "@babel/core" "^7.19.6" + "@svgr/babel-preset" "^6.5.1" + "@svgr/plugin-jsx" "^6.5.1" camelcase "^6.2.0" cosmiconfig "^7.0.1" -"@svgr/hast-util-to-babel-ast@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.3.1.tgz#59614e24d2a4a28010e02089213b3448d905769d" - integrity sha512-NgyCbiTQIwe3wHe/VWOUjyxmpUmsrBjdoIxKpXt3Nqc3TN30BpJG22OxBvVzsAh9jqep0w0/h8Ywvdk3D9niNQ== +"@svgr/hast-util-to-babel-ast@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz#81800bd09b5bcdb968bf6ee7c863d2288fdb80d2" + integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== dependencies: - "@babel/types" "^7.18.4" - entities "^4.3.0" + "@babel/types" "^7.20.0" + entities "^4.4.0" -"@svgr/plugin-jsx@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-6.3.1.tgz#de7b2de824296b836d6b874d498377896e367f50" - integrity sha512-r9+0mYG3hD4nNtUgsTXWGYJomv/bNd7kC16zvsM70I/bGeoCi/3lhTmYqeN6ChWX317OtQCSZZbH4wq9WwoXbw== +"@svgr/plugin-jsx@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz#0e30d1878e771ca753c94e69581c7971542a7072" + integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== dependencies: - "@babel/core" "^7.18.5" - "@svgr/babel-preset" "^6.3.1" - "@svgr/hast-util-to-babel-ast" "^6.3.1" + "@babel/core" "^7.19.6" + "@svgr/babel-preset" "^6.5.1" + "@svgr/hast-util-to-babel-ast" "^6.5.1" svg-parser "^2.0.4" -"@svgr/plugin-svgo@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-6.3.1.tgz#3c1ff2efaed10e5c5d35a6cae7bacaedc18b5d4a" - integrity sha512-yJIjTDKPYqzFVjmsbH5EdIwEsmKxjxdXSGJVLeUgwZOZPAkNQmD1v7LDbOdOKbR44FG8465Du+zWPdbYGnbMbw== +"@svgr/plugin-svgo@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz#0f91910e988fc0b842f88e0960c2862e022abe84" + integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ== dependencies: cosmiconfig "^7.0.1" deepmerge "^4.2.2" svgo "^2.8.0" -"@svgr/webpack@6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-6.3.1.tgz#001d03236ebb03bf47c0a4b92d5423e05095ebe6" - integrity sha512-eODxwIUShLxSMaRjzJtrj9wg89D75JLczvWg9SaB5W+OtVTkiC1vdGd8+t+pf5fTlBOy4RRXAq7x1E3DUl3D0A== - dependencies: - "@babel/core" "^7.18.5" - "@babel/plugin-transform-react-constant-elements" "^7.17.12" - "@babel/preset-env" "^7.18.2" - "@babel/preset-react" "^7.17.12" - "@babel/preset-typescript" "^7.17.12" - "@svgr/core" "^6.3.1" - "@svgr/plugin-jsx" "^6.3.1" - "@svgr/plugin-svgo" "^6.3.1" - -"@swc/helpers@0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.3.tgz#16593dfc248c53b699d4b5026040f88ddb497012" - integrity sha512-6JrF+fdUK2zbGpJIlN7G3v966PQjyx/dPt1T9km2wj+EUBqgrxCk3uX4Kct16MIm9gGxfKRcfax2hVf5jvlTzA== +"@svgr/webpack@6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-6.5.1.tgz#ecf027814fc1cb2decc29dc92f39c3cf691e40e8" + integrity sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA== + dependencies: + "@babel/core" "^7.19.6" + "@babel/plugin-transform-react-constant-elements" "^7.18.12" + "@babel/preset-env" "^7.19.4" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.18.6" + "@svgr/core" "^6.5.1" + "@svgr/plugin-jsx" "^6.5.1" + "@svgr/plugin-svgo" "^6.5.1" + +"@swc/helpers@0.4.11": + version "0.4.11" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.11.tgz#db23a376761b3d31c26502122f349a21b592c8de" + integrity sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw== dependencies: tslib "^2.4.0" -"@tailwindcss/aspect-ratio@0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@tailwindcss/aspect-ratio/-/aspect-ratio-0.4.0.tgz#c635dd7331cbcc1b111cebdc2647dd3493ebdd3e" - integrity sha512-WJu0I4PpqNPuutpaA9zDUq2JXR+lorZ7PbLcKNLmb6GL9/HLfC7w3CRsMhJF4BbYd/lkY6CfXOvkYpuGnZfkpQ== +"@swc/helpers@^0.4.14": + version "0.4.14" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.14.tgz#1352ac6d95e3617ccb7c1498ff019654f1e12a74" + integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw== + dependencies: + tslib "^2.4.0" -"@tailwindcss/forms@0.5.2": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.5.2.tgz#4ef45f9916dcb37838cbe7fecdcc4ba7a7c2ab59" - integrity sha512-pSrFeJB6Bg1Mrg9CdQW3+hqZXAKsBrSG9MAfFLKy1pVA4Mb4W7C0k7mEhlmS2Dfo/otxrQOET7NJiJ9RrS563w== +"@tailwindcss/aspect-ratio@0.4.2": + version "0.4.2" + resolved "https://registry.yarnpkg.com/@tailwindcss/aspect-ratio/-/aspect-ratio-0.4.2.tgz#9ffd52fee8e3c8b20623ff0dcb29e5c21fb0a9ba" + integrity sha512-8QPrypskfBa7QIMuKHg2TA7BqES6vhBrDLOv8Unb6FcFyd3TjKbc6lcmb9UPQHxfl24sXoJ41ux/H7qQQvfaSQ== + +"@tailwindcss/forms@0.5.3": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.5.3.tgz#e4d7989686cbcaf416c53f1523df5225332a86e7" + integrity sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q== dependencies: mini-svg-data-uri "^1.2.3" -"@tailwindcss/typography@0.5.4": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.4.tgz#ad8c9e6808bae297bb7826742e4789f2a9f09a48" - integrity sha512-QEdg40EmGvE7kKoDei8zr5sf4D1pIayHj4R31bH3lX8x2BtTiR+jNejYPOkhbmy3DXgkMF9jC8xqNiGFAuL9Sg== +"@tailwindcss/typography@0.5.8": + version "0.5.8" + resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.8.tgz#8fb31db5ab0590be6dfa062b1535ac86ad9d12bf" + integrity sha512-xGQEp8KXN8Sd8m6R4xYmwxghmswrd0cPnNI2Lc6fmrC3OojysTBJJGSIVwPV56q4t6THFUK3HJ0EaWwpglSxWw== dependencies: lodash.castarray "^4.4.0" lodash.isplainobject "^4.0.6" lodash.merge "^4.6.2" + postcss-selector-parser "6.0.10" -"@tanem/react-nprogress@5.0.11": - version "5.0.11" - resolved "https://registry.yarnpkg.com/@tanem/react-nprogress/-/react-nprogress-5.0.11.tgz#ac05edd3b93c88170b91ce33871e1dc71ca5af22" - integrity sha512-zLOsKXzTjXkCEgicC+wHxZiXl5/ONOQIFoZ1HBmHmNbrnMStg4/T6gmyBLRDu4lQ5cS00F1ElRwLSODd0xmNMg== +"@tanem/react-nprogress@5.0.22": + version "5.0.22" + resolved "https://registry.yarnpkg.com/@tanem/react-nprogress/-/react-nprogress-5.0.22.tgz#31aff13de27ec27401acb8cc4a5976eb034616e6" + integrity sha512-S73v6z7uD8wkCzKARDXn/AGEAVlL8IXI2/pqACRMnn3dTyfaLg2JLrZYtrfBcVaZXf5bgKSB+lK1ncKVN40pQQ== dependencies: - "@babel/runtime" "^7.18.9" + "@babel/runtime" "^7.20.6" hoist-non-react-statics "^3.3.2" "@tootallnate/once@1": @@ -2752,29 +3610,29 @@ integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== "@tsconfig/node10@^1.0.7": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" - integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== "@tsconfig/node12@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" - integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== "@tsconfig/node14@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" - integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== "@tsconfig/node16@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" - integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" + integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== "@types/babel__core@^7.1.7": - version "7.1.19" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" - integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== + version "7.1.20" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359" + integrity sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -2798,9 +3656,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*": - version "7.17.1" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314" - integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== + version "7.18.3" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" + integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== dependencies: "@babel/types" "^7.3.0" @@ -2867,41 +3725,41 @@ juice "^7.0.0" "@types/eslint@7 || 8": - version "8.4.2" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.2.tgz#48f2ac58ab9c631cb68845c3d956b28f79fad575" - integrity sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA== + version "8.4.10" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.10.tgz#19731b9685c19ed1552da7052b6f668ed7eb64bb" + integrity sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*": - version "0.0.51" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" - integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": - version "4.17.28" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" - integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.31": + version "4.17.32" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz#93dda387f5516af616d8d3f05f2c4c79d81e1b82" + integrity sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" -"@types/express-session@1.17.4", "@types/express-session@^1.15.5": - version "1.17.4" - resolved "https://registry.yarnpkg.com/@types/express-session/-/express-session-1.17.4.tgz#97a30a35e853a61bdd26e727453b8ed314d6166b" - integrity sha512-7cNlSI8+oOBUHTfPXMwDxF/Lchx5aJ3ho7+p9jJZYVg9dVDJFh3qdMXmJtRsysnvS+C6x46k9DRYmrmCkE+MVg== +"@types/express-session@1.17.5", "@types/express-session@^1.15.5": + version "1.17.5" + resolved "https://registry.yarnpkg.com/@types/express-session/-/express-session-1.17.5.tgz#13f48852b4aa60ff595835faeb4b4dda0ba0866e" + integrity sha512-l0DhkvNVfyUPEEis8fcwbd46VptfA/jmMwHfob2TfDMf3HyPLiB9mKD71LXhz5TMUobODXPD27zXSwtFQLHm+w== dependencies: "@types/express" "*" -"@types/express@*", "@types/express@4.17.13": - version "4.17.13" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" - integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== +"@types/express@*", "@types/express@4.17.15": + version "4.17.15" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.15.tgz#9290e983ec8b054b65a5abccb610411953d417ff" + integrity sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ== dependencies: "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.18" + "@types/express-serve-static-core" "^4.17.31" "@types/qs" "*" "@types/serve-static" "*" @@ -2928,9 +3786,9 @@ hoist-non-react-statics "^3.3.0" "@types/html-to-text@*": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@types/html-to-text/-/html-to-text-8.1.0.tgz#dad0bf5d199f7e3f67eae50a36c13eadb1b56d1b" - integrity sha512-54YF2fGmN4g62/w+T85uQ8n0FyBhMY5cjKZ1imsbIh4Pgbeno1mAaQktC/pv/+C2ToUYkTZis9ADgn9GRRz9nQ== + version "8.1.1" + resolved "https://registry.yarnpkg.com/@types/html-to-text/-/html-to-text-8.1.1.tgz#0c5573207c14f618f24da5a2910c510285573094" + integrity sha512-QFcqfc7TiVbvIX8Fc2kWUxakruI1Ay6uitaGCYHzI5M0WHQROV5D2XeSaVrK0FmvssivXum4yERVnJsiuH61Ww== "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.11" @@ -2947,15 +3805,10 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/lodash@4.14.183": - version "4.14.183" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.183.tgz#1173e843e858cff5b997c234df2789a4a54c2374" - integrity sha512-UXavyuxzXKMqJPEpFPri6Ku5F9af6ZJXUneHhvQJxavrEjuHkFp2YnDWHcxJiG7hk8ZkWqjcyNeW1s/smZv5cw== - -"@types/lodash@^4.14.175": - version "4.14.182" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2" - integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q== +"@types/lodash@4.14.191", "@types/lodash@^4.14.175": + version "4.14.191" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" + integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== "@types/mdast@^3.0.0": version "3.0.10" @@ -2964,15 +3817,10 @@ dependencies: "@types/unist" "*" -"@types/mdurl@^1.0.0": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9" - integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA== - -"@types/mime@^1": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" - integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== +"@types/mime@*": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" + integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== "@types/minimatch@^3.0.3": version "3.0.5" @@ -3003,27 +3851,30 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@14 || 16 || 17", "@types/node@17.0.36", "@types/node@>=12": +"@types/node@*": + version "18.11.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" + integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== + +"@types/node@14 || 16 || 17": + version "17.0.45" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" + integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== + +"@types/node@17.0.36": version "17.0.36" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.36.tgz#c0d5f2fe76b47b63e0e0efc3d2049a9970d68794" integrity sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA== -"@types/node@^14.14.31": - version "14.18.23" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.23.tgz#70f5f20b0b1b38f696848c1d3647bb95694e615e" - integrity sha512-MhbCWN18R4GhO8ewQWAFK4TGQdBpXWByukz7cWyJmXhvRuCIaM/oWytGPqVmDzgEnnaIc9ss6HbU5mUi+vyZPA== - -"@types/nodemailer@*": - version "6.4.4" - resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.4.tgz#c265f7e7a51df587597b3a49a023acaf0c741f4b" - integrity sha512-Ksw4t7iliXeYGvIQcSIgWQ5BLuC/mljIEbjf615svhZL10PE9t+ei8O9gDaD3FPCasUJn9KTLwz2JFJyiiyuqw== - dependencies: - "@types/node" "*" +"@types/node@^14.0.0", "@types/node@^14.14.31": + version "14.18.36" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.36.tgz#c414052cb9d43fab67d679d5f3c641be911f5835" + integrity sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ== -"@types/nodemailer@6.4.5": - version "6.4.5" - resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.5.tgz#09011ac73259245475d1688e4ba101860567dc39" - integrity sha512-zuP3nBRQHI6M2PkXnGGy1Ww4VB+MyYHGgnfV2T+JR9KLkeWqPJuyVUgLpKXuFnA/b7pZaIDFh2sV4759B7jK1g== +"@types/nodemailer@*", "@types/nodemailer@6.4.7": + version "6.4.7" + resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.7.tgz#658f4bca47c1a895b1d7e054b3b54030a5e1f5e0" + integrity sha512-f5qCBGAn/f0qtRcd4SEn88c8Fp3Swct1731X4ryPKqS61/A3LmmzN8zaEz7hneJvpjFbUUgY7lru/B/7ODTazg== dependencies: "@types/node" "*" @@ -3062,31 +3913,24 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== -"@types/react-dom@18.0.6": - version "18.0.6" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.6.tgz#36652900024842b74607a17786b6662dd1e103a1" - integrity sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA== +"@types/react-dom@18.0.10": + version "18.0.10" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.10.tgz#3b66dec56aa0f16a6cc26da9e9ca96c35c0b4352" + integrity sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg== dependencies: "@types/react" "*" -"@types/react-transition-group@4.4.5": +"@types/react-transition-group@4.4.5", "@types/react-transition-group@^4.4.0": version "4.4.5" resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.5.tgz#aae20dcf773c5aa275d5b9f7cdbca638abc5e416" integrity sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA== dependencies: "@types/react" "*" -"@types/react-transition-group@^4.4.0": - version "4.4.4" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.4.tgz#acd4cceaa2be6b757db61ed7b432e103242d163e" - integrity sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug== - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@16 || 17 || 18", "@types/react@18.0.17": - version "18.0.17" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.17.tgz#4583d9c322d67efe4b39a935d223edcc7050ccf4" - integrity sha512-38ETy4tL+rn4uQQi7mB81G7V1g0u2ryquNmsVIOKUAEIDK+3CUjZ6rSRpdvS99dNBnkLFL83qfmtLacGOTIhwQ== +"@types/react@*", "@types/react@16 || 17 || 18", "@types/react@18.0.26": + version "18.0.26" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.26.tgz#8ad59fc01fef8eaf5c74f4ea392621749f0b7917" + integrity sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -3114,17 +3958,17 @@ resolved "https://registry.yarnpkg.com/@types/secure-random-password/-/secure-random-password-0.2.1.tgz#c01a96d5c2667c3fa896533207bceb157e3b87bc" integrity sha512-tpG5oVF+NpIS9UJ9ttXAokafyhE/MCZBg65D345qu3gOM4YoJ/mFNVzUDUNBfb1hIi598bNOzvY04BbfS7VKwA== -"@types/semver@7.3.12": - version "7.3.12" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.12.tgz#920447fdd78d76b19de0438b7f60df3c4a80bf1c" - integrity sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A== +"@types/semver@7.3.13", "@types/semver@^7.3.12": + version "7.3.13" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" + integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== "@types/serve-static@*": - version "1.13.10" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" - integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + version "1.15.0" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155" + integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== dependencies: - "@types/mime" "^1" + "@types/mime" "*" "@types/node" "*" "@types/sinonjs__fake-timers@8.1.1": @@ -3181,128 +4025,87 @@ resolved "https://registry.yarnpkg.com/@types/yup/-/yup-0.29.14.tgz#754f1dccedcc66fc2bbe290c27f5323b407ceb00" integrity sha512-Ynb/CjHhE/Xp/4bhHmQC4U1Ox+I2OpfRYF3dnNgQqn1cHa6LK3H1wJMNPT02tSVZA6FYuXE2ITORfbnb6zBCSA== -"@typescript-eslint/eslint-plugin@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.1.tgz#c0a480d05211660221eda963cc844732fe9b1714" - integrity sha512-S1iZIxrTvKkU3+m63YUOxYPKaP+yWDQrdhxTglVDVEVBf+aCSw85+BmJnyUaQQsk5TXFG/LpBu9fa+LrAQ91fQ== +"@typescript-eslint/eslint-plugin@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz#54f8368d080eb384a455f60c2ee044e948a8ce67" + integrity sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ== dependencies: - "@typescript-eslint/scope-manager" "5.33.1" - "@typescript-eslint/type-utils" "5.33.1" - "@typescript-eslint/utils" "5.33.1" + "@typescript-eslint/scope-manager" "5.48.0" + "@typescript-eslint/type-utils" "5.48.0" + "@typescript-eslint/utils" "5.48.0" debug "^4.3.4" - functional-red-black-tree "^1.0.1" ignore "^5.2.0" + natural-compare-lite "^1.4.0" regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.33.1.tgz#e4b253105b4d2a4362cfaa4e184e2d226c440ff3" - integrity sha512-IgLLtW7FOzoDlmaMoXdxG8HOCByTBXrB1V2ZQYSEV1ggMmJfAkMWTwUjjzagS6OkfpySyhKFkBw7A9jYmcHpZA== - dependencies: - "@typescript-eslint/scope-manager" "5.33.1" - "@typescript-eslint/types" "5.33.1" - "@typescript-eslint/typescript-estree" "5.33.1" - debug "^4.3.4" - -"@typescript-eslint/parser@^5.21.0": - version "5.27.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.27.0.tgz#62bb091ed5cf9c7e126e80021bb563dcf36b6b12" - integrity sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA== +"@typescript-eslint/parser@5.48.0", "@typescript-eslint/parser@^5.21.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.0.tgz#02803355b23884a83e543755349809a50b7ed9ba" + integrity sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg== dependencies: - "@typescript-eslint/scope-manager" "5.27.0" - "@typescript-eslint/types" "5.27.0" - "@typescript-eslint/typescript-estree" "5.27.0" + "@typescript-eslint/scope-manager" "5.48.0" + "@typescript-eslint/types" "5.48.0" + "@typescript-eslint/typescript-estree" "5.48.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.27.0": - version "5.27.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz#a272178f613050ed62f51f69aae1e19e870a8bbb" - integrity sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g== +"@typescript-eslint/scope-manager@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz#607731cb0957fbc52fd754fd79507d1b6659cecf" + integrity sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow== dependencies: - "@typescript-eslint/types" "5.27.0" - "@typescript-eslint/visitor-keys" "5.27.0" + "@typescript-eslint/types" "5.48.0" + "@typescript-eslint/visitor-keys" "5.48.0" -"@typescript-eslint/scope-manager@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.33.1.tgz#8d31553e1b874210018ca069b3d192c6d23bc493" - integrity sha512-8ibcZSqy4c5m69QpzJn8XQq9NnqAToC8OdH/W6IXPXv83vRyEDPYLdjAlUx8h/rbusq6MkW4YdQzURGOqsn3CA== +"@typescript-eslint/type-utils@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.0.tgz#40496dccfdc2daa14a565f8be80ad1ae3882d6d6" + integrity sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g== dependencies: - "@typescript-eslint/types" "5.33.1" - "@typescript-eslint/visitor-keys" "5.33.1" - -"@typescript-eslint/type-utils@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.33.1.tgz#1a14e94650a0ae39f6e3b77478baff002cec4367" - integrity sha512-X3pGsJsD8OiqhNa5fim41YtlnyiWMF/eKsEZGsHID2HcDqeSC5yr/uLOeph8rNF2/utwuI0IQoAK3fpoxcLl2g== - dependencies: - "@typescript-eslint/utils" "5.33.1" + "@typescript-eslint/typescript-estree" "5.48.0" + "@typescript-eslint/utils" "5.48.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.27.0": - version "5.27.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.27.0.tgz#c3f44b9dda6177a9554f94a74745ca495ba9c001" - integrity sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A== - -"@typescript-eslint/types@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.33.1.tgz#3faef41793d527a519e19ab2747c12d6f3741ff7" - integrity sha512-7K6MoQPQh6WVEkMrMW5QOA5FO+BOwzHSNd0j3+BlBwd6vtzfZceJ8xJ7Um2XDi/O3umS8/qDX6jdy2i7CijkwQ== - -"@typescript-eslint/typescript-estree@5.27.0", "@typescript-eslint/typescript-estree@^5.9.1": - version "5.27.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz#7965f5b553c634c5354a47dcce0b40b94611e995" - integrity sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ== - dependencies: - "@typescript-eslint/types" "5.27.0" - "@typescript-eslint/visitor-keys" "5.27.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" +"@typescript-eslint/types@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.0.tgz#d725da8dfcff320aab2ac6f65c97b0df30058449" + integrity sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw== -"@typescript-eslint/typescript-estree@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.1.tgz#a573bd360790afdcba80844e962d8b2031984f34" - integrity sha512-JOAzJ4pJ+tHzA2pgsWQi4804XisPHOtbvwUyqsuuq8+y5B5GMZs7lI1xDWs6V2d7gE/Ez5bTGojSK12+IIPtXA== +"@typescript-eslint/typescript-estree@5.48.0", "@typescript-eslint/typescript-estree@^5.9.1": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz#a7f04bccb001003405bb5452d43953a382c2fac2" + integrity sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw== dependencies: - "@typescript-eslint/types" "5.33.1" - "@typescript-eslint/visitor-keys" "5.33.1" + "@typescript-eslint/types" "5.48.0" + "@typescript-eslint/visitor-keys" "5.48.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.33.1.tgz#171725f924fe1fe82bb776522bb85bc034e88575" - integrity sha512-uphZjkMaZ4fE8CR4dU7BquOV6u0doeQAr8n6cQenl/poMaIyJtBu8eys5uk6u5HiDH01Mj5lzbJ5SfeDz7oqMQ== +"@typescript-eslint/utils@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.0.tgz#eee926af2733f7156ad8d15e51791e42ce300273" + integrity sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.33.1" - "@typescript-eslint/types" "5.33.1" - "@typescript-eslint/typescript-estree" "5.33.1" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.48.0" + "@typescript-eslint/types" "5.48.0" + "@typescript-eslint/typescript-estree" "5.48.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" + semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.27.0": - version "5.27.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz#97aa9a5d2f3df8215e6d3b77f9d214a24db269bd" - integrity sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA== - dependencies: - "@typescript-eslint/types" "5.27.0" - eslint-visitor-keys "^3.3.0" - -"@typescript-eslint/visitor-keys@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.1.tgz#0155c7571c8cd08956580b880aea327d5c34a18b" - integrity sha512-nwIxOK8Z2MPWltLKMLOEZwmfBZReqUdbEoHQXeCpa+sRVARe5twpJGHCB4dk9903Yaf0nMAlGbQfaAH92F60eg== +"@typescript-eslint/visitor-keys@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz#4446d5e7f6cadde7140390c0e284c8702d944904" + integrity sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q== dependencies: - "@typescript-eslint/types" "5.33.1" + "@typescript-eslint/types" "5.48.0" eslint-visitor-keys "^3.3.0" JSONStream@^1.0.4: @@ -3313,7 +4116,7 @@ JSONStream@^1.0.4: jsonparse "^1.2.0" through ">=2.2.7 <3" -abbrev@1, abbrev@~1.1.1: +abbrev@1, abbrev@^1.0.0, abbrev@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== @@ -3326,15 +4129,10 @@ accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" -ace-builds@1.9.6: - version "1.9.6" - resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.9.6.tgz#2d3721f90f0664b79be9288f6319dd57576ff1e7" - integrity sha512-M/Li4hPruMSbkkg35LgdbsIBq0WuwrV4ztP2pKaww47rC/MvDc1bOrYxwJrfgxdlzyLKrja5bn+9KwwuzqB2xQ== - -ace-builds@^1.4.14: - version "1.5.2" - resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.5.2.tgz#411752873a19a4d653a0b156131d56e4192bd9e3" - integrity sha512-E/h9JRtcTwzXYKZ4Ucnw9Eit0gEWQSFrjSCQQER/qIavrVbWNM4w21WqyyOqSVs+jtMjpSO11mg2ZZTExXbltQ== +ace-builds@1.14.0, ace-builds@^1.4.14: + version "1.14.0" + resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.14.0.tgz#85a6733b4fa17b0abc3dbfe38cd8d823cad79716" + integrity sha512-3q8LvawomApRCt4cC0OzxVjDsZ609lDbm8l0Xl9uqG06dKEq4RT0YXLUyk7J2SxmqIp5YXzZNw767Dr8GKUruw== acorn-jsx@^5.3.2: version "5.3.2" @@ -3365,15 +4163,10 @@ acorn@^7.0.0, acorn@^7.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.4.1, acorn@^8.7.1: - version "8.7.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" - integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== - -acorn@^8.8.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== +acorn@^8.4.1, acorn@^8.8.0: + version "8.8.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" + integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== agent-base@6, agent-base@^6.0.2: version "6.0.2" @@ -3429,9 +4222,9 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.12.6: uri-js "^4.2.2" ajv@^8.0.0, ajv@^8.11.0, ajv@^8.8.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" - integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== + version "8.11.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" + integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -3443,11 +4236,6 @@ ansi-colors@^4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== -ansi-escapes@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" @@ -3462,16 +4250,6 @@ ansi-escapes@^5.0.0: dependencies: type-fest "^1.0.2" -ansi-regex@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" - integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== - -ansi-regex@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" - integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" @@ -3497,9 +4275,9 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0: color-convert "^2.0.1" ansi-styles@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" - integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== ansicolors@~0.3.2: version "0.3.2" @@ -3512,17 +4290,17 @@ any-promise@^1.0.0: integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" app-root-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.0.0.tgz#210b6f43873227e18a4b810a032283311555d5ad" - integrity sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw== + version "3.1.0" + resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.1.0.tgz#5971a2fc12ba170369a7a1ef018c71e6e47c2e86" + integrity sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA== append-field@^1.0.0: version "1.0.0" @@ -3553,9 +4331,9 @@ are-we-there-yet@^2.0.0: readable-stream "^3.6.0" are-we-there-yet@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz#ba20bd6b553e31d62fc8c31bd23d22b95734390d" - integrity sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw== + version "3.0.1" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" + integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== dependencies: delegates "^1.0.0" readable-stream "^3.6.0" @@ -3610,15 +4388,15 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== -array-includes@^3.1.4, array-includes@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" - integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== +array-includes@^3.1.4, array-includes@^3.1.5, array-includes@^3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== dependencies: call-bind "^1.0.2" define-properties "^1.1.4" - es-abstract "^1.19.5" - get-intrinsic "^1.1.1" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" is-string "^1.0.7" array-union@^2.1.0: @@ -3627,24 +4405,35 @@ array-union@^2.1.0: integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array.prototype.flat@^1.2.5: - version "1.3.0" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" - integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" es-shim-unscopables "^1.0.0" -array.prototype.flatmap@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz#a7e8ed4225f4788a70cd910abcf0791e76a5534f" - integrity sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg== +array.prototype.flatmap@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" + integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" es-shim-unscopables "^1.0.0" + get-intrinsic "^1.1.3" arrify@^1.0.1: version "1.0.1" @@ -3698,16 +4487,11 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async@^3.2.0: +async@^3.2.0, async@^3.2.3: version "3.2.4" resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== -async@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" - integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -3718,13 +4502,13 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -autoprefixer@10.4.8: - version "10.4.8" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5" - integrity sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw== +autoprefixer@10.4.13: + version "10.4.13" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8" + integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== dependencies: - browserslist "^4.21.3" - caniuse-lite "^1.0.30001373" + browserslist "^4.21.4" + caniuse-lite "^1.0.30001426" fraction.js "^4.2.0" normalize-range "^0.1.2" picocolors "^1.0.0" @@ -3740,41 +4524,30 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== -axe-core@^4.3.5: - version "4.4.2" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.2.tgz#dcf7fb6dea866166c3eab33d68208afe4d5f670c" - integrity sha512-LVAaGp/wkkgYJcjmHsoKx4juT1aQvJyPcW09MLCjVTh3V2cc6PnyempiLMNH5iMdfIX/zdbjUx2KDjMLCTdPeA== - axe-core@^4.4.3: - version "4.4.3" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.3.tgz#11c74d23d5013c0fa5d183796729bc3482bd2f6f" - integrity sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w== + version "4.6.1" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.1.tgz#79cccdee3e3ab61a8f42c458d4123a6768e6fbce" + integrity sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w== axios-rate-limit@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/axios-rate-limit/-/axios-rate-limit-1.3.0.tgz#03241d24c231c47432dab6e8234cfde819253c2e" integrity sha512-cKR5wTbU/CeeyF1xVl5hl6FlYsmzDVqxlN4rGtfO5x7J83UxKDckudsW0yW21/ZJRcO0Qrfm3fUFbhEbWTLayw== -axios@0.27.2: - version "0.27.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" - integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== +axios@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.2.2.tgz#72681724c6e6a43a9fea860fc558127dbe32f9f1" + integrity sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q== dependencies: - follow-redirects "^1.14.9" + follow-redirects "^1.15.0" form-data "^4.0.0" + proxy-from-env "^1.1.0" axobject-query@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - babel-plugin-emotion@^10.0.27: version "10.2.2" resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz#a1fe3503cff80abfd0bdda14abd2e8e57a79d17d" @@ -3791,7 +4564,7 @@ babel-plugin-emotion@^10.0.27: find-root "^1.1.0" source-map "^0.5.7" -babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.6.1: +babel-plugin-macros@^2.0.0: version "2.8.0" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== @@ -3800,29 +4573,38 @@ babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.6.1: cosmiconfig "^6.0.0" resolve "^1.12.0" -babel-plugin-polyfill-corejs2@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz#e4c31d4c89b56f3cf85b92558954c66b54bd972d" - integrity sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q== +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + +babel-plugin-polyfill-corejs2@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" + integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== dependencies: "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.2" + "@babel/helper-define-polyfill-provider" "^0.3.3" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz#d7e09c9a899079d71a8b670c6181af56ec19c5c7" - integrity sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw== +babel-plugin-polyfill-corejs3@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" + integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.2" - core-js-compat "^3.21.0" + "@babel/helper-define-polyfill-provider" "^0.3.3" + core-js-compat "^3.25.1" -babel-plugin-polyfill-regenerator@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz#8f51809b6d5883e07e71548d75966ff7635527fe" - integrity sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw== +babel-plugin-polyfill-regenerator@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" + integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.2" + "@babel/helper-define-polyfill-provider" "^0.3.3" babel-plugin-react-intl-auto@3.3.0: version "3.3.0" @@ -3899,27 +4681,27 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -bcrypt@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.0.1.tgz#f1a2c20f208e2ccdceea4433df0c8b2c54ecdf71" - integrity sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw== +bcrypt@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.1.0.tgz#bbb27665dbc400480a524d8991ac7434e8529e17" + integrity sha512-RHBS7HI5N5tEnGTmtR/pppX0mmDSBpQ4aCBsj7CEQfYXDcO74A8sIBYcJMuCsis2E81zDxeENYhv66oZwLiA+Q== dependencies: - "@mapbox/node-pre-gyp" "^1.0.0" - node-addon-api "^3.1.0" + "@mapbox/node-pre-gyp" "^1.0.10" + node-addon-api "^5.0.0" before-after-hook@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" - integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== + version "2.2.3" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" + integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== -bin-links@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.1.tgz#cc70ffb481988b22c527d3e6e454787876987a49" - integrity sha512-9vx+ypzVhASvHTS6K+YSGf7nwQdANoz7v6MTC0aCtYnOEZ87YvMf81aY737EZnGZdpbRM3sfWjO9oWkKmuIvyQ== +bin-links@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.3.tgz#3842711ef3db2cd9f16a5f404a996a12db355a6e" + integrity sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA== dependencies: cmd-shim "^5.0.0" mkdirp-infer-owner "^2.0.0" - npm-normalize-package-bin "^1.0.0" + npm-normalize-package-bin "^2.0.0" read-cmd-shim "^3.0.0" rimraf "^3.0.0" write-file-atomic "^4.0.0" @@ -3958,10 +4740,10 @@ bn.js@^4.0.0: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -body-parser@1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" - integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== dependencies: bytes "3.1.2" content-type "~1.0.4" @@ -3971,7 +4753,7 @@ body-parser@1.20.0: http-errors "2.0.0" iconv-lite "0.4.24" on-finished "2.4.1" - qs "6.10.3" + qs "6.11.0" raw-body "2.5.1" type-is "~1.6.18" unpipe "1.0.0" @@ -4018,26 +4800,15 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -browserslist@^4.20.2, browserslist@^4.20.3: - version "4.20.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" - integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== - dependencies: - caniuse-lite "^1.0.30001332" - electron-to-chromium "^1.4.118" - escalade "^3.1.1" - node-releases "^2.0.3" - picocolors "^1.0.0" - -browserslist@^4.21.3: - version "4.21.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" - integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== +browserslist@^4.21.3, browserslist@^4.21.4: + version "4.21.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== dependencies: - caniuse-lite "^1.0.30001370" - electron-to-chromium "^1.4.202" + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" node-releases "^2.0.6" - update-browserslist-db "^1.0.5" + update-browserslist-db "^1.0.9" buffer-crc32@~0.2.3: version "0.2.13" @@ -4113,10 +4884,10 @@ cacache@^15.2.0: tar "^6.0.2" unique-filename "^1.1.1" -cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.0.tgz#87a6bae558a511c9cb2a13768073e240ca76153a" - integrity sha512-Pk4aQkwCW82A4jGKFvcGkQFqZcMspfP9YWq9Pr87/ldDvlWf718zeI6KWCdKt/jeihu6BytHRUicJPB1K2k8EQ== +cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: + version "16.1.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" + integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== dependencies: "@npmcli/fs" "^2.1.0" "@npmcli/move-file" "^2.0.0" @@ -4135,12 +4906,7 @@ cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0: rimraf "^3.0.2" ssri "^9.0.0" tar "^6.1.11" - unique-filename "^1.1.1" - -cachedir@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.2.0.tgz#19afa4305e05d79e417566882e0c8f960f62ff0e" - integrity sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ== + unique-filename "^2.0.0" cachedir@2.3.0, cachedir@^2.3.0: version "2.3.0" @@ -4156,9 +4922,9 @@ call-bind@^1.0.0, call-bind@^1.0.2: get-intrinsic "^1.0.2" call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw== + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa" + integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== callsites@^3.0.0: version "3.1.0" @@ -4189,15 +4955,10 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001332: - version "1.0.30001344" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001344.tgz#8a1e7fdc4db9c2ec79a05e9fd68eb93a761888bb" - integrity sha512-0ZFjnlCaXNOAYcV7i+TtdKBp0L/3XEU2MF/x6Du1lrh+SRX4IfzIVL4HNJg5pB2PmFb8rszIGyOvsZnqqRoc2g== - -caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: - version "1.0.30001378" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001378.tgz#3d2159bf5a8f9ca093275b0d3ecc717b00f27b67" - integrity sha512-JVQnfoO7FK7WvU4ZkBRbPjaot4+YqxogSDosHv0Hv5mWpUESmN+UubMU6L/hGz8QlQ2aY5U0vR6MOs6j/CXpNA== +caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001426: + version "1.0.30001441" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz#987437b266260b640a23cd18fbddb509d7f69f3e" + integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg== cardinal@^2.1.1: version "2.1.1" @@ -4212,7 +4973,7 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== -chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -4230,14 +4991,14 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: supports-color "^7.1.0" chalk@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.0.1.tgz#ca57d71e82bb534a296df63bbacc4a1c22b2a4b6" - integrity sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w== + version "5.2.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" + integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== character-entities@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.1.tgz#98724833e1e27990dee0bd0f2b8a859c3476aac7" - integrity sha512-OzmutCf2Kmc+6DrFrrPS8/tDh2+DpnrfzdICHWhcVC9eOd0N1PXmQEE1a8iM4IziIAG+8tmTq3K+oo0ubH6RRQ== + version "2.0.2" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" + integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== character-parser@^2.2.0: version "2.2.0" @@ -4256,6 +5017,17 @@ check-more-types@^2.24.0: resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== +cheerio-select@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.6.0.tgz#489f36604112c722afa147dedd0d4609c09e1696" + integrity sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g== + dependencies: + css-select "^4.3.0" + css-what "^6.0.1" + domelementtype "^2.2.0" + domhandler "^4.3.1" + domutils "^2.8.0" + cheerio-select@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" @@ -4268,10 +5040,23 @@ cheerio-select@^2.1.0: domhandler "^5.0.3" domutils "^3.0.1" +cheerio@1.0.0-rc.10: + version "1.0.0-rc.10" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.10.tgz#2ba3dcdfcc26e7956fc1f440e61d51c643379f3e" + integrity sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw== + dependencies: + cheerio-select "^1.5.0" + dom-serializer "^1.3.2" + domhandler "^4.2.0" + htmlparser2 "^6.1.0" + parse5 "^6.0.1" + parse5-htmlparser2-tree-adapter "^6.0.1" + tslib "^2.2.0" + cheerio@^1.0.0-rc.3: - version "1.0.0-rc.11" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.11.tgz#1be84be1a126958366bcc57a11648cd9b30a60c2" - integrity sha512-bQwNaDIBKID5ts/DsdhxrjqFXYfLw4ste+wMKqWA8DyKcS4qwsPP4Bk8ZNaTJjvpiX/qW3BT4sU7d6Bh5i+dag== + version "1.0.0-rc.12" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" + integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== dependencies: cheerio-select "^2.1.0" dom-serializer "^2.0.0" @@ -4280,7 +5065,6 @@ cheerio@^1.0.0-rc.3: htmlparser2 "^8.0.1" parse5 "^7.0.0" parse5-htmlparser2-tree-adapter "^7.0.0" - tslib "^2.4.0" chokidar@^3.4.0, chokidar@^3.5.2, chokidar@^3.5.3: version "3.5.3" @@ -4302,10 +5086,10 @@ chownr@^2.0.0: resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== -ci-info@^3.2.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.2.tgz#6d2967ffa407466481c6c90b6e16b3098f080128" - integrity sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg== +ci-info@^3.2.0, ci-info@^3.3.2: + version "3.7.1" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.1.tgz#708a6cdae38915d597afdf3b145f2f8e1ff55f3f" + integrity sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w== cidr-regex@^3.1.1: version "3.1.1" @@ -4315,9 +5099,9 @@ cidr-regex@^3.1.1: ip-regex "^4.1.0" classnames@^2.2.5: - version "2.3.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" - integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== + version "2.3.2" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" + integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== clean-stack@^2.0.0: version "2.2.0" @@ -4332,13 +5116,6 @@ cli-columns@^4.0.0: string-width "^4.2.3" strip-ansi "^6.0.1" -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== - dependencies: - restore-cursor "^2.0.0" - cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -4364,9 +5141,9 @@ cli-spinners@^2.5.0: integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== cli-table3@^0.6.1, cli-table3@^0.6.2, cli-table3@~0.6.1: - version "0.6.2" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.2.tgz#aaf5df9d8b5bf12634dc8b3040806a0c07120d2a" - integrity sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw== + version "0.6.3" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== dependencies: string-width "^4.2.0" optionalDependencies: @@ -4388,16 +5165,16 @@ cli-truncate@^3.1.0: slice-ansi "^5.0.0" string-width "^5.0.0" -cli-width@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" - integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== - cli-width@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== +client-only@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" + integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== + cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -4407,6 +5184,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + clone@2.x: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" @@ -4417,6 +5203,11 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== +clsx@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + cmd-shim@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-5.0.0.tgz#8d0aaa1a6b0708630694c4dbde070ed94c707724" @@ -4469,10 +5260,10 @@ color@^3.1.3: color-convert "^1.9.3" color-string "^1.6.0" -colorette@^2.0.16: - version "2.0.16" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" - integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== +colorette@^2.0.16, colorette@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== colorspace@1.1.x: version "1.1.4" @@ -4498,9 +5289,9 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: delayed-stream "~1.0.0" comma-separated-tokens@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz#d4c25abb679b7751c880be623c1179780fe1dd98" - integrity sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg== + version "2.0.3" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" + integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== commander@^2.19.0: version "2.20.3" @@ -4527,20 +5318,15 @@ commander@^7.2.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== -commander@^9.0.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c" - integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== - -commander@^9.3.0: - version "9.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.3.0.tgz#f619114a5a2d2054e0d9ff1b31d5ccf89255e26b" - integrity sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw== +commander@^9.0.0, commander@^9.4.1: + version "9.4.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd" + integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== -commitizen@4.2.5: - version "4.2.5" - resolved "https://registry.yarnpkg.com/commitizen/-/commitizen-4.2.5.tgz#48e5a5c28334c6e8ed845cc24fc9f072efd3961e" - integrity sha512-9sXju8Qrz1B4Tw7kC5KhnvwYQN88qs2zbiB8oyMsnXZyJ24PPGiNM3nHr73d32dnE3i8VJEXddBFIbOgYSEXtQ== +commitizen@4.2.6, commitizen@^4.0.3: + version "4.2.6" + resolved "https://registry.yarnpkg.com/commitizen/-/commitizen-4.2.6.tgz#c35af39e1cb5fc2de88511df802da4344dc3ca80" + integrity sha512-RyTM+EiD9GO01DJUn9MRRAet3XUHGfoUZoksLfr+1ym1Xt2q5EYJs9Fg2BtKSb5Mo53i0BtMBmWMHQXVlZ/L9w== dependencies: cachedir "2.3.0" cz-conventional-changelog "3.3.0" @@ -4557,26 +5343,6 @@ commitizen@4.2.5: strip-bom "4.0.0" strip-json-comments "3.1.1" -commitizen@^4.0.3: - version "4.2.4" - resolved "https://registry.yarnpkg.com/commitizen/-/commitizen-4.2.4.tgz#a3e5b36bd7575f6bf6e7aa19dbbf06b0d8f37165" - integrity sha512-LlZChbDzg3Ir3O2S7jSo/cgWp5/QwylQVr59K4xayVq8S4/RdKzSyJkghAiZZHfhh5t4pxunUoyeg0ml1q/7aw== - dependencies: - cachedir "2.2.0" - cz-conventional-changelog "3.2.0" - dedent "0.7.0" - detect-indent "6.0.0" - find-node-modules "^2.1.2" - find-root "1.1.0" - fs-extra "8.1.0" - glob "7.1.4" - inquirer "6.5.2" - is-utf8 "^0.2.1" - lodash "^4.17.20" - minimist "1.2.5" - strip-bom "4.0.0" - strip-json-comments "3.0.1" - common-ancestor-path@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" @@ -4715,11 +5481,9 @@ conventional-commits-parser@^3.2.2, conventional-commits-parser@^3.2.3: through2 "^4.0.0" convert-source-map@^1.1.0, convert-source-map@^1.5.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== cookie-parser@1.4.6: version "1.4.6" @@ -4754,17 +5518,10 @@ cookie@0.5.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -copy-to-clipboard@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.2.tgz#5b263ec2366224b100181dded7ce0579b340c107" - integrity sha512-Vme1Z6RUDzrb6xAI7EZlVZ5uvOk2F//GaxKUxajDqm9LhOVM1inxNAD2vy+UZDYsd0uyA9s7b3/FVZPSxqrCfg== - dependencies: - toggle-selection "^1.0.6" - -copy-to-clipboard@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" - integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw== +copy-to-clipboard@3.3.3, copy-to-clipboard@^3.3.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" + integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== dependencies: toggle-selection "^1.0.6" @@ -4781,18 +5538,17 @@ copyfiles@2.4.1: untildify "^4.0.0" yargs "^16.1.0" -core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.22.7" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.7.tgz#8359eb66ecbf726dd0cfced8e48d5e73f3224239" - integrity sha512-uI9DAQKKiiE/mclIC5g4AjRpio27g+VMRhe6rQoz+q4Wm4L6A/fJhiLtBw+sfOpDG9wZ3O0pxIw7GbfOlBgjOA== +core-js-compat@^3.25.1: + version "3.27.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.27.1.tgz#b5695eb25c602d72b1d30cbfba3cb7e5e4cf0a67" + integrity sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA== dependencies: - browserslist "^4.20.3" - semver "7.0.0" + browserslist "^4.21.4" -core-js-pure@^3.20.2: - version "3.22.7" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.22.7.tgz#f58489d9b309fa7b26486a0f70d4ec19a418084e" - integrity sha512-wTriFxiZI+C8msGeh7fJcbC/a0V8fdInN1oS2eK79DMBGs8iIJiXhtFJCiT3rBa8w6zroHWW3p8ArlujZ/Mz+w== +core-js-pure@^3.25.1: + version "3.27.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.27.1.tgz#ede4a6b8440585c7190062757069c01d37a19dca" + integrity sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw== core-util-is@1.0.2: version "1.0.2" @@ -4804,13 +5560,10 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cosmiconfig-typescript-loader@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-2.0.1.tgz#5622bb1eb87d293570bcc3a57f406940e0960113" - integrity sha512-B9s6sX/omXq7I6gC6+YgLmrBFMJhPWew7ty/X5Tuwtd2zOSgWaUdXjkuVwbe3qqcdETo60+1nSVMekq//LIXVA== - dependencies: - cosmiconfig "^7" - ts-node "^10.8.0" +cosmiconfig-typescript-loader@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz#c4259ce474c9df0f32274ed162c0447c951ef073" + integrity sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q== cosmiconfig@^6.0.0: version "6.0.0" @@ -4823,10 +5576,10 @@ cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" -cosmiconfig@^7, cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== +cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" import-fresh "^3.2.1" @@ -4834,6 +5587,16 @@ cosmiconfig@^7, cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" +cosmiconfig@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.0.0.tgz#e9feae014eab580f858f8a0288f38997a7bebe97" + integrity sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ== + dependencies: + import-fresh "^3.2.1" + js-yaml "^4.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + country-flag-icons@1.5.5: version "1.5.5" resolved "https://registry.yarnpkg.com/country-flag-icons/-/country-flag-icons-1.5.5.tgz#04a41c83e2ea38ea28054d4e3eff9d1ce16aec1c" @@ -4852,10 +5615,21 @@ cron-parser@^3.5.0: is-nan "^1.3.2" luxon "^1.26.0" -cronstrue@2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/cronstrue/-/cronstrue-2.11.0.tgz#18ff1b95a836b9b4e06854f796db2dc8fa98ce41" - integrity sha512-iIBCSis5yqtFYWtJAmNOiwDveFWWIn+8uV5UYuPHYu/Aeu5CSSJepSbaHMyfc+pPFgnsCcGzfPQEo7LSGmWbTg== +cronstrue@2.21.0: + version "2.21.0" + resolved "https://registry.yarnpkg.com/cronstrue/-/cronstrue-2.21.0.tgz#278d19aa0b9e7ecc90a0c1dbd4f84ceece724094" + integrity sha512-YxabE1ZSHA1zJZMPCTSEbc0u4cRRenjqqTgCwJT7OvkspPSvfYFITuPFtsT+VkBuavJtFv2kJXT+mKSnlUJxfg== + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" @@ -4866,6 +5640,13 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +crypto-random-string@3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-3.3.1.tgz#13cee94cac8001e4842501608ef779e0ed08f82d" + integrity sha512-5j88ECEn6h17UePrLi6pn1JcLtAiANa3KExyr9y9Z5vo2mv56Gh3I4Aja/B9P9uyMwyxNHAHWv+nE72f30T5Dg== + dependencies: + type-fest "^0.8.1" + crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" @@ -4880,7 +5661,7 @@ csrf@3.1.0: tsscmp "1.0.6" uid-safe "2.1.5" -css-select@^4.1.3: +css-select@^4.1.3, css-select@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== @@ -4928,14 +5709,14 @@ csso@^4.2.0: css-tree "^1.1.2" csstype@^2.5.7: - version "2.6.20" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.20.tgz#9229c65ea0b260cf4d3d997cb06288e36a8d6dda" - integrity sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA== + version "2.6.21" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e" + integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w== csstype@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2" - integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA== + version "3.1.1" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" + integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== csurf@1.11.0: version "1.11.0" @@ -4952,10 +5733,10 @@ cy-mobile-commands@0.3.0: resolved "https://registry.yarnpkg.com/cy-mobile-commands/-/cy-mobile-commands-0.3.0.tgz#2bf242093149154d846b755977da197b4730429e" integrity sha512-Bj5P2ylw88hPqolLu68xWB6euVH5uNt8zyh+Ju8sBukGv39mWZxpjp6LtnUX/LK/YMthwvILYHhvr9SG1TP+4w== -cypress@10.6.0: - version "10.6.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-10.6.0.tgz#13f46867febf2c3715874ed5dce9c2e946b175fe" - integrity sha512-6sOpHjostp8gcLO34p6r/Ci342lBs8S5z9/eb3ZCQ22w2cIhMWGUoGKkosabPBfKcvRS9BE4UxybBtlIs8gTQA== +cypress@12.3.0: + version "12.3.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.3.0.tgz#ae3fb0540aef4b5eab1ef2bcd0760caf2992b8bf" + integrity sha512-ZQNebibi6NBt51TRxRMYKeFvIiQZ01t50HSy7z/JMgRVqBUey3cdjog5MYEbzG6Ktti5ckDt1tfcC47lmFwXkw== dependencies: "@cypress/request" "^2.88.10" "@cypress/xvfb" "^1.2.4" @@ -4976,7 +5757,7 @@ cypress@10.6.0: dayjs "^1.10.4" debug "^4.3.2" enquirer "^2.3.6" - eventemitter2 "^6.4.3" + eventemitter2 "6.4.7" execa "4.1.0" executable "^4.1.1" extract-zip "2.0.1" @@ -5000,20 +5781,6 @@ cypress@10.6.0: untildify "^4.0.0" yauzl "^2.10.0" -cz-conventional-changelog@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-3.2.0.tgz#6aef1f892d64113343d7e455529089ac9f20e477" - integrity sha512-yAYxeGpVi27hqIilG1nh4A9Bnx4J3Ov+eXy4koL3drrR+IO9GaWPsKjik20ht608Asqi8TQPf0mczhEeyAtMzg== - dependencies: - chalk "^2.4.1" - commitizen "^4.0.3" - conventional-commit-types "^3.0.0" - lodash.map "^4.5.1" - longest "^2.0.1" - word-wrap "^1.0.3" - optionalDependencies: - "@commitlint/load" ">6.1.1" - cz-conventional-changelog@3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz#9246947c90404149b3fe2cf7ee91acad3b7d22d2" @@ -5028,7 +5795,7 @@ cz-conventional-changelog@3.3.0: optionalDependencies: "@commitlint/load" ">6.1.1" -damerau-levenshtein@^1.0.7, damerau-levenshtein@^1.0.8: +damerau-levenshtein@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== @@ -5045,30 +5812,20 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -date-fns@2.29.1: - version "2.29.1" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.1.tgz#9667c2615525e552b5135a3116b95b1961456e60" - integrity sha512-dlLD5rKaKxpFdnjrs+5azHDFOPEu4ANy/LTh04A1DTzMM7qoajmKCBc8pkKRFT41CNzw+4gQh79X5C+Jq27HAw== - -date-fns@^2.28.0: - version "2.28.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" - integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== +date-fns@2.29.3, date-fns@^2.28.0: + version "2.29.3" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8" + integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== dateformat@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -dayjs@^1.10.4: - version "1.11.5" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.5.tgz#00e8cc627f231f9499c19b38af49f56dc0ac5e93" - integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA== - -dayjs@^1.10.6: - version "1.11.2" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.2.tgz#fa0f5223ef0d6724b3d8327134890cfe3d72fbe5" - integrity sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw== +dayjs@1.11.7, dayjs@^1.10.4: + version "1.11.7" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" + integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== debug@2.6.9, debug@^2.6.9: version "2.6.9" @@ -5097,9 +5854,9 @@ debuglog@^1.0.1: integrity sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw== decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg== + version "1.1.1" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== dependencies: decamelize "^1.1.0" map-obj "^1.0.0" @@ -5110,9 +5867,9 @@ decamelize@^1.1.0, decamelize@^1.2.0: integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decode-named-character-reference@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.1.tgz#57b2bd9112659cacbc449d3577d7dadb8e1f3d1b" - integrity sha512-YV/0HQHreRwKb7uBopyIkLG17jG6Sv2qUchk9qSoVJ2f+flwRsPNBO0hAnjt6mTNYUT+vw9Gy2ihXg4sUWPi2w== + version "1.0.2" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" + integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== dependencies: character-entities "^2.0.0" @@ -5142,9 +5899,9 @@ deepmerge@^4.2.2: integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== defaults@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - integrity sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== dependencies: clone "^1.0.2" @@ -5157,9 +5914,9 @@ define-properties@^1.1.3, define-properties@^1.1.4: object-keys "^1.1.1" defined@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - integrity sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ== + version "1.0.1" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" + integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== del@^6.0.0: version "6.1.1" @@ -5201,9 +5958,9 @@ deprecation@^2.0.0, deprecation@^2.3.1: integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== dequal@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.2.tgz#85ca22025e3a87e65ef75a7a437b35284a7e319d" - integrity sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug== + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== destroy@1.2.0: version "1.2.0" @@ -5215,11 +5972,6 @@ detect-file@^1.0.0: resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" integrity sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q== -detect-indent@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" - integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== - detect-indent@6.1.0, detect-indent@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" @@ -5262,7 +6014,7 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -diff@^5.0.0: +diff@^5.0.0, diff@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== @@ -5279,6 +6031,14 @@ discontinuous-range@1.0.0: resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" integrity sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ== +display-notification@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/display-notification/-/display-notification-2.0.0.tgz#49fad2e03289b4f668c296e1855c2cf8ba893d49" + integrity sha512-TdmtlAcdqy1NU+j7zlkDdMnCL878zriLaBmoD9quOoq1ySSSGv03l0hXK5CvIFZlIfFI/hizqdQuW+Num7xuhw== + dependencies: + escape-string-applescript "^1.0.0" + run-applescript "^3.0.0" + dlv@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" @@ -5311,7 +6071,7 @@ dom-helpers@^5.0.1: "@babel/runtime" "^7.8.7" csstype "^3.0.2" -dom-serializer@^1.0.1: +dom-serializer@^1.0.1, dom-serializer@^1.3.2: version "1.4.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== @@ -5334,7 +6094,7 @@ domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== -domhandler@^3.0.0: +domhandler@^3.0.0, domhandler@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.3.0.tgz#6db7ea46e4617eb15cf875df68b2b8524ce0037a" integrity sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA== @@ -5355,7 +6115,7 @@ domhandler@^5.0.1, domhandler@^5.0.2, domhandler@^5.0.3: dependencies: domelementtype "^2.3.0" -domutils@^2.0.0, domutils@^2.5.2, domutils@^2.8.0: +domutils@^2.0.0, domutils@^2.4.2, domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== @@ -5381,9 +6141,9 @@ dot-prop@^5.1.0: is-obj "^2.0.0" dotenv@^16.0.0: - version "16.0.1" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.1.tgz#8f8f9d94876c35dac989876a5d3a82a267fdce1d" - integrity sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ== + version "16.0.3" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" + integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== duplexer2@~0.1.0: version "0.1.4" @@ -5417,15 +6177,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.118: - version "1.4.141" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.141.tgz#4dd9119e8a99f1c83c51dfcf1bed79ea541f08d6" - integrity sha512-mfBcbqc0qc6RlxrsIgLG2wCqkiPAjEezHxGTu7p3dHHFOurH4EjS9rFZndX5axC8264rI1Pcbw8uQP39oZckeA== - -electron-to-chromium@^1.4.202: - version "1.4.224" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.224.tgz#ecf2eed395cfedcbbe634658ccc4b457f7b254c3" - integrity sha512-dOujC5Yzj0nOVE23iD5HKqrRSDj2SD7RazpZS/b/WX85MtO6/LzKDF4TlYZTBteB+7fvSg5JpWh0sN7fImNF8w== +electron-to-chromium@^1.4.251: + version "1.4.284" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" + integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== email-templates@9.0.0: version "9.0.0" @@ -5443,9 +6198,9 @@ email-templates@9.0.0: preview-email "^3.0.5" emoji-regex@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.1.0.tgz#d50e383743c0f7a5945c47087295afc112e3cf66" - integrity sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg== + version "10.2.1" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.2.1.tgz#a41c330d957191efd3d9dfe6e1e8e1e9ab048b3f" + integrity sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA== emoji-regex@^8.0.0: version "8.0.0" @@ -5503,10 +6258,10 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -entities@^4.2.0, entities@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.3.0.tgz#62915f08d67353bb4eb67e3d62641a4059aec656" - integrity sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg== +entities@^4.2.0, entities@^4.3.0, entities@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" + integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== env-ci@^5.0.0: version "5.5.0" @@ -5534,33 +6289,35 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: - version "1.20.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" - integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== +es-abstract@^1.19.0, es-abstract@^1.20.4: + version "1.20.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.5.tgz#e6dc99177be37cacda5988e692c3fa8b218e95d2" + integrity sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" function.prototype.name "^1.1.5" - get-intrinsic "^1.1.1" + get-intrinsic "^1.1.3" get-symbol-description "^1.0.0" + gopd "^1.0.1" has "^1.0.3" has-property-descriptors "^1.0.0" has-symbols "^1.0.3" internal-slot "^1.0.3" - is-callable "^1.2.4" + is-callable "^1.2.7" is-negative-zero "^2.0.2" is-regex "^1.1.4" is-shared-array-buffer "^1.0.2" is-string "^1.0.7" is-weakref "^1.0.2" - object-inspect "^1.12.0" + object-inspect "^1.12.2" object-keys "^1.1.1" - object.assign "^4.1.2" + object.assign "^4.1.4" regexp.prototype.flags "^1.4.3" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" + safe-regex-test "^1.0.0" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" unbox-primitive "^1.0.2" es-shim-unscopables@^1.0.0: @@ -5594,6 +6351,11 @@ escape-html@~1.0.3: resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== +escape-string-applescript@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/escape-string-applescript/-/escape-string-applescript-1.0.0.tgz#6f1c2294245d82c63bc03338dc19a94aa8428892" + integrity sha512-4/hFwoYaC6TkpDn9A3pTC52zQPArFeXuIfhUtCGYdauTzXVP9H3BDr3oO/QzQehMpLDC7srvYgfwvImPFGfvBA== + escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -5604,25 +6366,25 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-config-next@12.2.5: - version "12.2.5" - resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.2.5.tgz#76ce83f18cc02f6f42ed407a127f83db54fabd3c" - integrity sha512-SOowilkqPzW6DxKp3a3SYlrfPi5Ajs9MIzp9gVfUDxxH9QFM5ElkR1hX5m/iICJuvCbWgQqFBiA3mCMozluniw== +eslint-config-next@12.3.4: + version "12.3.4" + resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.3.4.tgz#3d4d9e74b919b879c4cc79c61bdc388fb2b964ee" + integrity sha512-WuT3gvgi7Bwz00AOmKGhOeqnyA5P29Cdyr0iVjLyfDbk+FANQKcOjFUTZIdyYfe5Tq1x4TGcmoe4CwctGvFjHQ== dependencies: - "@next/eslint-plugin-next" "12.2.5" + "@next/eslint-plugin-next" "12.3.4" "@rushstack/eslint-patch" "^1.1.3" "@typescript-eslint/parser" "^5.21.0" eslint-import-resolver-node "^0.3.6" eslint-import-resolver-typescript "^2.7.1" eslint-plugin-import "^2.26.0" eslint-plugin-jsx-a11y "^6.5.1" - eslint-plugin-react "^7.29.4" + eslint-plugin-react "^7.31.7" eslint-plugin-react-hooks "^4.5.0" -eslint-config-prettier@8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== +eslint-config-prettier@8.6.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207" + integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA== eslint-import-resolver-node@^0.3.6: version "0.3.6" @@ -5644,27 +6406,26 @@ eslint-import-resolver-typescript@^2.7.1: tsconfig-paths "^3.14.1" eslint-module-utils@^2.7.3: - version "2.7.3" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" - integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== + version "2.7.4" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" + integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== dependencies: debug "^3.2.7" - find-up "^2.1.0" -eslint-plugin-formatjs@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.1.0.tgz#3dfcd6c44037414229d1e071817fc0496f36e213" - integrity sha512-r8qCy5SDwsCcUUdP6ua1gYFd6I+tj/5GORj7jTOGGvmOfzkDQk+6ieaUqZ8ZF7xFUubDvLJwaZLHVdHI4Cq6Yw== +eslint-plugin-formatjs@4.3.9: + version "4.3.9" + resolved "https://registry.yarnpkg.com/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.3.9.tgz#cccecfa7bb40b6f150c5e0602ddaca1cd632d116" + integrity sha512-+8kGoTUaNe0qS55eg5XbPDY+eQmeZxnrC8MugQTGUXlqbCyLyG7y4mDsMhAgactVyUMST6Ln1HEm1Tk0KNuIKQ== dependencies: - "@formatjs/icu-messageformat-parser" "2.1.4" - "@formatjs/ts-transformer" "3.9.9" + "@formatjs/icu-messageformat-parser" "2.1.14" + "@formatjs/ts-transformer" "3.11.5" "@types/eslint" "7 || 8" "@types/picomatch" "^2.3.0" "@typescript-eslint/typescript-estree" "^5.9.1" emoji-regex "^10.0.0" picomatch "^2.3.1" - tslib "2.4.0" - typescript "^4.5" + tslib "^2.4.0" + typescript "^4.7" eslint-plugin-import@^2.26.0: version "2.26.0" @@ -5685,7 +6446,7 @@ eslint-plugin-import@^2.26.0: resolve "^1.22.0" tsconfig-paths "^3.14.1" -eslint-plugin-jsx-a11y@6.6.1: +eslint-plugin-jsx-a11y@6.6.1, eslint-plugin-jsx-a11y@^6.5.1: version "6.6.1" resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz#93736fc91b83fdc38cc8d115deedfc3091aef1ff" integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q== @@ -5704,28 +6465,10 @@ eslint-plugin-jsx-a11y@6.6.1: minimatch "^3.1.2" semver "^6.3.0" -eslint-plugin-jsx-a11y@^6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" - integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== - dependencies: - "@babel/runtime" "^7.16.3" - aria-query "^4.2.2" - array-includes "^3.1.4" - ast-types-flow "^0.0.7" - axe-core "^4.3.5" - axobject-query "^2.2.0" - damerau-levenshtein "^1.0.7" - emoji-regex "^9.2.2" - has "^1.0.3" - jsx-ast-utils "^3.2.1" - language-tags "^1.0.5" - minimatch "^3.0.4" - -eslint-plugin-no-relative-import-paths@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-no-relative-import-paths/-/eslint-plugin-no-relative-import-paths-1.4.0.tgz#59489ebc19688d1398bfe53d3ad320b3ed42ca17" - integrity sha512-J/ok26KqJM+20VsxNEcHc9kyW0dcFHBlihOO5FFv/GQqwcW+G1UngbHLpnPAdOQ1dJg5Ljk/40csqfZ3mnneUw== +eslint-plugin-no-relative-import-paths@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-no-relative-import-paths/-/eslint-plugin-no-relative-import-paths-1.5.2.tgz#c35f2fd0bf2a6a57b268193ed7df63ff7000134e" + integrity sha512-wMlL+TVuDhKk1plP+w3L4Hc7+u89vUkrOYq6/0ARjcYqwc9/YaS9uEXNzaqAk+WLoEgakzNL5JgJJw6m4qd5zw== eslint-plugin-prettier@4.2.1: version "4.2.1" @@ -5734,55 +6477,31 @@ eslint-plugin-prettier@4.2.1: dependencies: prettier-linter-helpers "^1.0.0" -eslint-plugin-react-hooks@4.6.0: +eslint-plugin-react-hooks@4.6.0, eslint-plugin-react-hooks@^4.5.0: version "4.6.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== -eslint-plugin-react-hooks@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.5.0.tgz#5f762dfedf8b2cf431c689f533c9d3fa5dcf25ad" - integrity sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw== - -eslint-plugin-react@7.30.1: - version "7.30.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.30.1.tgz#2be4ab23ce09b5949c6631413ba64b2810fd3e22" - integrity sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg== - dependencies: - array-includes "^3.1.5" - array.prototype.flatmap "^1.3.0" - doctrine "^2.1.0" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.5" - object.fromentries "^2.0.5" - object.hasown "^1.1.1" - object.values "^1.1.5" - prop-types "^15.8.1" - resolve "^2.0.0-next.3" - semver "^6.3.0" - string.prototype.matchall "^4.0.7" - -eslint-plugin-react@^7.29.4: - version "7.30.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.30.0.tgz#8e7b1b2934b8426ac067a0febade1b13bd7064e3" - integrity sha512-RgwH7hjW48BleKsYyHK5vUAvxtE9SMPDKmcPRQgtRCYaZA0XQPt5FSkrU3nhz5ifzMZcA8opwmRJ2cmOO8tr5A== +eslint-plugin-react@7.31.11, eslint-plugin-react@^7.31.7: + version "7.31.11" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz#011521d2b16dcf95795df688a4770b4eaab364c8" + integrity sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw== dependencies: - array-includes "^3.1.5" - array.prototype.flatmap "^1.3.0" + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" doctrine "^2.1.0" estraverse "^5.3.0" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" - object.entries "^1.1.5" - object.fromentries "^2.0.5" - object.hasown "^1.1.1" - object.values "^1.1.5" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" prop-types "^15.8.1" resolve "^2.0.0-next.3" semver "^6.3.0" - string.prototype.matchall "^4.0.7" + string.prototype.matchall "^4.0.8" eslint-scope@^5.1.1: version "5.1.1" @@ -5817,14 +6536,15 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.22.0: - version "8.22.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.22.0.tgz#78fcb044196dfa7eef30a9d65944f6f980402c48" - integrity sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA== +eslint@8.31.0: + version "8.31.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.31.0.tgz#75028e77cbcff102a9feae1d718135931532d524" + integrity sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA== dependencies: - "@eslint/eslintrc" "^1.3.0" - "@humanwhocodes/config-array" "^0.10.4" - "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" + "@eslint/eslintrc" "^1.4.1" + "@humanwhocodes/config-array" "^0.11.8" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -5834,21 +6554,21 @@ eslint@8.22.0: eslint-scope "^7.1.1" eslint-utils "^3.0.0" eslint-visitor-keys "^3.3.0" - espree "^9.3.3" + espree "^9.4.0" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" find-up "^5.0.0" - functional-red-black-tree "^1.0.1" - glob-parent "^6.0.1" - globals "^13.15.0" - globby "^11.1.0" + glob-parent "^6.0.2" + globals "^13.19.0" grapheme-splitter "^1.0.4" ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" @@ -5860,21 +6580,11 @@ eslint@8.22.0: strip-ansi "^6.0.1" strip-json-comments "^3.1.0" text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^9.3.2: - version "9.3.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596" - integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA== - dependencies: - acorn "^8.7.1" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" -espree@^9.3.3: - version "9.3.3" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d" - integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng== +espree@^9.4.0: + version "9.4.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" + integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== dependencies: acorn "^8.8.0" acorn-jsx "^5.3.2" @@ -5919,7 +6629,7 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== -eventemitter2@^6.4.3: +eventemitter2@6.4.7: version "6.4.7" resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg== @@ -5939,7 +6649,20 @@ execa@4.1.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -execa@^5.0.0, execa@^5.1.1: +execa@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" + integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== + dependencies: + cross-spawn "^6.0.0" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -5954,6 +6677,21 @@ execa@^5.0.0, execa@^5.1.1: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +execa@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" + integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.1" + human-signals "^3.0.1" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^3.0.7" + strip-final-newline "^3.0.0" + executable@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" @@ -5986,10 +6724,10 @@ express-openapi-validator@4.13.8: ono "^7.1.3" path-to-regexp "^6.2.0" -express-rate-limit@6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-6.5.1.tgz#2b4c329f03265f94f19613519b169afbd018e783" - integrity sha512-pxO6ioBLd3i8IHL+RmJtL4noYzte5fugoMdaDabtU4hcg53+x0QkTwfPtM7vWD0YUaXQgNj9NRdzmps+CHEHlA== +express-rate-limit@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-6.7.0.tgz#6aa8a1bd63dfe79702267b3af1161a93afc1d3c2" + integrity sha512-vhwIdRoqcYB/72TK3tRZI+0ttS8Ytrk24GfmsxDXK9o9IhHNO5bXRiXQSExPQ4GbaE5tvIS7j1SGrxsuWs+sGA== express-session@1.17.3, express-session@^1.15.6: version "1.17.3" @@ -6005,14 +6743,14 @@ express-session@1.17.3, express-session@^1.15.6: safe-buffer "5.2.1" uid-safe "~2.1.5" -express@4.18.1: - version "4.18.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" - integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== +express@4.18.2: + version "4.18.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.0" + body-parser "1.20.1" content-disposition "0.5.4" content-type "~1.0.4" cookie "0.5.0" @@ -6031,7 +6769,7 @@ express@4.18.1: parseurl "~1.3.3" path-to-regexp "0.1.7" proxy-addr "~2.0.7" - qs "6.10.3" + qs "6.11.0" range-parser "~1.2.1" safe-buffer "5.2.1" send "0.18.0" @@ -6108,10 +6846,10 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^3.2.11, fast-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== +fast-glob@^3.2.12, fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -6137,14 +6875,14 @@ fast-printf@^1.6.9: boolean "^3.1.4" fastest-levenshtein@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" - integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: reusify "^1.0.4" @@ -6221,7 +6959,7 @@ find-root@1.1.0, find-root@^1.1.0: resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@^2.0.0, find-up@^2.1.0: +find-up@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== @@ -6275,19 +7013,19 @@ flat@^5.0.0: integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatted@^3.1.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" - integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== fn.name@1.x.x: version "1.1.0" resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc" integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== -follow-redirects@^1.14.9: - version "1.15.1" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" - integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== +follow-redirects@^1.15.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== forever-agent@~0.6.1: version "0.6.1" @@ -6353,15 +7091,6 @@ fromentries@^1.3.2: resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a" integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== -fs-extra@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@9.1.0, fs-extra@^9.0.0, fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" @@ -6381,6 +7110,15 @@ fs-extra@^10.0.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@^11.0.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.0.tgz#5784b102104433bb0e090f48bfc4a30742c357ed" + integrity sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -6418,11 +7156,6 @@ function.prototype.name@^1.1.5: es-abstract "^1.19.0" functions-have-names "^1.2.2" -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== - functions-have-names@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" @@ -6467,14 +7200,14 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== dependencies: function-bind "^1.1.1" has "^1.0.3" - has-symbols "^1.0.1" + has-symbols "^1.0.3" get-paths@^0.0.7: version "0.0.7" @@ -6483,6 +7216,16 @@ get-paths@^0.0.7: dependencies: pify "^4.0.1" +get-port@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" + integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== + get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" @@ -6490,7 +7233,7 @@ get-stream@^5.0.0, get-stream@^5.1.0: dependencies: pump "^3.0.0" -get-stream@^6.0.0: +get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== @@ -6547,25 +7290,13 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1, glob-parent@^6.0.2: +glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" -glob@7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@7.1.7: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" @@ -6609,9 +7340,9 @@ global-dirs@^0.1.1: ini "^1.3.4" global-dirs@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" - integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== + version "3.0.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== dependencies: ini "2.0.0" @@ -6640,10 +7371,10 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.15.0: - version "13.15.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" - integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== +globals@^13.19.0: + version "13.19.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8" + integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== dependencies: type-fest "^0.20.2" @@ -6659,6 +7390,13 @@ globby@^11.0.0, globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.4, graceful-fs@^4.2.6: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" @@ -6729,7 +7467,7 @@ has-property-descriptors@^1.0.0: dependencies: get-intrinsic "^1.1.1" -has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: +has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== @@ -6799,17 +7537,28 @@ hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: dependencies: lru-cache "^6.0.0" -hosted-git-info@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.0.0.tgz#df7a06678b4ebd722139786303db80fdf302ea56" - integrity sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q== +hosted-git-info@^5.0.0, hosted-git-info@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.2.1.tgz#0ba1c97178ef91f3ab30842ae63d6a272341156f" + integrity sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw== dependencies: lru-cache "^7.5.1" -html-to-text@8.2.0, html-to-text@^8.1.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/html-to-text/-/html-to-text-8.2.0.tgz#8b35e280ba7fc27710b7aa76d4500aab30731924" - integrity sha512-CLXExYn1b++Lgri+ZyVvbUEFwzkLZppjjZOwB7X1qv2jIi8MrMEvxWX5KQ7zATAzTvcqgmtO00M2kCRMtEdOKQ== +html-to-text@9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/html-to-text/-/html-to-text-9.0.3.tgz#331368f32fcb270c59dbd3a7fdb32813d2a490bc" + integrity sha512-hxDF1kVCF2uw4VUJ3vr2doc91pXf2D5ngKcNviSitNkhP9OMOaJkDrFIFL6RMvko7NisWTEiqGpQ9LAxcVok1w== + dependencies: + "@selderee/plugin-htmlparser2" "^0.10.0" + deepmerge "^4.2.2" + dom-serializer "^2.0.0" + htmlparser2 "^8.0.1" + selderee "^0.10.0" + +html-to-text@^8.1.0: + version "8.2.1" + resolved "https://registry.yarnpkg.com/html-to-text/-/html-to-text-8.2.1.tgz#4a75b8a1b646149bd71c50527adb568990bf459b" + integrity sha512-aN/3JvAk8qFsWVeE9InWAWueLXrbkoVZy0TkzaGhoRBC2gCFEeRLDDJN3/ijIGHohy6H+SZzUQWN/hcYtaPK8w== dependencies: "@selderee/plugin-htmlparser2" "^0.6.0" deepmerge "^4.2.2" @@ -6828,6 +7577,16 @@ htmlparser2@^4.0.0: domutils "^2.0.0" entities "^2.0.0" +htmlparser2@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-5.0.1.tgz#7daa6fc3e35d6107ac95a4fc08781f091664f6e7" + integrity sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ== + dependencies: + domelementtype "^2.0.1" + domhandler "^3.3.0" + domutils "^2.4.2" + entities "^2.0.0" + htmlparser2@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" @@ -6936,6 +7695,11 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +human-signals@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" + integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== + humanize-ms@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" @@ -6943,10 +7707,10 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -husky@8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9" - integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw== +husky@8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" + integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== i18n-locales@^0.0.5: version "0.0.5" @@ -6999,9 +7763,9 @@ ignore-walk@^5.0.1: minimatch "^5.0.1" ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: version "3.3.0" @@ -7054,10 +7818,10 @@ ini@^1.3.4, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -ini@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.0.tgz#2f6de95006923aa75feed8894f5686165adc08f1" - integrity sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw== +ini@^3.0.0, ini@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.1.tgz#c76ec81007875bc44d544ff7a11a55d12294102d" + integrity sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ== init-package-json@^3.0.2: version "3.0.2" @@ -7077,25 +7841,6 @@ inline-style-parser@0.1.1: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== -inquirer@6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" - integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - inquirer@8.2.4: version "8.2.4" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4" @@ -7118,11 +7863,11 @@ inquirer@8.2.4: wrap-ansi "^7.0.0" internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3" + integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== dependencies: - get-intrinsic "^1.1.0" + get-intrinsic "^1.1.3" has "^1.0.3" side-channel "^1.0.4" @@ -7141,15 +7886,15 @@ intl-messageformat-parser@^5.3.7: dependencies: "@formatjs/intl-numberformat" "^5.5.2" -intl-messageformat@10.1.1: - version "10.1.1" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.1.1.tgz#226767e7921fa86cef2cbe4a13911050716720bc" - integrity sha512-FeJne2oooYW6shLPbrqyjRX6hTELVrQ90Dn88z7NomLk/xZBCLxLPAkgaYaTQJBRBV78nZ933d8APHHkTQrD9Q== +intl-messageformat@10.2.5, intl-messageformat@^10.1.0: + version "10.2.5" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.2.5.tgz#a51e6e2700d82b5b7ccd7a9f3bd45d967d95afc0" + integrity sha512-AievYMN6WLLHwBeCTv4aRKG+w3ZNyZtkObwgsKk3Q7GNTq8zDRvDbJSBQkb2OPeVCcAKcIXvak9FF/bRNavoww== dependencies: - "@formatjs/ecma402-abstract" "1.11.8" - "@formatjs/fast-memoize" "1.2.4" - "@formatjs/icu-messageformat-parser" "2.1.4" - tslib "2.4.0" + "@formatjs/ecma402-abstract" "1.14.3" + "@formatjs/fast-memoize" "1.2.7" + "@formatjs/icu-messageformat-parser" "2.1.14" + tslib "^2.4.0" intl@1.2.5: version "1.2.5" @@ -7169,10 +7914,10 @@ ip-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== -ip@^1.1.5: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" - integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== +ip@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" + integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== ipaddr.js@1.9.1: version "1.9.1" @@ -7216,10 +7961,10 @@ is-buffer@^2.0.0: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== +is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-ci@^3.0.0: version "3.0.1" @@ -7235,10 +7980,10 @@ is-cidr@^4.0.2: dependencies: cidr-regex "^3.1.1" -is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" - integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== +is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== dependencies: has "^1.0.3" @@ -7267,11 +8012,6 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" @@ -7342,7 +8082,7 @@ is-path-cwd@^2.2.0: resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== -is-path-inside@^3.0.2: +is-path-inside@^3.0.2, is-path-inside@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== @@ -7358,9 +8098,9 @@ is-plain-obj@^2.0.0: integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== is-plain-obj@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.0.0.tgz#06c0999fd7574edf5a906ba5644ad0feb3a84d22" - integrity sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw== + version "4.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== is-plain-object@^5.0.0: version "5.0.0" @@ -7387,11 +8127,21 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" @@ -7483,6 +8233,11 @@ java-properties@^1.0.0: resolved "https://registry.yarnpkg.com/java-properties/-/java-properties-1.0.2.tgz#ccd1fa73907438a5b5c38982269d0e771fe78211" integrity sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ== +js-sdsl@^4.1.4: + version "4.2.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.2.0.tgz#278e98b7bea589b8baaf048c20aeb19eb7ad09d0" + integrity sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ== + js-stringify@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" @@ -7561,11 +8316,11 @@ json-stable-stringify-without-jsonify@^1.0.1: integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg== + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz#e06f23128e0bbe342dc996ed5a19e28b57b580e0" + integrity sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g== dependencies: - jsonify "~0.0.0" + jsonify "^0.0.1" json-stringify-nice@^1.1.4: version "1.1.4" @@ -7578,23 +8333,16 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" -json5@^2.1.2, json5@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" +json5@^2.1.2, json5@^2.2.1, json5@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonfile@^6.0.1: version "6.1.0" @@ -7605,10 +8353,10 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA== +jsonify@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" + integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== jsonparse@^1.2.0, jsonparse@^1.3.1: version "1.3.1" @@ -7643,21 +8391,13 @@ jstransformer@1.0.0: is-promise "^2.0.0" promise "^7.0.1" -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.0.tgz#e624f259143b9062c92b6413ff92a164c80d3ccb" - integrity sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q== - dependencies: - array-includes "^3.1.4" - object.assign "^4.1.2" - -jsx-ast-utils@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz#afe5efe4332cd3515c065072bd4d6b0aa22152bd" - integrity sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q== +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" + integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== dependencies: array-includes "^3.1.5" - object.assign "^4.1.2" + object.assign "^4.1.3" juice@^7.0.0: version "7.0.0" @@ -7671,25 +8411,25 @@ juice@^7.0.0: web-resource-inliner "^5.0.0" juice@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/juice/-/juice-8.0.0.tgz#ac77d3372373409b06a875aee425b9d381f645fe" - integrity sha512-LRCfXBOqI1wt+zYR/5xwDnf+ZyiJiDt44DGZaBSAVwZWyWv3BliaiGTLS6KCvadv3uw6XGiPPFcTfY7CdF7Z/Q== + version "8.1.0" + resolved "https://registry.yarnpkg.com/juice/-/juice-8.1.0.tgz#4ea23362522fe06418229943237ee3751a4fca70" + integrity sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA== dependencies: - cheerio "^1.0.0-rc.3" + cheerio "1.0.0-rc.10" commander "^6.1.0" mensch "^0.3.4" slick "^1.12.2" - web-resource-inliner "^5.0.0" + web-resource-inliner "^6.0.1" just-diff-apply@^5.2.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.3.1.tgz#30f40809ffed55ad76dccf73fa9b85a76964c867" - integrity sha512-dgFenZnMsc1xGNqgdtgnh7DK+Oy352CE3VZLbzcbQpsBs9iI2K3M0IRrdgREZ72eItTjbl0suRyvKRdVQa9GbA== + version "5.5.0" + resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.5.0.tgz#771c2ca9fa69f3d2b54e7c3f5c1dfcbcc47f9f0f" + integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== just-diff@^5.0.1: - version "5.0.2" - resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.0.2.tgz#68854c94280c37d28cb266d8f29bdd2cd29f003e" - integrity sha512-uGd6F+eIZ4T95EinP8ubINGkbEy3jrgBym+6LjW+ja1UG1WQIcEcQ6FLeyXtVJZglk+bj7fvEn+Cu2LBxkgiYQ== + version "5.2.0" + resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.2.0.tgz#60dca55891cf24cd4a094e33504660692348a241" + integrity sha512-6ufhP9SHjb7jibNFrNxyFZ6od3g+An6Ai9mhGRvcYe8UJlH0prseN64M+6ZBBUoKYHZsitDP42gAJ8+eVWr3lw== jwa@^2.0.0: version "2.0.0" @@ -7714,32 +8454,37 @@ kind-of@^6.0.3: integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== kleur@^4.0.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.4.tgz#8c202987d7e577766d039a8cd461934c01cda04d" - integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA== + version "4.1.5" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" + integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== kuler@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3" integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== -language-subtag-registry@~0.3.2: - version "0.3.21" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" - integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== +language-subtag-registry@^0.3.20: + version "0.3.22" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" + integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== language-tags@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" - integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== + version "1.0.7" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.7.tgz#41cc248730f3f12a452c2e2efe32bc0bbce67967" + integrity sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw== dependencies: - language-subtag-registry "~0.3.2" + language-subtag-registry "^0.3.20" lazy-ass@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== +leac@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/leac/-/leac-0.6.0.tgz#dcf136e382e666bd2475f44a1096061b70dc0912" + integrity sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg== + levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -7753,94 +8498,96 @@ libbase64@1.2.1: resolved "https://registry.yarnpkg.com/libbase64/-/libbase64-1.2.1.tgz#fb93bf4cb6d730f29b92155b6408d1bd2176a8c8" integrity sha512-l+nePcPbIG1fNlqMzrh68MLkX/gTxk/+vdvAb388Ssi7UuUN31MI44w4Yf33mM3Cm4xDfw48mdf3rkdHszLNew== -libmime@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/libmime/-/libmime-5.1.0.tgz#d9a1c4a85c982fa4e64c2c841f95e3827c3f71d2" - integrity sha512-xOqorG21Va+3CjpFOfFTU7SWohHH2uIX9ZY4Byz6J+lvpfvc486tOAT/G9GfbrKtJ9O7NCX9o0aC2lxqbnZ9EA== +libmime@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/libmime/-/libmime-5.2.0.tgz#c4ed5cbd2d9fdd27534543a68bb8d17c658d51d8" + integrity sha512-X2U5Wx0YmK0rXFbk67ASMeqYIkZ6E5vY7pNWRKtnNzqjvdYYG8xtPDpCnuUEnPU9vlgNev+JoSrcaKSUaNvfsw== dependencies: encoding-japanese "2.0.0" iconv-lite "0.6.3" libbase64 "1.2.1" - libqp "1.1.0" + libqp "2.0.1" -libnpmaccess@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.3.tgz#473cc3e4aadb2bc713419d92e45d23b070d8cded" - integrity sha512-4tkfUZprwvih2VUZYMozL7EMKgQ5q9VW2NtRyxWtQWlkLTAWHRklcAvBN49CVqEkhUw7vTX2fNgB5LzgUucgYg== +libnpmaccess@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.4.tgz#2dd158bd8a071817e2207d3b201d37cf1ad6ae6b" + integrity sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag== dependencies: aproba "^2.0.0" minipass "^3.1.1" npm-package-arg "^9.0.1" npm-registry-fetch "^13.0.0" -libnpmdiff@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/libnpmdiff/-/libnpmdiff-4.0.3.tgz#ad3997330c887c1098ac42682f1e5ad014d49cec" - integrity sha512-AiwBtXtH7HjfmT7FbTf9LFzJB347RrIA4I+IewMfhq8vYXaUveHwJMVNgMM2H/o2J+7Hf12JCBoOF5bTwlmGyw== +libnpmdiff@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/libnpmdiff/-/libnpmdiff-4.0.5.tgz#ffaf93fa9440ea759444b8830fdb5c661b09a7c0" + integrity sha512-9fICQIzmH892UwHHPmb+Seup50UIBWcMIK2FdxvlXm9b4kc1nSH0b/BuY1mORJQtB6ydPMnn+BLzOTmd/SKJmw== dependencies: "@npmcli/disparity-colors" "^2.0.0" "@npmcli/installed-package-contents" "^1.0.7" binary-extensions "^2.2.0" - diff "^5.0.0" + diff "^5.1.0" minimatch "^5.0.1" npm-package-arg "^9.0.1" - pacote "^13.0.5" + pacote "^13.6.1" tar "^6.1.0" -libnpmexec@^4.0.2: - version "4.0.5" - resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.5.tgz#e488a1f47805b8d9af3c216ff4a5ea9c51111013" - integrity sha512-ykTsaAz0AV5mPr2HqmI6GCtQ5b6/OTJnnuXxZa78fJVMIGqJMfm4lAQZpBNNyH68Fs0oDIGZbnWaB5PfzyzSJg== +libnpmexec@^4.0.14: + version "4.0.14" + resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.14.tgz#9ad44232434b374e477eb2c2e4548baaf698f773" + integrity sha512-dwmzv2K29SdoAHBOa7QR6CfQbFG/PiZDRF6HZrlI6C4DLt2hNgOHTFaUGOpqE2C+YGu0ZwYTDywxRe0eOnf0ZA== dependencies: - "@npmcli/arborist" "^5.0.0" + "@npmcli/arborist" "^5.6.3" "@npmcli/ci-detect" "^2.0.0" - "@npmcli/run-script" "^3.0.0" + "@npmcli/fs" "^2.1.1" + "@npmcli/run-script" "^4.2.0" chalk "^4.1.0" mkdirp-infer-owner "^2.0.0" npm-package-arg "^9.0.1" npmlog "^6.0.2" - pacote "^13.0.5" + pacote "^13.6.1" proc-log "^2.0.0" read "^1.0.7" read-package-json-fast "^2.0.2" + semver "^7.3.7" walk-up-path "^1.0.0" -libnpmfund@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-3.0.2.tgz#7da0827950f0db2cce0acb0dc7652d1834a8b239" - integrity sha512-wmFMP/93Wjy+jDg5LaSldDgAhSgCyA64JUUmp806Kae7y3YP9Qv5m1vUhPxT4yebxgB2v/I6G1/RUcNb1y0kVg== +libnpmfund@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-3.0.5.tgz#817f9e2120889beb483d9ba8eda142bb84293e4e" + integrity sha512-KdeRoG/dem8H3PcEU2/0SKi3ip7AWwczgS72y/3PE+PBrz/s/G52FNIA9jeLnBirkLC0sOyQHfeM3b7e24ZM+g== dependencies: - "@npmcli/arborist" "^5.0.0" + "@npmcli/arborist" "^5.6.3" -libnpmhook@^8.0.2: - version "8.0.3" - resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-8.0.3.tgz#9628518a63455d21dafda312ee46175275707ff5" - integrity sha512-TEdNI1mC5zS+w/juCgxrwwQnpbq9lY76NDOS0N37pn6pWIUxB1Yq8mwy6MUEXR1TgH4HurSQyKT6I6Kp9Wjm4A== +libnpmhook@^8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-8.0.4.tgz#6c58e5fe763ff5d600ae9c20457ea9a69d1f7d87" + integrity sha512-nuD6e+Nx0OprjEi0wOeqASMl6QIH235th/Du2/8upK3evByFhzIgdfOeP1OhstavW4xtsl0hk5Vw4fAWWuSUgA== dependencies: aproba "^2.0.0" npm-registry-fetch "^13.0.0" -libnpmorg@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-4.0.3.tgz#a85cbdb3665ad4f7c7279d239a4581ec2eeef5a6" - integrity sha512-r4CpmCEF+e5PbFMBi64xSXmqn0uGgV4T7NWpGL4/A6KT/DTtIxALILQZq+l0ZdN1xm4RjOvqSDR22oT4il8rAQ== +libnpmorg@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-4.0.4.tgz#2a01d49372cf0df90d79a61e69bddaf2ed704311" + integrity sha512-1bTpD7iub1rDCsgiBguhJhiDufLQuc8DEti20euqsXz9O0ncXVpCYqf2SMmHR4GEdmAvAj2r7FMiyA9zGdaTpA== dependencies: aproba "^2.0.0" npm-registry-fetch "^13.0.0" -libnpmpack@^4.0.2: - version "4.1.0" - resolved "https://registry.yarnpkg.com/libnpmpack/-/libnpmpack-4.1.0.tgz#93a170b67bc52e15edc7b1f2e09b2c36e532b897" - integrity sha512-BHwojfEbJvVVJXivZjOCe3Y0IzQ47p6c/bfebrpzazuFNRoS9XOsbkncRbl3f23+u9b51eplzwaPh/5xSOAWHg== +libnpmpack@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/libnpmpack/-/libnpmpack-4.1.3.tgz#025cfe39829acd8260662bf259e3a9331fc1e4b2" + integrity sha512-rYP4X++ME3ZiFO+2iN3YnXJ4LB4Gsd0z5cgszWJZxaEpDN4lRIXirSyynGNsN/hn4taqnlxD+3DPlFDShvRM8w== dependencies: - "@npmcli/run-script" "^3.0.0" + "@npmcli/run-script" "^4.1.3" npm-package-arg "^9.0.1" - pacote "^13.5.0" + pacote "^13.6.1" -libnpmpublish@^6.0.2: - version "6.0.4" - resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-6.0.4.tgz#adb41ec6b0c307d6f603746a4d929dcefb8f1a0b" - integrity sha512-lvAEYW8mB8QblL6Q/PI/wMzKNvIrF7Kpujf/4fGS/32a2i3jzUXi04TNyIBcK6dQJ34IgywfaKGh+Jq4HYPFmg== +libnpmpublish@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-6.0.5.tgz#5a894f3de2e267d62f86be2a508e362599b5a4b1" + integrity sha512-LUR08JKSviZiqrYTDfywvtnsnxr+tOvBU0BF8H+9frt7HMvc6Qn6F8Ubm72g5hDTHbq8qupKfDvDAln2TVPvFg== dependencies: normalize-package-data "^4.0.0" npm-package-arg "^9.0.1" @@ -7848,43 +8595,38 @@ libnpmpublish@^6.0.2: semver "^7.3.7" ssri "^9.0.0" -libnpmsearch@^5.0.2: - version "5.0.3" - resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-5.0.3.tgz#ed502a4c2c70ea36723180455fae1357546b2184" - integrity sha512-Ofq76qKAPhxbiyzPf/5LPjJln26VTKwU9hIU0ACxQ6tNtBJ1CHmI7iITrdp7vNezhZc0FlkXwrIpqXjhBJZgLQ== +libnpmsearch@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-5.0.4.tgz#b32aa2b23051c00cdcc0912274d0d416e6655d81" + integrity sha512-XHDmsvpN5+pufvGnfLRqpy218gcGGbbbXR6wPrDJyd1em6agKdYByzU5ccskDHH9iVm2UeLydpDsW1ksYuU0cg== dependencies: npm-registry-fetch "^13.0.0" -libnpmteam@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-4.0.3.tgz#9335fbbd032b3770f5c9b7ffc6203f47d1ed144a" - integrity sha512-LsYYLz4TlTpcqkusInY5MhKjiHFaCx1GV0LmydXJ/QMh+3IWBJpUhes4ynTZuFoJKkDIFjxyMU09ul+RZixgdg== +libnpmteam@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-4.0.4.tgz#ac26068808d93b1051d926457db14e4b3ff669ef" + integrity sha512-rzKSwi6MLzwwevbM/vl+BBQTErgn24tCfgPUdzBlszrw3j5necOu7WnTzgvZMDv6maGUwec6Ut1rxszOgH0l+Q== dependencies: aproba "^2.0.0" npm-registry-fetch "^13.0.0" -libnpmversion@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/libnpmversion/-/libnpmversion-3.0.4.tgz#a30f563416ea1e2dd69878b4a9edf4eb4a070ef8" - integrity sha512-q5hvZlso0SMLgKm4AMtleRWtq4pERprebEGV6OwKi24efgAOgNDP98+jNUX2mIR2wp9eAa6ybkNNWu4yMaCsVw== +libnpmversion@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/libnpmversion/-/libnpmversion-3.0.7.tgz#e4c6c07ee28cf351ce1e2293a5ac9922b09ea94d" + integrity sha512-O0L4eNMUIMQ+effi1HsZPKp2N6wecwqGqB8PvkvmLPWN7EsdabdzAVG48nv0p/OjlbIai5KQg/L+qMMfCA4ZjA== dependencies: "@npmcli/git" "^3.0.0" - "@npmcli/run-script" "^3.0.0" + "@npmcli/run-script" "^4.1.3" json-parse-even-better-errors "^2.3.1" proc-log "^2.0.0" semver "^7.3.7" -libqp@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/libqp/-/libqp-1.1.0.tgz#f5e6e06ad74b794fb5b5b66988bf728ef1dedbe8" - integrity sha512-4Rgfa0hZpG++t1Vi2IiqXG9Ad1ig4QTmtuZF946QJP4bPqOYC78ixUXgz5TW/wE7lNaNKlplSYTxQ+fR2KZ0EA== - -lilconfig@2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25" - integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg== +libqp@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/libqp/-/libqp-2.0.1.tgz#b8fed76cc1ea6c9ceff8888169e4e0de70cd5cf2" + integrity sha512-Ka0eC5LkF3IPNQHJmYBWljJsw0UvM6j+QdKRbWyCdTmYwvIDE6a7bCm0UkTAL/K+3KXK5qXT/ClcInU01OpdLg== -lilconfig@^2.0.5, lilconfig@^2.0.6: +lilconfig@2.0.6, lilconfig@^2.0.5, lilconfig@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== @@ -7901,32 +8643,31 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -linkify-it@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-4.0.0.tgz#4f2d16879adc637cdfe9056cbc02de30e88ffa32" - integrity sha512-QAxkXyzT/TXgwGyY4rTgC95Ex6/lZ5/lYTV9nug6eJt93BCBQGOE47D/g2+/m5J1MrVLr2ot97OXkBZ9bBpR4A== +linkify-it@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-4.0.1.tgz#01f1d5e508190d06669982ba31a7d9f56a5751ec" + integrity sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw== dependencies: uc.micro "^1.0.1" -lint-staged@12.4.3: - version "12.4.3" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.4.3.tgz#914fa468458364e14cc952145db552d87c8847b6" - integrity sha512-eH6SKOmdm/ZwCRMTZAmM3q3dPkpq6vco/BfrOw8iGun4Xs/thYegPD/MLIwKO+iPkzibkLJuQcRhRLXKvaKreg== +lint-staged@13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.1.0.tgz#d4c61aec939e789e489fa51987ec5207b50fd37e" + integrity sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ== dependencies: cli-truncate "^3.1.0" - colorette "^2.0.16" - commander "^9.3.0" + colorette "^2.0.19" + commander "^9.4.1" debug "^4.3.4" - execa "^5.1.1" - lilconfig "2.0.5" - listr2 "^4.0.5" + execa "^6.1.0" + lilconfig "2.0.6" + listr2 "^5.0.5" micromatch "^4.0.5" normalize-path "^3.0.0" object-inspect "^1.12.2" - pidtree "^0.5.0" + pidtree "^0.6.0" string-argv "^0.3.1" - supports-color "^9.2.2" - yaml "^1.10.2" + yaml "^2.1.3" listr2@^3.8.3: version "3.14.0" @@ -7942,17 +8683,17 @@ listr2@^3.8.3: through "^2.3.8" wrap-ansi "^7.0.0" -listr2@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.5.tgz#9dcc50221583e8b4c71c43f9c7dfd0ef546b75d5" - integrity sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA== +listr2@^5.0.5: + version "5.0.6" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.6.tgz#3c61153383869ffaad08a8908d63edfde481dff8" + integrity sha512-u60KxKBy1BR2uLJNTWNptzWQ1ob/gjMzIJPZffAENzpZqbMZ/5PrXXOomDcevIS/+IB7s1mmCEtSlT2qHWMqag== dependencies: cli-truncate "^2.1.0" - colorette "^2.0.16" + colorette "^2.0.19" log-update "^4.0.0" p-map "^4.0.0" rfdc "^1.3.0" - rxjs "^7.5.5" + rxjs "^7.5.7" through "^2.3.8" wrap-ansi "^7.0.0" @@ -8003,6 +8744,11 @@ lodash-es@^4.17.21: resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + lodash.capitalize@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz#f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9" @@ -8038,6 +8784,11 @@ lodash.isequal@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== +lodash.isfunction@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" + integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== + lodash.ismatch@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" @@ -8053,6 +8804,11 @@ lodash.isstring@^4.0.1: resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== + lodash.map@^4.5.1: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" @@ -8078,6 +8834,16 @@ lodash.pick@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" integrity sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== +lodash.snakecase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" + integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== + +lodash.startcase@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" + integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== + lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -8088,12 +8854,17 @@ lodash.uniqby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== +lodash.upperfirst@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" + integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== + lodash.zipobject@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/lodash.zipobject/-/lodash.zipobject-4.1.3.tgz#b399f5aba8ff62a746f6979bf20b214f964dbef8" integrity sha512-A9SzX4hMKWS25MyalwcOnNoplyHbkNVsjidhTp8ru0Sj23wY9GWBKS8gAIGDSAqeWjIjvE4KBEl24XXAs+v4wQ== -lodash@4.17.21, lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: +lodash@4.17.21, lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -8117,9 +8888,9 @@ log-update@^4.0.0: wrap-ansi "^6.2.0" logform@^2.3.2, logform@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/logform/-/logform-2.4.0.tgz#131651715a17d50f09c2a2c1a524ff1a4164bcfe" - integrity sha512-CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw== + version "2.4.2" + resolved "https://registry.yarnpkg.com/logform/-/logform-2.4.2.tgz#a617983ac0334d0c3b942c34945380062795b47c" + integrity sha512-W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw== dependencies: "@colors/colors" "1.5.0" fecha "^4.2.0" @@ -8144,6 +8915,13 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -8152,38 +8930,38 @@ lru-cache@^6.0.0: yallist "^4.0.0" lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: - version "7.10.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.10.1.tgz#db577f42a94c168f676b638d15da8fb073448cab" - integrity sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A== + version "7.14.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.1.tgz#8da8d2f5f59827edb388e63e459ac23d6d408fea" + integrity sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA== luxon@^1.26.0: version "1.28.0" resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.28.0.tgz#e7f96daad3938c06a62de0fb027115d251251fbf" integrity sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ== -mailparser@^3.3.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/mailparser/-/mailparser-3.5.0.tgz#5b333b0ef2f063a7db9d24ed95f29efb464cbef3" - integrity sha512-mdr2DFgz8LKC0/Q6io6znA0HVnzaPFT0a4TTnLeZ7mWHlkfnm227Wxlq7mHh7AgeP32h7gOUpXvyhSfJJIEeyg== +mailparser@^3.5.0: + version "3.6.3" + resolved "https://registry.yarnpkg.com/mailparser/-/mailparser-3.6.3.tgz#7edcfd9af7931e8a724e97880756477a9ea80f88" + integrity sha512-Yi6poKSsZsmjEcUexv3H4w4+TIeyN9u3+TCdC43VK7fe4rUOGDJ3wL4kMhNLiTOScCA1Rpzldv1hcf6g1MLtZQ== dependencies: encoding-japanese "2.0.0" he "1.2.0" - html-to-text "8.2.0" + html-to-text "9.0.3" iconv-lite "0.6.3" - libmime "5.1.0" - linkify-it "4.0.0" - mailsplit "5.3.2" - nodemailer "6.7.3" - tlds "1.231.0" + libmime "5.2.0" + linkify-it "4.0.1" + mailsplit "5.4.0" + nodemailer "6.8.0" + tlds "1.236.0" -mailsplit@5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/mailsplit/-/mailsplit-5.3.2.tgz#c344c019f631be4f54d5213509637127e3e3dd66" - integrity sha512-coES12hhKqagkuBTJoqERX+y9bXNpxbxw3Esd07auuwKYmcagouVlgucyIVRp48fnswMKxcUtLoFn/L1a75ynQ== +mailsplit@5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/mailsplit/-/mailsplit-5.4.0.tgz#9f4692fadd9013e9ce632147d996931d2abac6ba" + integrity sha512-wnYxX5D5qymGIPYLwnp6h8n1+6P6vz/MJn5AzGjZ8pwICWssL+CCQjWBIToOVHASmATot4ktvlLo6CyLfOXWYA== dependencies: libbase64 "1.2.1" - libmime "5.1.0" - libqp "1.1.0" + libmime "5.2.0" + libqp "2.0.1" make-dir@^2.1.0: version "2.1.0" @@ -8205,10 +8983,10 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.1.5: - version "10.1.6" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.6.tgz#22b3ac3b077a7cfa80525af12e637e349f21d26e" - integrity sha512-/iKDlRQF0fkxyB/w/duW2yRYrGwBcbJjC37ijgi0CmOZ32bzMc86BCSSAHWvuyRFCB408iBPziTSzazBSrKo3w== +make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: + version "10.2.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" + integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== dependencies: agentkeepalive "^4.2.1" cacache "^16.1.0" @@ -8224,7 +9002,7 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.1.5: minipass-pipeline "^1.2.4" negotiator "^0.6.3" promise-retry "^2.0.1" - socks-proxy-agent "^6.1.1" + socks-proxy-agent "^7.0.0" ssri "^9.0.0" make-fetch-happen@^9.1.0: @@ -8250,9 +9028,9 @@ make-fetch-happen@^9.1.0: ssri "^8.0.0" make-plural@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/make-plural/-/make-plural-7.1.0.tgz#8a0381ff8c9be4f074e0acdc42ec97639c2344f9" - integrity sha512-PKkwVlAxYVo98NrbclaQIT4F5Oy+X58PZM5r2IwUSCe3syya6PXkIRCn2XCdz7p58Scgpp50PBeHmepXVDG3hg== + version "7.2.0" + resolved "https://registry.yarnpkg.com/make-plural/-/make-plural-7.2.0.tgz#93174b1419672a48a2340db6c1d3fb217530c684" + integrity sha512-WkdI+iaWaBCFM2wUXwos8Z7spg5Dt64Xe/VI6NpRaly21cDtD76N6S97K//UtzV0dHOiXX+E90TnszdXHG0aMg== map-obj@^1.0.0: version "1.0.1" @@ -8277,9 +9055,9 @@ marked-terminal@^5.0.0: supports-hyperlinks "^2.2.0" marked@^4.0.10: - version "4.0.16" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.16.tgz#9ec18fc1a723032eb28666100344d9428cf7a264" - integrity sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA== + version "4.2.5" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.2.5.tgz#979813dfc1252cc123a79b71b095759a32f42a5d" + integrity sha512-jPueVhumq7idETHkb203WDD4fMA3yV9emQ5vLwop58lu8bTclMghBWcYAavlDqIEMaisADinV1TooIFCfqOsYQ== math-interval-parser@^2.0.1: version "2.0.1" @@ -8294,13 +9072,13 @@ md5-hex@^3.0.1: blueimp-md5 "^2.10.0" mdast-util-definitions@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.0.tgz#b6d10ef00a3c4cf191e8d9a5fa58d7f4a366f817" - integrity sha512-5hcR7FL2EuZ4q6lLMUK5w4lHT2H3vqL9quPvYZ/Ku5iifrirfMHiGdhxdXMUbUkDmz5I+TYMd7nbaxUhbQkfpQ== + version "5.1.1" + resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz#2c1d684b28e53f84938bb06317944bee8efa79db" + integrity sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ== dependencies: "@types/mdast" "^3.0.0" "@types/unist" "^2.0.0" - unist-util-visit "^3.0.0" + unist-util-visit "^4.0.0" mdast-util-from-markdown@^1.0.0: version "1.2.0" @@ -8321,16 +9099,15 @@ mdast-util-from-markdown@^1.0.0: uvu "^0.5.0" mdast-util-to-hast@^12.1.0: - version "12.1.1" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.1.1.tgz#89a2bb405eaf3b05eb8bf45157678f35eef5dbca" - integrity sha512-qE09zD6ylVP14jV4mjLIhDBOrpFdShHZcEsYvvKGABlr9mGbV7mTlRWdoFxL/EYSTNDiC9GZXy7y8Shgb9Dtzw== + version "12.2.5" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.2.5.tgz#91532ebd929a7def21585034f7901eb367d2d272" + integrity sha512-EFNhT35ZR/VZ85/EedDdCNTq0oFM+NM/+qBomVGQ0+Lcg0nhI8xIwmdCzNMlVlCJNXRprpobtKP/IUh8cfz6zQ== dependencies: "@types/hast" "^2.0.0" "@types/mdast" "^3.0.0" - "@types/mdurl" "^1.0.0" mdast-util-definitions "^5.0.0" - mdurl "^1.0.0" - micromark-util-sanitize-uri "^1.0.0" + micromark-util-sanitize-uri "^1.1.0" + trim-lines "^3.0.0" unist-builder "^3.0.0" unist-util-generated "^2.0.0" unist-util-position "^4.0.0" @@ -8346,26 +9123,26 @@ mdn-data@2.0.14: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== -mdurl@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" - integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== media-typer@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-1.1.0.tgz#6ab74b8f2d3320f2064b2a87a38e7931ff3a5561" integrity sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== -memoize-one@^5.0.0, memoize-one@^5.1.1: +memoize-one@^5.1.1: version "5.2.1" resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== +memoize-one@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" + integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== + mensch@^0.3.4: version "0.3.4" resolved "https://registry.yarnpkg.com/mensch/-/mensch-0.3.4.tgz#770f91b46cb16ea5b204ee735768c3f0c491fecd" @@ -8408,7 +9185,7 @@ meow@^8.0.0: merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== merge-stream@^2.0.0: version "2.0.0" @@ -8428,7 +9205,7 @@ merge@^2.1.1: methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromark-core-commonmark@^1.0.1: version "1.0.6" @@ -8573,10 +9350,10 @@ micromark-util-resolve-all@^1.0.0: dependencies: micromark-util-types "^1.0.0" -micromark-util-sanitize-uri@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz#27dc875397cd15102274c6c6da5585d34d4f12b2" - integrity sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg== +micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz#f12e07a85106b902645e0364feb07cf253a85aee" + integrity sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg== dependencies: micromark-util-character "^1.0.0" micromark-util-encode "^1.0.0" @@ -8603,9 +9380,9 @@ micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: integrity sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w== micromark@^3.0.0: - version "3.0.10" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.0.10.tgz#1eac156f0399d42736458a14b0ca2d86190b457c" - integrity sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg== + version "3.1.0" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.1.0.tgz#eeba0fe0ac1c9aaef675157b52c166f125e89f62" + integrity sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA== dependencies: "@types/debug" "^4.0.0" debug "^4.0.0" @@ -8660,16 +9437,16 @@ mime@^3.0.0: resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + min-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" @@ -8685,17 +9462,17 @@ minimalistic-assert@^1.0.0: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" - integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== +minimatch@^5.0.1, minimatch@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff" + integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== dependencies: brace-expansion "^2.0.1" @@ -8708,16 +9485,16 @@ minimist-options@4.1.0, minimist-options@^4.0.2: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -minimist@1.2.6, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: +minimist@1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.7" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== + minipass-collect@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" @@ -8737,9 +9514,9 @@ minipass-fetch@^1.3.2: encoding "^0.1.12" minipass-fetch@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.0.tgz#ca1754a5f857a3be99a9271277246ac0b44c3ff8" - integrity sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg== + version "2.1.2" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add" + integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== dependencies: minipass "^3.1.6" minipass-sized "^1.0.3" @@ -8777,9 +9554,16 @@ minipass-sized@^1.0.3: minipass "^3.0.0" minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3, minipass@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" - integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.0.0.tgz#7cebb0f9fa7d56f0c5b17853cbe28838a8dbbd3b" + integrity sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw== dependencies: yallist "^4.0.0" @@ -8818,14 +9602,14 @@ modify-values@^1.0.0: integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== moment@^2.29.1: - version "2.29.3" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.3.tgz#edd47411c322413999f7a5940d526de183c031f3" - integrity sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw== + version "2.29.4" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== moo@^0.5.0, moo@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.1.tgz#7aae7f384b9b09f620b6abf6f74ebbcd1b65dbc4" - integrity sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w== + version "0.5.2" + resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.2.tgz#f9fe82473bc7c184b0d32e2215d3f6e67278733c" + integrity sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q== mri@^1.1.0: version "1.2.0" @@ -8835,7 +9619,7 @@ mri@^1.1.0: ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== ms@2.1.2: version "2.1.2" @@ -8874,27 +9658,22 @@ multimatch@5: murmurhash3js@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/murmurhash3js/-/murmurhash3js-3.0.1.tgz#3e983e5b47c2a06f43a713174e7e435ca044b998" - integrity sha1-Ppg+W0fCoG9DpxMXTn5DXKBEuZg= + integrity sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow== mustache@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ== -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - mute-stream@0.0.8, mute-stream@~0.0.4: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== mylas@^2.1.9: - version "2.1.11" - resolved "https://registry.yarnpkg.com/mylas/-/mylas-2.1.11.tgz#1827462533977bed1c4251317aa84254e3ca94c7" - integrity sha512-krnPUl3n9/k52FGCltWMYcqp9SttxjRJEy0sWLk+g7mIa7wnZrmNSZ40Acx7ghzRSOsxt2rEqMbaq4jWlnTDKg== + version "2.1.13" + resolved "https://registry.yarnpkg.com/mylas/-/mylas-2.1.13.tgz#1e23b37d58fdcc76e15d8a5ed23f9ae9fc0cbdf4" + integrity sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg== mz@^2.4.0: version "2.7.0" @@ -8915,10 +9694,15 @@ nanoid@^3.3.4: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== nearley@^2.20.1: version "2.20.1" @@ -8943,44 +9727,49 @@ neo-async@^2.6.0: nerf-dart@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/nerf-dart/-/nerf-dart-1.0.0.tgz#e6dab7febf5ad816ea81cf5c629c5a0ebde72c1a" - integrity sha1-5tq3/r9a2Bbqgc9cYpxaDr3nLBo= + integrity sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g== -next@12.2.5: - version "12.2.5" - resolved "https://registry.yarnpkg.com/next/-/next-12.2.5.tgz#14fb5975e8841fad09553b8ef41fe1393602b717" - integrity sha512-tBdjqX5XC/oFs/6gxrZhjmiq90YWizUYU6qOWAfat7zJwrwapJ+BYgX2PmiacunXMaRpeVT4vz5MSPSLgNkrpA== +next@12.3.4: + version "12.3.4" + resolved "https://registry.yarnpkg.com/next/-/next-12.3.4.tgz#f2780a6ebbf367e071ce67e24bd8a6e05de2fcb1" + integrity sha512-VcyMJUtLZBGzLKo3oMxrEF0stxh8HwuW976pAzlHhI3t8qJ4SROjCrSh1T24bhrbjw55wfZXAbXPGwPt5FLRfQ== dependencies: - "@next/env" "12.2.5" - "@swc/helpers" "0.4.3" - caniuse-lite "^1.0.30001332" + "@next/env" "12.3.4" + "@swc/helpers" "0.4.11" + caniuse-lite "^1.0.30001406" postcss "8.4.14" - styled-jsx "5.0.4" + styled-jsx "5.0.7" use-sync-external-store "1.2.0" optionalDependencies: - "@next/swc-android-arm-eabi" "12.2.5" - "@next/swc-android-arm64" "12.2.5" - "@next/swc-darwin-arm64" "12.2.5" - "@next/swc-darwin-x64" "12.2.5" - "@next/swc-freebsd-x64" "12.2.5" - "@next/swc-linux-arm-gnueabihf" "12.2.5" - "@next/swc-linux-arm64-gnu" "12.2.5" - "@next/swc-linux-arm64-musl" "12.2.5" - "@next/swc-linux-x64-gnu" "12.2.5" - "@next/swc-linux-x64-musl" "12.2.5" - "@next/swc-win32-arm64-msvc" "12.2.5" - "@next/swc-win32-ia32-msvc" "12.2.5" - "@next/swc-win32-x64-msvc" "12.2.5" - -node-addon-api@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" - integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + "@next/swc-android-arm-eabi" "12.3.4" + "@next/swc-android-arm64" "12.3.4" + "@next/swc-darwin-arm64" "12.3.4" + "@next/swc-darwin-x64" "12.3.4" + "@next/swc-freebsd-x64" "12.3.4" + "@next/swc-linux-arm-gnueabihf" "12.3.4" + "@next/swc-linux-arm64-gnu" "12.3.4" + "@next/swc-linux-arm64-musl" "12.3.4" + "@next/swc-linux-x64-gnu" "12.3.4" + "@next/swc-linux-x64-musl" "12.3.4" + "@next/swc-win32-arm64-msvc" "12.3.4" + "@next/swc-win32-ia32-msvc" "12.3.4" + "@next/swc-win32-x64-msvc" "12.3.4" + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== node-addon-api@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== +node-addon-api@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.0.0.tgz#7d7e6f9ef89043befdb20c1989c905ebde18c501" + integrity sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA== + node-cache@5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/node-cache/-/node-cache-5.1.2.tgz#f264dc2ccad0a780e76253a694e9fd0ed19c398d" @@ -9002,7 +9791,7 @@ node-fetch@^2.6.0, node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" -node-gyp@8.4.1, node-gyp@8.x, node-gyp@^8.4.1: +node-gyp@8.4.1, node-gyp@8.x: version "8.4.1" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== @@ -9018,47 +9807,26 @@ node-gyp@8.4.1, node-gyp@8.x, node-gyp@^8.4.1: tar "^6.1.2" which "^2.0.2" -node-gyp@9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.1.0.tgz#c8d8e590678ea1f7b8097511dedf41fc126648f8" - integrity sha512-HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.6" - make-fetch-happen "^10.0.3" - nopt "^5.0.0" - npmlog "^6.0.0" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.2" - which "^2.0.2" - -node-gyp@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.0.0.tgz#e1da2067427f3eb5bb56820cb62bc6b1e4bd2089" - integrity sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw== +node-gyp@9.3.1, node-gyp@^9.0.0, node-gyp@^9.1.0: + version "9.3.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.3.1.tgz#1e19f5f290afcc9c46973d68700cbd21a96192e4" + integrity sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg== dependencies: env-paths "^2.2.0" glob "^7.1.4" graceful-fs "^4.2.6" make-fetch-happen "^10.0.3" - nopt "^5.0.0" + nopt "^6.0.0" npmlog "^6.0.0" rimraf "^3.0.2" semver "^7.3.5" tar "^6.1.2" which "^2.0.2" -node-releases@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" - integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== - node-releases@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== + version "2.0.8" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" + integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== node-schedule@2.1.0: version "2.1.0" @@ -9069,30 +9837,20 @@ node-schedule@2.1.0: long-timeout "0.1.1" sorted-array-functions "^1.3.0" -nodemailer@6.7.3: - version "6.7.3" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.7.3.tgz#b73f9a81b9c8fa8acb4ea14b608f5e725ea8e018" - integrity sha512-KUdDsspqx89sD4UUyUKzdlUOper3hRkDVkrKh/89G+d9WKsU5ox51NWS4tB1XR5dPUdR4SP0E3molyEfOvSa3g== - -nodemailer@6.7.8: - version "6.7.8" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.7.8.tgz#9f1af9911314960c0b889079e1754e8d9e3f740a" - integrity sha512-2zaTFGqZixVmTxpJRCFC+Vk5eGRd/fYtvIR+dl5u9QXLTQWGIf48x/JXvo58g9sa0bU6To04XUv554Paykum3g== +nodemailer@6.8.0, nodemailer@^6.7.2, nodemailer@^6.7.7: + version "6.8.0" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.8.0.tgz#804bcc5256ee5523bc914506ee59f8de8f0b1cd5" + integrity sha512-EjYvSmHzekz6VNkNd12aUqAco+bOkRe3Of5jVhltqKhEsjw/y0PYPJfp83+s9Wzh1dspYAkUW/YNQ350NATbSQ== -nodemailer@^6.6.3, nodemailer@^6.7.2: - version "6.7.5" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.7.5.tgz#b30b1566f5fa2249f7bd49ced4c58bec6b25915e" - integrity sha512-6VtMpwhsrixq1HDYSBBHvW0GwiWawE75dS3oal48VqRhUvKJNnKnJo2RI/bCVQubj1vgrgscMNW4DHaD6xtMCg== - -nodemon@2.0.19: - version "2.0.19" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.19.tgz#cac175f74b9cb8b57e770d47841995eebe4488bd" - integrity sha512-4pv1f2bMDj0Eeg/MhGqxrtveeQ5/G/UVe9iO6uTZzjnRluSA4PVWf8CW99LUPwGB3eNIA7zUFoP77YuI7hOc0A== +nodemon@2.0.20: + version "2.0.20" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.20.tgz#e3537de768a492e8d74da5c5813cb0c7486fc701" + integrity sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw== dependencies: chokidar "^3.5.2" debug "^3.2.7" ignore-by-default "^1.0.1" - minimatch "^3.0.4" + minimatch "^3.1.2" pstree.remy "^1.1.8" semver "^5.7.1" simple-update-notifier "^1.0.7" @@ -9103,7 +9861,7 @@ nodemon@2.0.19: noms@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859" - integrity sha1-2o69nzr51nYJGbJ9nNyAkqczKFk= + integrity sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow== dependencies: inherits "^2.0.1" readable-stream "~1.0.31" @@ -9115,10 +9873,17 @@ nopt@^5.0.0: dependencies: abbrev "1" +nopt@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" + integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== + dependencies: + abbrev "^1.0.0" + nopt@~1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= + integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== dependencies: abbrev "1" @@ -9143,9 +9908,9 @@ normalize-package-data@^3.0.0: validate-npm-package-license "^3.0.1" normalize-package-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.0.tgz#1122d5359af21d4cd08718b92b058a658594177c" - integrity sha512-m+GL22VXJKkKbw62ZaBBjv8u6IE3UI4Mh5QakIqs3fWiKe0Xyi6L97hakwZK41/LD4R/2ly71Bayx0NLMwLA/g== + version "4.0.1" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.1.tgz#b46b24e0616d06cadf9d5718b29b6d445a82a62c" + integrity sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg== dependencies: hosted-git-info "^5.0.0" is-core-module "^2.8.1" @@ -9160,7 +9925,7 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== normalize-url@^6.0.0: version "6.1.0" @@ -9174,13 +9939,20 @@ npm-audit-report@^3.0.0: dependencies: chalk "^4.0.0" -npm-bundled@^1.1.1, npm-bundled@^1.1.2: +npm-bundled@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== dependencies: npm-normalize-package-bin "^1.0.1" +npm-bundled@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-2.0.1.tgz#94113f7eb342cd7a67de1e789f896b04d2c600f4" + integrity sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw== + dependencies: + npm-normalize-package-bin "^2.0.0" + npm-install-checks@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-5.0.0.tgz#5ff27d209a4e3542b8ac6b0c1db6063506248234" @@ -9188,52 +9960,58 @@ npm-install-checks@^5.0.0: dependencies: semver "^7.1.1" -npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: +npm-normalize-package-bin@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.2.tgz#f3ef7b1b3b02e82564af2d5228b4c36567dcd389" - integrity sha512-v/miORuX8cndiOheW8p2moNuPJ7QhcFh9WGlTorruG8hXSA23vMTEp5hTCmDxic0nD8KHhj/NQgFuySD3GYY3g== +npm-normalize-package-bin@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz#9447a1adaaf89d8ad0abe24c6c84ad614a675fff" + integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ== + +npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: + version "9.1.2" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc" + integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg== dependencies: hosted-git-info "^5.0.0" + proc-log "^2.0.1" semver "^7.3.5" validate-npm-package-name "^4.0.0" npm-packlist@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.0.tgz#f3fd52903a021009913a133732022132eb355ce7" - integrity sha512-a04sqF6FbkyOAFA19AA0e94gS7Et5T2/IMj3VOT9nOF2RaRdVPQ1Q17Fb/HaDRFs+gbC7HOmhVZ29adpWgmDZg== + version "5.1.3" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.3.tgz#69d253e6fd664b9058b85005905012e00e69274b" + integrity sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg== dependencies: glob "^8.0.1" ignore-walk "^5.0.1" - npm-bundled "^1.1.2" - npm-normalize-package-bin "^1.0.1" + npm-bundled "^2.0.0" + npm-normalize-package-bin "^2.0.0" -npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz#76dda30a7cd6b99be822217a935c2f5eacdaca4c" - integrity sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg== +npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz#1d372b4e7ea7c6712316c0e99388a73ed3496e84" + integrity sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw== dependencies: npm-install-checks "^5.0.0" - npm-normalize-package-bin "^1.0.1" + npm-normalize-package-bin "^2.0.0" npm-package-arg "^9.0.0" semver "^7.3.5" -npm-profile@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-6.0.3.tgz#f4a11ce09467f00fa0832db7f27992e55fdfc94b" - integrity sha512-TVeHhnol2Iemud+Sr70/uqax5LnLJ9y361w+m5+Z7WYV2B1t6FhRDxDu72+yYYTvsgshkhnXEqbPjuD87kYXfA== +npm-profile@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-6.2.1.tgz#975c31ec75a6ae029ab5b8820ffdcbae3a1e3d5e" + integrity sha512-Tlu13duByHyDd4Xy0PgroxzxnBYWbGGL5aZifNp8cx2DxUrHSoETXtPKg38aRPsBWMRfDtvcvVfJNasj7oImQQ== dependencies: npm-registry-fetch "^13.0.1" proc-log "^2.0.0" -npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.1.1.tgz#26dc4b26d0a545886e807748032ba2aefaaae96b" - integrity sha512-5p8rwe6wQPLJ8dMqeTnA57Dp9Ox6GH9H60xkyJup07FmVlu3Mk7pf/kIIpl9gaN5bM8NM+UUx3emUWvDNTt39w== +npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3.1: + version "13.3.1" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz#bb078b5fa6c52774116ae501ba1af2a33166af7e" + integrity sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw== dependencies: make-fetch-happen "^10.0.6" minipass "^3.1.6" @@ -9243,6 +10021,13 @@ npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.1 npm-package-arg "^9.0.1" proc-log "^2.0.0" +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== + dependencies: + path-key "^2.0.0" + npm-run-path@^4.0.0, npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" @@ -9250,74 +10035,84 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" +npm-run-path@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" + integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== + dependencies: + path-key "^4.0.0" + npm-user-validate@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.1.tgz#31428fc5475fe8416023f178c0ab47935ad8c561" integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== npm@^8.3.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/npm/-/npm-8.11.0.tgz#224fbca389252e43dd2a277249df3320a7f91189" - integrity sha512-4qmtwHa28J4SPmwCNoQI07KIF/ljmBhhuqG+xNXsIIRpwdKB5OXkMIGfH6KlThR6kzusxlkgR7t1haFDB88dcQ== + version "8.19.3" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.19.3.tgz#adb51bf8886d519dd4df162726d0ad157ecfa272" + integrity sha512-0QjmyPtDxSyMWWD8I91QGbrgx9KzbV6C9FK1liEb/K0zppiZkr5KxXc990G+LzPwBHDfRjUBlO9T1qZ08vl9mA== dependencies: "@isaacs/string-locale-compare" "^1.1.0" - "@npmcli/arborist" "^5.0.4" + "@npmcli/arborist" "^5.6.3" "@npmcli/ci-detect" "^2.0.0" - "@npmcli/config" "^4.1.0" + "@npmcli/config" "^4.2.1" "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" - "@npmcli/run-script" "^3.0.1" + "@npmcli/run-script" "^4.2.1" abbrev "~1.1.1" archy "~1.0.0" - cacache "^16.1.0" + cacache "^16.1.3" chalk "^4.1.2" chownr "^2.0.0" cli-columns "^4.0.0" cli-table3 "^0.6.2" columnify "^1.6.0" fastest-levenshtein "^1.0.12" + fs-minipass "^2.1.0" glob "^8.0.1" graceful-fs "^4.2.10" - hosted-git-info "^5.0.0" - ini "^3.0.0" + hosted-git-info "^5.2.1" + ini "^3.0.1" init-package-json "^3.0.2" is-cidr "^4.0.2" json-parse-even-better-errors "^2.3.1" - libnpmaccess "^6.0.2" - libnpmdiff "^4.0.2" - libnpmexec "^4.0.2" - libnpmfund "^3.0.1" - libnpmhook "^8.0.2" - libnpmorg "^4.0.2" - libnpmpack "^4.0.2" - libnpmpublish "^6.0.2" - libnpmsearch "^5.0.2" - libnpmteam "^4.0.2" - libnpmversion "^3.0.1" - make-fetch-happen "^10.1.5" + libnpmaccess "^6.0.4" + libnpmdiff "^4.0.5" + libnpmexec "^4.0.14" + libnpmfund "^3.0.5" + libnpmhook "^8.0.4" + libnpmorg "^4.0.4" + libnpmpack "^4.1.3" + libnpmpublish "^6.0.5" + libnpmsearch "^5.0.4" + libnpmteam "^4.0.4" + libnpmversion "^3.0.7" + make-fetch-happen "^10.2.0" + minimatch "^5.1.0" minipass "^3.1.6" minipass-pipeline "^1.2.4" mkdirp "^1.0.4" mkdirp-infer-owner "^2.0.0" ms "^2.1.2" - node-gyp "^9.0.0" - nopt "^5.0.0" + node-gyp "^9.1.0" + nopt "^6.0.0" npm-audit-report "^3.0.0" npm-install-checks "^5.0.0" - npm-package-arg "^9.0.2" - npm-pick-manifest "^7.0.1" - npm-profile "^6.0.3" - npm-registry-fetch "^13.1.1" + npm-package-arg "^9.1.0" + npm-pick-manifest "^7.0.2" + npm-profile "^6.2.0" + npm-registry-fetch "^13.3.1" npm-user-validate "^1.0.1" npmlog "^6.0.2" opener "^1.5.2" - pacote "^13.4.1" + p-map "^4.0.0" + pacote "^13.6.2" parse-conflict-json "^2.0.2" proc-log "^2.0.1" qrcode-terminal "^0.12.0" read "~1.0.7" - read-package-json "^5.0.1" + read-package-json "^5.0.2" read-package-json-fast "^2.0.3" readdir-scoped-modules "^1.1.0" rimraf "^3.0.2" @@ -9366,7 +10161,7 @@ oauth-sign@~0.9.0: object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-hash@^2.0.1: version "2.2.0" @@ -9378,7 +10173,7 @@ object-hash@^3.0.0: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== -object-inspect@^1.12.0, object-inspect@^1.12.2, object-inspect@^1.9.0: +object-inspect@^1.12.2, object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== @@ -9388,50 +10183,50 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== +object.assign@^4.1.3, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" object-keys "^1.1.1" -object.entries@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" - integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== +object.entries@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" + integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" -object.fromentries@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" - integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== +object.fromentries@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" + integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" -object.hasown@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3" - integrity sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A== +object.hasown@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" + integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== dependencies: define-properties "^1.1.4" - es-abstract "^1.19.5" + es-abstract "^1.20.4" -object.values@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== +object.values@^1.1.5, object.values@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" on-finished@2.4.1: version "2.4.1" @@ -9448,7 +10243,7 @@ on-headers@~1.0.2: once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" @@ -9459,13 +10254,6 @@ one-time@^1.0.0: dependencies: fn.name "1.x.x" -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" @@ -9473,6 +10261,13 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + ono@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/ono/-/ono-7.1.3.tgz#a054e96a388f566a6c4c95e1e92b9b253722d286" @@ -9493,10 +10288,10 @@ opener@^1.5.2: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== -openpgp@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/openpgp/-/openpgp-5.4.0.tgz#679e7ce1c97994d72545bf5be818de15e5707b52" - integrity sha512-XgQnK8SYy4Ycg9BDvrXTE4foMwME/+1EfGZWZirUU2VPzU1X3xx094fChjbP10+gUJifAcoWTsT2zAbdhFUxyg== +openpgp@5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/openpgp/-/openpgp-5.5.0.tgz#235ae5a49d5fda5cfd1d82c4c42cd91433478c14" + integrity sha512-SpwcJnxrK9Y0HRM6KxSFqkAEOSWEabCH/c8dII/+y2e5f6KvuDG5ZE7JXaPBaVJNE4VUZZeTphxXDoZD0KOHrw== dependencies: asn1.js "^5.0.0" @@ -9530,7 +10325,7 @@ ora@^5.4.1: os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== ospath@^1.2.2: version "1.2.2" @@ -9542,6 +10337,13 @@ p-each-series@^2.1.0: resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== +p-event@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" + integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== + dependencies: + p-timeout "^3.1.0" + p-filter@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" @@ -9549,6 +10351,11 @@ p-filter@^2.0.0: dependencies: p-map "^2.0.0" +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + p-is-promise@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-3.0.0.tgz#58e78c7dfe2e163cf2a04ff869e7c1dba64a5971" @@ -9578,7 +10385,7 @@ p-limit@^3.0.2: p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== dependencies: p-limit "^1.1.0" @@ -9621,25 +10428,39 @@ p-retry@^4.0.0: "@types/retry" "0.12.0" retry "^0.13.1" +p-timeout@^3.0.0, p-timeout@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== + dependencies: + p-finally "^1.0.0" + p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@^13.0.3, pacote@^13.0.5, pacote@^13.4.1, pacote@^13.5.0: - version "13.5.0" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.5.0.tgz#e2c745dc320513a98b9403e92b366a1ba6a4db94" - integrity sha512-yekp0ykEsaBH0t0bYA/89R+ywdYV5ZnEdg4YMIfqakSlpIhoF6b8+aEUm8NZpfWRgmy6lxgywcW05URhLRogVQ== +p-wait-for@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/p-wait-for/-/p-wait-for-3.2.0.tgz#640429bcabf3b0dd9f492c31539c5718cb6a3f1f" + integrity sha512-wpgERjNkLrBiFmkMEjuZJEWKKDrNfHCKA1OhyN1wg1FrLkULbviEy6py1AyJUgZ72YWFbZ38FIpnqvVqAlDUwA== + dependencies: + p-timeout "^3.0.0" + +pacote@^13.0.3, pacote@^13.6.1, pacote@^13.6.2: + version "13.6.2" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.2.tgz#0d444ba3618ab3e5cd330b451c22967bbd0ca48a" + integrity sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg== dependencies: "@npmcli/git" "^3.0.0" "@npmcli/installed-package-contents" "^1.0.7" "@npmcli/promise-spawn" "^3.0.0" - "@npmcli/run-script" "^3.0.1" + "@npmcli/run-script" "^4.1.0" cacache "^16.0.0" chownr "^2.0.0" fs-minipass "^2.1.0" @@ -9677,7 +10498,7 @@ parse-conflict-json@^2.0.1, parse-conflict-json@^2.0.2: parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== dependencies: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" @@ -9695,9 +10516,9 @@ parse-json@^5.0.0: parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== -parse5-htmlparser2-tree-adapter@^6.0.0: +parse5-htmlparser2-tree-adapter@^6.0.0, parse5-htmlparser2-tree-adapter@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== @@ -9723,11 +10544,19 @@ parse5@^6.0.1: integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== parse5@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.0.0.tgz#51f74a5257f5fcc536389e8c2d0b3802e1bfa91a" - integrity sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g== + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== dependencies: - entities "^4.3.0" + entities "^4.4.0" + +parseley@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/parseley/-/parseley-0.11.0.tgz#1ff817c829a02fcc214c9cc0d96b126d772ee814" + integrity sha512-VfcwXlBWgTF+unPcr7yu3HSSA6QUdDaDnrHcytVfj5Z8azAyKBDrYnSIfeSxlrEayndNcLmrXzg+Vxbo6DWRXQ== + dependencies: + leac "^0.6.0" + peberminta "^0.8.0" parseley@^0.7.0: version "0.7.0" @@ -9745,7 +10574,7 @@ parseurl@~1.3.3: path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" @@ -9755,14 +10584,24 @@ path-exists@^4.0.0: path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6, path-parse@^1.0.7: +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + +path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -9770,7 +10609,7 @@ path-parse@^1.0.6, path-parse@^1.0.7: path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== path-to-regexp@^6.2.0: version "6.2.1" @@ -9782,6 +10621,11 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +peberminta@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/peberminta/-/peberminta-0.8.0.tgz#acf7b105f3d13c8ac28cad81f2f5fe4698507590" + integrity sha512-YYEs+eauIjDH5nUEGi18EohWE0nV2QbGTqmxQcqgZ/0g+laPCQmuIqq7EBLVi9uim9zMgfJv0QBZEnQ3uHw/Tw== + pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" @@ -9790,7 +10634,7 @@ pend@~1.2.0: performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== picocolors@^1.0.0: version "1.0.0" @@ -9802,10 +10646,10 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pidtree@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.5.0.tgz#ad5fbc1de78b8a5f99d6fbdd4f6e4eee21d1aca1" - integrity sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA== +pidtree@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" + integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== pify@^2.2.0, pify@^2.3.0: version "2.3.0" @@ -9815,7 +10659,7 @@ pify@^2.2.0, pify@^2.3.0: pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== pify@^4.0.1: version "4.0.1" @@ -9830,7 +10674,7 @@ pify@^5.0.0: pkg-conf@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.1.0.tgz#2126514ca6f2abfebd168596df18ba57867f0058" - integrity sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg= + integrity sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g== dependencies: find-up "^2.0.0" load-json-file "^4.0.0" @@ -9848,7 +10692,7 @@ plex-api-credentials@3.0.1: plex-api-headers@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/plex-api-headers/-/plex-api-headers-1.1.0.tgz#4ce364715d9648cccf2c064583279ef87c12fbf2" - integrity sha1-TONkcV2WSMzPLAZFgyee+HwS+/I= + integrity sha512-Igl37++MSa+4H8LNP3Ene9GU0e1YypmXvFVNvVUwoAx44e74jbUlJXy4Q5rLSBisn0O2lBKdE6VkFIwrDl+UnQ== plex-api@5.3.2: version "5.3.2" @@ -9862,11 +10706,11 @@ plex-api@5.3.2: xml2js "0.4.16" plimit-lit@^1.2.6: - version "1.3.0" - resolved "https://registry.yarnpkg.com/plimit-lit/-/plimit-lit-1.3.0.tgz#46908adbfcfc010e65a5a737652768b0fec21587" - integrity sha512-63qOoSzggsjBHPVbaKeEtsO8oWTeyJxUfVRLkoc59pRkDiCCLvqn2tCgAkfbejrx+V5zJtlG2wqkk/Db6cwlVQ== + version "1.5.0" + resolved "https://registry.yarnpkg.com/plimit-lit/-/plimit-lit-1.5.0.tgz#f66df8a7041de1e965c4f1c0697ab486968a92a5" + integrity sha512-Eb/MqCb1Iv/ok4m1FqIXqvUKPISufcjZ605hl3KM/n8GaX8zfhtgdLwZU3vKjuHGh2O9Rjog/bHTq8ofIShdng== dependencies: - queue-lit "^1.3.0" + queue-lit "^1.5.0" postcss-import@^14.1.0: version "14.1.0" @@ -9892,14 +10736,14 @@ postcss-load-config@^3.1.4: lilconfig "^2.0.5" yaml "^1.10.2" -postcss-nested@5.0.6: - version "5.0.6" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" - integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== +postcss-nested@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.0.tgz#1572f1984736578f360cffc7eb7dca69e30d1735" + integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w== dependencies: - postcss-selector-parser "^6.0.6" + postcss-selector-parser "^6.0.10" -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6: +postcss-selector-parser@6.0.10: version "6.0.10" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== @@ -9907,12 +10751,20 @@ postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6: cssesc "^3.0.0" util-deprecate "^1.0.2" +postcss-selector-parser@^6.0.10: + version "6.0.11" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" + integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.14, postcss@^8.4.14: +postcss@8.4.14: version "8.4.14" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== @@ -9921,10 +10773,10 @@ postcss@8.4.14, postcss@^8.4.14: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.16: - version "8.4.16" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" - integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== +postcss@8.4.20, postcss@^8.4.18: + version "8.4.20" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56" + integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g== dependencies: nanoid "^3.3.4" picocolors "^1.0.0" @@ -9942,20 +10794,20 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier-plugin-organize-imports@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-3.1.0.tgz#00420affd69f21926dbf29bf94a152f37e859d5e" - integrity sha512-eufD78FKdkDTyyY9oKxuwEMrfz4/AXrGeyeyjqiRtSBr01DAdGFTq4SgIKvLeqlLkq+ZPJ2H0+BK0e6flRUwJQ== +prettier-plugin-organize-imports@3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-3.2.1.tgz#7e0e0a18457e0166e740daaff1aed1c08069fcb9" + integrity sha512-bty7C2Ecard5EOXirtzeCAqj4FU4epeuWrQt/Z+sh8UVEpBlBZ3m3KNPz2kFu7KgRTQx/C9o4/TdquPD1jOqjQ== -prettier-plugin-tailwindcss@0.1.13: - version "0.1.13" - resolved "https://registry.yarnpkg.com/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.1.13.tgz#ca1071361dc7e2ed5d95a2ee36825ce45f814942" - integrity sha512-/EKQURUrxLu66CMUg4+1LwGdxnz8of7IDvrSLqEtDqhLH61SAlNNUSr90UTvZaemujgl3OH/VHg+fyGltrNixw== +prettier-plugin-tailwindcss@0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.2.1.tgz#989b35afd86c550cb671da69891aba4f4a051159" + integrity sha512-aIO8IguumORyRsmT+E7JfJ3A9FEoyhqZR7Au7TBOege3VZkgMvHJMkufeYp4zjnDK2iq4ktkvGMNOQR9T8lisQ== -prettier@2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" - integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== +prettier@2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.1.tgz#4e1fd11c34e2421bc1da9aea9bd8127cd0a35efc" + integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg== pretty-bytes@^5.6.0: version "5.6.0" @@ -9963,15 +10815,19 @@ pretty-bytes@^5.6.0: integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== preview-email@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/preview-email/-/preview-email-3.0.5.tgz#09c32ba43c450ead16b309d9e5cb10f90ff45a95" - integrity sha512-q37jdkVw+wic0o/7xYhOTBS4kF0WX3two0OepmR1Fhxp9NTpO3rJTccAjQm95gJx/2Wa/Nv98sr9pXIQ77/foA== - dependencies: - dayjs "^1.10.6" - debug "^4.3.2" - mailparser "^3.3.0" - nodemailer "^6.6.3" + version "3.0.7" + resolved "https://registry.yarnpkg.com/preview-email/-/preview-email-3.0.7.tgz#b43e997294367f9c7437150bbe61a52e6bc7dca4" + integrity sha512-WGko2NiS3d8qoGcC981sXotm7noW/dcv4Cp4wo+X95ek2WwJ4A+aDpw/MzMjMW/johihvmfrfUdUWBbh+HnxCw== + dependencies: + ci-info "^3.3.2" + crypto-random-string "3.3.1" + display-notification "2.0.0" + get-port "5.1.1" + mailparser "^3.5.0" + nodemailer "^6.7.7" open "7" + p-event "4.2.0" + p-wait-for "3.2.0" pug "^3.0.2" uuid "^8.3.2" @@ -9998,7 +10854,7 @@ promise-call-limit@^1.0.1: promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== promise-retry@^2.0.1: version "2.0.1" @@ -10018,7 +10874,7 @@ promise@^7.0.1: promzard@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" - integrity sha1-JqXW7ox97kyxIggwWs+5O6OCqe4= + integrity sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw== dependencies: read "1" @@ -10037,9 +10893,9 @@ property-expr@^2.0.4: integrity sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA== property-information@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.1.1.tgz#5ca85510a3019726cb9afed4197b7b8ac5926a22" - integrity sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w== + version "6.2.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.2.0.tgz#b74f522c31c097b5149e3c3cb8d7f3defd986a1d" + integrity sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg== proxy-addr@~2.0.7: version "2.0.7" @@ -10054,10 +10910,15 @@ proxy-from-env@1.0.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== pstree.remy@^1.1.8: version "1.1.8" @@ -10188,17 +11049,17 @@ punycode@^2.1.0, punycode@^2.1.1: q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== qrcode-terminal@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== -qs@6.10.3, qs@^6.10.3: - version "6.10.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" - integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== +qs@6.11.0, qs@^6.10.3: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== dependencies: side-channel "^1.0.4" @@ -10207,10 +11068,10 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== -queue-lit@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/queue-lit/-/queue-lit-1.3.0.tgz#a29e4cfd0d0e2c6594beb70a4726716a57ffce5b" - integrity sha512-3HpQ7bD2ct56qPithPr5IzH2Oij3WVPcgevCJ+mI9HAfVJKCqQ2yiFYgb4AUkLfsCmmbVDy9luvE97Ztzr5eBg== +queue-lit@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/queue-lit/-/queue-lit-1.5.0.tgz#8197fdafda1edd615c8a0fc14c48353626e5160a" + integrity sha512-IslToJ4eiCEE9xwMzq3viOO5nH8sUWUCwoElrhNMozzr9IIt2qqvB4I+uHu/zJTQVqc9R5DFwok4ijNK1pU3fA== queue-microtask@^1.2.2: version "1.2.3" @@ -10230,7 +11091,7 @@ quick-lru@^5.1.1: railroad-diagrams@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e" - integrity sha1-635iZ1SN3t+4mcG5Dlc3RVnN234= + integrity sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A== randexp@0.4.6: version "0.4.6" @@ -10243,7 +11104,7 @@ randexp@0.4.6: random-bytes@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" - integrity sha1-T2ih3Arli9P7lYSMMDJNt11kNgs= + integrity sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ== range-parser@~1.2.1: version "1.2.1" @@ -10260,7 +11121,7 @@ raw-body@2.5.1: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.2.8: +rc@1.2.8, rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -10289,6 +11150,46 @@ react-animate-height@2.1.2: classnames "^2.2.5" prop-types "^15.6.1" +react-aria@3.22.0: + version "3.22.0" + resolved "https://registry.yarnpkg.com/react-aria/-/react-aria-3.22.0.tgz#824dbeac1760240b82359fd60c18bf68769d5815" + integrity sha512-GA+qwnVVTvSirdhB/PsYPwix24vFDlGeK5Lk3zUgB9Q5VHnTfMMJ4+tyu9G38UR0clLQ5SAG1ArNjgzmhexQYg== + dependencies: + "@react-aria/breadcrumbs" "^3.4.1" + "@react-aria/button" "^3.6.4" + "@react-aria/calendar" "^3.0.5" + "@react-aria/checkbox" "^3.7.1" + "@react-aria/combobox" "^3.4.4" + "@react-aria/datepicker" "^3.2.1" + "@react-aria/dialog" "^3.4.2" + "@react-aria/dnd" "^3.0.1" + "@react-aria/focus" "^3.10.1" + "@react-aria/gridlist" "^3.1.2" + "@react-aria/i18n" "^3.6.3" + "@react-aria/interactions" "^3.13.1" + "@react-aria/label" "^3.4.4" + "@react-aria/link" "^3.3.6" + "@react-aria/listbox" "^3.7.2" + "@react-aria/menu" "^3.7.1" + "@react-aria/meter" "^3.3.4" + "@react-aria/numberfield" "^3.3.4" + "@react-aria/overlays" "^3.12.1" + "@react-aria/progress" "^3.3.4" + "@react-aria/radio" "^3.4.2" + "@react-aria/searchfield" "^3.4.4" + "@react-aria/select" "^3.8.4" + "@react-aria/selection" "^3.12.1" + "@react-aria/separator" "^3.2.6" + "@react-aria/slider" "^3.2.4" + "@react-aria/ssr" "^3.4.1" + "@react-aria/switch" "^3.3.1" + "@react-aria/table" "^3.7.0" + "@react-aria/tabs" "^3.3.4" + "@react-aria/textfield" "^3.8.1" + "@react-aria/tooltip" "^3.3.4" + "@react-aria/utils" "^3.14.2" + "@react-aria/visually-hidden" "^3.6.1" + react-dom@18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" @@ -10307,26 +11208,26 @@ react-fast-compare@^3.0.1: resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb" integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA== -react-intersection-observer@9.4.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/react-intersection-observer/-/react-intersection-observer-9.4.0.tgz#f6b6e616e625f9bf255857c5cba9dbf7b1825ec7" - integrity sha512-v0403CmomOVlzhqFXlzOxg0ziLcVq8mfbP0AwAcEQWgZmR2OulOT79Ikznw4UlB3N+jlUYqLMe4SDHUOyp0t2A== - -react-intl@6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.0.5.tgz#8adcb9108682c82e625a8ce7826283afd3537f62" - integrity sha512-nDZ3BosuE8WdovcGxsrjj1aIgJZklSL5aORs5oah+5tLQTzUdOEstzJEYQPM+sxl1dkDOu7RCuw0z9oI9ENf9g== - dependencies: - "@formatjs/ecma402-abstract" "1.11.8" - "@formatjs/icu-messageformat-parser" "2.1.4" - "@formatjs/intl" "2.3.1" - "@formatjs/intl-displaynames" "6.0.3" - "@formatjs/intl-listformat" "7.0.3" +react-intersection-observer@9.4.1: + version "9.4.1" + resolved "https://registry.yarnpkg.com/react-intersection-observer/-/react-intersection-observer-9.4.1.tgz#4ccb21e16acd0b9cf5b28d275af7055bef878f6b" + integrity sha512-IXpIsPe6BleFOEHKzKh5UjwRUaz/JYS0lT/HPsupWEQou2hDqjhLMStc5zyE3eQVT4Fk3FufM8Fw33qW1uyeiw== + +react-intl@6.2.5: + version "6.2.5" + resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.2.5.tgz#eb871145e0866916d0c9283b2c83a146c6121793" + integrity sha512-nz21POTKbE0sPEuEJU4o5YTZYY7VlIYCPNJaD6D2+xKyk6Noj6DoUK0LRO9LXuQNUuQ044IZl3m6ymzZRj8XFQ== + dependencies: + "@formatjs/ecma402-abstract" "1.14.3" + "@formatjs/icu-messageformat-parser" "2.1.14" + "@formatjs/intl" "2.6.3" + "@formatjs/intl-displaynames" "6.2.3" + "@formatjs/intl-listformat" "7.1.7" "@types/hoist-non-react-statics" "^3.3.1" "@types/react" "16 || 17 || 18" hoist-non-react-statics "^3.3.2" - intl-messageformat "10.1.1" - tslib "2.4.0" + intl-messageformat "10.2.5" + tslib "^2.4.0" react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" @@ -10334,14 +11235,14 @@ react-is@^16.13.1, react-is@^16.7.0: integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== react-is@^18.0.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.1.0.tgz#61aaed3096d30eacf2a2127118b5b41387d32a67" - integrity sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg== + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -react-markdown@8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-8.0.3.tgz#e8aba0d2f5a1b2124d476ee1fff9448a2f57e4b3" - integrity sha512-We36SfqaKoVNpN1QqsZwWSv/OZt5J15LNgTLWynwAN5b265hrQrsjMtlRNwUvS+YyR3yDM8HpTNc4pK9H/Gc0A== +react-markdown@8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-8.0.4.tgz#b5ff1f0f29ead71a7a6f98815eb1a70bcc2a036e" + integrity sha512-2oxHa6oDxc1apg/Gnc1Goh06t3B617xeywqI/92wmDV9FELI6ayRkwge7w7DoEqM0gRpZGTNU6xQG+YpJISnVg== dependencies: "@types/hast" "^2.0.0" "@types/prop-types" "^15.0.0" @@ -10376,30 +11277,37 @@ react-popper@^2.3.0: react-fast-compare "^3.0.1" warning "^4.0.2" -react-select@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.4.0.tgz#81f6ac73906126706f104751ee14437bd16798f4" - integrity sha512-CjE9RFLUvChd5SdlfG4vqxZd55AZJRrLrHzkQyTYeHlpOztqcgnyftYAolJ0SGsBev6zAs6qFrjm6KU3eo2hzg== +react-select@5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.7.0.tgz#82921b38f1fcf1471a0b62304da01f2896cd8ce6" + integrity sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ== dependencies: "@babel/runtime" "^7.12.0" "@emotion/cache" "^11.4.0" "@emotion/react" "^11.8.1" + "@floating-ui/dom" "^1.0.1" "@types/react-transition-group" "^4.4.0" - memoize-one "^5.0.0" + memoize-one "^6.0.0" prop-types "^15.6.0" react-transition-group "^4.3.0" + use-isomorphic-layout-effect "^1.1.2" -react-spring@9.5.2: - version "9.5.2" - resolved "https://registry.yarnpkg.com/react-spring/-/react-spring-9.5.2.tgz#b9929ad2806e56e6408b27189ec9cdf1dc003873" - integrity sha512-OGWNgKi2TSjpqsK67NCUspaCgEvWcG7HcpO9KAaDLFzFGNxWdGdN3YTXhhWUqCsLAx9I6LxPzmRuUPsMNqTgrw== +react-spring@9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/react-spring/-/react-spring-9.6.1.tgz#e715b2fa523c1a3acfdcf1aaa93e081620b8cc8e" + integrity sha512-BeP80R4SLb1bZHW/Q62nECoScHw/fH+jzGkD7dc892HNGa+lbGIJXURc6U7N8JfZ8peEO46nPxR57aUMuYzquQ== dependencies: - "@react-spring/core" "~9.5.2" - "@react-spring/konva" "~9.5.2" - "@react-spring/native" "~9.5.2" - "@react-spring/three" "~9.5.2" - "@react-spring/web" "~9.5.2" - "@react-spring/zdog" "~9.5.2" + "@react-spring/core" "~9.6.1" + "@react-spring/konva" "~9.6.1" + "@react-spring/native" "~9.6.1" + "@react-spring/three" "~9.6.1" + "@react-spring/web" "~9.6.1" + "@react-spring/zdog" "~9.6.1" + +react-tailwindcss-datepicker-sct@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/react-tailwindcss-datepicker-sct/-/react-tailwindcss-datepicker-sct-1.3.4.tgz#e7e91c390a40822abca62e7259cee8156616d7d0" + integrity sha512-QlLekGZDbmW2DPGS33c4gfIxkk4gcgu4sRzBIm4/mZxfHuo7J+GR6SBVNIb5Xh8aCLlGtgyLqD+o0UmOVFIc4w== react-toast-notifications@2.5.1: version "2.5.1" @@ -10410,9 +11318,9 @@ react-toast-notifications@2.5.1: react-transition-group "^4.4.1" react-transition-group@^4.3.0, react-transition-group@^4.4.1: - version "4.4.2" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" - integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== + version "4.4.5" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" + integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== dependencies: "@babel/runtime" "^7.5.5" dom-helpers "^5.0.1" @@ -10429,10 +11337,10 @@ react-truncate-markup@5.1.2: prop-types "^15.6.0" resize-observer-polyfill "1.5.x" -react-use-clipboard@1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/react-use-clipboard/-/react-use-clipboard-1.0.8.tgz#7c1a5bcb469a0841dd9d1242af78e51d2ab7221f" - integrity sha512-QbN2kFl9uWEsELU4ONpAM98WASllAUWPSGBocbEVzRlcl1PbSa9EIdgADm6XlrcjYw9g1YQBfnCUb/5HGTOY+w== +react-use-clipboard@1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/react-use-clipboard/-/react-use-clipboard-1.0.9.tgz#d34d4d04500f77c606795d3756fc587ec93db8d2" + integrity sha512-OcMzc14usXhqQnAkvzmhCXAbW5WBT2LSgscVh2vKHXZfg72jFsSOsEearqdeC/nUj8YxEfLnziqe7AE7YkWFwA== dependencies: copy-to-clipboard "^3.3.1" @@ -10459,9 +11367,9 @@ read-cache@^1.0.0: pify "^2.3.0" read-cmd-shim@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.0.tgz#62b8c638225c61e6cc607f8f4b779f3b8238f155" - integrity sha512-KQDVjGqhZk92PPNRj9ZEXEuqg8bUobSKRw+q0YQ3TKI5xkce7bUJobL4Z/OtiEbAAv70yEpYIXp4iQ9L8oPVog== + version "3.0.1" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz#868c235ec59d1de2db69e11aec885bc095aea087" + integrity sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g== read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3: version "2.0.3" @@ -10471,15 +11379,15 @@ read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3: json-parse-even-better-errors "^2.3.0" npm-normalize-package-bin "^1.0.1" -read-package-json@^5.0.0, read-package-json@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.1.tgz#1ed685d95ce258954596b13e2e0e76c7d0ab4c26" - integrity sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg== +read-package-json@^5.0.0, read-package-json@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.2.tgz#b8779ccfd169f523b67208a89cc912e3f663f3fa" + integrity sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q== dependencies: glob "^8.0.1" json-parse-even-better-errors "^2.3.1" normalize-package-data "^4.0.0" - npm-normalize-package-bin "^1.0.1" + npm-normalize-package-bin "^2.0.0" read-pkg-up@^7.0.0, read-pkg-up@^7.0.1: version "7.0.1" @@ -10503,7 +11411,7 @@ read-pkg@^5.0.0, read-pkg@^5.2.0: read@1, read@^1.0.7, read@~1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" - integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= + integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ== dependencies: mute-stream "~0.0.4" @@ -10532,7 +11440,7 @@ readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.2.2, readable readable-stream@~1.0.31: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= + integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== dependencies: core-util-is "~1.0.0" inherits "~2.0.1" @@ -10567,7 +11475,7 @@ redent@^3.0.0: redeyed@~2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" - integrity sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs= + integrity sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ== dependencies: esprima "~4.0.0" @@ -10576,10 +11484,10 @@ reflect-metadata@0.1.13, reflect-metadata@^0.1.13: resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== -regenerate-unicode-properties@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" - integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" + integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== dependencies: regenerate "^1.4.2" @@ -10588,19 +11496,19 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== -regenerator-transform@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" - integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== +regenerator-transform@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" + integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== dependencies: "@babel/runtime" "^7.8.4" -regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: +regexp.prototype.flags@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== @@ -10614,46 +11522,34 @@ regexpp@^3.2.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -regexpu-core@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" - integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.0.1" - regjsgen "^0.6.0" - regjsparser "^0.8.2" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - -regexpu-core@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.1.0.tgz#2f8504c3fd0ebe11215783a41541e21c79942c6d" - integrity sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA== +regexpu-core@^5.2.1: + version "5.2.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.2.tgz#3e4e5d12103b64748711c3aad69934d7718e75fc" + integrity sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw== dependencies: regenerate "^1.4.2" - regenerate-unicode-properties "^10.0.1" - regjsgen "^0.6.0" - regjsparser "^0.8.2" + regenerate-unicode-properties "^10.1.0" + regjsgen "^0.7.1" + regjsparser "^0.9.1" unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" registry-auth-token@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" - integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== + version "4.2.2" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz#f02d49c3668884612ca031419491a13539e21fac" + integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg== dependencies: - rc "^1.2.8" + rc "1.2.8" -regjsgen@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" - integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== +regjsgen@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.7.1.tgz#ee5ef30e18d3f09b7c369b76e7c2373ed25546f6" + integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== -regjsparser@^0.8.2: - version "0.8.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" - integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== dependencies: jsesc "~0.5.0" @@ -10729,7 +11625,7 @@ request@^2.87.0: require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-from-string@^2.0.2: version "2.0.2" @@ -10744,7 +11640,7 @@ resize-observer-polyfill@1.5.x: resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + integrity sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg== dependencies: expand-tilde "^2.0.0" global-modules "^1.0.0" @@ -10766,7 +11662,7 @@ resolve-global@1.0.0, resolve-global@^1.0.0: dependencies: global-dirs "^0.1.1" -resolve@^1.1.7, resolve@^1.22.1: +resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -10775,31 +11671,15 @@ resolve@^1.1.7, resolve@^1.22.1: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.20.0, resolve@^1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== +resolve@^2.0.0-next.3: + version "2.0.0-next.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" + integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== dependencies: - is-core-module "^2.8.1" + is-core-module "^2.9.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^2.0.0-next.3: - version "2.0.0-next.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" - integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -10816,7 +11696,7 @@ ret@~0.1.10: retry@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== retry@^0.13.1: version "0.13.1" @@ -10843,9 +11723,16 @@ rimraf@^3.0.0, rimraf@^3.0.2: rndm@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/rndm/-/rndm-1.2.0.tgz#f33fe9cfb52bbfd520aa18323bc65db110a1b76c" - integrity sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w= + integrity sha512-fJhQQI5tLrQvYIYFpOnFinzv9dwmR7hRnUz1XqP3OJ1jIweTNOd6aTO4jwQSgcBSFUB+/KHJxuGneime+FdzOw== + +run-applescript@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-3.2.0.tgz#73fb34ce85d3de8076d511ea767c30d4fdfc918b" + integrity sha512-Ep0RsvAjnRcBX1p5vogbaBdAGu/8j/ewpvGqnQYunnLd9SM0vWcPJewPKNnWFggf0hF0pwIgwV5XK7qQ7UZ8Qg== + dependencies: + execa "^0.10.0" -run-async@^2.2.0, run-async@^2.4.0: +run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== @@ -10857,24 +11744,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^6.4.0: - version "6.6.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - -rxjs@^7.5.1: - version "7.5.6" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc" - integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw== - dependencies: - tslib "^2.1.0" - -rxjs@^7.5.5: - version "7.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" - integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== +rxjs@^7.5.1, rxjs@^7.5.5, rxjs@^7.5.7: + version "7.8.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" + integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== dependencies: tslib "^2.1.0" @@ -10900,10 +11773,19 @@ safe-identifier@^0.4.1: resolved "https://registry.yarnpkg.com/safe-identifier/-/safe-identifier-0.4.2.tgz#cf6bfca31c2897c588092d1750d30ef501d59fcb" integrity sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w== +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + safe-stable-stringify@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz#ab67cbe1fe7d40603ca641c5e765cb942d04fc73" - integrity sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg== + version "2.4.2" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz#ec7b037768098bf65310d1d64370de0dc02353aa" + integrity sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA== "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" @@ -10962,6 +11844,13 @@ secure-random@^1.1.2: resolved "https://registry.yarnpkg.com/secure-random/-/secure-random-1.1.2.tgz#ed103b460a851632d420d46448b2a900a41e7f7c" integrity sha512-H2bdSKERKdBV1SwoqYm6C0y+9EA94v6SUBOWO8kDndc4NoUih7Dv6Tsgma7zO1lv27wIvjlD0ZpMQk7um5dheQ== +selderee@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/selderee/-/selderee-0.10.0.tgz#ec83d6044d9026668dc9bd2561acfde99a4e3a1c" + integrity sha512-DEL/RW/f4qLw/NrVg97xKaEBC8IpzIG2fvxnzCp3Z4yk4jQ3MXom+Imav9wApjxX2dfS3eW7x0DXafJr85i39A== + dependencies: + parseley "^0.11.0" + selderee@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/selderee/-/selderee-0.6.0.tgz#f3bee66cfebcb6f33df98e4a1df77388b42a96f7" @@ -10976,10 +11865,10 @@ semantic-release-docker-buildx@1.0.1: dependencies: execa "^5.0.0" -semantic-release@19.0.3: - version "19.0.3" - resolved "https://registry.yarnpkg.com/semantic-release/-/semantic-release-19.0.3.tgz#9291053ad9890052f28e7c5921d4741530d516fd" - integrity sha512-HaFbydST1cDKZHuFZxB8DTrBLJVK/AnDExpK0s3EqLIAAUAHUgnd+VSJCUtTYQKkAkauL8G9CucODrVCc7BuAA== +semantic-release@19.0.5: + version "19.0.5" + resolved "https://registry.yarnpkg.com/semantic-release/-/semantic-release-19.0.5.tgz#d7fab4b33fc20f1288eafd6c441e5d0938e5e174" + integrity sha512-NMPKdfpXTnPn49FDogMBi36SiBfXkSOJqCkk0E4iWOY1tusvvgBwqUmxTX1kmlT6kIYed9YwNKD1sfPpqa5yaA== dependencies: "@semantic-release/commit-analyzer" "^9.0.2" "@semantic-release/error" "^3.0.0" @@ -11022,20 +11911,15 @@ semver-regex@^3.1.2: resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.4.tgz#13053c0d4aa11d070a2f2872b6b1e3ae1e1971b4" integrity sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA== -"semver@2 || 3 || 4 || 5", semver@^5.6.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.0.0, semver@~7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@7.3.7, semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== +semver@7.3.8, semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== dependencies: lru-cache "^6.0.0" @@ -11044,6 +11928,11 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@~7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + send@0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" @@ -11076,7 +11965,7 @@ serve-static@1.15.0: set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== setprototypeof@1.1.1: version "1.1.1" @@ -11096,6 +11985,13 @@ sha.js@^2.4.11: inherits "^2.0.1" safe-buffer "^5.0.1" +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -11103,6 +11999,11 @@ shebang-command@^2.0.0: dependencies: shebang-regex "^3.0.0" +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + shebang-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" @@ -11134,14 +12035,14 @@ signale@^1.2.1: simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== dependencies: is-arrayish "^0.3.1" simple-update-notifier@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz#7edf75c5bdd04f88828d632f762b2bc32996a9cc" - integrity sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew== + version "1.1.0" + resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz#67694c121de354af592b347cdba798463ed49c82" + integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg== dependencies: semver "~7.0.0" @@ -11184,28 +12085,37 @@ slice-ansi@^5.0.0: slick@^1.12.2: version "1.12.2" resolved "https://registry.yarnpkg.com/slick/-/slick-1.12.2.tgz#bd048ddb74de7d1ca6915faa4a57570b3550c2d7" - integrity sha1-vQSN23TefRymkV+qSldXCzVQwtc= + integrity sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A== smart-buffer@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -socks-proxy-agent@^6.0.0, socks-proxy-agent@^6.1.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz#f6b5229cc0cbd6f2f202d9695f09d871e951c85e" - integrity sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ== +socks-proxy-agent@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz#2687a31f9d7185e38d530bef1944fe1f1496d6ce" + integrity sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" + integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== dependencies: agent-base "^6.0.2" debug "^4.3.3" socks "^2.6.2" socks@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.2.tgz#ec042d7960073d40d94268ff3bb727dc685f111a" - integrity sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA== + version "2.7.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" + integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== dependencies: - ip "^1.1.5" + ip "^2.0.0" smart-buffer "^4.2.0" sort-keys@^4.0.0: @@ -11228,7 +12138,7 @@ source-map-js@^1.0.2: source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== source-map@^0.6.1: version "0.6.1" @@ -11236,14 +12146,14 @@ source-map@^0.6.1: integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== space-separated-tokens@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz#43193cec4fb858a2ce934b7f98b7f2c18107098b" - integrity sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw== + version "2.0.2" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== spawn-error-forwarder@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz#1afd94738e999b0346d7b9fc373be55e07577029" - integrity sha1-Gv2Uc46ZmwNG17n8NzvlXgdXcCk= + integrity sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g== spdx-correct@^3.0.0: version "3.1.1" @@ -11267,9 +12177,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + version "3.0.12" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" + integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== split2@^3.0.0: version "3.2.2" @@ -11281,7 +12191,7 @@ split2@^3.0.0: split2@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/split2/-/split2-1.0.0.tgz#52e2e221d88c75f9a73f90556e263ff96772b314" - integrity sha1-UuLiIdiMdfmnP5BVbiY/+WdysxQ= + integrity sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg== dependencies: through2 "~2.0.0" @@ -11295,12 +12205,12 @@ split@^1.0.0: sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -sqlite3@5.0.11: - version "5.0.11" - resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-5.0.11.tgz#102c835d70be66da9d95a383fd6ea084a082ef7f" - integrity sha512-4akFOr7u9lJEeAWLJxmwiV43DJcGV7w3ab7SjQFAFaTVyknY3rZjvXTKIVtWqUoY4xwhjwoHKYs2HDW2SoHVsA== +sqlite3@5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-5.1.4.tgz#35f83d368963168b324ad2f0fffce09f3b8723a7" + integrity sha512-i0UlWAzPlzX3B5XP2cYuhWQJsTtlMD6obOa1PgeEQ4DHEXUuyJkgv50I3isqZAP5oFc2T8OFvakmDh2W6I+YpA== dependencies: "@mapbox/node-pre-gyp" "^1.0.0" node-addon-api "^4.2.0" @@ -11345,7 +12255,7 @@ stable@^0.1.8: stack-trace@0.0.x: version "0.0.10" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= + integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== statuses@2.0.1: version "2.0.1" @@ -11355,17 +12265,17 @@ statuses@2.0.1: "statuses@>= 1.5.0 < 2": version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== stealthy-require@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + integrity sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g== stream-combiner2@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" - integrity sha1-+02KFCDqNidk4hrUeAOXvry0HL4= + integrity sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw== dependencies: duplexer2 "~0.1.0" readable-stream "^2.0.2" @@ -11389,14 +12299,6 @@ string-argv@^0.3.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - string-width@^5.0.0: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -11406,37 +12308,37 @@ string-width@^5.0.0: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string.prototype.matchall@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d" - integrity sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg== +string.prototype.matchall@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" + integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - get-intrinsic "^1.1.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" has-symbols "^1.0.3" internal-slot "^1.0.3" - regexp.prototype.flags "^1.4.1" + regexp.prototype.flags "^1.4.3" side-channel "^1.0.4" -string.prototype.trimend@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" - integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== dependencies: call-bind "^1.0.2" define-properties "^1.1.4" - es-abstract "^1.19.5" + es-abstract "^1.20.4" -string.prototype.trimstart@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" - integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== dependencies: call-bind "^1.0.2" define-properties "^1.1.4" - es-abstract "^1.19.5" + es-abstract "^1.20.4" string_decoder@^1.1.1: version "1.3.0" @@ -11448,7 +12350,7 @@ string_decoder@^1.1.1: string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== string_decoder@~1.1.1: version "1.1.1" @@ -11457,20 +12359,6 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -11493,13 +12381,23 @@ strip-bom@4.0.0, strip-bom@^4.0.0: strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" @@ -11507,11 +12405,6 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== - strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -11520,7 +12413,7 @@ strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1. strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== style-to-object@^0.3.0: version "0.3.0" @@ -11529,15 +12422,15 @@ style-to-object@^0.3.0: dependencies: inline-style-parser "0.1.1" -styled-jsx@5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.4.tgz#5b1bd0b9ab44caae3dd1361295559706e044aa53" - integrity sha512-sDFWLbg4zR+UkNzfk5lPilyIgtpddfxXEULxhujorr5jtePTUqiPDc5BC0v1NRqTr/WaFBGQQUoYToGlF4B2KQ== +styled-jsx@5.0.7: + version "5.0.7" + resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.7.tgz#be44afc53771b983769ac654d355ca8d019dff48" + integrity sha512-b3sUzamS086YLRuvnaDigdAewz1/EFYlHpYBP5mZovKEdQQOIIYq8lApylub3HHZ6xFjV051kkGU7cudJmrXEA== -stylis@4.0.13: - version "4.0.13" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz#f5db332e376d13cc84ecfe5dace9a2a51d954c91" - integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag== +stylis@4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.1.3.tgz#fd2fbe79f5fed17c55269e16ed8da14c84d069f7" + integrity sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA== supports-color@^5.3.0, supports-color@^5.5.0: version "5.5.0" @@ -11560,15 +12453,10 @@ supports-color@^8.1.1: dependencies: has-flag "^4.0.0" -supports-color@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.2.tgz#502acaf82f2b7ee78eb7c83dcac0f89694e5a7bb" - integrity sha512-XC6g/Kgux+rJXmwokjm9ECpD6k/smUoS5LKlUCcsYr4IY3rW0XyAympon2RmxGrlnZURMpg5T18gWDP9CsHXFA== - supports-hyperlinks@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + version "2.3.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== dependencies: has-flag "^4.0.0" supports-color "^7.0.0" @@ -11597,26 +12485,28 @@ svgo@^2.8.0: stable "^0.1.8" swagger-ui-dist@>=4.11.0: - version "4.11.1" - resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-4.11.1.tgz#1e9c0e62bdac632f7b206c95ef9cbe986097606a" - integrity sha512-pf3kfSTYdF9mYFY2VnfJ51wnXlSVhEGdtymhpHzfbFw2jTbiEWgBoVz5EB9aW2EaJvUGTM1YHAXYZX7Jk4RdAQ== + version "4.15.5" + resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-4.15.5.tgz#cda226a79db2a9192579cc1f37ec839398a62638" + integrity sha512-V3eIa28lwB6gg7/wfNvAbjwJYmDXy1Jo1POjyTzlB6wPcHiGlRxq39TSjYGVjQrUSAzpv+a7nzp7mDxgNy57xA== -swagger-ui-express@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/swagger-ui-express/-/swagger-ui-express-4.5.0.tgz#feb1314627092eb9c7e6b65ee018927011445530" - integrity sha512-DHk3zFvsxrkcnurGvQlAcLuTDacAVN1JHKDgcba/gr2NFRE4HGwP1YeHIXMiGznkWR4AeS7X5vEblNn4QljuNA== +swagger-ui-express@4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/swagger-ui-express/-/swagger-ui-express-4.6.0.tgz#fc297d80c614c80f5d7def3dab50b56428cfe1c9" + integrity sha512-ZxpQFp1JR2RF8Ar++CyJzEDdvufa08ujNUJgMVTMWPi86CuQeVdBtvaeO/ysrz6dJAYXf9kbVNhWD7JWocwqsA== dependencies: swagger-ui-dist ">=4.11.0" -swr@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/swr/-/swr-1.3.0.tgz#c6531866a35b4db37b38b72c45a63171faf9f4e8" - integrity sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw== +swr@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/swr/-/swr-2.0.0.tgz#91d999359e2be92de1a41f6b6711d72be20ffdbd" + integrity sha512-IhUx5yPkX+Fut3h0SqZycnaNLXLXsb2ECFq0Y29cxnK7d8r7auY2JWNbCW3IX+EqXUg3rwNJFlhrw5Ye/b6k7w== + dependencies: + use-sync-external-store "^1.2.0" -tailwindcss@3.1.8: - version "3.1.8" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.1.8.tgz#4f8520550d67a835d32f2f4021580f9fddb7b741" - integrity sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g== +tailwindcss@3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.2.4.tgz#afe3477e7a19f3ceafb48e4b083e292ce0dc0250" + integrity sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ== dependencies: arg "^5.0.2" chokidar "^3.5.3" @@ -11624,31 +12514,32 @@ tailwindcss@3.1.8: detective "^5.2.1" didyoumean "^1.2.2" dlv "^1.1.3" - fast-glob "^3.2.11" + fast-glob "^3.2.12" glob-parent "^6.0.2" is-glob "^4.0.3" lilconfig "^2.0.6" + micromatch "^4.0.5" normalize-path "^3.0.0" object-hash "^3.0.0" picocolors "^1.0.0" - postcss "^8.4.14" + postcss "^8.4.18" postcss-import "^14.1.0" postcss-js "^4.0.0" postcss-load-config "^3.1.4" - postcss-nested "5.0.6" + postcss-nested "6.0.0" postcss-selector-parser "^6.0.10" postcss-value-parser "^4.2.0" quick-lru "^5.1.1" resolve "^1.22.1" tar@^6.0.2, tar@^6.1.0, tar@^6.1.11, tar@^6.1.2: - version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== + version "6.1.13" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.13.tgz#46e22529000f612180601a6fe0680e7da508847b" + integrity sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" - minipass "^3.0.0" + minipass "^4.0.0" minizlib "^2.1.1" mkdirp "^1.0.3" yallist "^4.0.0" @@ -11682,12 +12573,12 @@ text-hex@1.0.x: text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== thenify-all@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== dependencies: thenify ">= 3.1.0 < 4" @@ -11721,7 +12612,7 @@ through2@^4.0.0: through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== tiny-relative-date@^1.3.0: version "1.3.0" @@ -11738,10 +12629,10 @@ titleize@2: resolved "https://registry.yarnpkg.com/titleize/-/titleize-2.1.0.tgz#5530de07c22147a0488887172b5bd94f5b30a48f" integrity sha512-m+apkYlfiQTKLW+sI4vqUkwMEzfgEUEYSqljx1voUE3Wz/z1ZsxyzSxvH2X8uKVrOp7QkByWt0rA6+gvhCKy6g== -tlds@1.231.0, tlds@^1.230.0: - version "1.231.0" - resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.231.0.tgz#93880175cd0a06fdf7b5b5b9bcadff9d94813e39" - integrity sha512-L7UQwueHSkGxZHQBXHVmXW64oi+uqNtzFt2x6Ssk7NVnpIbw16CRs4eb/jmKOZ9t2JnqZ/b3Cfvo97lnXqKrhw== +tlds@1.236.0, tlds@^1.230.0: + version "1.236.0" + resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.236.0.tgz#a118eebe33261c577e3a3025144faeabb7dd813c" + integrity sha512-oP2PZ3KeGlgpHgsEfrtva3/K9kzsJUNliQSbCfrJ7JMCWFoCdtG+9YMq/g2AnADQ1v5tVlbtvKJZ4KLpy/P6MA== tmp@^0.0.33: version "0.0.33" @@ -11760,7 +12651,7 @@ tmp@~0.2.1: to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-regex-range@^5.0.1: version "5.0.1" @@ -11772,7 +12663,7 @@ to-regex-range@^5.0.1: toggle-selection@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= + integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== toidentifier@1.0.0: version "1.0.0" @@ -11787,12 +12678,12 @@ toidentifier@1.0.1: token-stream@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-1.0.0.tgz#cc200eab2613f4166d27ff9afc7ca56d49df6eb4" - integrity sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ= + integrity sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg== toposort@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" - integrity sha1-riF2gXXRVZ1IvvNUILL0li8JwzA= + integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg== touch@^3.1.0: version "3.1.0" @@ -11812,18 +12703,23 @@ tough-cookie@^2.3.3, tough-cookie@~2.5.0: tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== traverse@~0.6.6: - version "0.6.6" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" - integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc= + version "0.6.7" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.7.tgz#46961cd2d57dd8706c36664acde06a248f1173fe" + integrity sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg== treeverse@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-2.0.0.tgz#036dcef04bc3fd79a9b79a68d4da03e882d8a9ca" integrity sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A== +trim-lines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" + integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== + trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" @@ -11839,7 +12735,7 @@ trough@^2.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== -ts-node@10.9.1: +ts-node@10.9.1, ts-node@^10.8.1: version "10.9.1" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== @@ -11858,29 +12754,10 @@ ts-node@10.9.1: v8-compile-cache-lib "^3.0.1" yn "3.1.1" -ts-node@^10.8.0: - version "10.8.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.8.0.tgz#3ceb5ac3e67ae8025c1950626aafbdecb55d82ce" - integrity sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tsc-alias@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/tsc-alias/-/tsc-alias-1.7.0.tgz#733482751133a25b97608ee424f8a1f085fcaaef" - integrity sha512-n/K6g8S7Ec7Y/A2Z77Ikp2Uv1S1ERtT63ni69XV4W1YPT4rnNmz8ItgIiJYvKfFnKfqcZQ81UPjoKpMTxaC/rg== +tsc-alias@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/tsc-alias/-/tsc-alias-1.8.2.tgz#3cd24bba7333a5e05cb7db3ac206d7bcec079630" + integrity sha512-ukBkcNekOgwtnSWYLD5QsMX3yQWg7JviAs8zg3qJGgu4LGtY3tsV4G6vnqvOXIDkbC+XL9vbhObWSpRA5/6wbg== dependencies: chokidar "^3.5.3" commander "^9.0.0" @@ -11889,12 +12766,12 @@ tsc-alias@1.7.0: normalize-path "^3.0.0" plimit-lit "^1.2.6" -tsconfig-paths@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.1.0.tgz#f8ef7d467f08ae3a695335bf1ece088c5538d2c1" - integrity sha512-AHx4Euop/dXFC+Vx589alFba8QItjF+8hf8LtmuiCwHyI4rHXQtOOENaM8kvYf5fR0dRChy3wzWIZ9WbB7FWow== +tsconfig-paths@4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.1.2.tgz#4819f861eef82e6da52fb4af1e8c930a39ed979a" + integrity sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw== dependencies: - json5 "^2.2.1" + json5 "^2.2.2" minimist "^1.2.6" strip-bom "^3.0.0" @@ -11908,16 +12785,16 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@2.4.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.10.0, tslib@^1.8.1: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.0.1, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.1, tslib@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" + integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== + tsscmp@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" @@ -11933,14 +12810,14 @@ tsutils@^3.21.0: tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== dependencies: safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -12007,12 +12884,12 @@ typedarray-to-buffer@^3.1.5: typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typeorm@0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.3.7.tgz#5776ed5058f0acb75d64723b39ff458d21de64c1" - integrity sha512-MsPJeP6Zuwfe64c++l80+VRqpGEGxf0CkztIEnehQ+CMmQPSHjOnFbFxwBuZ2jiLqZTjLk2ZqQdVF0RmvxNF3Q== +typeorm@0.3.11: + version "0.3.11" + resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.3.11.tgz#09b6ab0b0574bf33c1faf7344bab6c363cf28921" + integrity sha512-pzdOyWbVuz/z8Ww6gqvBW4nylsM0KLdUCDExr2gR20/x1khGSVxQkjNV/3YqliG90jrWzrknYbYscpk8yxFJVg== dependencies: "@sqltools/formatter" "^1.2.2" app-root-path "^3.0.0" @@ -12032,15 +12909,10 @@ typeorm@0.3.7: xml2js "^0.4.23" yargs "^17.3.1" -typescript@4.7.4: - version "4.7.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" - integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== - -typescript@^4.0, typescript@^4.5, typescript@^4.6.4: - version "4.7.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.2.tgz#1f9aa2ceb9af87cca227813b4310fff0b51593c4" - integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A== +typescript@4.9.4, typescript@^4.0, typescript@^4.6.4, typescript@^4.7: + version "4.9.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" + integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== uc.micro@^1.0.1: version "1.0.6" @@ -12048,9 +12920,9 @@ uc.micro@^1.0.1: integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== uglify-js@^3.1.4: - version "3.15.5" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.5.tgz#2b10f9e0bfb3f5c15a8e8404393b6361eaeb33b3" - integrity sha512-hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ== + version "3.17.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" + integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== uid-safe@2.1.5, uid-safe@~2.1.5: version "2.1.5" @@ -12075,14 +12947,14 @@ undefsafe@^2.0.5: integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== underscore.deep@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/underscore.deep/-/underscore.deep-0.5.1.tgz#072671f48d68735c34223fcfef63e69e5276cc2b" - integrity sha1-ByZx9I1oc1w0Ij/P72PmnlJ2zCs= + version "0.5.3" + resolved "https://registry.yarnpkg.com/underscore.deep/-/underscore.deep-0.5.3.tgz#210969d58025339cecabd2a2ad8c3e8925e5c095" + integrity sha512-4OuSOlFNkiVFVc3khkeG112Pdu1gbitMj7t9B9ENb61uFmN70Jq7Iluhi3oflcSgexkKfDdJ5XAJET2gEq6ikA== underscore@~1.13.1: - version "1.13.3" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.3.tgz#54bc95f7648c5557897e5e968d0f76bc062c34ee" - integrity sha512-QvjkYpiD+dJJraRA8+dGAU4i7aBbb2s0S3jA45TFOvg2VgqvdCDd/3N6CqA8gluk1W91GLoXg5enMUx560QzuA== + version "1.13.6" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441" + integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" @@ -12097,15 +12969,15 @@ unicode-match-property-ecmascript@^2.0.0: unicode-canonical-property-names-ecmascript "^2.0.0" unicode-property-aliases-ecmascript "^2.0.0" -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== unicode-property-aliases-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" - integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== unified@^10.0.0: version "10.1.2" @@ -12127,6 +12999,13 @@ unique-filename@^1.1.1: dependencies: unique-slug "^2.0.0" +unique-filename@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" + integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== + dependencies: + unique-slug "^3.0.0" + unique-slug@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" @@ -12134,6 +13013,13 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" +unique-slug@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" + integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== + dependencies: + imurmurhash "^0.1.4" + unique-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" @@ -12172,50 +13058,28 @@ unist-util-stringify-position@^3.0.0: dependencies: "@types/unist" "^2.0.0" -unist-util-visit-parents@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz#e83559a4ad7e6048a46b1bdb22614f2f3f4724f2" - integrity sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - -unist-util-visit-parents@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz#44bbc5d25f2411e7dfc5cecff12de43296aa8521" - integrity sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - -unist-util-visit@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-3.1.0.tgz#9420d285e1aee938c7d9acbafc8e160186dbaf7b" - integrity sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA== +unist-util-visit-parents@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz#868f353e6fce6bf8fa875b251b0f4fec3be709bb" + integrity sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw== dependencies: "@types/unist" "^2.0.0" unist-util-is "^5.0.0" - unist-util-visit-parents "^4.0.0" unist-util-visit@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.0.tgz#f41e407a9e94da31594e6b1c9811c51ab0b3d8f5" - integrity sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ== + version "4.1.1" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.1.tgz#1c4842d70bd3df6cc545276f5164f933390a9aad" + integrity sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg== dependencies: "@types/unist" "^2.0.0" unist-util-is "^5.0.0" - unist-util-visit-parents "^5.0.0" + unist-util-visit-parents "^5.1.1" universal-user-agent@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - universalify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" @@ -12224,17 +13088,17 @@ universalify@^2.0.0: unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== untildify@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== -update-browserslist-db@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" - integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== +update-browserslist-db@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -12254,9 +13118,14 @@ url-join@^4.0.0: urlsafe-base64@^1.0.0, urlsafe-base64@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz#23f89069a6c62f46cf3a1d3b00169cefb90be0c6" - integrity sha1-I/iQaabGL0bPOh07ABac77kL4MY= + integrity sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA== + +use-isomorphic-layout-effect@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" + integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== -use-sync-external-store@1.2.0: +use-sync-external-store@1.2.0, use-sync-external-store@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== @@ -12264,12 +13133,12 @@ use-sync-external-store@1.2.0: util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== uuid@^3.0.0, uuid@^3.3.2: version "3.4.0" @@ -12282,9 +13151,9 @@ uuid@^8.3.2: integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== uvu@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.3.tgz#3d83c5bc1230f153451877bfc7f4aea2392219ae" - integrity sha512-brFwqA3FXzilmtnIyJ+CxdkInkY/i4ErvP7uV0DnUVxQcQ55reuHphorpF+tZoVHK2MniZ/VJzI7zJQoc9T9Yw== + version "0.5.6" + resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" + integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== dependencies: dequal "^2.0.0" diff "^5.0.0" @@ -12296,11 +13165,6 @@ v8-compile-cache-lib@^3.0.1: resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - valid-data-url@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/valid-data-url/-/valid-data-url-3.0.1.tgz#826c1744e71b5632e847dd15dbd45b9fb38aa34f" @@ -12324,29 +13188,29 @@ validate-npm-package-name@^4.0.0: vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" extsprintf "^1.2.0" vfile-message@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.2.tgz#a2908f64d9e557315ec9d7ea3a910f658ac05f7d" - integrity sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA== + version "3.1.3" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.3.tgz#1360c27a99234bebf7bddbbbca67807115e6b0dd" + integrity sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA== dependencies: "@types/unist" "^2.0.0" unist-util-stringify-position "^3.0.0" vfile@^5.0.0: - version "5.3.2" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.2.tgz#b499fbc50197ea50ad3749e9b60beb16ca5b7c54" - integrity sha512-w0PLIugRY3Crkgw89TeMvHCzqCs/zpreR31hl4D92y6SOE07+bfJe+dK5Q2akwS+i/c801kzjoOr9gMcTe6IAA== + version "5.3.6" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.6.tgz#61b2e70690cc835a5d0d0fd135beae74e5a39546" + integrity sha512-ADBsmerdGBs2WYckrLBEmuETSPyTD4TuLxTrw0DvjirxW1ra4ZwkbzG8ndsv3Q57smvHxo677MHaQrY9yxH8cA== dependencies: "@types/unist" "^2.0.0" is-buffer "^2.0.0" @@ -12356,7 +13220,7 @@ vfile@^5.0.0: void-elements@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" - integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk= + integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== walk-up-path@^1.0.0: version "1.0.0" @@ -12401,15 +13265,27 @@ web-resource-inliner@^5.0.0: node-fetch "^2.6.0" valid-data-url "^3.0.0" +web-resource-inliner@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/web-resource-inliner/-/web-resource-inliner-6.0.1.tgz#df0822f0a12028805fe80719ed52ab6526886e02" + integrity sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A== + dependencies: + ansi-colors "^4.1.1" + escape-goat "^3.0.0" + htmlparser2 "^5.0.0" + mime "^2.4.6" + node-fetch "^2.6.0" + valid-data-url "^3.0.0" + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" webidl-conversions "^3.0.0" @@ -12425,7 +13301,7 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" -which@^1.2.14: +which@^1.2.14, which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -12465,11 +13341,12 @@ winston-transport@^4.4.0, winston-transport@^4.5.0: readable-stream "^3.6.0" triple-beam "^1.3.0" -winston@3.8.1: - version "3.8.1" - resolved "https://registry.yarnpkg.com/winston/-/winston-3.8.1.tgz#76f15b3478cde170b780234e0c4cf805c5a7fb57" - integrity sha512-r+6YAiCR4uI3N8eQNOg8k3P3PqwAm20cLKlzVD9E66Ch39+LZC+VH1UKf9JemQj2B3QoUHfKD7Poewn0Pr3Y1w== +winston@3.8.2: + version "3.8.2" + resolved "https://registry.yarnpkg.com/winston/-/winston-3.8.2.tgz#56e16b34022eb4cff2638196d9646d7430fdad50" + integrity sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew== dependencies: + "@colors/colors" "1.5.0" "@dabh/diagnostics" "^2.0.2" async "^3.2.3" is-stream "^2.0.0" @@ -12499,7 +13376,7 @@ word-wrap@^1.0.3, word-wrap@^1.2.3: wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== wrap-ansi@^6.2.0: version "6.2.0" @@ -12522,7 +13399,7 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^3.0.0: version "3.0.3" @@ -12535,9 +13412,9 @@ write-file-atomic@^3.0.0: typedarray-to-buffer "^3.1.5" write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" - integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== dependencies: imurmurhash "^0.1.4" signal-exit "^3.0.7" @@ -12557,7 +13434,7 @@ write-json-file@^4.3.0: xml2js@0.4.16: version "0.4.16" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.16.tgz#f82fccd2f9540d7e0a9b5dac163e7471195c9db3" - integrity sha1-+C/M0vlUDX4Km12sFj50cRlcnbM= + integrity sha512-9rH7UTUNphxeDRCeJBi4Fxp/z0fd92WeXNQ1dtUYMpqO3PaK59hVDCuUmOGHRZvufJDzcX8TG+Kdty7ylM0t2w== dependencies: sax ">=0.6.0" xmlbuilder "^4.1.0" @@ -12581,7 +13458,7 @@ xml2js@0.4.23, xml2js@^0.4.23: xmlbuilder@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5" - integrity sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU= + integrity sha512-oEePiEefhQhAeUnwRnIBLBWmk/fsWWbQ53EEWsRuzECbQ3m5o/Esmq6H47CYYwSLW+Ynt0rS9hd0pd2ogMAWjg== dependencies: lodash "^4.0.0" @@ -12593,7 +13470,7 @@ xmlbuilder@~11.0.0: xmlbuilder@~9.0.1: version "9.0.7" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" - integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= + integrity sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ== xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1: version "4.0.2" @@ -12605,6 +13482,11 @@ y18n@^5.0.5: resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" @@ -12615,6 +13497,11 @@ yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== +yaml@^2.1.3: + version "2.2.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" + integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== + yamljs@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/yamljs/-/yamljs-0.3.0.tgz#dc060bf267447b39f7304e9b2bfbe8b5a7ddb03b" @@ -12636,10 +13523,10 @@ yargs-parser@^20.2.2, yargs-parser@^20.2.3: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-parser@^21.0.0: - version "21.0.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" - integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== yargs@^16.0.0, yargs@^16.1.0, yargs@^16.2.0: version "16.2.0" @@ -12655,17 +13542,17 @@ yargs@^16.0.0, yargs@^16.1.0, yargs@^16.2.0: yargs-parser "^20.2.2" yargs@^17.0.0, yargs@^17.3.1: - version "17.5.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" - integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== + version "17.6.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" + integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== dependencies: - cliui "^7.0.2" + cliui "^8.0.1" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" string-width "^4.2.3" y18n "^5.0.5" - yargs-parser "^21.0.0" + yargs-parser "^21.1.1" yauzl@^2.10.0: version "2.10.0" @@ -12697,3 +13584,8 @@ yup@0.32.11: nanoclone "^0.2.1" property-expr "^2.0.4" toposort "^2.0.2" + +zod@3.20.2: + version "3.20.2" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.20.2.tgz#068606642c8f51b3333981f91c0a8ab37dfc2807" + integrity sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==