aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--client/package.json36
-rw-r--r--client/src/app/+about/about-instance/about-instance.component.html63
-rw-r--r--client/src/app/+my-account/my-account.component.html37
-rw-r--r--client/src/app/+my-account/my-account.component.scss15
-rw-r--r--client/src/app/+my-account/my-account.component.ts97
-rw-r--r--client/src/app/core/core.module.ts2
-rw-r--r--client/src/app/core/server/server.service.ts3
-rw-r--r--client/src/app/login/login.component.html7
-rw-r--r--client/src/app/login/login.component.ts9
-rw-r--r--client/src/app/menu/language-chooser.component.html5
-rw-r--r--client/src/app/menu/language-chooser.component.scss7
-rw-r--r--client/src/app/shared/menu/top-menu-dropdown.component.html18
-rw-r--r--client/src/app/shared/menu/top-menu-dropdown.component.scss14
-rw-r--r--client/src/app/shared/menu/top-menu-dropdown.component.ts75
-rw-r--r--client/src/app/shared/moderation/user-moderation-dropdown.component.ts44
-rw-r--r--client/src/app/shared/shared.module.ts5
-rw-r--r--client/src/app/signup/signup.component.html2
-rw-r--r--client/src/app/videos/+video-watch/modal/video-report.component.html5
-rw-r--r--client/src/app/videos/+video-watch/modal/video-report.component.scss4
-rw-r--r--client/src/app/videos/+video-watch/modal/video-report.component.ts16
-rw-r--r--client/src/locale/target/angular_ar_001.xml301
-rw-r--r--client/src/locale/target/angular_eu_ES.xml358
-rw-r--r--client/src/locale/target/angular_it_IT.xml141
-rw-r--r--client/src/locale/target/angular_oc.xml67
-rw-r--r--client/src/locale/target/angular_pl_PL.xml4
-rw-r--r--client/src/locale/target/angular_sv_SE.xml14
-rw-r--r--client/src/locale/target/angular_zh_Hant_TW.xml67
-rw-r--r--client/src/locale/target/iso639_pl_PL.xml695
-rw-r--r--client/src/locale/target/player_ar_001.xml2
-rw-r--r--client/src/locale/target/player_it_IT.json1
-rw-r--r--client/src/locale/target/player_pl_PL.json1
-rw-r--r--client/src/locale/target/player_pl_PL.xml383
-rw-r--r--client/src/locale/target/player_ru_RU.json1
-rw-r--r--client/src/locale/target/server_it_IT.json1
-rw-r--r--client/src/locale/target/server_pl_PL.json1
-rw-r--r--client/src/locale/target/server_pl_PL.xml147
-rw-r--r--client/src/locale/target/server_ru_RU.json1
-rw-r--r--client/yarn.lock1375
-rw-r--r--config/default.yaml4
-rw-r--r--config/production.yaml.example4
-rw-r--r--config/test-1.yaml2
-rw-r--r--config/test-2.yaml2
-rw-r--r--config/test-3.yaml2
-rw-r--r--config/test-4.yaml2
-rw-r--r--config/test-5.yaml2
-rw-r--r--config/test-6.yaml2
-rw-r--r--config/test.yaml2
-rw-r--r--package.json11
-rwxr-xr-xscripts/build/client.sh2
-rwxr-xr-xscripts/clean/server/test.sh1
-rwxr-xr-xscripts/prune-storage.ts7
-rwxr-xr-xscripts/upgrade.sh10
-rw-r--r--server.ts3
-rw-r--r--server/controllers/api/accounts.ts4
-rw-r--r--server/controllers/api/config.ts4
-rw-r--r--server/controllers/api/users/me.ts6
-rw-r--r--server/controllers/api/video-channel.ts6
-rw-r--r--server/controllers/api/videos/import.ts6
-rw-r--r--server/controllers/api/videos/index.ts10
-rw-r--r--server/controllers/bots.ts101
-rw-r--r--server/controllers/index.ts1
-rw-r--r--server/controllers/static.ts9
-rw-r--r--server/helpers/express-utils.ts4
-rw-r--r--server/helpers/image-utils.ts14
-rw-r--r--server/helpers/requests.ts9
-rw-r--r--server/helpers/utils.ts6
-rw-r--r--server/helpers/webtorrent.ts6
-rw-r--r--server/helpers/youtube-dl.ts4
-rw-r--r--server/initializers/checker-before-init.ts1
-rw-r--r--server/initializers/constants.ts6
-rw-r--r--server/lib/activitypub/actor.ts4
-rw-r--r--server/lib/activitypub/process/process-update.ts2
-rw-r--r--server/lib/activitypub/videos.ts24
-rw-r--r--server/lib/emailer.ts7
-rw-r--r--server/lib/job-queue/handlers/activitypub-refresher.ts3
-rw-r--r--server/lib/job-queue/handlers/video-file.ts4
-rw-r--r--server/lib/job-queue/handlers/video-import.ts9
-rw-r--r--server/lib/job-queue/handlers/video-views.ts4
-rw-r--r--server/lib/redis.ts9
-rw-r--r--server/lib/schedulers/videos-redundancy-scheduler.ts4
-rw-r--r--server/models/account/account.ts21
-rw-r--r--server/models/redundancy/video-redundancy.ts4
-rw-r--r--server/models/video/video-channel.ts21
-rw-r--r--server/models/video/video.ts30
-rw-r--r--server/tests/api/redundancy/redundancy.ts27
-rw-r--r--server/tests/cli/index.ts1
-rw-r--r--server/tests/misc-endpoints.ts72
-rw-r--r--shared/models/i18n/i18n.ts9
-rw-r--r--shared/models/server/server-config.model.ts4
-rw-r--r--support/doc/api/openapi.yaml14
-rw-r--r--support/doc/tools.md98
-rw-r--r--support/docker/production/config/production.yaml2
-rw-r--r--support/nginx/peertube9
-rw-r--r--yarn.lock377
94 files changed, 2693 insertions, 2343 deletions
diff --git a/client/package.json b/client/package.json
index 3761a641a..62ae47184 100644
--- a/client/package.json
+++ b/client/package.json
@@ -63,26 +63,26 @@
63 "setupTestFrameworkScriptFile": "<rootDir>/src/setupJest.ts" 63 "setupTestFrameworkScriptFile": "<rootDir>/src/setupJest.ts"
64 }, 64 },
65 "devDependencies": { 65 "devDependencies": {
66 "@angular-devkit/build-angular": "~0.10.0", 66 "@angular-devkit/build-angular": "~0.11.1",
67 "@angular/animations": "~7.0.2", 67 "@angular/animations": "~7.1.1",
68 "@angular/cli": "~7.0.4", 68 "@angular/cli": "~7.1.1",
69 "@angular/common": "~7.0.2", 69 "@angular/common": "~7.1.1",
70 "@angular/compiler": "~7.0.2", 70 "@angular/compiler": "~7.1.1",
71 "@angular/compiler-cli": "~7.0.2", 71 "@angular/compiler-cli": "~7.1.1",
72 "@angular/core": "~7.0.2", 72 "@angular/core": "~7.1.1",
73 "@angular/forms": "~7.0.2", 73 "@angular/forms": "~7.1.1",
74 "@angular/http": "~7.0.2", 74 "@angular/http": "~7.1.1",
75 "@angular/language-service": "~7.0.2", 75 "@angular/language-service": "~7.1.1",
76 "@angular/platform-browser": "~7.0.2", 76 "@angular/platform-browser": "~7.1.1",
77 "@angular/platform-browser-dynamic": "~7.0.2", 77 "@angular/platform-browser-dynamic": "~7.1.1",
78 "@angular/router": "~7.0.2", 78 "@angular/router": "~7.1.1",
79 "@angular/service-worker": "~7.0.2", 79 "@angular/service-worker": "~7.1.1",
80 "@angularclass/hmr": "^2.1.3", 80 "@angularclass/hmr": "^2.1.3",
81 "@neos21/bootstrap3-glyphicons": "^1.0.1", 81 "@neos21/bootstrap3-glyphicons": "^1.0.1",
82 "@ng-bootstrap/ng-bootstrap": "^4.0.0", 82 "@ng-bootstrap/ng-bootstrap": "^4.0.0",
83 "@ngx-loading-bar/core": "^2.2.0", 83 "@ngx-loading-bar/core": "^3.0.0",
84 "@ngx-loading-bar/http-client": "^2.2.0", 84 "@ngx-loading-bar/http-client": "^3.0.0",
85 "@ngx-loading-bar/router": "^2.2.0", 85 "@ngx-loading-bar/router": "^3.0.0",
86 "@ngx-meta/core": "^6.0.0-rc.1", 86 "@ngx-meta/core": "^6.0.0-rc.1",
87 "@ngx-translate/i18n-polyfill": "^1.0.0", 87 "@ngx-translate/i18n-polyfill": "^1.0.0",
88 "@types/core-js": "^2.5.0", 88 "@types/core-js": "^2.5.0",
@@ -132,7 +132,7 @@
132 "node-sass": "^4.9.3", 132 "node-sass": "^4.9.3",
133 "npm-font-source-sans-pro": "^1.0.2", 133 "npm-font-source-sans-pro": "^1.0.2",
134 "path-browserify": "^1.0.0", 134 "path-browserify": "^1.0.0",
135 "primeng": "^6.1.2", 135 "primeng": "^7.0.0",
136 "process": "^0.11.10", 136 "process": "^0.11.10",
137 "protractor": "^5.3.2", 137 "protractor": "^5.3.2",
138 "purify-css": "^1.2.5", 138 "purify-css": "^1.2.5",
diff --git a/client/src/app/+about/about-instance/about-instance.component.html b/client/src/app/+about/about-instance/about-instance.component.html
index 5970cac01..37ff795f5 100644
--- a/client/src/app/+about/about-instance/about-instance.component.html
+++ b/client/src/app/+about/about-instance/about-instance.component.html
@@ -1,39 +1,48 @@
1<div i18n class="about-instance-title"> 1<div class="row">
2 About {{ instanceName }} instance 2 <div class="col-md-12 col-xl-6">
3</div> 3 <div i18n class="about-instance-title">
4 About {{ instanceName }} instance
5 </div>
4 6
5<div class="short-description"> 7 <div class="short-description">
6 <div>{{ shortDescription }}</div> 8 <div>{{ shortDescription }}</div>
7</div> 9 </div>
8 10
9<div class="description"> 11 <div class="description">
10 <div i18n class="section-title">Description</div> 12 <div i18n class="section-title">Description</div>
11 13
12 <div [innerHTML]="descriptionHTML"></div> 14 <div [innerHTML]="descriptionHTML"></div>
13</div> 15 </div>
14 16
15<div class="terms" id="terms-section"> 17 <div class="terms" id="terms-section">
16 <div i18n class="section-title">Terms</div> 18 <div i18n class="section-title">Terms</div>
17 19
18 <div [innerHTML]="termsHTML"></div> 20 <div [innerHTML]="termsHTML"></div>
19</div> 21 </div>
22
23 <div class="signup">
24 <div i18n class="section-title">Signup</div>
20 25
21<div class="signup"> 26 <div *ngIf="isSignupAllowed">
22 <div i18n class="section-title">Signup</div> 27 <ng-container i18n>User registration is allowed and</ng-container>
23 28
24 <div *ngIf="isSignupAllowed"> 29 <ng-container i18n *ngIf="userVideoQuota !== -1">
25 <ng-container i18n>User registration is allowed and</ng-container> 30 this instance provides a baseline quota of {{ userVideoQuota | bytes: 0 }} space for the videos of its users.
31 </ng-container>
26 32
27 <ng-container i18n *ngIf="userVideoQuota !== -1"> 33 <ng-container i18n *ngIf="userVideoQuota === -1">
28 this instance provides a baseline quota of {{ userVideoQuota | bytes: 0 }} space for the videos of its users. 34 this instance provides unlimited space for the videos of its users.
29 </ng-container> 35 </ng-container>
36 </div>
30 37
31 <ng-container i18n *ngIf="userVideoQuota === -1"> 38 <div i18n *ngIf="isSignupAllowed === false">
32 this instance provides unlimited space for the videos of its users. 39 User registration is currently not allowed.
33 </ng-container> 40 </div>
41 </div>
34 </div> 42 </div>
35 43
36 <div i18n *ngIf="isSignupAllowed === false"> 44 <div class="col-md-12 col-xl-6">
37 User registration is currently not allowed. 45 <label>Features found on this instance</label>
46 <my-instance-features-table></my-instance-features-table>
38 </div> 47 </div>
39</div> \ No newline at end of file 48</div>
diff --git a/client/src/app/+my-account/my-account.component.html b/client/src/app/+my-account/my-account.component.html
index 41333c25a..3999252be 100644
--- a/client/src/app/+my-account/my-account.component.html
+++ b/client/src/app/+my-account/my-account.component.html
@@ -1,40 +1,5 @@
1<div class="row"> 1<div class="row">
2 <div class="sub-menu"> 2 <my-top-menu-dropdown [menuEntries]="menuEntries"></my-top-menu-dropdown>
3 <a i18n routerLink="/my-account/settings" routerLinkActive="active" class="title-page">My settings</a>
4
5 <div ngbDropdown class="my-library">
6 <span role="button" class="title-page" [ngClass]="{ active: libraryLabel !== '' }" ngbDropdownToggle>
7 <ng-container i18n>My library</ng-container>
8 <ng-container *ngIf="libraryLabel"> - {{ libraryLabel }}</ng-container>
9 </span>
10
11 <div ngbDropdownMenu>
12 <a class="dropdown-item" i18n routerLink="/my-account/video-channels">My channels</a>
13
14 <a class="dropdown-item" i18n routerLink="/my-account/videos">My videos</a>
15
16 <a class="dropdown-item" i18n routerLink="/my-account/subscriptions">My subscriptions</a>
17
18 <a class="dropdown-item" *ngIf="isVideoImportEnabled()" i18n routerLink="/my-account/video-imports">My imports</a>
19 </div>
20 </div>
21
22 <div ngbDropdown class="misc">
23 <span role="button" class="title-page" [ngClass]="{ active: miscLabel !== '' }" ngbDropdownToggle>
24 <ng-container i18n>Misc</ng-container>
25 <ng-container *ngIf="miscLabel"> - {{ miscLabel }}</ng-container>
26 </span>
27
28 <div ngbDropdownMenu>
29 <a class="dropdown-item" i18n routerLink="/my-account/blocklist/accounts">Muted accounts</a>
30
31 <a class="dropdown-item" i18n routerLink="/my-account/blocklist/servers">Muted instances</a>
32
33 <a class="dropdown-item" i18n routerLink="/my-account/ownership">Ownership changes</a>
34 </div>
35 </div>
36
37 </div>
38 3
39 <div class="margin-content"> 4 <div class="margin-content">
40 <router-outlet></router-outlet> 5 <router-outlet></router-outlet>
diff --git a/client/src/app/+my-account/my-account.component.scss b/client/src/app/+my-account/my-account.component.scss
index 6243c6dcf..4f111efdf 100644
--- a/client/src/app/+my-account/my-account.component.scss
+++ b/client/src/app/+my-account/my-account.component.scss
@@ -1,14 +1,3 @@
1.my-library, .misc { 1.row {
2 span[role=button] { 2 flex-direction: column;
3 cursor: pointer;
4 }
5
6 a {
7 display: block;
8 }
9} 3}
10
11/deep/ .dropdown-toggle::after {
12 position: relative;
13 top: 2px;
14} \ No newline at end of file
diff --git a/client/src/app/+my-account/my-account.component.ts b/client/src/app/+my-account/my-account.component.ts
index d728caf07..d9381ebfa 100644
--- a/client/src/app/+my-account/my-account.component.ts
+++ b/client/src/app/+my-account/my-account.component.ts
@@ -1,38 +1,72 @@
1import { Component, OnDestroy, OnInit } from '@angular/core' 1import { Component } from '@angular/core'
2import { ServerService } from '@app/core' 2import { ServerService } from '@app/core'
3import { NavigationStart, Router } from '@angular/router'
4import { filter } from 'rxjs/operators'
5import { I18n } from '@ngx-translate/i18n-polyfill' 3import { I18n } from '@ngx-translate/i18n-polyfill'
6import { Subscription } from 'rxjs' 4import { TopMenuDropdownParam } from '@app/shared/menu/top-menu-dropdown.component'
7 5
8@Component({ 6@Component({
9 selector: 'my-my-account', 7 selector: 'my-my-account',
10 templateUrl: './my-account.component.html', 8 templateUrl: './my-account.component.html',
11 styleUrls: [ './my-account.component.scss' ] 9 styleUrls: [ './my-account.component.scss' ]
12}) 10})
13export class MyAccountComponent implements OnInit, OnDestroy { 11export class MyAccountComponent {
14 12 menuEntries: TopMenuDropdownParam[] = []
15 libraryLabel = ''
16 miscLabel = ''
17
18 private routeSub: Subscription
19 13
20 constructor ( 14 constructor (
21 private serverService: ServerService, 15 private serverService: ServerService,
22 private router: Router,
23 private i18n: I18n 16 private i18n: I18n
24 ) {} 17 ) {
18
19 const libraryEntries: TopMenuDropdownParam = {
20 label: this.i18n('My library'),
21 children: [
22 {
23 label: this.i18n('My channels'),
24 routerLink: '/my-account/videos'
25 },
26 {
27 label: this.i18n('My videos'),
28 routerLink: '/my-account/videos'
29 },
30 {
31 label: this.i18n('My subscriptions'),
32 routerLink: '/my-account/subscriptions'
33 }
34 ]
35 }
25 36
26 ngOnInit () { 37 if (this.isVideoImportEnabled()) {
27 this.updateLabels(this.router.url) 38 libraryEntries.children.push({
39 label: 'My imports',
40 routerLink: '/my-account/video-imports'
41 })
42 }
28 43
29 this.routeSub = this.router.events 44 const miscEntries: TopMenuDropdownParam = {
30 .pipe(filter(event => event instanceof NavigationStart)) 45 label: this.i18n('Misc'),
31 .subscribe((event: NavigationStart) => this.updateLabels(event.url)) 46 children: [
32 } 47 {
48 label: this.i18n('Muted accounts'),
49 routerLink: '/my-account/blocklist/accounts'
50 },
51 {
52 label: this.i18n('Muted instances'),
53 routerLink: '/my-account/blocklist/servers'
54 },
55 {
56 label: this.i18n('Ownership changes'),
57 routerLink: '/my-account/ownership'
58 }
59 ]
60 }
33 61
34 ngOnDestroy () { 62 this.menuEntries = [
35 if (this.routeSub) this.routeSub.unsubscribe() 63 {
64 label: this.i18n('My settings'),
65 routerLink: '/my-account/settings'
66 },
67 libraryEntries,
68 miscEntries
69 ]
36 } 70 }
37 71
38 isVideoImportEnabled () { 72 isVideoImportEnabled () {
@@ -41,27 +75,4 @@ export class MyAccountComponent implements OnInit, OnDestroy {
41 return importConfig.http.enabled || importConfig.torrent.enabled 75 return importConfig.http.enabled || importConfig.torrent.enabled
42 } 76 }
43 77
44 private updateLabels (url: string) {
45 const [ path ] = url.split('?')
46
47 if (path.startsWith('/my-account/video-channels')) {
48 this.libraryLabel = this.i18n('Channels')
49 } else if (path.startsWith('/my-account/videos')) {
50 this.libraryLabel = this.i18n('Videos')
51 } else if (path.startsWith('/my-account/subscriptions')) {
52 this.libraryLabel = this.i18n('Subscriptions')
53 } else if (path.startsWith('/my-account/video-imports')) {
54 this.libraryLabel = this.i18n('Video imports')
55 } else {
56 this.libraryLabel = ''
57 }
58
59 if (path.startsWith('/my-account/blocklist/accounts')) {
60 this.miscLabel = this.i18n('Muted accounts')
61 } else if (path.startsWith('/my-account/blocklist/servers')) {
62 this.miscLabel = this.i18n('Muted instances')
63 } else {
64 this.miscLabel = ''
65 }
66 }
67} 78}
diff --git a/client/src/app/core/core.module.ts b/client/src/app/core/core.module.ts
index df2ec696d..8a6654aa1 100644
--- a/client/src/app/core/core.module.ts
+++ b/client/src/app/core/core.module.ts
@@ -29,7 +29,7 @@ import { CheatSheetComponent } from '@app/core/hotkeys'
29 29
30 LoadingBarHttpClientModule, 30 LoadingBarHttpClientModule,
31 LoadingBarRouterModule, 31 LoadingBarRouterModule,
32 LoadingBarModule.forRoot(), 32 LoadingBarModule,
33 33
34 HotkeyModule.forRoot({ 34 HotkeyModule.forRoot({
35 cheatSheetCloseEsc: true 35 cheatSheetCloseEsc: true
diff --git a/client/src/app/core/server/server.service.ts b/client/src/app/core/server/server.service.ts
index da8bd26db..6eccb8336 100644
--- a/client/src/app/core/server/server.service.ts
+++ b/client/src/app/core/server/server.service.ts
@@ -37,6 +37,9 @@ export class ServerService {
37 css: '' 37 css: ''
38 } 38 }
39 }, 39 },
40 email: {
41 enabled: false
42 },
40 serverVersion: 'Unknown', 43 serverVersion: 'Unknown',
41 signup: { 44 signup: {
42 allowed: false, 45 allowed: false,
diff --git a/client/src/app/login/login.component.html b/client/src/app/login/login.component.html
index 93dbed525..9b8146624 100644
--- a/client/src/app/login/login.component.html
+++ b/client/src/app/login/login.component.html
@@ -59,7 +59,12 @@
59 </div> 59 </div>
60 60
61 <div class="modal-body"> 61 <div class="modal-body">
62 <div class="form-group"> 62
63 <div *ngIf="isEmailDisabled()" class="alert alert-danger" i18n>
64 We are sorry, you cannot recover you password because your instance administrator did not configure the PeerTube email system.
65 </div>
66
67 <div class="form-group" [hidden]="isEmailDisabled()">
63 <label i18n for="forgot-password-email">Email</label> 68 <label i18n for="forgot-password-email">Email</label>
64 <input 69 <input
65 type="email" id="forgot-password-email" i18n-placeholder placeholder="Email address" required 70 type="email" id="forgot-password-email" i18n-placeholder placeholder="Email address" required
diff --git a/client/src/app/login/login.component.ts b/client/src/app/login/login.component.ts
index 7553e6456..212a8ff1f 100644
--- a/client/src/app/login/login.component.ts
+++ b/client/src/app/login/login.component.ts
@@ -19,7 +19,6 @@ import { Router } from '@angular/router'
19export class LoginComponent extends FormReactive implements OnInit { 19export class LoginComponent extends FormReactive implements OnInit {
20 @ViewChild('emailInput') input: ElementRef 20 @ViewChild('emailInput') input: ElementRef
21 @ViewChild('forgotPasswordModal') forgotPasswordModal: ElementRef 21 @ViewChild('forgotPasswordModal') forgotPasswordModal: ElementRef
22 @ViewChild('forgotPasswordEmailInput') forgotPasswordEmailInput: ElementRef
23 22
24 error: string = null 23 error: string = null
25 forgotPasswordEmail = '' 24 forgotPasswordEmail = ''
@@ -45,6 +44,10 @@ export class LoginComponent extends FormReactive implements OnInit {
45 return this.serverService.getConfig().signup.allowed === true 44 return this.serverService.getConfig().signup.allowed === true
46 } 45 }
47 46
47 isEmailDisabled () {
48 return this.serverService.getConfig().email.enabled === false
49 }
50
48 ngOnInit () { 51 ngOnInit () {
49 this.buildForm({ 52 this.buildForm({
50 username: this.loginValidatorsService.LOGIN_USERNAME, 53 username: this.loginValidatorsService.LOGIN_USERNAME,
@@ -96,10 +99,6 @@ export class LoginComponent extends FormReactive implements OnInit {
96 ) 99 )
97 } 100 }
98 101
99 onForgotPasswordModalShown () {
100 this.forgotPasswordEmailInput.nativeElement.focus()
101 }
102
103 openForgotPasswordModal () { 102 openForgotPasswordModal () {
104 this.openedForgotPasswordModal = this.modalService.open(this.forgotPasswordModal) 103 this.openedForgotPasswordModal = this.modalService.open(this.forgotPasswordModal)
105 } 104 }
diff --git a/client/src/app/menu/language-chooser.component.html b/client/src/app/menu/language-chooser.component.html
index c37bf2826..c79609898 100644
--- a/client/src/app/menu/language-chooser.component.html
+++ b/client/src/app/menu/language-chooser.component.html
@@ -4,6 +4,11 @@
4 <span class="close" aria-label="Close" role="button" (click)="hide()"></span> 4 <span class="close" aria-label="Close" role="button" (click)="hide()"></span>
5 </div> 5 </div>
6 6
7
8 <a i18n class="help-to-translate" target="_blank" rel="noreferrer noopener" href="https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/translation.md">
9 Help to translate PeerTube!
10 </a>
11
7 <div class="modal-body"> 12 <div class="modal-body">
8 <a *ngFor="let lang of languages" [href]="buildLanguageLink(lang)">{{ lang.label }}</a> 13 <a *ngFor="let lang of languages" [href]="buildLanguageLink(lang)">{{ lang.label }}</a>
9 </div> 14 </div>
diff --git a/client/src/app/menu/language-chooser.component.scss b/client/src/app/menu/language-chooser.component.scss
index 944e86f46..72deb3952 100644
--- a/client/src/app/menu/language-chooser.component.scss
+++ b/client/src/app/menu/language-chooser.component.scss
@@ -1,6 +1,11 @@
1@import '_variables'; 1@import '_variables';
2@import '_mixins'; 2@import '_mixins';
3 3
4.help-to-translate {
5 @include peertube-button-link;
6 @include orange-button;
7}
8
4.modal-body { 9.modal-body {
5 text-align: center; 10 text-align: center;
6 11
@@ -9,4 +14,4 @@
9 font-size: 16px; 14 font-size: 16px;
10 margin: 15px; 15 margin: 15px;
11 } 16 }
12} \ No newline at end of file 17}
diff --git a/client/src/app/shared/menu/top-menu-dropdown.component.html b/client/src/app/shared/menu/top-menu-dropdown.component.html
new file mode 100644
index 000000000..2d6d1c4bf
--- /dev/null
+++ b/client/src/app/shared/menu/top-menu-dropdown.component.html
@@ -0,0 +1,18 @@
1<div class="sub-menu">
2 <ng-container *ngFor="let menuEntry of menuEntries">
3
4 <a *ngIf="menuEntry.routerLink" [routerLink]="menuEntry.routerLink" routerLinkActive="active" class="title-page">{{ menuEntry.label }}</a>
5
6 <div *ngIf="!menuEntry.routerLink" ngbDropdown class="parent-entry" #dropdown="ngbDropdown" (mouseleave)="closeDropdownIfHovered(dropdown)">
7 <span (mouseenter)="openDropdownOnHover(dropdown)" role="button" class="title-page" [ngClass]="{ active: !!suffixLabels[menuEntry.label] }" ngbDropdownToggle>
8 <ng-container i18n>{{ menuEntry.label }}</ng-container>
9 <ng-container *ngIf="!!suffixLabels[menuEntry.label]"> - {{ suffixLabels[menuEntry.label] }}</ng-container>
10 </span>
11
12 <div ngbDropdownMenu>
13 <a *ngFor="let menuChild of menuEntry.children" class="dropdown-item" [routerLink]="menuChild.routerLink">{{ menuChild.label }}</a>
14 </div>
15 </div>
16
17 </ng-container>
18</div>
diff --git a/client/src/app/shared/menu/top-menu-dropdown.component.scss b/client/src/app/shared/menu/top-menu-dropdown.component.scss
new file mode 100644
index 000000000..f3ef8f814
--- /dev/null
+++ b/client/src/app/shared/menu/top-menu-dropdown.component.scss
@@ -0,0 +1,14 @@
1.parent-entry {
2 span[role=button] {
3 cursor: pointer;
4 }
5
6 a {
7 display: block;
8 }
9}
10
11/deep/ .dropdown-toggle::after {
12 position: relative;
13 top: 2px;
14}
diff --git a/client/src/app/shared/menu/top-menu-dropdown.component.ts b/client/src/app/shared/menu/top-menu-dropdown.component.ts
new file mode 100644
index 000000000..272b721b2
--- /dev/null
+++ b/client/src/app/shared/menu/top-menu-dropdown.component.ts
@@ -0,0 +1,75 @@
1import { Component, Input, OnDestroy, OnInit } from '@angular/core'
2import { filter, take } from 'rxjs/operators'
3import { NavigationStart, Router } from '@angular/router'
4import { Subscription } from 'rxjs'
5import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap'
6import { drop } from 'lodash-es'
7
8export type TopMenuDropdownParam = {
9 label: string
10 routerLink?: string
11
12 children?: {
13 label: string
14 routerLink: string
15 }[]
16}
17
18@Component({
19 selector: 'my-top-menu-dropdown',
20 templateUrl: './top-menu-dropdown.component.html',
21 styleUrls: [ './top-menu-dropdown.component.scss' ]
22})
23export class TopMenuDropdownComponent implements OnInit, OnDestroy {
24 @Input() menuEntries: TopMenuDropdownParam[] = []
25
26 suffixLabels: { [ parentLabel: string ]: string }
27
28 private openedOnHover = false
29 private routeSub: Subscription
30
31 constructor (private router: Router) {}
32
33 ngOnInit () {
34 this.updateChildLabels(window.location.pathname)
35
36 this.routeSub = this.router.events
37 .pipe(filter(event => event instanceof NavigationStart))
38 .subscribe(() => this.updateChildLabels(window.location.pathname))
39 }
40
41 ngOnDestroy () {
42 if (this.routeSub) this.routeSub.unsubscribe()
43 }
44
45 openDropdownOnHover (dropdown: NgbDropdown) {
46 this.openedOnHover = true
47 dropdown.open()
48
49 // Menu was closed
50 dropdown.openChange
51 .pipe(take(1))
52 .subscribe(e => this.openedOnHover = false)
53 }
54
55 closeDropdownIfHovered (dropdown: NgbDropdown) {
56 if (this.openedOnHover === false) return
57
58 dropdown.close()
59 this.openedOnHover = false
60 }
61
62 private updateChildLabels (path: string) {
63 this.suffixLabels = {}
64
65 for (const entry of this.menuEntries) {
66 if (!entry.children) continue
67
68 for (const child of entry.children) {
69 if (path.startsWith(child.routerLink)) {
70 this.suffixLabels[entry.label] = child.label
71 }
72 }
73 }
74 }
75}
diff --git a/client/src/app/shared/moderation/user-moderation-dropdown.component.ts b/client/src/app/shared/moderation/user-moderation-dropdown.component.ts
index d391246e0..e3c9db923 100644
--- a/client/src/app/shared/moderation/user-moderation-dropdown.component.ts
+++ b/client/src/app/shared/moderation/user-moderation-dropdown.component.ts
@@ -277,18 +277,18 @@ export class UserModerationDropdownComponent implements OnChanges {
277 }, 277 },
278 { 278 {
279 label: this.i18n('Ban'), 279 label: this.i18n('Ban'),
280 handler: ({ user }: { user: User }) => this.openBanUserModal(user), 280 handler: ({ user }) => this.openBanUserModal(user),
281 isDisplayed: ({ user }: { user: User }) => !user.blocked 281 isDisplayed: ({ user }) => !user.blocked
282 }, 282 },
283 { 283 {
284 label: this.i18n('Unban'), 284 label: this.i18n('Unban'),
285 handler: ({ user }: { user: User }) => this.unbanUser(user), 285 handler: ({ user }) => this.unbanUser(user),
286 isDisplayed: ({ user }: { user: User }) => user.blocked 286 isDisplayed: ({ user }) => user.blocked
287 }, 287 },
288 { 288 {
289 label: this.i18n('Set Email as Verified'), 289 label: this.i18n('Set Email as Verified'),
290 handler: ({ user }: { user: User }) => this.setEmailAsVerified(user), 290 handler: ({ user }) => this.setEmailAsVerified(user),
291 isDisplayed: ({ user }: { user: User }) => this.requiresEmailVerification && !user.blocked && user.emailVerified === false 291 isDisplayed: ({ user }) => this.requiresEmailVerification && !user.blocked && user.emailVerified === false
292 } 292 }
293 ]) 293 ])
294 } 294 }
@@ -299,23 +299,23 @@ export class UserModerationDropdownComponent implements OnChanges {
299 this.userActions.push([ 299 this.userActions.push([
300 { 300 {
301 label: this.i18n('Mute this account'), 301 label: this.i18n('Mute this account'),
302 isDisplayed: ({ account }: { account: Account }) => account.mutedByUser === false, 302 isDisplayed: ({ account }) => account.mutedByUser === false,
303 handler: ({ account }: { account: Account }) => this.blockAccountByUser(account) 303 handler: ({ account }) => this.blockAccountByUser(account)
304 }, 304 },
305 { 305 {
306 label: this.i18n('Unmute this account'), 306 label: this.i18n('Unmute this account'),
307 isDisplayed: ({ account }: { account: Account }) => account.mutedByUser === true, 307 isDisplayed: ({ account }) => account.mutedByUser === true,
308 handler: ({ account }: { account: Account }) => this.unblockAccountByUser(account) 308 handler: ({ account }) => this.unblockAccountByUser(account)
309 }, 309 },
310 { 310 {
311 label: this.i18n('Mute the instance'), 311 label: this.i18n('Mute the instance'),
312 isDisplayed: ({ account }: { account: Account }) => !account.userId && account.mutedServerByInstance === false, 312 isDisplayed: ({ account }) => !account.userId && account.mutedServerByInstance === false,
313 handler: ({ account }: { account: Account }) => this.blockServerByUser(account.host) 313 handler: ({ account }) => this.blockServerByUser(account.host)
314 }, 314 },
315 { 315 {
316 label: this.i18n('Unmute the instance'), 316 label: this.i18n('Unmute the instance'),
317 isDisplayed: ({ account }: { account: Account }) => !account.userId && account.mutedServerByInstance === true, 317 isDisplayed: ({ account }) => !account.userId && account.mutedServerByInstance === true,
318 handler: ({ account }: { account: Account }) => this.unblockServerByUser(account.host) 318 handler: ({ account }) => this.unblockServerByUser(account.host)
319 } 319 }
320 ]) 320 ])
321 321
@@ -326,13 +326,13 @@ export class UserModerationDropdownComponent implements OnChanges {
326 instanceActions = instanceActions.concat([ 326 instanceActions = instanceActions.concat([
327 { 327 {
328 label: this.i18n('Mute this account by your instance'), 328 label: this.i18n('Mute this account by your instance'),
329 isDisplayed: ({ account }: { account: Account }) => account.mutedByInstance === false, 329 isDisplayed: ({ account }) => account.mutedByInstance === false,
330 handler: ({ account }: { account: Account }) => this.blockAccountByInstance(account) 330 handler: ({ account }) => this.blockAccountByInstance(account)
331 }, 331 },
332 { 332 {
333 label: this.i18n('Unmute this account by your instance'), 333 label: this.i18n('Unmute this account by your instance'),
334 isDisplayed: ({ account }: { account: Account }) => account.mutedByInstance === true, 334 isDisplayed: ({ account }) => account.mutedByInstance === true,
335 handler: ({ account }: { account: Account }) => this.unblockAccountByInstance(account) 335 handler: ({ account }) => this.unblockAccountByInstance(account)
336 } 336 }
337 ]) 337 ])
338 } 338 }
@@ -342,13 +342,13 @@ export class UserModerationDropdownComponent implements OnChanges {
342 instanceActions = instanceActions.concat([ 342 instanceActions = instanceActions.concat([
343 { 343 {
344 label: this.i18n('Mute the instance by your instance'), 344 label: this.i18n('Mute the instance by your instance'),
345 isDisplayed: ({ account }: { account: Account }) => !account.userId && account.mutedServerByInstance === false, 345 isDisplayed: ({ account }) => !account.userId && account.mutedServerByInstance === false,
346 handler: ({ account }: { account: Account }) => this.blockServerByInstance(account.host) 346 handler: ({ account }) => this.blockServerByInstance(account.host)
347 }, 347 },
348 { 348 {
349 label: this.i18n('Unmute the instance by your instance'), 349 label: this.i18n('Unmute the instance by your instance'),
350 isDisplayed: ({ account }: { account: Account }) => !account.userId && account.mutedServerByInstance === true, 350 isDisplayed: ({ account }) => !account.userId && account.mutedServerByInstance === true,
351 handler: ({ account }: { account: Account }) => this.unblockServerByInstance(account.host) 351 handler: ({ account }) => this.unblockServerByInstance(account.host)
352 } 352 }
353 ]) 353 ])
354 } 354 }
diff --git a/client/src/app/shared/shared.module.ts b/client/src/app/shared/shared.module.ts
index a2fa27b72..9810e9485 100644
--- a/client/src/app/shared/shared.module.ts
+++ b/client/src/app/shared/shared.module.ts
@@ -61,6 +61,7 @@ import { OverviewService } from '@app/shared/overview'
61import { UserBanModalComponent } from '@app/shared/moderation' 61import { UserBanModalComponent } from '@app/shared/moderation'
62import { UserModerationDropdownComponent } from '@app/shared/moderation/user-moderation-dropdown.component' 62import { UserModerationDropdownComponent } from '@app/shared/moderation/user-moderation-dropdown.component'
63import { BlocklistService } from '@app/shared/blocklist' 63import { BlocklistService } from '@app/shared/blocklist'
64import { TopMenuDropdownComponent } from '@app/shared/menu/top-menu-dropdown.component'
64 65
65@NgModule({ 66@NgModule({
66 imports: [ 67 imports: [
@@ -102,7 +103,8 @@ import { BlocklistService } from '@app/shared/blocklist'
102 RemoteSubscribeComponent, 103 RemoteSubscribeComponent,
103 InstanceFeaturesTableComponent, 104 InstanceFeaturesTableComponent,
104 UserBanModalComponent, 105 UserBanModalComponent,
105 UserModerationDropdownComponent 106 UserModerationDropdownComponent,
107 TopMenuDropdownComponent
106 ], 108 ],
107 109
108 exports: [ 110 exports: [
@@ -141,6 +143,7 @@ import { BlocklistService } from '@app/shared/blocklist'
141 InstanceFeaturesTableComponent, 143 InstanceFeaturesTableComponent,
142 UserBanModalComponent, 144 UserBanModalComponent,
143 UserModerationDropdownComponent, 145 UserModerationDropdownComponent,
146 TopMenuDropdownComponent,
144 147
145 NumberFormatterPipe, 148 NumberFormatterPipe,
146 ObjectLengthPipe, 149 ObjectLengthPipe,
diff --git a/client/src/app/signup/signup.component.html b/client/src/app/signup/signup.component.html
index 0207a166e..07d24b381 100644
--- a/client/src/app/signup/signup.component.html
+++ b/client/src/app/signup/signup.component.html
@@ -64,7 +64,7 @@
64 </form> 64 </form>
65 65
66 <div> 66 <div>
67 <label for="email" i18n>Features found on this instance</label> 67 <label i18n>Features found on this instance</label>
68 <my-instance-features-table></my-instance-features-table> 68 <my-instance-features-table></my-instance-features-table>
69 </div> 69 </div>
70 </div> 70 </div>
diff --git a/client/src/app/videos/+video-watch/modal/video-report.component.html b/client/src/app/videos/+video-watch/modal/video-report.component.html
index 8d9a49276..733c01be0 100644
--- a/client/src/app/videos/+video-watch/modal/video-report.component.html
+++ b/client/src/app/videos/+video-watch/modal/video-report.component.html
@@ -6,6 +6,11 @@
6 6
7 <div class="modal-body"> 7 <div class="modal-body">
8 8
9 <div i18n class="information">
10 Your report will be sent to moderators of {{ currentHost }}.
11 <ng-container *ngIf="isRemoteVideo()"> It will be forwarded to origin instance {{ originHost }} too.</ng-container>
12 </div>
13
9 <form novalidate [formGroup]="form" (ngSubmit)="report()"> 14 <form novalidate [formGroup]="form" (ngSubmit)="report()">
10 <div class="form-group"> 15 <div class="form-group">
11 <textarea i18n-placeholder placeholder="Reason..." formControlName="reason" [ngClass]="{ 'input-error': formErrors['reason'] }"> 16 <textarea i18n-placeholder placeholder="Reason..." formControlName="reason" [ngClass]="{ 'input-error': formErrors['reason'] }">
diff --git a/client/src/app/videos/+video-watch/modal/video-report.component.scss b/client/src/app/videos/+video-watch/modal/video-report.component.scss
index afcdb9a16..4713660a2 100644
--- a/client/src/app/videos/+video-watch/modal/video-report.component.scss
+++ b/client/src/app/videos/+video-watch/modal/video-report.component.scss
@@ -1,6 +1,10 @@
1@import 'variables'; 1@import 'variables';
2@import 'mixins'; 2@import 'mixins';
3 3
4.information {
5 margin-bottom: 20px;
6}
7
4textarea { 8textarea {
5 @include peertube-textarea(100%, 100px); 9 @include peertube-textarea(100%, 100px);
6} 10}
diff --git a/client/src/app/videos/+video-watch/modal/video-report.component.ts b/client/src/app/videos/+video-watch/modal/video-report.component.ts
index 297afb19f..023387984 100644
--- a/client/src/app/videos/+video-watch/modal/video-report.component.ts
+++ b/client/src/app/videos/+video-watch/modal/video-report.component.ts
@@ -33,6 +33,18 @@ export class VideoReportComponent extends FormReactive implements OnInit {
33 super() 33 super()
34 } 34 }
35 35
36 get currentHost () {
37 return window.location.host
38 }
39
40 get originHost () {
41 if (this.isRemoteVideo()) {
42 return this.video.account.host
43 }
44
45 return ''
46 }
47
36 ngOnInit () { 48 ngOnInit () {
37 this.buildForm({ 49 this.buildForm({
38 reason: this.videoAbuseValidatorsService.VIDEO_ABUSE_REASON 50 reason: this.videoAbuseValidatorsService.VIDEO_ABUSE_REASON
@@ -61,4 +73,8 @@ export class VideoReportComponent extends FormReactive implements OnInit {
61 err => this.notificationsService.error(this.i18n('Error'), err.message) 73 err => this.notificationsService.error(this.i18n('Error'), err.message)
62 ) 74 )
63 } 75 }
76
77 isRemoteVideo () {
78 return !this.video.isLocal
79 }
64} 80}
diff --git a/client/src/locale/target/angular_ar_001.xml b/client/src/locale/target/angular_ar_001.xml
index 05e55793d..894798226 100644
--- a/client/src/locale/target/angular_ar_001.xml
+++ b/client/src/locale/target/angular_ar_001.xml
@@ -1804,6 +1804,13 @@
1804 <context context-type="linenumber">159</context> 1804 <context context-type="linenumber">159</context>
1805 </context-group> 1805 </context-group>
1806 </trans-unit> 1806 </trans-unit>
1807 <trans-unit id="385811ab5a5c3e96e0db46c9ce1fc3147d8cd4c7">
1808 <source>Sorry, but something went wrong</source>
1809 <target>عذرا، لقد حدث خلل ما</target>
1810 <context-group name="null">
1811 <context context-type="linenumber">49</context>
1812 </context-group>
1813 </trans-unit>
1807 <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb"> 1814 <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb">
1808 <source>Update</source> 1815 <source>Update</source>
1809 <target>تحديث</target> 1816 <target>تحديث</target>
@@ -1811,6 +1818,13 @@
1811 <context context-type="linenumber">92</context> 1818 <context context-type="linenumber">92</context>
1812 </context-group> 1819 </context-group>
1813 </trans-unit> 1820 </trans-unit>
1821 <trans-unit id="21add64f0f3ebbedf1150ca822c6e149494ab7a9">
1822 <source>Select the file to upload</source>
1823 <target>اختر المل٠الذي تريد ارساله</target>
1824 <context-group name="null">
1825 <context context-type="linenumber">6</context>
1826 </context-group>
1827 </trans-unit>
1814 <trans-unit id="5e420747842373fa99a75a7a18df068cc81e46fb"> 1828 <trans-unit id="5e420747842373fa99a75a7a18df068cc81e46fb">
1815 <source>Scheduled</source> 1829 <source>Scheduled</source>
1816 <target>مبرمجة</target> 1830 <target>مبرمجة</target>
@@ -1916,6 +1930,20 @@
1916 <context context-type="linenumber">177</context> 1930 <context context-type="linenumber">177</context>
1917 </context-group> 1931 </context-group>
1918 </trans-unit> 1932 </trans-unit>
1933 <trans-unit id="1dd793abd1cb8d16a7a2cb71ca5549a7111ee513">
1934 <source>Upload thumbnail</source>
1935 <target>تحديث الصورة المصغرة</target>
1936 <context-group name="null">
1937 <context context-type="linenumber">195</context>
1938 </context-group>
1939 </trans-unit>
1940 <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639">
1941 <source>Upload preview</source>
1942 <target>إرسال معاينة</target>
1943 <context-group name="null">
1944 <context context-type="linenumber">202</context>
1945 </context-group>
1946 </trans-unit>
1919 <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> 1947 <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604">
1920 <source>Support</source> 1948 <source>Support</source>
1921 <target>الدعم</target> 1949 <target>الدعم</target>
@@ -2032,6 +2060,13 @@
2032 <context context-type="linenumber">57</context> 2060 <context context-type="linenumber">57</context>
2033 </context-group> 2061 </context-group>
2034 </trans-unit> 2062 </trans-unit>
2063 <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509">
2064 <source>Dislike this video</source>
2065 <target>إلغاء الإعجاب بهذه الÙيديو</target>
2066 <context-group name="null">
2067 <context context-type="linenumber">64</context>
2068 </context-group>
2069 </trans-unit>
2035 <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> 2070 <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2">
2036 <source>Download the video</source> 2071 <source>Download the video</source>
2037 <target>تنزيل الÙيديو</target> 2072 <target>تنزيل الÙيديو</target>
@@ -2060,6 +2095,13 @@
2060 <context context-type="linenumber">91</context> 2095 <context context-type="linenumber">91</context>
2061 </context-group> 2096 </context-group>
2062 </trans-unit> 2097 </trans-unit>
2098 <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61">
2099 <source>Blacklist</source>
2100 <target>حجب ÙÙŠ القائمة السوداء</target>
2101 <context-group name="null">
2102 <context context-type="linenumber">96</context>
2103 </context-group>
2104 </trans-unit>
2063 <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> 2105 <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037">
2064 <source>Blacklist this video</source> 2106 <source>Blacklist this video</source>
2065 <target>حجب هذه الÙيديو</target> 2107 <target>حجب هذه الÙيديو</target>
@@ -2109,6 +2151,13 @@
2109 <context context-type="linenumber">152</context> 2151 <context context-type="linenumber">152</context>
2110 </context-group> 2152 </context-group>
2111 </trans-unit> 2153 </trans-unit>
2154 <trans-unit id="4c0ba3cde3b3c58b855ffb4beaa5804a2fc3826b">
2155 <source>Friendly Reminder: </source>
2156 <target>تذكير أخوي:</target>
2157 <context-group name="null">
2158 <context context-type="linenumber">208</context>
2159 </context-group>
2160 </trans-unit>
2112 <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e"> 2161 <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e">
2113 <source>More information</source> 2162 <source>More information</source>
2114 <target>المزيد من التÙاصيل</target> 2163 <target>المزيد من التÙاصيل</target>
@@ -2259,6 +2308,13 @@
2259 <context context-type="linenumber">1</context> 2308 <context context-type="linenumber">1</context>
2260 </context-group> 2309 </context-group>
2261 </trans-unit> 2310 </trans-unit>
2311 <trans-unit id="b9e64712e3e5c342ce9cd32eec6cd7d6c00f4048">
2312 <source>Configuration updated.</source>
2313 <target>تم تحديث الإعدادات</target>
2314 <context-group name="null">
2315 <context context-type="linenumber">1</context>
2316 </context-group>
2317 </trans-unit>
2262 <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf"> 2318 <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf">
2263 <source>Unlimited</source> 2319 <source>Unlimited</source>
2264 <target>بلا حدود</target> 2320 <target>بلا حدود</target>
@@ -2280,6 +2336,20 @@
2280 <context context-type="linenumber">1</context> 2336 <context context-type="linenumber">1</context>
2281 </context-group> 2337 </context-group>
2282 </trans-unit> 2338 </trans-unit>
2339 <trans-unit id="4d8f527638f3e0b518a96e07d41d886bcce01246">
2340 <source>enabled</source>
2341 <target>Ù…Ùعّل</target>
2342 <context-group name="null">
2343 <context context-type="linenumber">1</context>
2344 </context-group>
2345 </trans-unit>
2346 <trans-unit id="795733aac948794cadeb3be6386882efac2c38ad">
2347 <source>disabled</source>
2348 <target>خامل</target>
2349 <context-group name="null">
2350 <context context-type="linenumber">1</context>
2351 </context-group>
2352 </trans-unit>
2283 <trans-unit id="800cd3cdf47751b576587259ba3a1bc0a7f435b6"> 2353 <trans-unit id="800cd3cdf47751b576587259ba3a1bc0a7f435b6">
2284 <source>Comment updated.</source> 2354 <source>Comment updated.</source>
2285 <target>تم تحديث التعليق.</target> 2355 <target>تم تحديث التعليق.</target>
@@ -2336,6 +2406,13 @@
2336 <context context-type="linenumber">1</context> 2406 <context context-type="linenumber">1</context>
2337 </context-group> 2407 </context-group>
2338 </trans-unit> 2408 </trans-unit>
2409 <trans-unit id="507192ee1fa84aefed02d603caada2d84927023e">
2410 <source>Ownership accepted</source>
2411 <target>تم قبول الملكية</target>
2412 <context-group name="null">
2413 <context context-type="linenumber">1</context>
2414 </context-group>
2415 </trans-unit>
2339 <trans-unit id="19508af0dfbc685cbf10cf02061bb5a0f423b6fc"> 2416 <trans-unit id="19508af0dfbc685cbf10cf02061bb5a0f423b6fc">
2340 <source>Password updated.</source> 2417 <source>Password updated.</source>
2341 <target>تم تحديث الكلمة السرية.</target> 2418 <target>تم تحديث الكلمة السرية.</target>
@@ -2343,6 +2420,13 @@
2343 <context context-type="linenumber">1</context> 2420 <context context-type="linenumber">1</context>
2344 </context-group> 2421 </context-group>
2345 </trans-unit> 2422 </trans-unit>
2423 <trans-unit id="466fc8cf56fd4e4e90fec4b900ef083d52bec38c">
2424 <source>You current password is invalid.</source>
2425 <target>كلمتك السرية الحالية غير صالحة. </target>
2426 <context-group name="null">
2427 <context context-type="linenumber">1</context>
2428 </context-group>
2429 </trans-unit>
2346 <trans-unit id="ca8e8cf0f1686604db3b6a2ebadab7f7b426a047"> 2430 <trans-unit id="ca8e8cf0f1686604db3b6a2ebadab7f7b426a047">
2347 <source>Are you sure you want to delete your account? This will delete all you data, including channels, videos etc.</source> 2431 <source>Are you sure you want to delete your account? This will delete all you data, including channels, videos etc.</source>
2348 <target>متأكد أنك تريد حذ٠حسابك ؟هذا سيحذ٠بياناتك,قنواتك,Ùيديوهاتك الخ.</target> 2432 <target>متأكد أنك تريد حذ٠حسابك ؟هذا سيحذ٠بياناتك,قنواتك,Ùيديوهاتك الخ.</target>
@@ -2413,6 +2497,20 @@
2413 <context context-type="linenumber">1</context> 2497 <context context-type="linenumber">1</context>
2414 </context-group> 2498 </context-group>
2415 </trans-unit> 2499 </trans-unit>
2500 <trans-unit id="dd9f3264feed4935008861c15d81c947124e4ac3">
2501 <source>Published</source>
2502 <target>المنشورة</target>
2503 <context-group name="null">
2504 <context context-type="linenumber">1</context>
2505 </context-group>
2506 </trans-unit>
2507 <trans-unit id="289fe8342e8b7df689c75026a24a60fd7f5e9392">
2508 <source>To import</source>
2509 <target>للاستيراد</target>
2510 <context-group name="null">
2511 <context context-type="linenumber">1</context>
2512 </context-group>
2513 </trans-unit>
2416 <trans-unit id="807cf11e6ac1cde912496f764c176bdfdd6b7e19"> 2514 <trans-unit id="807cf11e6ac1cde912496f764c176bdfdd6b7e19">
2417 <source>Channels</source> 2515 <source>Channels</source>
2418 <target>القنوات</target> 2516 <target>القنوات</target>
@@ -2420,6 +2518,90 @@
2420 <context context-type="linenumber">1</context> 2518 <context context-type="linenumber">1</context>
2421 </context-group> 2519 </context-group>
2422 </trans-unit> 2520 </trans-unit>
2521 <trans-unit id="ff6becacbce7fc0943b0af0df4dd67e5e11bf598">
2522 <source>Subscribe to the account</source>
2523 <target>الاشتراك ÙÙŠ الحساب</target>
2524 <context-group name="null">
2525 <context context-type="linenumber">1</context>
2526 </context-group>
2527 </trans-unit>
2528 <trans-unit id="b19ee83cbd2b735fd081b9aa483a890578019099">
2529 <source>Toggle the left menu</source>
2530 <target>الانتقال إلى القائمة اليسرى</target>
2531 <context-group name="null">
2532 <context context-type="linenumber">1</context>
2533 </context-group>
2534 </trans-unit>
2535 <trans-unit id="b54759e30f7c1983940cdacb8eb03f102a869084">
2536 <source>Go to the videos overview page</source>
2537 <target>الذهاب إلى صÙحة معاينة الÙيديوهات</target>
2538 <context-group name="null">
2539 <context context-type="linenumber">1</context>
2540 </context-group>
2541 </trans-unit>
2542 <trans-unit id="1e919c88a3f889d6659288e69d3e178da0ea7ab0">
2543 <source>Go to the trending videos page</source>
2544 <target>الذهاب إلى صÙحة الÙيديوهات الشائعة</target>
2545 <context-group name="null">
2546 <context context-type="linenumber">1</context>
2547 </context-group>
2548 </trans-unit>
2549 <trans-unit id="249618dcdd7fbdc863c0714e2eb9e8940bc9c37d">
2550 <source>Go to the recently added videos page</source>
2551 <target>الذهاب إلى صÙحةالÙيديوهات المضاÙØ© حديثا</target>
2552 <context-group name="null">
2553 <context context-type="linenumber">1</context>
2554 </context-group>
2555 </trans-unit>
2556 <trans-unit id="7e194daef3a3509128c4300d4c7c292c49ebf3f5">
2557 <source>Go to the local videos page</source>
2558 <target>الذهاب إلى صÙحة الÙيديوهات المحلية</target>
2559 <context-group name="null">
2560 <context context-type="linenumber">1</context>
2561 </context-group>
2562 </trans-unit>
2563 <trans-unit id="f1fb6204f39a7338e5110b2f113643c9288496ba">
2564 <source>Go to the videos upload page</source>
2565 <target>الذهاب إلى صÙحة إرسال الÙيديوهات</target>
2566 <context-group name="null">
2567 <context context-type="linenumber">1</context>
2568 </context-group>
2569 </trans-unit>
2570 <trans-unit id="0ed7b40c11da9d4565af9c041df20c15bc6be97e">
2571 <source>Toggle Dark theme</source>
2572 <target>التغيير إلى السمة الداكنة</target>
2573 <context-group name="null">
2574 <context context-type="linenumber">1</context>
2575 </context-group>
2576 </trans-unit>
2577 <trans-unit id="badd4b24618ccc8a34620acb9053fc654b9612b2">
2578 <source>Go to my subscriptions</source>
2579 <target>الذهاب إلى اشتراكاتي</target>
2580 <context-group name="null">
2581 <context context-type="linenumber">1</context>
2582 </context-group>
2583 </trans-unit>
2584 <trans-unit id="b7184b5a236618e8edd747529869c392ab6dace1">
2585 <source>Go to my videos</source>
2586 <target>الذهاب إلى Ùيديوهاتي</target>
2587 <context-group name="null">
2588 <context context-type="linenumber">1</context>
2589 </context-group>
2590 </trans-unit>
2591 <trans-unit id="acf985bd42886b9b3030b5f68f0e8417c39b40a7">
2592 <source>Go to my imports</source>
2593 <target>الذهاب إلى استيراداتي</target>
2594 <context-group name="null">
2595 <context context-type="linenumber">1</context>
2596 </context-group>
2597 </trans-unit>
2598 <trans-unit id="cfe3c51f0ae9385dc2ce6df740d87e5514aa9390">
2599 <source>Go to my channels</source>
2600 <target>الذهاب إلى قنواتي</target>
2601 <context-group name="null">
2602 <context context-type="linenumber">1</context>
2603 </context-group>
2604 </trans-unit>
2423 <trans-unit id="e31bbf15d6ba5c7c0f17f89a98029cff0bd40b87"> 2605 <trans-unit id="e31bbf15d6ba5c7c0f17f89a98029cff0bd40b87">
2424 <source>You need to reconnect.</source> 2606 <source>You need to reconnect.</source>
2425 <target>يجب عليك إعادة الإتصال.</target> 2607 <target>يجب عليك إعادة الإتصال.</target>
@@ -2434,6 +2616,13 @@
2434 <context context-type="linenumber">1</context> 2616 <context context-type="linenumber">1</context>
2435 </context-group> 2617 </context-group>
2436 </trans-unit> 2618 </trans-unit>
2619 <trans-unit id="5c0c574151dc8671d9199980ee04bf65aec3b452">
2620 <source>Keyboard Shortcuts:</source>
2621 <target>اختصارات لوحة المÙاتيح:</target>
2622 <context-group name="null">
2623 <context context-type="linenumber">1</context>
2624 </context-group>
2625 </trans-unit>
2437 <trans-unit id="247071f6c9233b7e5bc1d8f46795ab6b032f1fbe"> 2626 <trans-unit id="247071f6c9233b7e5bc1d8f46795ab6b032f1fbe">
2438 <source>Incorrect username or password.</source> 2627 <source>Incorrect username or password.</source>
2439 <target>اسم المستخدم أو كلمة المرور خاطئة.</target> 2628 <target>اسم المستخدم أو كلمة المرور خاطئة.</target>
@@ -2448,6 +2637,13 @@
2448 <context context-type="linenumber">1</context> 2637 <context context-type="linenumber">1</context>
2449 </context-group> 2638 </context-group>
2450 </trans-unit> 2639 </trans-unit>
2640 <trans-unit id="b0f24b7136e551a0deba831f1525711245b31a26">
2641 <source>Your password has been successfully reset!</source>
2642 <target>لقد تم إعادة تعيين كلمتك السرية بنجاح!</target>
2643 <context-group name="null">
2644 <context context-type="linenumber">1</context>
2645 </context-group>
2646 </trans-unit>
2451 <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> 2647 <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6">
2452 <source>Today</source> 2648 <source>Today</source>
2453 <target>اليوم</target> 2649 <target>اليوم</target>
@@ -2567,6 +2763,62 @@
2567 <context context-type="linenumber">1</context> 2763 <context context-type="linenumber">1</context>
2568 </context-group> 2764 </context-group>
2569 </trans-unit> 2765 </trans-unit>
2766 <trans-unit id="545e77fd5d9526228a2133109447c23225ed9c85">
2767 <source>User role is required.</source>
2768 <target>دور المستخدم مطلوب.</target>
2769 <context-group name="null">
2770 <context context-type="linenumber">1</context>
2771 </context-group>
2772 </trans-unit>
2773 <trans-unit id="1c417b7aef730d6ef5d62fa8a0a7e25e3a2393e4">
2774 <source>Display name is required.</source>
2775 <target>عرض الاسم لازم.</target>
2776 <context-group name="null">
2777 <context context-type="linenumber">1</context>
2778 </context-group>
2779 </trans-unit>
2780 <trans-unit id="d531c2261dc0c2739bd7cbb2bb175946b7eeb3ae">
2781 <source>Description must be at least 3 characters long.</source>
2782 <target>طول الوص٠يجب أن يتعدى 3حروÙ.</target>
2783 <context-group name="null">
2784 <context context-type="linenumber">1</context>
2785 </context-group>
2786 </trans-unit>
2787 <trans-unit id="b3cf1889d2fdd6b15e697c270c9b80772fe2cae6">
2788 <source>Report reason is required.</source>
2789 <target>سبب الإبلاغ لازم.</target>
2790 <context-group name="null">
2791 <context context-type="linenumber">1</context>
2792 </context-group>
2793 </trans-unit>
2794 <trans-unit id="2fa41debd17a206d4a2a5e8d14bcd7055f6e5118">
2795 <source>Moderation comment is required.</source>
2796 <target>تعليق الإشرا٠لازم.</target>
2797 <context-group name="null">
2798 <context context-type="linenumber">1</context>
2799 </context-group>
2800 </trans-unit>
2801 <trans-unit id="94b831c7e3684258f88e099c6cd3b8f73f8a2de6">
2802 <source>The channel is required.</source>
2803 <target>القناة لازمة.</target>
2804 <context-group name="null">
2805 <context context-type="linenumber">1</context>
2806 </context-group>
2807 </trans-unit>
2808 <trans-unit id="bd7fc070c728dc6dbf3959d49fe5bb27ce15d294">
2809 <source>The username is required.</source>
2810 <target>اسم المستخدم مطلوب.</target>
2811 <context-group name="null">
2812 <context context-type="linenumber">1</context>
2813 </context-group>
2814 </trans-unit>
2815 <trans-unit id="c8465c3773699dd075e0147e264d2e232f605803">
2816 <source>You can only transfer ownership to a local account</source>
2817 <target>لا يمكن نقل الملكية إلى حساب محلي</target>
2818 <context-group name="null">
2819 <context context-type="linenumber">1</context>
2820 </context-group>
2821 </trans-unit>
2570 <trans-unit id="541087322c34e8b26954fd67ff4fc80d1a6c1b33"> 2822 <trans-unit id="541087322c34e8b26954fd67ff4fc80d1a6c1b33">
2571 <source>Name is required.</source> 2823 <source>Name is required.</source>
2572 <target>الاسم مطلوب.</target> 2824 <target>الاسم مطلوب.</target>
@@ -2574,6 +2826,13 @@
2574 <context context-type="linenumber">1</context> 2826 <context context-type="linenumber">1</context>
2575 </context-group> 2827 </context-group>
2576 </trans-unit> 2828 </trans-unit>
2829 <trans-unit id="a35f2514e29113179795cdb27bca8a2e99c43482">
2830 <source>Name cannot be more than 20 characters long.</source>
2831 <target>طول الاسم لا يجب أن يتجاوز 20 حرÙا.</target>
2832 <context-group name="null">
2833 <context context-type="linenumber">1</context>
2834 </context-group>
2835 </trans-unit>
2577 <trans-unit id="6ca60e0f6dfbc0073b0514bce7d273150b0b9e79"> 2836 <trans-unit id="6ca60e0f6dfbc0073b0514bce7d273150b0b9e79">
2578 <source>Comment is required.</source> 2837 <source>Comment is required.</source>
2579 <target>التعليق مطلوب.</target> 2838 <target>التعليق مطلوب.</target>
@@ -2595,6 +2854,13 @@
2595 <context context-type="linenumber">1</context> 2854 <context context-type="linenumber">1</context>
2596 </context-group> 2855 </context-group>
2597 </trans-unit> 2856 </trans-unit>
2857 <trans-unit id="34a0811f9a2a7366cc9efcdad52ea59b105326ea">
2858 <source>A tag should be less than 30 characters long.</source>
2859 <target>طول الوسم لا يجب أن يتجاوز 30 حرÙا.</target>
2860 <context-group name="null">
2861 <context context-type="linenumber">1</context>
2862 </context-group>
2863 </trans-unit>
2598 <trans-unit id="3b7ed22d0730d03b38c254332829d855ee7256c4"> 2864 <trans-unit id="3b7ed22d0730d03b38c254332829d855ee7256c4">
2599 <source>This file is too large.</source> 2865 <source>This file is too large.</source>
2600 <target>حجم هذا المل٠كبير جدًّا.</target> 2866 <target>حجم هذا المل٠كبير جدًّا.</target>
@@ -2917,6 +3183,20 @@
2917 <context context-type="linenumber">1</context> 3183 <context context-type="linenumber">1</context>
2918 </context-group> 3184 </context-group>
2919 </trans-unit> 3185 </trans-unit>
3186 <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46">
3187 <source>Clear</source>
3188 <target>مسح</target>
3189 <context-group name="null">
3190 <context context-type="linenumber">1</context>
3191 </context-group>
3192 </trans-unit>
3193 <trans-unit id="4e231a74ad4739e7b0606e8e66d5a656f5855a5a">
3194 <source>Torrent import</source>
3195 <target>استيراد تورنت</target>
3196 <context-group name="null">
3197 <context context-type="linenumber">1</context>
3198 </context-group>
3199 </trans-unit>
2920 <trans-unit id="dc60677d5a906e69f38a5cf9da7f2eb03931bea0"> 3200 <trans-unit id="dc60677d5a906e69f38a5cf9da7f2eb03931bea0">
2921 <source>Links</source> 3201 <source>Links</source>
2922 <target>الروابط</target> 3202 <target>الروابط</target>
@@ -2980,6 +3260,20 @@
2980 <context context-type="linenumber">1</context> 3260 <context context-type="linenumber">1</context>
2981 </context-group> 3261 </context-group>
2982 </trans-unit> 3262 </trans-unit>
3263 <trans-unit id="ab783a52f2df9ff7a20139cab0da6d0764f3cc5d">
3264 <source>Too many attempts, please try again later.</source>
3265 <target>محاولات كثيرة، يرجى العودة لاحقا.</target>
3266 <context-group name="null">
3267 <context context-type="linenumber">1</context>
3268 </context-group>
3269 </trans-unit>
3270 <trans-unit id="0f286a597f0053c3578a52e044769c204ee516fc">
3271 <source>Server error. Please retry later.</source>
3272 <target>خطأ على السيرÙر. يرجى إعادة المحاولة لاحقا.</target>
3273 <context-group name="null">
3274 <context context-type="linenumber">1</context>
3275 </context-group>
3276 </trans-unit>
2983 <trans-unit id="1cadbf82f0e91611321c5abd282f0c23d8ccbfa1"> 3277 <trans-unit id="1cadbf82f0e91611321c5abd282f0c23d8ccbfa1">
2984 <source>Subscribed</source> 3278 <source>Subscribed</source>
2985 <target>مشترك</target> 3279 <target>مشترك</target>
@@ -3036,6 +3330,13 @@
3036 <context context-type="linenumber">1</context> 3330 <context context-type="linenumber">1</context>
3037 </context-group> 3331 </context-group>
3038 </trans-unit> 3332 </trans-unit>
3333 <trans-unit id="fa2601e52cbf5725a13d33fe14458823b882ea50">
3334 <source>Video reported.</source>
3335 <target>Ùيديو تم الإبلاغ عنها.</target>
3336 <context-group name="null">
3337 <context context-type="linenumber">1</context>
3338 </context-group>
3339 </trans-unit>
3039 <trans-unit id="0e65067fdcc9d8725a41896cb1e229d1415a45f6"> 3340 <trans-unit id="0e65067fdcc9d8725a41896cb1e229d1415a45f6">
3040 <source>Like the video</source> 3341 <source>Like the video</source>
3041 <target>الإعجاب بالÙيديو</target> 3342 <target>الإعجاب بالÙيديو</target>
diff --git a/client/src/locale/target/angular_eu_ES.xml b/client/src/locale/target/angular_eu_ES.xml
index d30351a35..d17189c7a 100644
--- a/client/src/locale/target/angular_eu_ES.xml
+++ b/client/src/locale/target/angular_eu_ES.xml
@@ -601,6 +601,13 @@
601 <context context-type="linenumber">17</context> 601 <context context-type="linenumber">17</context>
602 </context-group> 602 </context-group>
603 </trans-unit> 603 </trans-unit>
604 <trans-unit id="7fe213724c4c0a4112c40c673884acb98a0a3b92">
605 <source>I am at least 16 years old and agree to the &lt;a href='/about/instance#terms-section' target='_blank'rel='noopener noreferrer'&gt;Terms&lt;/a&gt; of this instance</source>
606 <target>16 urte edo gehiago ditut eta onartzen ditut instantzia honen &lt;a href='/about/instance#terms-section' target='_blank'rel='noopener noreferrer'&gt;erabilera badintzak&lt;/a&gt;</target>
607 <context-group name="null">
608 <context context-type="linenumber">55</context>
609 </context-group>
610 </trans-unit>
604 <trans-unit id="717a5e3574fec754fbeb348c2d5561c4d81facc4"> 611 <trans-unit id="717a5e3574fec754fbeb348c2d5561c4d81facc4">
605 <source>Signup</source> 612 <source>Signup</source>
606 <target>Eman izena</target> 613 <target>Eman izena</target>
@@ -633,6 +640,19 @@
633 <context context-type="linenumber">6</context> 640 <context context-type="linenumber">6</context>
634 </context-group> 641 </context-group>
635 </trans-unit> 642 </trans-unit>
643 <trans-unit id="7c603b9ed878097782e2b8908f662e2344b46061">
644 <source>
645 Filters
646 <x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span&gt;"/><x id="INTERPOLATION" equiv-text="{{ numberOfFilters() }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/>
647 </source>
648 <target>
649 Iragazkiak
650 <x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span&gt;"/><x id="INTERPOLATION" equiv-text="{{ numberOfFilters() }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/>
651 </target>
652 <context-group name="null">
653 <context context-type="linenumber">16</context>
654 </context-group>
655 </trans-unit>
636 <trans-unit id="e2dbf0426cbb0b573faf49dffeb7d5bdf16eda5d"> 656 <trans-unit id="e2dbf0426cbb0b573faf49dffeb7d5bdf16eda5d">
637 <source> 657 <source>
638 No results found 658 No results found
@@ -1239,6 +1259,19 @@ Erabiltzaile berriek izena ematea ez da onartzen orain.</target>
1239 <context context-type="linenumber">83</context> 1259 <context context-type="linenumber">83</context>
1240 </context-group> 1260 </context-group>
1241 </trans-unit> 1261 </trans-unit>
1262 <trans-unit id="b1372cb61ca791a0f7f95bf31c86c97df142adc4">
1263 <source>
1264 PeerTube is in its early stages, and want to deliver the best countermeasures possible by the time the stable is released.
1265 In the meantime, we want to test different ideas related to this issue:
1266 </source>
1267 <target>
1268 PeerTube oso berria da oraindik, eta egonkortzen denerako babes-neurri egokienak ezarri nahi ditugu.
1269 Bitartean, hainbat ideia saiatu nahi ditugu gai honen inguruan:
1270 </target>
1271 <context-group name="null">
1272 <context context-type="linenumber">85</context>
1273 </context-group>
1274 </trans-unit>
1242 <trans-unit id="d32608aba08c6bb3cc4e4e8ec6223e5f4e78ca19"> 1275 <trans-unit id="d32608aba08c6bb3cc4e4e8ec6223e5f4e78ca19">
1243 <source>Set a limit to the number of peers sent by the tracker</source> 1276 <source>Set a limit to the number of peers sent by the tracker</source>
1244 <target>Tracker-ak bidaltzen dituen berdin kopurua mugatzea</target> 1277 <target>Tracker-ak bidaltzen dituen berdin kopurua mugatzea</target>
@@ -1984,6 +2017,20 @@ Erabiltzaile berriek izena ematea ez da onartzen orain.</target>
1984 <context context-type="linenumber">133</context> 2017 <context context-type="linenumber">133</context>
1985 </context-group> 2018 </context-group>
1986 </trans-unit> 2019 </trans-unit>
2020 <trans-unit id="02ba1a65db92d1d0ab4ba380086e9be61891aaa5">
2021 <source>User's email must be verified to login</source>
2022 <target>Erabiltzailearen e-mail helbidea baieztatu behar da saioa hasi aurretik</target>
2023 <context-group name="null">
2024 <context context-type="linenumber">70</context>
2025 </context-group>
2026 </trans-unit>
2027 <trans-unit id="79cee9973620b2592ff2824c525aa8ed0b5e2b8b">
2028 <source>User's email is verified / User can login without email verification</source>
2029 <target>Erabiltzailearen e-mail helbidea baieztatuta dago / Erabiltzaileak e-mail helbidea baieztatu gabe saioa hasi dezake</target>
2030 <context-group name="null">
2031 <context context-type="linenumber">74</context>
2032 </context-group>
2033 </trans-unit>
1987 <trans-unit id="a9587caabf0dc5d824f817baae1c2f5521d9b1ee"> 2034 <trans-unit id="a9587caabf0dc5d824f817baae1c2f5521d9b1ee">
1988 <source>Ban reason:</source> 2035 <source>Ban reason:</source>
1989 <target>Debekatzeko arrazoia:</target> 2036 <target>Debekatzeko arrazoia:</target>
@@ -2465,6 +2512,13 @@ Kanal honetara bideo bat igotzen duzunean, bideoa babesteko eremua testu honekin
2465 <context context-type="linenumber">3</context> 2512 <context context-type="linenumber">3</context>
2466 </context-group> 2513 </context-group>
2467 </trans-unit> 2514 </trans-unit>
2515 <trans-unit id="d044c51156e295824813a866dba9545bdb59466b">
2516 <source>Use WebTorrent to exchange parts of the video with others</source>
2517 <target>Erabili WebTorrent bideoaren zatiak besteekin partekatzeko</target>
2518 <context-group name="null">
2519 <context context-type="linenumber">21</context>
2520 </context-group>
2521 </trans-unit>
2468 <trans-unit id="fb17c44abac2d1ed2a54cdd28bae289dc0b9a1c2"> 2522 <trans-unit id="fb17c44abac2d1ed2a54cdd28bae289dc0b9a1c2">
2469 <source>Automatically plays video</source> 2523 <source>Automatically plays video</source>
2470 <target>Automatikoki abiatzen du bideoa</target> 2524 <target>Automatikoki abiatzen du bideoa</target>
@@ -2507,6 +2561,13 @@ Kanal honetara bideo bat igotzen duzunean, bideoa babesteko eremua testu honekin
2507 <context context-type="linenumber">18</context> 2561 <context context-type="linenumber">18</context>
2508 </context-group> 2562 </context-group>
2509 </trans-unit> 2563 </trans-unit>
2564 <trans-unit id="d1a04ba05116499d4cf59a48a282a8bcbf5b622d">
2565 <source>Once you delete your account, there is no going back. Please be certain.</source>
2566 <target>Behin kontua ezabatuta ez dago atzera egiterik. Ziurtatu hau dela nahi duzuna.</target>
2567 <context-group name="null">
2568 <context context-type="linenumber">2</context>
2569 </context-group>
2570 </trans-unit>
2510 <trans-unit id="9a2f889dde4574a6883c853d1034e75891b28c45"> 2571 <trans-unit id="9a2f889dde4574a6883c853d1034e75891b28c45">
2511 <source>Delete your account</source> 2572 <source>Delete your account</source>
2512 <target>Ezabatu zure kontua</target> 2573 <target>Ezabatu zure kontua</target>
@@ -2621,6 +2682,13 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
2621 <context context-type="linenumber">159</context> 2682 <context context-type="linenumber">159</context>
2622 </context-group> 2683 </context-group>
2623 </trans-unit> 2684 </trans-unit>
2685 <trans-unit id="385811ab5a5c3e96e0db46c9ce1fc3147d8cd4c7">
2686 <source>Sorry, but something went wrong</source>
2687 <target>Akatsen bat egon da</target>
2688 <context-group name="null">
2689 <context context-type="linenumber">49</context>
2690 </context-group>
2691 </trans-unit>
2624 <trans-unit id="63d6bf87c9f30441175648dfd3ef6a19292287c2"> 2692 <trans-unit id="63d6bf87c9f30441175648dfd3ef6a19292287c2">
2625 <source> 2693 <source>
2626 Congratulations, the video behind <x id="INTERPOLATION" equiv-text="{{ targetUrl }}"/> will be imported! You can already add information about this video. 2694 Congratulations, the video behind <x id="INTERPOLATION" equiv-text="{{ targetUrl }}"/> will be imported! You can already add information about this video.
@@ -2885,6 +2953,13 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
2885 <context context-type="linenumber">159</context> 2953 <context context-type="linenumber">159</context>
2886 </context-group> 2954 </context-group>
2887 </trans-unit> 2955 </trans-unit>
2956 <trans-unit id="ca4588e185413b2fc77dbe35c861cc540b11b9ad">
2957 <source>Will be created on update</source>
2958 <target>Eguneratzean sortuko da</target>
2959 <context-group name="null">
2960 <context context-type="linenumber">167</context>
2961 </context-group>
2962 </trans-unit>
2888 <trans-unit id="308a79679d012938a625e41fdd4b804fe42b57b9"> 2963 <trans-unit id="308a79679d012938a625e41fdd4b804fe42b57b9">
2889 <source>Cancel create</source> 2964 <source>Cancel create</source>
2890 <target>Ezeztatu sorkuntza</target> 2965 <target>Ezeztatu sorkuntza</target>
@@ -2892,6 +2967,13 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
2892 <context context-type="linenumber">169</context> 2967 <context context-type="linenumber">169</context>
2893 </context-group> 2968 </context-group>
2894 </trans-unit> 2969 </trans-unit>
2970 <trans-unit id="b6bfdd386cb0b560d697c93555d8cd8cab00c393">
2971 <source>Will be deleted on update</source>
2972 <target>Eguneratzean ezabatuko da</target>
2973 <context-group name="null">
2974 <context context-type="linenumber">175</context>
2975 </context-group>
2976 </trans-unit>
2895 <trans-unit id="88395fc0137e46a9853cf16762bf5a87687d0d0c"> 2977 <trans-unit id="88395fc0137e46a9853cf16762bf5a87687d0d0c">
2896 <source>Cancel deletion</source> 2978 <source>Cancel deletion</source>
2897 <target>Ezeztatu ezabaketa</target> 2979 <target>Ezeztatu ezabaketa</target>
@@ -2899,6 +2981,17 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
2899 <context context-type="linenumber">177</context> 2981 <context context-type="linenumber">177</context>
2900 </context-group> 2982 </context-group>
2901 </trans-unit> 2983 </trans-unit>
2984 <trans-unit id="82f867b2607d45ba36de11d4c8b53d7177122ee0">
2985 <source>
2986 No captions for now.
2987 </source>
2988 <target>
2989 Azpititulurik ez oraingoz.
2990 </target>
2991 <context-group name="null">
2992 <context context-type="linenumber">182</context>
2993 </context-group>
2994 </trans-unit>
2902 <trans-unit id="0c720e0dd9e6c60095f961cb714f47e8c0090f93"> 2995 <trans-unit id="0c720e0dd9e6c60095f961cb714f47e8c0090f93">
2903 <source>Captions</source> 2996 <source>Captions</source>
2904 <target>Azpitituluak</target> 2997 <target>Azpitituluak</target>
@@ -3337,6 +3430,24 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
3337 <context context-type="linenumber">20</context> 3430 <context context-type="linenumber">20</context>
3338 </context-group> 3431 </context-group>
3339 </trans-unit> 3432 </trans-unit>
3433 <trans-unit id="8b2bb53dfb5f059f2b68cc4ac00661a865909135">
3434 <source>You are one step away from commenting</source>
3435 <target>Iruzkina egitetik urrats batera zaude</target>
3436 <context-group name="null">
3437 <context context-type="linenumber">28</context>
3438 </context-group>
3439 </trans-unit>
3440 <trans-unit id="7984a44ce86b961f4f18c9a58c638f5e8f07a225">
3441 <source>
3442 If you have an account on this instance, you can login:
3443 </source>
3444 <target>
3445 Instantzia honetan kontua baduzu, saioa hasi dezakezu:
3446 </target>
3447 <context-group name="null">
3448 <context context-type="linenumber">32</context>
3449 </context-group>
3450 </trans-unit>
3340 <trans-unit id="afe0ad39fee662489f1033e53aea3e16a7e89228"> 3451 <trans-unit id="afe0ad39fee662489f1033e53aea3e16a7e89228">
3341 <source>login to comment</source> 3452 <source>login to comment</source>
3342 <target>hasi saioa iruzkinak egiteko</target> 3453 <target>hasi saioa iruzkinak egiteko</target>
@@ -3344,6 +3455,15 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
3344 <context context-type="linenumber">35</context> 3455 <context context-type="linenumber">35</context>
3345 </context-group> 3456 </context-group>
3346 </trans-unit> 3457 </trans-unit>
3458 <trans-unit id="968b02fbc645be799727de0d1ec3c6f9b11b20eb">
3459 <source>
3460 If you have an account on Mastodon or Pleroma, you can open it directly in their interface:
3461 </source>
3462 <target>Mastodon edo Pleroma sareetan kontua baduzu, zuzenean ireki dezakezu hango interfazean:</target>
3463 <context-group name="null">
3464 <context context-type="linenumber">41</context>
3465 </context-group>
3466 </trans-unit>
3347 <trans-unit id="a607fab03e11b0e07c1640e11a1b02d7af06b285"> 3467 <trans-unit id="a607fab03e11b0e07c1640e11a1b02d7af06b285">
3348 <source>Highlighted comment</source> 3468 <source>Highlighted comment</source>
3349 <target>Nabarmendutako iruzkina</target> 3469 <target>Nabarmendutako iruzkina</target>
@@ -3596,6 +3716,20 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
3596 <context context-type="linenumber">1</context> 3716 <context context-type="linenumber">1</context>
3597 </context-group> 3717 </context-group>
3598 </trans-unit> 3718 </trans-unit>
3719 <trans-unit id="53cc0f4a4566c4139c65f93b5dce2fe8302e78da">
3720 <source>Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> unmuted by your instance.</source>
3721 <target><x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> kontua zure instantziak desmutututa.</target>
3722 <context-group name="null">
3723 <context context-type="linenumber">1</context>
3724 </context-group>
3725 </trans-unit>
3726 <trans-unit id="468b52e3c04fb9a3d8c8213555dfcad0cbcae330">
3727 <source>Instance <x id="INTERPOLATION" equiv-text="{{host}}"/> unmuted by your instance.</source>
3728 <target><x id="INTERPOLATION" equiv-text="{{host}}"/> instantzia zure instantziak demutututa.</target>
3729 <context-group name="null">
3730 <context context-type="linenumber">1</context>
3731 </context-group>
3732 </trans-unit>
3599 <trans-unit id="800cd3cdf47751b576587259ba3a1bc0a7f435b6"> 3733 <trans-unit id="800cd3cdf47751b576587259ba3a1bc0a7f435b6">
3600 <source>Comment updated.</source> 3734 <source>Comment updated.</source>
3601 <target>Iruzkina eguneratua.</target> 3735 <target>Iruzkina eguneratua.</target>
@@ -3687,6 +3821,13 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
3687 <context context-type="linenumber">1</context> 3821 <context context-type="linenumber">1</context>
3688 </context-group> 3822 </context-group>
3689 </trans-unit> 3823 </trans-unit>
3824 <trans-unit id="910ed85f550272401b134a40d019ab3359fe883f">
3825 <source>Set Email as Verified</source>
3826 <target>Ezarri e-maila baieztatua gisa</target>
3827 <context-group name="null">
3828 <context context-type="linenumber">1</context>
3829 </context-group>
3830 </trans-unit>
3690 <trans-unit id="ac401df84c5fa471700c3368de51c969ccb8bacf"> 3831 <trans-unit id="ac401df84c5fa471700c3368de51c969ccb8bacf">
3691 <source>You cannot ban root.</source> 3832 <source>You cannot ban root.</source>
3692 <target>Ezin duzu root debekatu</target> 3833 <target>Ezin duzu root debekatu</target>
@@ -3694,6 +3835,20 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
3694 <context context-type="linenumber">1</context> 3835 <context context-type="linenumber">1</context>
3695 </context-group> 3836 </context-group>
3696 </trans-unit> 3837 </trans-unit>
3838 <trans-unit id="98119091712a8ca72905e3b4c1cf60649af7565e">
3839 <source>Do you really want to unban <x id="INTERPOLATION" equiv-text="{{num}}"/> users?</source>
3840 <target>Ziur <x id="INTERPOLATION" equiv-text="{{num}}"/> erabiltzaileei debekua kendu nahi diozula?</target>
3841 <context-group name="null">
3842 <context context-type="linenumber">1</context>
3843 </context-group>
3844 </trans-unit>
3845 <trans-unit id="6121be086a51c4c73bbdd8aebdddd9744c8f1ffd">
3846 <source><x id="INTERPOLATION" equiv-text="{{num}}"/> users unbanned.</source>
3847 <target><x id="INTERPOLATION" equiv-text="{{num}}"/> erabiltzaileei debekua kendu zaie.</target>
3848 <context-group name="null">
3849 <context context-type="linenumber">1</context>
3850 </context-group>
3851 </trans-unit>
3697 <trans-unit id="911fc197949e47aa5f0541627bc319f59edd9d11"> 3852 <trans-unit id="911fc197949e47aa5f0541627bc319f59edd9d11">
3698 <source>You cannot delete root.</source> 3853 <source>You cannot delete root.</source>
3699 <target>Ezin duzu erroa ezabatu.</target> 3854 <target>Ezin duzu erroa ezabatu.</target>
@@ -3708,6 +3863,34 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
3708 <context context-type="linenumber">1</context> 3863 <context context-type="linenumber">1</context>
3709 </context-group> 3864 </context-group>
3710 </trans-unit> 3865 </trans-unit>
3866 <trans-unit id="b708d332e3f89b24745e749fa530210f0bdea329">
3867 <source><x id="INTERPOLATION" equiv-text="{{num}}"/> users deleted.</source>
3868 <target><x id="INTERPOLATION" equiv-text="{{num}}"/> erabiltzaile ezabatuta.</target>
3869 <context-group name="null">
3870 <context context-type="linenumber">1</context>
3871 </context-group>
3872 </trans-unit>
3873 <trans-unit id="f4a8f2ef1fbfc19e1e049e69f63c40063c0d0650">
3874 <source><x id="INTERPOLATION" equiv-text="{{num}}"/> users email set as verified.</source>
3875 <target><x id="INTERPOLATION" equiv-text="{{num}}"/> erabiltzailearen e-mail helbidea baieztatua gisa ezarri da.</target>
3876 <context-group name="null">
3877 <context context-type="linenumber">1</context>
3878 </context-group>
3879 </trans-unit>
3880 <trans-unit id="2667ca38672421a0a7a22343d2a0060ee41246de">
3881 <source>Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> unmuted.</source>
3882 <target><x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> kontua desmutututa.</target>
3883 <context-group name="null">
3884 <context context-type="linenumber">1</context>
3885 </context-group>
3886 </trans-unit>
3887 <trans-unit id="c6af80b42938d4a49e6f6c4f60ce26228916994c">
3888 <source>Instance <x id="INTERPOLATION" equiv-text="{{host}}"/> unmuted.</source>
3889 <target><x id="INTERPOLATION" equiv-text="{{host}}"/> instantzia desmutututa.</target>
3890 <context-group name="null">
3891 <context context-type="linenumber">1</context>
3892 </context-group>
3893 </trans-unit>
3711 <trans-unit id="507192ee1fa84aefed02d603caada2d84927023e"> 3894 <trans-unit id="507192ee1fa84aefed02d603caada2d84927023e">
3712 <source>Ownership accepted</source> 3895 <source>Ownership accepted</source>
3713 <target>Jabetza onartuta</target> 3896 <target>Jabetza onartuta</target>
@@ -3722,6 +3905,13 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
3722 <context context-type="linenumber">1</context> 3905 <context context-type="linenumber">1</context>
3723 </context-group> 3906 </context-group>
3724 </trans-unit> 3907 </trans-unit>
3908 <trans-unit id="466fc8cf56fd4e4e90fec4b900ef083d52bec38c">
3909 <source>You current password is invalid.</source>
3910 <target>Zure uneko pasahitza baliogabea da.</target>
3911 <context-group name="null">
3912 <context context-type="linenumber">1</context>
3913 </context-group>
3914 </trans-unit>
3725 <trans-unit id="ca8e8cf0f1686604db3b6a2ebadab7f7b426a047"> 3915 <trans-unit id="ca8e8cf0f1686604db3b6a2ebadab7f7b426a047">
3726 <source>Are you sure you want to delete your account? This will delete all you data, including channels, videos etc.</source> 3916 <source>Are you sure you want to delete your account? This will delete all you data, including channels, videos etc.</source>
3727 <target>Ziur kontua ezabatu nahi duzula? Honek zure datu guztiak ezabatuko ditu, kanalak, bideoak eta abar barne.</target> 3917 <target>Ziur kontua ezabatu nahi duzula? Honek zure datu guztiak ezabatuko ditu, kanalak, bideoak eta abar barne.</target>
@@ -3932,6 +4122,13 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
3932 <context context-type="linenumber">1</context> 4122 <context context-type="linenumber">1</context>
3933 </context-group> 4123 </context-group>
3934 </trans-unit> 4124 </trans-unit>
4125 <trans-unit id="b19ee83cbd2b735fd081b9aa483a890578019099">
4126 <source>Toggle the left menu</source>
4127 <target>Txandakatu ezkerreko menua</target>
4128 <context-group name="null">
4129 <context context-type="linenumber">1</context>
4130 </context-group>
4131 </trans-unit>
3935 <trans-unit id="b54759e30f7c1983940cdacb8eb03f102a869084"> 4132 <trans-unit id="b54759e30f7c1983940cdacb8eb03f102a869084">
3936 <source>Go to the videos overview page</source> 4133 <source>Go to the videos overview page</source>
3937 <target>Joan bideoen ikuspegi orokorraren orrira </target> 4134 <target>Joan bideoen ikuspegi orokorraren orrira </target>
@@ -3939,6 +4136,69 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
3939 <context context-type="linenumber">1</context> 4136 <context context-type="linenumber">1</context>
3940 </context-group> 4137 </context-group>
3941 </trans-unit> 4138 </trans-unit>
4139 <trans-unit id="1e919c88a3f889d6659288e69d3e178da0ea7ab0">
4140 <source>Go to the trending videos page</source>
4141 <target>Joan puri-purian dauden bideoen orrira</target>
4142 <context-group name="null">
4143 <context context-type="linenumber">1</context>
4144 </context-group>
4145 </trans-unit>
4146 <trans-unit id="249618dcdd7fbdc863c0714e2eb9e8940bc9c37d">
4147 <source>Go to the recently added videos page</source>
4148 <target>Joan gehitutako azken bideoen orrira</target>
4149 <context-group name="null">
4150 <context context-type="linenumber">1</context>
4151 </context-group>
4152 </trans-unit>
4153 <trans-unit id="7e194daef3a3509128c4300d4c7c292c49ebf3f5">
4154 <source>Go to the local videos page</source>
4155 <target>Joan bideo lokalen orrira</target>
4156 <context-group name="null">
4157 <context context-type="linenumber">1</context>
4158 </context-group>
4159 </trans-unit>
4160 <trans-unit id="f1fb6204f39a7338e5110b2f113643c9288496ba">
4161 <source>Go to the videos upload page</source>
4162 <target>Joan bideoak igotzeko orrira</target>
4163 <context-group name="null">
4164 <context context-type="linenumber">1</context>
4165 </context-group>
4166 </trans-unit>
4167 <trans-unit id="0ed7b40c11da9d4565af9c041df20c15bc6be97e">
4168 <source>Toggle Dark theme</source>
4169 <target>Txandakatu gai iluna</target>
4170 <context-group name="null">
4171 <context context-type="linenumber">1</context>
4172 </context-group>
4173 </trans-unit>
4174 <trans-unit id="badd4b24618ccc8a34620acb9053fc654b9612b2">
4175 <source>Go to my subscriptions</source>
4176 <target>Joan nire harpidetzetara</target>
4177 <context-group name="null">
4178 <context context-type="linenumber">1</context>
4179 </context-group>
4180 </trans-unit>
4181 <trans-unit id="b7184b5a236618e8edd747529869c392ab6dace1">
4182 <source>Go to my videos</source>
4183 <target>Joan nire bideoetara</target>
4184 <context-group name="null">
4185 <context context-type="linenumber">1</context>
4186 </context-group>
4187 </trans-unit>
4188 <trans-unit id="acf985bd42886b9b3030b5f68f0e8417c39b40a7">
4189 <source>Go to my imports</source>
4190 <target>Joan nire inportazioetara</target>
4191 <context-group name="null">
4192 <context context-type="linenumber">1</context>
4193 </context-group>
4194 </trans-unit>
4195 <trans-unit id="cfe3c51f0ae9385dc2ce6df740d87e5514aa9390">
4196 <source>Go to my channels</source>
4197 <target>Joan nire kanaletara</target>
4198 <context-group name="null">
4199 <context context-type="linenumber">1</context>
4200 </context-group>
4201 </trans-unit>
3942 <trans-unit id="edeaa933b09690523e46977e11064e9c655d77d7"> 4202 <trans-unit id="edeaa933b09690523e46977e11064e9c655d77d7">
3943 <source>Cannot retrieve OAuth Client credentials: <x id="INTERPOLATION" equiv-text="{{errorText}}"/>. 4203 <source>Cannot retrieve OAuth Client credentials: <x id="INTERPOLATION" equiv-text="{{errorText}}"/>.
3944</source> 4204</source>
@@ -3969,6 +4229,13 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
3969 <context context-type="linenumber">1</context> 4229 <context context-type="linenumber">1</context>
3970 </context-group> 4230 </context-group>
3971 </trans-unit> 4231 </trans-unit>
4232 <trans-unit id="5c0c574151dc8671d9199980ee04bf65aec3b452">
4233 <source>Keyboard Shortcuts:</source>
4234 <target>Teklatu laster-bideak:</target>
4235 <context-group name="null">
4236 <context context-type="linenumber">1</context>
4237 </context-group>
4238 </trans-unit>
3972 <trans-unit id="247071f6c9233b7e5bc1d8f46795ab6b032f1fbe"> 4239 <trans-unit id="247071f6c9233b7e5bc1d8f46795ab6b032f1fbe">
3973 <source>Incorrect username or password.</source> 4240 <source>Incorrect username or password.</source>
3974 <target>Erabiltzaile-izen edo pasahitz okerra.</target> 4241 <target>Erabiltzaile-izen edo pasahitz okerra.</target>
@@ -4326,6 +4593,13 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
4326 <context context-type="linenumber">1</context> 4593 <context context-type="linenumber">1</context>
4327 </context-group> 4594 </context-group>
4328 </trans-unit> 4595 </trans-unit>
4596 <trans-unit id="a4179e366d4aa335f1ddd0a13e9109c71a9338d0">
4597 <source>Description cannot be more than 1000 characters long.</source>
4598 <target>Deskripzioa ezin da 1000 karaktere baino luzeagoa izan.</target>
4599 <context-group name="null">
4600 <context context-type="linenumber">1</context>
4601 </context-group>
4602 </trans-unit>
4329 <trans-unit id="4a3ebc6ddb6b6677aed7b04eb503f9ddd0cfe561"> 4603 <trans-unit id="4a3ebc6ddb6b6677aed7b04eb503f9ddd0cfe561">
4330 <source>You must to agree with the instance terms in order to registering on it.</source> 4604 <source>You must to agree with the instance terms in order to registering on it.</source>
4331 <target>Instantziaren baldintzak onartu behar dituzu bertan izena emateko.</target> 4605 <target>Instantziaren baldintzak onartu behar dituzu bertan izena emateko.</target>
@@ -5103,6 +5377,13 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
5103 <context context-type="linenumber">1</context> 5377 <context context-type="linenumber">1</context>
5104 </context-group> 5378 </context-group>
5105 </trans-unit> 5379 </trans-unit>
5380 <trans-unit id="f9b4f2d8146c789cd40314f640ec4e88efbaf681">
5381 <source><x id="INTERPOLATION" equiv-text="{{num}}"/> users banned.</source>
5382 <target><x id="INTERPOLATION" equiv-text="{{num}}"/> erabiltzaile debekatuta.</target>
5383 <context-group name="null">
5384 <context context-type="linenumber">1</context>
5385 </context-group>
5386 </trans-unit>
5106 <trans-unit id="3ab99e62550869aebc85661fca2faf46785263dd"> 5387 <trans-unit id="3ab99e62550869aebc85661fca2faf46785263dd">
5107 <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> banned.</source> 5388 <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> banned.</source>
5108 <target><x id="INTERPOLATION" equiv-text="{{username}}"/> erabiltzailea debekatuta.</target> 5389 <target><x id="INTERPOLATION" equiv-text="{{username}}"/> erabiltzailea debekatuta.</target>
@@ -5124,6 +5405,13 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
5124 <context context-type="linenumber">1</context> 5405 <context context-type="linenumber">1</context>
5125 </context-group> 5406 </context-group>
5126 </trans-unit> 5407 </trans-unit>
5408 <trans-unit id="ad07d34d4aadfe03c964cec02ca1d3a921e6b603">
5409 <source>If you remove this user, you will not be able to create another with the same username!</source>
5410 <target>Erabiltzaile hau kentzen baduzu, ezin izango duzu erabiltzaile-izen bera duen beste bat sortu gero!</target>
5411 <context-group name="null">
5412 <context context-type="linenumber">1</context>
5413 </context-group>
5414 </trans-unit>
5127 <trans-unit id="28220fae6799ab98ef6b41af449aa9680082357a"> 5415 <trans-unit id="28220fae6799ab98ef6b41af449aa9680082357a">
5128 <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> deleted.</source> 5416 <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> deleted.</source>
5129 <target><x id="INTERPOLATION" equiv-text="{{username}}"/> erabiltzailea ezabatuta.</target> 5417 <target><x id="INTERPOLATION" equiv-text="{{username}}"/> erabiltzailea ezabatuta.</target>
@@ -5131,6 +5419,13 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
5131 <context context-type="linenumber">1</context> 5419 <context context-type="linenumber">1</context>
5132 </context-group> 5420 </context-group>
5133 </trans-unit> 5421 </trans-unit>
5422 <trans-unit id="534202c90c6dcadd2989fc72c5030d5483e26096">
5423 <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> email set as verified</source>
5424 <target><x id="INTERPOLATION" equiv-text="{{username}}"/> erabiltzailearen e-mail helbidea baieztatua gisa ezarri da</target>
5425 <context-group name="null">
5426 <context context-type="linenumber">1</context>
5427 </context-group>
5428 </trans-unit>
5134 <trans-unit id="33a6319f765848a22a155cef9f1d8e645202e249"> 5429 <trans-unit id="33a6319f765848a22a155cef9f1d8e645202e249">
5135 <source>Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> muted.</source> 5430 <source>Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> muted.</source>
5136 <target><x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> kontua mutututa.</target> 5431 <target><x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> kontua mutututa.</target>
@@ -5138,6 +5433,41 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
5138 <context context-type="linenumber">1</context> 5433 <context context-type="linenumber">1</context>
5139 </context-group> 5434 </context-group>
5140 </trans-unit> 5435 </trans-unit>
5436 <trans-unit id="086eda792aeb1b0d131d633b50fdd1792f5f24c6">
5437 <source>Instance <x id="INTERPOLATION" equiv-text="{{host}}"/> muted.</source>
5438 <target><x id="INTERPOLATION" equiv-text="{{host}}"/> instantzia mutututa.</target>
5439 <context-group name="null">
5440 <context context-type="linenumber">1</context>
5441 </context-group>
5442 </trans-unit>
5443 <trans-unit id="bb72d6d1219e89d182e9fd09d853d83baf8d6499">
5444 <source>Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> muted by the instance.</source>
5445 <target><x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> kontua instantziak mutututa.</target>
5446 <context-group name="null">
5447 <context context-type="linenumber">1</context>
5448 </context-group>
5449 </trans-unit>
5450 <trans-unit id="8686834bc4afe42c1991c6c18f0bce174a0e17a6">
5451 <source>Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> unmuted by the instance.</source>
5452 <target><x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> kontua instantziak desmutututa.</target>
5453 <context-group name="null">
5454 <context context-type="linenumber">1</context>
5455 </context-group>
5456 </trans-unit>
5457 <trans-unit id="35d3509161861a610b0895bf084c781e56ba2830">
5458 <source>Instance <x id="INTERPOLATION" equiv-text="{{host}}"/> muted by the instance.</source>
5459 <target><x id="INTERPOLATION" equiv-text="{{host}}"/> instantzia instantziak mutututa.</target>
5460 <context-group name="null">
5461 <context context-type="linenumber">1</context>
5462 </context-group>
5463 </trans-unit>
5464 <trans-unit id="978aeec5613fa97e8a5336d3599cebb23ee5a90f">
5465 <source>Instance <x id="INTERPOLATION" equiv-text="{{host}}"/> unmuted by the instance.</source>
5466 <target><x id="INTERPOLATION" equiv-text="{{host}}"/> kontua instantziak desmutututa.</target>
5467 <context-group name="null">
5468 <context context-type="linenumber">1</context>
5469 </context-group>
5470 </trans-unit>
5141 <trans-unit id="4a09bf8724e7659fbb5ec33647529cdef7614bdc"> 5471 <trans-unit id="4a09bf8724e7659fbb5ec33647529cdef7614bdc">
5142 <source>Mute this account</source> 5472 <source>Mute this account</source>
5143 <target>Mututu kontu hau</target> 5473 <target>Mututu kontu hau</target>
@@ -5278,6 +5608,20 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
5278 <context context-type="linenumber">1</context> 5608 <context context-type="linenumber">1</context>
5279 </context-group> 5609 </context-group>
5280 </trans-unit> 5610 </trans-unit>
5611 <trans-unit id="21565881ad1dff3c98738b9535b3515cec140609">
5612 <source>Welcome! Now please check your emails to verify your account and complete signup.</source>
5613 <target>Ongi etorri! Egiaztatu zure e-maila kontua baieztatzeko eta izen ematea osatzeko.</target>
5614 <context-group name="null">
5615 <context context-type="linenumber">1</context>
5616 </context-group>
5617 </trans-unit>
5618 <trans-unit id="14200e26888a07633c0f177020dce8f3ec7311a6">
5619 <source>You are now logged in as <x id="INTERPOLATION" equiv-text="{{username}}"/>!</source>
5620 <target><x id="INTERPOLATION" equiv-text="{{username}}"/> gisa hasi duzu saioa!</target>
5621 <context-group name="null">
5622 <context context-type="linenumber">1</context>
5623 </context-group>
5624 </trans-unit>
5281 <trans-unit id="320c9c3482a0ebe46da42ce9e0cbdc5ba26ea8bb"> 5625 <trans-unit id="320c9c3482a0ebe46da42ce9e0cbdc5ba26ea8bb">
5282 <source>Video to import updated.</source> 5626 <source>Video to import updated.</source>
5283 <target>Inportatzeko bideoa eguneratuta.</target> 5627 <target>Inportatzeko bideoa eguneratuta.</target>
@@ -5327,6 +5671,20 @@ Ezin izan dugu bilatzen duzun orria aurkitu.
5327 <context context-type="linenumber">1</context> 5671 <context context-type="linenumber">1</context>
5328 </context-group> 5672 </context-group>
5329 </trans-unit> 5673 </trans-unit>
5674 <trans-unit id="a6019e856f511dbe1fe658790c71c594b26930ee">
5675 <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{videoSize}}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{videoQuotaUsed}}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{videoQuota}}"/>)</source>
5676 <target>Zure bideo-kuota bideo honekin gainditzen da (bideoaren tamaina: <x id="INTERPOLATION" equiv-text="{{videoSize}}"/>, erabilita: <x id="INTERPOLATION_1" equiv-text="{{videoQuotaUsed}}"/>, kuota: <x id="INTERPOLATION_2" equiv-text="{{videoQuota}}"/>)</target>
5677 <context-group name="null">
5678 <context context-type="linenumber">1</context>
5679 </context-group>
5680 </trans-unit>
5681 <trans-unit id="c980896ac8e08e9751545db1b7ef0e93fb8a52cd">
5682 <source>Your daily video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{videoSize}}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{quotaUsedDaily}}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{quotaDaily}}"/>)</source>
5683 <target>Zure eguneko bideo-kuota bideo honekin gainditzen da (bideoaren tamaina: <x id="INTERPOLATION" equiv-text="{{videoSize}}"/>, erabilita: <x id="INTERPOLATION_1" equiv-text="{{quotaUsedDaily}}"/>, kuota: <x id="INTERPOLATION_2" equiv-text="{{quotaDaily}}"/>)</target>
5684 <context-group name="null">
5685 <context context-type="linenumber">1</context>
5686 </context-group>
5687 </trans-unit>
5330 <trans-unit id="972fc644f847cf84e4732ec012915c4cdaf865ce"> 5688 <trans-unit id="972fc644f847cf84e4732ec012915c4cdaf865ce">
5331 <source>Video published.</source> 5689 <source>Video published.</source>
5332 <target>Bideoa argitaratuta.</target> 5690 <target>Bideoa argitaratuta.</target>
diff --git a/client/src/locale/target/angular_it_IT.xml b/client/src/locale/target/angular_it_IT.xml
index dea48b4a7..2f5178484 100644
--- a/client/src/locale/target/angular_it_IT.xml
+++ b/client/src/locale/target/angular_it_IT.xml
@@ -613,6 +613,19 @@
613 <context context-type="linenumber">6</context> 613 <context context-type="linenumber">6</context>
614 </context-group> 614 </context-group>
615 </trans-unit> 615 </trans-unit>
616 <trans-unit id="7c603b9ed878097782e2b8908f662e2344b46061">
617 <source>
618 Filters
619 <x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span&gt;"/><x id="INTERPOLATION" equiv-text="{{ numberOfFilters() }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/>
620 </source>
621 <target>
622 Filtri
623 <x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span&gt;"/><x id="INTERPOLATION" equiv-text="{{ numberOfFilters() }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/>
624 </target>
625 <context-group name="null">
626 <context context-type="linenumber">16</context>
627 </context-group>
628 </trans-unit>
616 <trans-unit id="e2dbf0426cbb0b573faf49dffeb7d5bdf16eda5d"> 629 <trans-unit id="e2dbf0426cbb0b573faf49dffeb7d5bdf16eda5d">
617 <source> 630 <source>
618 No results found 631 No results found
@@ -1646,6 +1659,21 @@
1646 <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> 1659 <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/>
1647 &lt;/pre&gt; 1660 &lt;/pre&gt;
1648 </source> 1661 </source>
1662 <target>
1663 Scrivi direttamente codice CSS .Esempio:&lt;br /&gt;
1664 &lt;pre&gt;
1665 body <x id="INTERPOLATION" equiv-text="{{ '{' }}"/>
1666 background-color: red;
1667 <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/>
1668 &lt;/pre&gt;
1669
1670 Precedi con &lt;em&gt;#custom-css&lt;/em&gt; per sovrascrivere stili. Esempio:
1671 &lt;pre&gt;
1672 #custom-css .logged-in-email <x id="INTERPOLATION" equiv-text="{{ '{' }}"/>
1673 color: red;
1674 <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/>
1675 &lt;/pre&gt;
1676 </target>
1649 <context-group name="null"> 1677 <context-group name="null">
1650 <context context-type="linenumber">297</context> 1678 <context context-type="linenumber">297</context>
1651 </context-group> 1679 </context-group>
@@ -1901,6 +1929,10 @@
1901 Transcoding is enabled on server. The video quota only take in account <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>original<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> video. <x id="LINE_BREAK" ctype="lb" equiv-text="&lt;br/&gt;"/> 1929 Transcoding is enabled on server. The video quota only take in account <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>original<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> video. <x id="LINE_BREAK" ctype="lb" equiv-text="&lt;br/&gt;"/>
1902 At most, this user could use ~ <x id="INTERPOLATION" equiv-text="{{ computeQuotaWithTranscoding() | bytes: 0 }}"/>. 1930 At most, this user could use ~ <x id="INTERPOLATION" equiv-text="{{ computeQuotaWithTranscoding() | bytes: 0 }}"/>.
1903 </source> 1931 </source>
1932 <target>
1933 Il Transcoding e abilitato sul server. La quota video considera solo <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>originale<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> video. <x id="LINE_BREAK" ctype="lb" equiv-text="&lt;br/&gt;"/>
1934 In totale, questo utente potrebbe usare ~ <x id="INTERPOLATION" equiv-text="{{ computeQuotaWithTranscoding() | bytes: 0 }}"/>.
1935 </target>
1904 <context-group name="null"> 1936 <context-group name="null">
1905 <context context-type="linenumber">65</context> 1937 <context context-type="linenumber">65</context>
1906 </context-group> 1938 </context-group>
@@ -2292,6 +2324,8 @@
2292 <trans-unit id="74728de5289ea2ff3f553bc2b48f1811680b931a"> 2324 <trans-unit id="74728de5289ea2ff3f553bc2b48f1811680b931a">
2293 <source>Short text to tell people how they can support your channel (membership platform...).&lt;br /&gt;&lt;br /&gt; 2325 <source>Short text to tell people how they can support your channel (membership platform...).&lt;br /&gt;&lt;br /&gt;
2294When you will upload a video in this channel, the video support field will be automatically filled by this text.</source> 2326When you will upload a video in this channel, the video support field will be automatically filled by this text.</source>
2327 <target>Breve testo per dire alla gente come possono supportare il tuo canale (iscrizione piattaforma...).&lt;br /&gt;&lt;br /&gt;
2328Quando tu carichi un video su questo canale. il campo di supporto per il video verra riempito con questo testo.</target>
2295 <context-group name="null"> 2329 <context-group name="null">
2296 <context context-type="linenumber">52</context> 2330 <context context-type="linenumber">52</context>
2297 </context-group> 2331 </context-group>
@@ -2970,6 +3004,9 @@ When you will upload a video in this channel, the video support field will be au
2970 <source> 3004 <source>
2971 The url is not secured (no HTTPS), so the embed video won't work on HTTPS websites (web browsers block non secured HTTP requests on HTTPS websites). 3005 The url is not secured (no HTTPS), so the embed video won't work on HTTPS websites (web browsers block non secured HTTP requests on HTTPS websites).
2972 </source> 3006 </source>
3007 <target>
3008 L'url non è sicuro (no HTTPS), quindi il video "incluso" non funzionerà su siti HTTPS (il browser blocca richieste verso siti HTTP su siti in cui HTTPS è abilitato).
3009 </target>
2973 <context-group name="null"> 3010 <context-group name="null">
2974 <context context-type="linenumber">45</context> 3011 <context context-type="linenumber">45</context>
2975 </context-group> 3012 </context-group>
@@ -2992,6 +3029,9 @@ When you will upload a video in this channel, the video support field will be au
2992 <source> 3029 <source>
2993 The video is being imported, it will be available when the import is finished. 3030 The video is being imported, it will be available when the import is finished.
2994 </source> 3031 </source>
3032 <target>
3033 Il video è nella fase di import, sarà disponibile quando l'import sarà completato.
3034 </target>
2995 <context-group name="null"> 3035 <context-group name="null">
2996 <context context-type="linenumber">11</context> 3036 <context context-type="linenumber">11</context>
2997 </context-group> 3037 </context-group>
@@ -3028,6 +3068,9 @@ When you will upload a video in this channel, the video support field will be au
3028 <source> 3068 <source>
3029 Published <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views 3069 Published <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views
3030 </source> 3070 </source>
3071 <target>
3072 Pubblicato <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visioni
3073 </target>
3031 <context-group name="null"> 3074 <context-group name="null">
3032 <context context-type="linenumber">37</context> 3075 <context context-type="linenumber">37</context>
3033 </context-group> 3076 </context-group>
@@ -3297,6 +3340,20 @@ Altri video</target>
3297 <context context-type="linenumber">1</context> 3340 <context context-type="linenumber">1</context>
3298 </context-group> 3341 </context-group>
3299 </trans-unit> 3342 </trans-unit>
3343 <trans-unit id="d9fc2b03f04056671d7d4ffcac7197189d959cd6">
3344 <source>240p</source>
3345 <target>240p</target>
3346 <context-group name="null">
3347 <context context-type="linenumber">1</context>
3348 </context-group>
3349 </trans-unit>
3350 <trans-unit id="c8cfad7e7a16c57c42535331b65cb7de40d8402e">
3351 <source>360p</source>
3352 <target>360p</target>
3353 <context-group name="null">
3354 <context context-type="linenumber">1</context>
3355 </context-group>
3356 </trans-unit>
3300 <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba"> 3357 <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba">
3301 <source>Success</source><target>Success</target><context-group name="null"> 3358 <source>Success</source><target>Success</target><context-group name="null">
3302 <context context-type="linenumber">1</context> 3359 <context context-type="linenumber">1</context>
@@ -3316,6 +3373,48 @@ Altri video</target>
3316 <context context-type="linenumber">1</context> 3373 <context context-type="linenumber">1</context>
3317 </context-group> 3374 </context-group>
3318 </trans-unit> 3375 </trans-unit>
3376 <trans-unit id="54adc67482fdaa0d361a2992bc91e064dc61cc9a">
3377 <source>100MB</source>
3378 <target>100MB</target>
3379 <context-group name="null">
3380 <context context-type="linenumber">1</context>
3381 </context-group>
3382 </trans-unit>
3383 <trans-unit id="cd34ef1f476d5422f49f6ed429f61fc1cfcb1174">
3384 <source>500MB</source>
3385 <target>500MB</target>
3386 <context-group name="null">
3387 <context context-type="linenumber">1</context>
3388 </context-group>
3389 </trans-unit>
3390 <trans-unit id="4a47b4beea31cac6e5970b6bc522902f545acc8b">
3391 <source>1GB</source>
3392 <target>1GB</target>
3393 <context-group name="null">
3394 <context context-type="linenumber">1</context>
3395 </context-group>
3396 </trans-unit>
3397 <trans-unit id="b26d0cac75638623098ab7e06e16b096d1f55cc8">
3398 <source>5GB</source>
3399 <target>5GB</target>
3400 <context-group name="null">
3401 <context context-type="linenumber">1</context>
3402 </context-group>
3403 </trans-unit>
3404 <trans-unit id="f9fc4e7ec6743cb6f69bea2d0859a655ed44ffae">
3405 <source>20GB</source>
3406 <target>20GB</target>
3407 <context-group name="null">
3408 <context context-type="linenumber">1</context>
3409 </context-group>
3410 </trans-unit>
3411 <trans-unit id="a56e3f92fe16d97ee4f05051ea61c466ecb51d5e">
3412 <source>50GB</source>
3413 <target>50GB</target>
3414 <context-group name="null">
3415 <context context-type="linenumber">1</context>
3416 </context-group>
3417 </trans-unit>
3319 <trans-unit id="31dcc0c63f6234ace8caa84ae1abc33d4022122d"> 3418 <trans-unit id="31dcc0c63f6234ace8caa84ae1abc33d4022122d">
3320 <source>10MB</source> 3419 <source>10MB</source>
3321 <target>10MB</target> 3420 <target>10MB</target>
@@ -3400,6 +3499,13 @@ Altri video</target>
3400 <context context-type="linenumber">1</context> 3499 <context context-type="linenumber">1</context>
3401 </context-group> 3500 </context-group>
3402 </trans-unit> 3501 </trans-unit>
3502 <trans-unit id="4d8f527638f3e0b518a96e07d41d886bcce01246">
3503 <source>enabled</source>
3504 <target>attivato</target>
3505 <context-group name="null">
3506 <context context-type="linenumber">1</context>
3507 </context-group>
3508 </trans-unit>
3403 <trans-unit id="795733aac948794cadeb3be6386882efac2c38ad"> 3509 <trans-unit id="795733aac948794cadeb3be6386882efac2c38ad">
3404 <source>disabled</source> 3510 <source>disabled</source>
3405 <target>disabilitato</target> 3511 <target>disabilitato</target>
@@ -3421,6 +3527,13 @@ Altri video</target>
3421 <context context-type="linenumber">1</context> 3527 <context context-type="linenumber">1</context>
3422 </context-group> 3528 </context-group>
3423 </trans-unit> 3529 </trans-unit>
3530 <trans-unit id="586bee8c27a761611eb05661524cc7ca944b5978">
3531 <source>Delete this report</source>
3532 <target>Elimina questa segnalazione</target>
3533 <context-group name="null">
3534 <context context-type="linenumber">1</context>
3535 </context-group>
3536 </trans-unit>
3424 <trans-unit id="cf3b28ba29a907b334ab0e6dccd080a60ba23321"> 3537 <trans-unit id="cf3b28ba29a907b334ab0e6dccd080a60ba23321">
3425 <source>Update moderation comment</source> 3538 <source>Update moderation comment</source>
3426 <target>Modifica commento di moderazione</target> 3539 <target>Modifica commento di moderazione</target>
@@ -3442,6 +3555,13 @@ Altri video</target>
3442 <context context-type="linenumber">1</context> 3555 <context context-type="linenumber">1</context>
3443 </context-group> 3556 </context-group>
3444 </trans-unit> 3557 </trans-unit>
3558 <trans-unit id="73b70e37cddaa6494d8a666b6cba90dc80595599">
3559 <source>Do you really want to delete this abuse report?</source>
3560 <target>Vuoi veramente eliminare questa segnalazione di abuso?</target>
3561 <context-group name="null">
3562 <context context-type="linenumber">1</context>
3563 </context-group>
3564 </trans-unit>
3445 <trans-unit id="6a7938b8780c27540ea70cc0f8f4d928c8916cf9"> 3565 <trans-unit id="6a7938b8780c27540ea70cc0f8f4d928c8916cf9">
3446 <source>Abuse deleted.</source><target>Abuse deleted.</target><context-group name="null"> 3566 <source>Abuse deleted.</source><target>Abuse deleted.</target><context-group name="null">
3447 <context context-type="linenumber">1</context> 3567 <context context-type="linenumber">1</context>
@@ -3501,6 +3621,13 @@ Altri video</target>
3501 <context context-type="linenumber">1</context> 3621 <context context-type="linenumber">1</context>
3502 </context-group> 3622 </context-group>
3503 </trans-unit> 3623 </trans-unit>
3624 <trans-unit id="b708d332e3f89b24745e749fa530210f0bdea329">
3625 <source><x id="INTERPOLATION" equiv-text="{{num}}"/> users deleted.</source>
3626 <target><x id="INTERPOLATION" equiv-text="{{num}}"/> utenti eliminati.</target>
3627 <context-group name="null">
3628 <context context-type="linenumber">1</context>
3629 </context-group>
3630 </trans-unit>
3504 <trans-unit id="507192ee1fa84aefed02d603caada2d84927023e"> 3631 <trans-unit id="507192ee1fa84aefed02d603caada2d84927023e">
3505 <source>Ownership accepted</source><target>Ownership accepted</target><context-group name="null"> 3632 <source>Ownership accepted</source><target>Ownership accepted</target><context-group name="null">
3506 <context context-type="linenumber">1</context> 3633 <context context-type="linenumber">1</context>
@@ -3576,6 +3703,13 @@ Altri video</target>
3576 <context context-type="linenumber">1</context> 3703 <context context-type="linenumber">1</context>
3577 </context-group> 3704 </context-group>
3578 </trans-unit> 3705 </trans-unit>
3706 <trans-unit id="f359f6adf6cccca7770019f947ed594169ee7d47">
3707 <source>This name already exists on this instance.</source>
3708 <target>Questo nome esiste già nell'istanza.</target>
3709 <context-group name="null">
3710 <context context-type="linenumber">1</context>
3711 </context-group>
3712 </trans-unit>
3579 <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795"> 3713 <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795">
3580 <source>Create</source> 3714 <source>Create</source>
3581 <target>Crea</target> 3715 <target>Crea</target>
@@ -3705,6 +3839,13 @@ Altri video</target>
3705 <context context-type="linenumber">1</context> 3839 <context context-type="linenumber">1</context>
3706 </context-group> 3840 </context-group>
3707 </trans-unit> 3841 </trans-unit>
3842 <trans-unit id="b54759e30f7c1983940cdacb8eb03f102a869084">
3843 <source>Go to the videos overview page</source>
3844 <target>Vai alla pagina di anteprima dei video</target>
3845 <context-group name="null">
3846 <context context-type="linenumber">1</context>
3847 </context-group>
3848 </trans-unit>
3708 <trans-unit id="edeaa933b09690523e46977e11064e9c655d77d7"> 3849 <trans-unit id="edeaa933b09690523e46977e11064e9c655d77d7">
3709 <source>Cannot retrieve OAuth Client credentials: <x id="INTERPOLATION" equiv-text="{{errorText}}"/>. 3850 <source>Cannot retrieve OAuth Client credentials: <x id="INTERPOLATION" equiv-text="{{errorText}}"/>.
3710</source> 3851</source>
diff --git a/client/src/locale/target/angular_oc.xml b/client/src/locale/target/angular_oc.xml
index c353ead7a..26ff5264e 100644
--- a/client/src/locale/target/angular_oc.xml
+++ b/client/src/locale/target/angular_oc.xml
@@ -1578,6 +1578,17 @@
1578 <context context-type="linenumber">198</context> 1578 <context context-type="linenumber">198</context>
1579 </context-group> 1579 </context-group>
1580 </trans-unit> 1580 </trans-unit>
1581 <trans-unit id="8b0ee765cc3fea9baef14bfb9d5288dfcbe386b6">
1582 <source>If your instance is whitelisted by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share.&lt;br /&gt;
1583 If the instance is not whitelisted, we use an image link card that will redirect on your PeerTube instance.&lt;br /&gt;&lt;br /&gt;
1584 Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on &lt;a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'&gt;https://cards-dev.twitter.com/validator&lt;/a&gt; to see if you instance is whitelisted.</source>
1585 <target>Se vòstra instància es mesa en lista blanca per Twitter, un lector vidèo serà integrat pel fil Twitter sul partatge d’una vidèo PeerTube.&lt;br /&gt;
1586 Se l’instància es pas en lista blanca, utilizam un imatge amb un ligam que mena a l’instància PeerTube.&lt;br /&gt;&lt;br /&gt;
1587 Clicatz aquesta bóstia, salvagardatz la configuracion e ensajatz amb l’URL d’una vidèo de vòstra instància (https://exemple.com/videos/watch/blabla) sus &lt;a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'&gt;https://cards-dev.twitter.com/validator&lt;/a&gt; per veire se vòstra instància es en lista blanca.</target>
1588 <context-group name="null">
1589 <context context-type="linenumber">199</context>
1590 </context-group>
1591 </trans-unit>
1581 <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> 1592 <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5">
1582 <source>Services</source> 1593 <source>Services</source>
1583 <target>Servicis</target> 1594 <target>Servicis</target>
@@ -2022,6 +2033,20 @@
2022 <context context-type="linenumber">133</context> 2033 <context context-type="linenumber">133</context>
2023 </context-group> 2034 </context-group>
2024 </trans-unit> 2035 </trans-unit>
2036 <trans-unit id="02ba1a65db92d1d0ab4ba380086e9be61891aaa5">
2037 <source>User's email must be verified to login</source>
2038 <target>Lo corrièl de l’utilizaire deu èsser verificat abans la connexion</target>
2039 <context-group name="null">
2040 <context context-type="linenumber">70</context>
2041 </context-group>
2042 </trans-unit>
2043 <trans-unit id="79cee9973620b2592ff2824c525aa8ed0b5e2b8b">
2044 <source>User's email is verified / User can login without email verification</source>
2045 <target>Lo corrièl de l’utilizaire es verificat / Pòt se connectar sens verificacion de l’adreça</target>
2046 <context-group name="null">
2047 <context context-type="linenumber">74</context>
2048 </context-group>
2049 </trans-unit>
2025 <trans-unit id="a9587caabf0dc5d824f817baae1c2f5521d9b1ee"> 2050 <trans-unit id="a9587caabf0dc5d824f817baae1c2f5521d9b1ee">
2026 <source>Ban reason:</source> 2051 <source>Ban reason:</source>
2027 <target>Rason del bandiment :</target> 2052 <target>Rason del bandiment :</target>
@@ -2680,6 +2705,13 @@ Quand enviaretz una vidèo dins aquesta cadena, lo camp vidèo sosten serà auto
2680 <context context-type="linenumber">159</context> 2705 <context context-type="linenumber">159</context>
2681 </context-group> 2706 </context-group>
2682 </trans-unit> 2707 </trans-unit>
2708 <trans-unit id="385811ab5a5c3e96e0db46c9ce1fc3147d8cd4c7">
2709 <source>Sorry, but something went wrong</source>
2710 <target>O planhèm, quicòm a trucat</target>
2711 <context-group name="null">
2712 <context context-type="linenumber">49</context>
2713 </context-group>
2714 </trans-unit>
2683 <trans-unit id="63d6bf87c9f30441175648dfd3ef6a19292287c2"> 2715 <trans-unit id="63d6bf87c9f30441175648dfd3ef6a19292287c2">
2684 <source> 2716 <source>
2685 Congratulations, the video behind <x id="INTERPOLATION" equiv-text="{{ targetUrl }}"/> will be imported! You can already add information about this video. 2717 Congratulations, the video behind <x id="INTERPOLATION" equiv-text="{{ targetUrl }}"/> will be imported! You can already add information about this video.
@@ -3836,6 +3868,13 @@ Quand enviaretz una vidèo dins aquesta cadena, lo camp vidèo sosten serà auto
3836 <context context-type="linenumber">1</context> 3868 <context context-type="linenumber">1</context>
3837 </context-group> 3869 </context-group>
3838 </trans-unit> 3870 </trans-unit>
3871 <trans-unit id="910ed85f550272401b134a40d019ab3359fe883f">
3872 <source>Set Email as Verified</source>
3873 <target>Passar l’adreça coma verificada</target>
3874 <context-group name="null">
3875 <context context-type="linenumber">1</context>
3876 </context-group>
3877 </trans-unit>
3839 <trans-unit id="ac401df84c5fa471700c3368de51c969ccb8bacf"> 3878 <trans-unit id="ac401df84c5fa471700c3368de51c969ccb8bacf">
3840 <source>You cannot ban root.</source> 3879 <source>You cannot ban root.</source>
3841 <target>Podètz pas fòrabandir lo root.</target> 3880 <target>Podètz pas fòrabandir lo root.</target>
@@ -3878,6 +3917,13 @@ Quand enviaretz una vidèo dins aquesta cadena, lo camp vidèo sosten serà auto
3878 <context context-type="linenumber">1</context> 3917 <context context-type="linenumber">1</context>
3879 </context-group> 3918 </context-group>
3880 </trans-unit> 3919 </trans-unit>
3920 <trans-unit id="f4a8f2ef1fbfc19e1e049e69f63c40063c0d0650">
3921 <source><x id="INTERPOLATION" equiv-text="{{num}}"/> users email set as verified.</source>
3922 <target><x id="INTERPOLATION" equiv-text="{{num}}"/> adreças d’utilizaires passadas coma verificadas.</target>
3923 <context-group name="null">
3924 <context context-type="linenumber">1</context>
3925 </context-group>
3926 </trans-unit>
3881 <trans-unit id="2667ca38672421a0a7a22343d2a0060ee41246de"> 3927 <trans-unit id="2667ca38672421a0a7a22343d2a0060ee41246de">
3882 <source>Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> unmuted.</source> 3928 <source>Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> unmuted.</source>
3883 <target>Compte <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> pas mai mut.</target> 3929 <target>Compte <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> pas mai mut.</target>
@@ -5420,6 +5466,13 @@ Quand enviaretz una vidèo dins aquesta cadena, lo camp vidèo sosten serà auto
5420 <context context-type="linenumber">1</context> 5466 <context context-type="linenumber">1</context>
5421 </context-group> 5467 </context-group>
5422 </trans-unit> 5468 </trans-unit>
5469 <trans-unit id="534202c90c6dcadd2989fc72c5030d5483e26096">
5470 <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> email set as verified</source>
5471 <target>L’adreça a <x id="INTERPOLATION" equiv-text="{{username}}"/> es passada coma verificada</target>
5472 <context-group name="null">
5473 <context context-type="linenumber">1</context>
5474 </context-group>
5475 </trans-unit>
5423 <trans-unit id="33a6319f765848a22a155cef9f1d8e645202e249"> 5476 <trans-unit id="33a6319f765848a22a155cef9f1d8e645202e249">
5424 <source>Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> muted.</source> 5477 <source>Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> muted.</source>
5425 <target>Lo compte <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> es mut.</target> 5478 <target>Lo compte <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> es mut.</target>
@@ -5602,6 +5655,20 @@ Quand enviaretz una vidèo dins aquesta cadena, lo camp vidèo sosten serà auto
5602 <context context-type="linenumber">1</context> 5655 <context context-type="linenumber">1</context>
5603 </context-group> 5656 </context-group>
5604 </trans-unit> 5657 </trans-unit>
5658 <trans-unit id="21565881ad1dff3c98738b9535b3515cec140609">
5659 <source>Welcome! Now please check your emails to verify your account and complete signup.</source>
5660 <target>La benvenguda ! Ara volgatz ben verificar vòstres corrièls per confirmar vòstre compte e acabar l’inscripcion.</target>
5661 <context-group name="null">
5662 <context context-type="linenumber">1</context>
5663 </context-group>
5664 </trans-unit>
5665 <trans-unit id="14200e26888a07633c0f177020dce8f3ec7311a6">
5666 <source>You are now logged in as <x id="INTERPOLATION" equiv-text="{{username}}"/>!</source>
5667 <target>Sètz ara connectat coma <x id="INTERPOLATION" equiv-text="{{username}}"/> !</target>
5668 <context-group name="null">
5669 <context context-type="linenumber">1</context>
5670 </context-group>
5671 </trans-unit>
5605 <trans-unit id="320c9c3482a0ebe46da42ce9e0cbdc5ba26ea8bb"> 5672 <trans-unit id="320c9c3482a0ebe46da42ce9e0cbdc5ba26ea8bb">
5606 <source>Video to import updated.</source> 5673 <source>Video to import updated.</source>
5607 <target>Vidèo d’importar actualizada</target> 5674 <target>Vidèo d’importar actualizada</target>
diff --git a/client/src/locale/target/angular_pl_PL.xml b/client/src/locale/target/angular_pl_PL.xml
index fd6e03469..e8494997a 100644
--- a/client/src/locale/target/angular_pl_PL.xml
+++ b/client/src/locale/target/angular_pl_PL.xml
@@ -1601,6 +1601,10 @@
1601 Transcoding is enabled on server. The video quota only take in account <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>original<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> video. <x id="LINE_BREAK" ctype="lb" equiv-text="&lt;br/&gt;"/> 1601 Transcoding is enabled on server. The video quota only take in account <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>original<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> video. <x id="LINE_BREAK" ctype="lb" equiv-text="&lt;br/&gt;"/>
1602 At most, this user could use ~ <x id="INTERPOLATION" equiv-text="{{ computeQuotaWithTranscoding() | bytes: 0 }}"/>. 1602 At most, this user could use ~ <x id="INTERPOLATION" equiv-text="{{ computeQuotaWithTranscoding() | bytes: 0 }}"/>.
1603 </source> 1603 </source>
1604 <target>
1605 Transcoding is enabled on server. The video quota only take in account <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>original<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> video. <x id="LINE_BREAK" ctype="lb" equiv-text="&lt;br/&gt;"/>
1606 At most, this user could use ~ <x id="INTERPOLATION" equiv-text="{{ computeQuotaWithTranscoding() | bytes: 0 }}"/>.
1607 </target>
1604 <context-group name="null"> 1608 <context-group name="null">
1605 <context context-type="linenumber">65</context> 1609 <context context-type="linenumber">65</context>
1606 </context-group> 1610 </context-group>
diff --git a/client/src/locale/target/angular_sv_SE.xml b/client/src/locale/target/angular_sv_SE.xml
index e30575d80..eadcfa444 100644
--- a/client/src/locale/target/angular_sv_SE.xml
+++ b/client/src/locale/target/angular_sv_SE.xml
@@ -5550,6 +5550,20 @@ När du laddar upp en video i den här kanalen kommer supportfältet automatiskt
5550 <context context-type="linenumber">1</context> 5550 <context context-type="linenumber">1</context>
5551 </context-group> 5551 </context-group>
5552 </trans-unit> 5552 </trans-unit>
5553 <trans-unit id="21565881ad1dff3c98738b9535b3515cec140609">
5554 <source>Welcome! Now please check your emails to verify your account and complete signup.</source>
5555 <target>Välkommen! Kontrollera gärna din e-post för att verifiera ditt konto och fullfölja kontoskapandet.</target>
5556 <context-group name="null">
5557 <context context-type="linenumber">1</context>
5558 </context-group>
5559 </trans-unit>
5560 <trans-unit id="14200e26888a07633c0f177020dce8f3ec7311a6">
5561 <source>You are now logged in as <x id="INTERPOLATION" equiv-text="{{username}}"/>!</source>
5562 <target>Du är nu inloggad som <x id="INTERPOLATION" equiv-text="{{username}}"/>!</target>
5563 <context-group name="null">
5564 <context context-type="linenumber">1</context>
5565 </context-group>
5566 </trans-unit>
5553 <trans-unit id="320c9c3482a0ebe46da42ce9e0cbdc5ba26ea8bb"> 5567 <trans-unit id="320c9c3482a0ebe46da42ce9e0cbdc5ba26ea8bb">
5554 <source>Video to import updated.</source> 5568 <source>Video to import updated.</source>
5555 <target>Videon att importera har uppdaterats.</target> 5569 <target>Videon att importera har uppdaterats.</target>
diff --git a/client/src/locale/target/angular_zh_Hant_TW.xml b/client/src/locale/target/angular_zh_Hant_TW.xml
index 4779d9cc8..028520a6e 100644
--- a/client/src/locale/target/angular_zh_Hant_TW.xml
+++ b/client/src/locale/target/angular_zh_Hant_TW.xml
@@ -1538,6 +1538,17 @@
1538 <context context-type="linenumber">198</context> 1538 <context context-type="linenumber">198</context>
1539 </context-group> 1539 </context-group>
1540 </trans-unit> 1540 </trans-unit>
1541 <trans-unit id="8b0ee765cc3fea9baef14bfb9d5288dfcbe386b6">
1542 <source>If your instance is whitelisted by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share.&lt;br /&gt;
1543 If the instance is not whitelisted, we use an image link card that will redirect on your PeerTube instance.&lt;br /&gt;&lt;br /&gt;
1544 Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on &lt;a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'&gt;https://cards-dev.twitter.com/validator&lt;/a&gt; to see if you instance is whitelisted.</source>
1545 <target>如果您的實體在 Twitter 的白å單裡é¢ï¼ŒPeerTube 的影片分享將會在 Twitter 的推文中嵌入影片播放器。&lt;br /&gt;
1546 如果實體ä¸åœ¨ç™½å單中,我們會使用一張圖片連çµå¡ç‰‡ä¸¦é‡æ–°å°Žå‘至您的 PeerTube 實體。&lt;br /&gt;&lt;br /&gt;
1547 在此勾é¸æ¡†æ‰“勾,儲存設定並使用您實體的影片 URL (https://example.com/videos/watch/blabla)在 &lt;a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'&gt;https://cards-dev.twitter.com/validator&lt;/a&gt; 上測試以檢視您的實體是å¦åœ¨ç™½å單內。</target>
1548 <context-group name="null">
1549 <context context-type="linenumber">199</context>
1550 </context-group>
1551 </trans-unit>
1541 <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> 1552 <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5">
1542 <source>Services</source> 1553 <source>Services</source>
1543 <target>æœå‹™</target> 1554 <target>æœå‹™</target>
@@ -1972,6 +1983,20 @@
1972 <context context-type="linenumber">133</context> 1983 <context context-type="linenumber">133</context>
1973 </context-group> 1984 </context-group>
1974 </trans-unit> 1985 </trans-unit>
1986 <trans-unit id="02ba1a65db92d1d0ab4ba380086e9be61891aaa5">
1987 <source>User's email must be verified to login</source>
1988 <target>使用者的電å­éƒµä»¶å¿…須驗證éŽæ‰èƒ½ç™»å…¥</target>
1989 <context-group name="null">
1990 <context context-type="linenumber">70</context>
1991 </context-group>
1992 </trans-unit>
1993 <trans-unit id="79cee9973620b2592ff2824c525aa8ed0b5e2b8b">
1994 <source>User's email is verified / User can login without email verification</source>
1995 <target>使用者的電å­éƒµä»¶å·²é©—è­‰ï¼ä½¿ç”¨è€…å¯ä»¥ä¸é€éŽé›»å­éƒµä»¶é©—證登入</target>
1996 <context-group name="null">
1997 <context context-type="linenumber">74</context>
1998 </context-group>
1999 </trans-unit>
1975 <trans-unit id="a9587caabf0dc5d824f817baae1c2f5521d9b1ee"> 2000 <trans-unit id="a9587caabf0dc5d824f817baae1c2f5521d9b1ee">
1976 <source>Ban reason:</source> 2001 <source>Ban reason:</source>
1977 <target>阻擋ç†ç”±ï¼š</target> 2002 <target>阻擋ç†ç”±ï¼š</target>
@@ -2628,6 +2653,13 @@ When you will upload a video in this channel, the video support field will be au
2628 <context context-type="linenumber">159</context> 2653 <context context-type="linenumber">159</context>
2629 </context-group> 2654 </context-group>
2630 </trans-unit> 2655 </trans-unit>
2656 <trans-unit id="385811ab5a5c3e96e0db46c9ce1fc3147d8cd4c7">
2657 <source>Sorry, but something went wrong</source>
2658 <target>抱歉,ä¸éŽå¥½åƒæœ‰ä»€éº¼æ±è¥¿å‡ºéŒ¯äº†</target>
2659 <context-group name="null">
2660 <context context-type="linenumber">49</context>
2661 </context-group>
2662 </trans-unit>
2631 <trans-unit id="63d6bf87c9f30441175648dfd3ef6a19292287c2"> 2663 <trans-unit id="63d6bf87c9f30441175648dfd3ef6a19292287c2">
2632 <source> 2664 <source>
2633 Congratulations, the video behind <x id="INTERPOLATION" equiv-text="{{ targetUrl }}"/> will be imported! You can already add information about this video. 2665 Congratulations, the video behind <x id="INTERPOLATION" equiv-text="{{ targetUrl }}"/> will be imported! You can already add information about this video.
@@ -3778,6 +3810,13 @@ When you will upload a video in this channel, the video support field will be au
3778 <context context-type="linenumber">1</context> 3810 <context context-type="linenumber">1</context>
3779 </context-group> 3811 </context-group>
3780 </trans-unit> 3812 </trans-unit>
3813 <trans-unit id="910ed85f550272401b134a40d019ab3359fe883f">
3814 <source>Set Email as Verified</source>
3815 <target>設定電å­éƒµä»¶ç‚ºå·²é©—è­‰</target>
3816 <context-group name="null">
3817 <context context-type="linenumber">1</context>
3818 </context-group>
3819 </trans-unit>
3781 <trans-unit id="ac401df84c5fa471700c3368de51c969ccb8bacf"> 3820 <trans-unit id="ac401df84c5fa471700c3368de51c969ccb8bacf">
3782 <source>You cannot ban root.</source> 3821 <source>You cannot ban root.</source>
3783 <target>您ä¸èƒ½é˜»æ“‹ root。</target> 3822 <target>您ä¸èƒ½é˜»æ“‹ root。</target>
@@ -3820,6 +3859,13 @@ When you will upload a video in this channel, the video support field will be au
3820 <context context-type="linenumber">1</context> 3859 <context context-type="linenumber">1</context>
3821 </context-group> 3860 </context-group>
3822 </trans-unit> 3861 </trans-unit>
3862 <trans-unit id="f4a8f2ef1fbfc19e1e049e69f63c40063c0d0650">
3863 <source><x id="INTERPOLATION" equiv-text="{{num}}"/> users email set as verified.</source>
3864 <target><x id="INTERPOLATION" equiv-text="{{num}}"/> 個使用者電å­éƒµä»¶è¨­å®šç‚ºå·²é©—證。</target>
3865 <context-group name="null">
3866 <context context-type="linenumber">1</context>
3867 </context-group>
3868 </trans-unit>
3823 <trans-unit id="2667ca38672421a0a7a22343d2a0060ee41246de"> 3869 <trans-unit id="2667ca38672421a0a7a22343d2a0060ee41246de">
3824 <source>Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> unmuted.</source> 3870 <source>Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> unmuted.</source>
3825 <target>帳號 <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> 已解除éœéŸ³ã€‚</target> 3871 <target>帳號 <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> 已解除éœéŸ³ã€‚</target>
@@ -5362,6 +5408,13 @@ When you will upload a video in this channel, the video support field will be au
5362 <context context-type="linenumber">1</context> 5408 <context context-type="linenumber">1</context>
5363 </context-group> 5409 </context-group>
5364 </trans-unit> 5410 </trans-unit>
5411 <trans-unit id="534202c90c6dcadd2989fc72c5030d5483e26096">
5412 <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> email set as verified</source>
5413 <target>使用者 <x id="INTERPOLATION" equiv-text="{{username}}"/> çš„é›»å­éƒµä»¶è¨­å®šç‚ºå·²é©—è­‰</target>
5414 <context-group name="null">
5415 <context context-type="linenumber">1</context>
5416 </context-group>
5417 </trans-unit>
5365 <trans-unit id="33a6319f765848a22a155cef9f1d8e645202e249"> 5418 <trans-unit id="33a6319f765848a22a155cef9f1d8e645202e249">
5366 <source>Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> muted.</source> 5419 <source>Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> muted.</source>
5367 <target>帳號 <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> 已解除éœéŸ³ã€‚</target> 5420 <target>帳號 <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> 已解除éœéŸ³ã€‚</target>
@@ -5544,6 +5597,20 @@ When you will upload a video in this channel, the video support field will be au
5544 <context context-type="linenumber">1</context> 5597 <context context-type="linenumber">1</context>
5545 </context-group> 5598 </context-group>
5546 </trans-unit> 5599 </trans-unit>
5600 <trans-unit id="21565881ad1dff3c98738b9535b3515cec140609">
5601 <source>Welcome! Now please check your emails to verify your account and complete signup.</source>
5602 <target>æ­¡è¿Žï¼ç¾åœ¨è«‹æª¢æŸ¥æ‚¨çš„é›»å­éƒµä»¶ä»¥é©—證您的帳號並完æˆè¨»å†Šã€‚</target>
5603 <context-group name="null">
5604 <context context-type="linenumber">1</context>
5605 </context-group>
5606 </trans-unit>
5607 <trans-unit id="14200e26888a07633c0f177020dce8f3ec7311a6">
5608 <source>You are now logged in as <x id="INTERPOLATION" equiv-text="{{username}}"/>!</source>
5609 <target>您ç¾åœ¨ç™»å…¥ç‚º <x id="INTERPOLATION" equiv-text="{{username}}"/>ï¼</target>
5610 <context-group name="null">
5611 <context context-type="linenumber">1</context>
5612 </context-group>
5613 </trans-unit>
5547 <trans-unit id="320c9c3482a0ebe46da42ce9e0cbdc5ba26ea8bb"> 5614 <trans-unit id="320c9c3482a0ebe46da42ce9e0cbdc5ba26ea8bb">
5548 <source>Video to import updated.</source> 5615 <source>Video to import updated.</source>
5549 <target>è¦åŒ¯å…¥çš„影片已更新。</target> 5616 <target>è¦åŒ¯å…¥çš„影片已更新。</target>
diff --git a/client/src/locale/target/iso639_pl_PL.xml b/client/src/locale/target/iso639_pl_PL.xml
deleted file mode 100644
index b483f5ce8..000000000
--- a/client/src/locale/target/iso639_pl_PL.xml
+++ /dev/null
@@ -1,695 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!--XLIFF document generated by Zanata. Visit http://zanata.org for more infomation.-->
3<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" xmlns:xyz="urn:appInfo:Items" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.1 http://www.oasis-open.org/committees/xliff/documents/xliff-core-1.1.xsd" version="1.1">
4 <file source-language="en-US" datatype="plaintext" original="" target-language="pl-PL">
5 <body>
6 <trans-unit id="Afar">
7 <source>Afar</source>
8 <target>Afar</target>
9 </trans-unit>
10 <trans-unit id="Abkhazian">
11 <source>Abkhazian</source>
12 <target>Abchaski</target>
13 </trans-unit>
14 <trans-unit id="Afrikaans">
15 <source>Afrikaans</source>
16 <target>Afrikaans</target>
17 </trans-unit>
18 <trans-unit id="Akan">
19 <source>Akan</source>
20 <target>Akan</target>
21 </trans-unit>
22 <trans-unit id="Amharic">
23 <source>Amharic</source>
24 <target>Amharski</target>
25 </trans-unit>
26 <trans-unit id="Arabic">
27 <source>Arabic</source>
28 <target>Arabski</target>
29 </trans-unit>
30 <trans-unit id="Aragonese">
31 <source>Aragonese</source>
32 </trans-unit>
33 <trans-unit id="American Sign Language">
34 <source>American Sign Language</source>
35 <target>Amerykański Język Migowy</target>
36 </trans-unit>
37 <trans-unit id="Assamese">
38 <source>Assamese</source>
39 </trans-unit>
40 <trans-unit id="Avaric">
41 <source>Avaric</source>
42 <target>Awarski</target>
43 </trans-unit>
44 <trans-unit id="Kotava">
45 <source>Kotava</source>
46 </trans-unit>
47 <trans-unit id="Aymara">
48 <source>Aymara</source>
49 </trans-unit>
50 <trans-unit id="Azerbaijani">
51 <source>Azerbaijani</source>
52 </trans-unit>
53 <trans-unit id="Bashkir">
54 <source>Bashkir</source>
55 <target>Baszkirski</target>
56 </trans-unit>
57 <trans-unit id="Bambara">
58 <source>Bambara</source>
59 <target>Bambara</target>
60 </trans-unit>
61 <trans-unit id="Belarusian">
62 <source>Belarusian</source>
63 <target>Białoruski</target>
64 </trans-unit>
65 <trans-unit id="Bengali">
66 <source>Bengali</source>
67 <target>Bengalski</target>
68 </trans-unit>
69 <trans-unit id="British Sign Language">
70 <source>British Sign Language</source>
71 <target>Brytyjski Język Migowy</target>
72 </trans-unit>
73 <trans-unit id="Bislama">
74 <source>Bislama</source>
75 <target>Bislama</target>
76 </trans-unit>
77 <trans-unit id="Tibetan">
78 <source>Tibetan</source>
79 <target>Tybetański</target>
80 </trans-unit>
81 <trans-unit id="Bosnian">
82 <source>Bosnian</source>
83 <target>Bośniacki</target>
84 </trans-unit>
85 <trans-unit id="Breton">
86 <source>Breton</source>
87 <target>Bretoński</target>
88 </trans-unit>
89 <trans-unit id="Bulgarian">
90 <source>Bulgarian</source>
91 <target>Bułgarski</target>
92 </trans-unit>
93 <trans-unit id="Brazilian Sign Language">
94 <source>Brazilian Sign Language</source>
95 </trans-unit>
96 <trans-unit id="Catalan">
97 <source>Catalan</source>
98 <target>Kataloński</target>
99 </trans-unit>
100 <trans-unit id="Czech">
101 <source>Czech</source>
102 <target>Czeski</target>
103 </trans-unit>
104 <trans-unit id="Chamorro">
105 <source>Chamorro</source>
106 </trans-unit>
107 <trans-unit id="Chechen">
108 <source>Chechen</source>
109 </trans-unit>
110 <trans-unit id="Chuvash">
111 <source>Chuvash</source>
112 </trans-unit>
113 <trans-unit id="Cornish">
114 <source>Cornish</source>
115 <target>Kornijski</target>
116 </trans-unit>
117 <trans-unit id="Corsican">
118 <source>Corsican</source>
119 <target>Korsykański</target>
120 </trans-unit>
121 <trans-unit id="Cree">
122 <source>Cree</source>
123 <target>Kri</target>
124 </trans-unit>
125 <trans-unit id="Czech Sign Language">
126 <source>Czech Sign Language</source>
127 <target>Czeski Język Migowy</target>
128 </trans-unit>
129 <trans-unit id="Chinese Sign Language">
130 <source>Chinese Sign Language</source>
131 <target>Chiński Język Migowy</target>
132 </trans-unit>
133 <trans-unit id="Welsh">
134 <source>Welsh</source>
135 <target>Walijski</target>
136 </trans-unit>
137 <trans-unit id="Danish">
138 <source>Danish</source>
139 <target>Duński</target>
140 </trans-unit>
141 <trans-unit id="German">
142 <source>German</source>
143 <target>Niemiecki</target>
144 </trans-unit>
145 <trans-unit id="Dhivehi">
146 <source>Dhivehi</source>
147 </trans-unit>
148 <trans-unit id="Danish Sign Language">
149 <source>Danish Sign Language</source>
150 <target>Duński Język Migowy</target>
151 </trans-unit>
152 <trans-unit id="Dzongkha">
153 <source>Dzongkha</source>
154 <target>Dzongkha</target>
155 </trans-unit>
156 <trans-unit id="Modern Greek (1453-)">
157 <source>Modern Greek (1453-)</source>
158 <target>Nowogrecki (1453-)</target>
159 </trans-unit>
160 <trans-unit id="English">
161 <source>English</source>
162 <target>Angielski</target>
163 </trans-unit>
164 <trans-unit id="Esperanto">
165 <source>Esperanto</source>
166 </trans-unit>
167 <trans-unit id="Estonian">
168 <source>Estonian</source>
169 <target>Estoński</target>
170 </trans-unit>
171 <trans-unit id="Basque">
172 <source>Basque</source>
173 <target>Baskijski</target>
174 </trans-unit>
175 <trans-unit id="Ewe">
176 <source>Ewe</source>
177 <target>Ewe</target>
178 </trans-unit>
179 <trans-unit id="Faroese">
180 <source>Faroese</source>
181 </trans-unit>
182 <trans-unit id="Persian">
183 <source>Persian</source>
184 <target>Perski</target>
185 </trans-unit>
186 <trans-unit id="Fijian">
187 <source>Fijian</source>
188 <target>Fidżyjski</target>
189 </trans-unit>
190 <trans-unit id="Finnish">
191 <source>Finnish</source>
192 <target>Fiński</target>
193 </trans-unit>
194 <trans-unit id="French">
195 <source>French</source>
196 <target>Francuski</target>
197 </trans-unit>
198 <trans-unit id="Western Frisian">
199 <source>Western Frisian</source>
200 </trans-unit>
201 <trans-unit id="French Sign Language">
202 <source>French Sign Language</source>
203 <target>Francuski Język Migowy</target>
204 </trans-unit>
205 <trans-unit id="Fulah">
206 <source>Fulah</source>
207 <target>Ful</target>
208 </trans-unit>
209 <trans-unit id="Scottish Gaelic">
210 <source>Scottish Gaelic</source>
211 </trans-unit>
212 <trans-unit id="Irish">
213 <source>Irish</source>
214 <target>Irlandzki</target>
215 </trans-unit>
216 <trans-unit id="Galician">
217 <source>Galician</source>
218 <target>Galicyjski</target>
219 </trans-unit>
220 <trans-unit id="Manx">
221 <source>Manx</source>
222 </trans-unit>
223 <trans-unit id="Guarani">
224 <source>Guarani</source>
225 </trans-unit>
226 <trans-unit id="German Sign Language">
227 <source>German Sign Language</source>
228 <target>Niemiecki Język Migowy</target>
229 </trans-unit>
230 <trans-unit id="Gujarati">
231 <source>Gujarati</source>
232 </trans-unit>
233 <trans-unit id="Haitian">
234 <source>Haitian</source>
235 </trans-unit>
236 <trans-unit id="Hausa">
237 <source>Hausa</source>
238 <target>Hausa</target>
239 </trans-unit>
240 <trans-unit id="Serbo-Croatian">
241 <source>Serbo-Croatian</source>
242 <target>Serbsko-Chorwacki</target>
243 </trans-unit>
244 <trans-unit id="Hebrew">
245 <source>Hebrew</source>
246 </trans-unit>
247 <trans-unit id="Herero">
248 <source>Herero</source>
249 </trans-unit>
250 <trans-unit id="Hindi">
251 <source>Hindi</source>
252 <target>Hindi</target>
253 </trans-unit>
254 <trans-unit id="Hiri Motu">
255 <source>Hiri Motu</source>
256 </trans-unit>
257 <trans-unit id="Croatian">
258 <source>Croatian</source>
259 <target>Chorwacki</target>
260 </trans-unit>
261 <trans-unit id="Hungarian">
262 <source>Hungarian</source>
263 <target>Węgierski</target>
264 </trans-unit>
265 <trans-unit id="Armenian">
266 <source>Armenian</source>
267 <target>Ormański</target>
268 </trans-unit>
269 <trans-unit id="Igbo">
270 <source>Igbo</source>
271 <target>Igbo</target>
272 </trans-unit>
273 <trans-unit id="Sichuan Yi">
274 <source>Sichuan Yi</source>
275 </trans-unit>
276 <trans-unit id="Inuktitut">
277 <source>Inuktitut</source>
278 </trans-unit>
279 <trans-unit id="Indonesian">
280 <source>Indonesian</source>
281 <target>Indonezyjski</target>
282 </trans-unit>
283 <trans-unit id="Inupiaq">
284 <source>Inupiaq</source>
285 </trans-unit>
286 <trans-unit id="Icelandic">
287 <source>Icelandic</source>
288 <target>Islandzki</target>
289 </trans-unit>
290 <trans-unit id="Italian">
291 <source>Italian</source>
292 <target>WÅ‚oski</target>
293 </trans-unit>
294 <trans-unit id="Javanese">
295 <source>Javanese</source>
296 <target>Jawajski</target>
297 </trans-unit>
298 <trans-unit id="Lojban">
299 <source>Lojban</source>
300 </trans-unit>
301 <trans-unit id="Japanese">
302 <source>Japanese</source>
303 <target>Japoński</target>
304 </trans-unit>
305 <trans-unit id="Japanese Sign Language">
306 <source>Japanese Sign Language</source>
307 <target>Japoński Język Migowy</target>
308 </trans-unit>
309 <trans-unit id="Kalaallisut">
310 <source>Kalaallisut</source>
311 </trans-unit>
312 <trans-unit id="Kannada">
313 <source>Kannada</source>
314 </trans-unit>
315 <trans-unit id="Kashmiri">
316 <source>Kashmiri</source>
317 </trans-unit>
318 <trans-unit id="Georgian">
319 <source>Georgian</source>
320 </trans-unit>
321 <trans-unit id="Kanuri">
322 <source>Kanuri</source>
323 </trans-unit>
324 <trans-unit id="Kazakh">
325 <source>Kazakh</source>
326 </trans-unit>
327 <trans-unit id="Khmer">
328 <source>Khmer</source>
329 </trans-unit>
330 <trans-unit id="Kikuyu">
331 <source>Kikuyu</source>
332 </trans-unit>
333 <trans-unit id="Kinyarwanda">
334 <source>Kinyarwanda</source>
335 </trans-unit>
336 <trans-unit id="Kirghiz">
337 <source>Kirghiz</source>
338 </trans-unit>
339 <trans-unit id="Komi">
340 <source>Komi</source>
341 <target>Komi</target>
342 </trans-unit>
343 <trans-unit id="Kongo">
344 <source>Kongo</source>
345 <target>Kongo</target>
346 </trans-unit>
347 <trans-unit id="Korean">
348 <source>Korean</source>
349 <target>Koreański</target>
350 </trans-unit>
351 <trans-unit id="Kuanyama">
352 <source>Kuanyama</source>
353 </trans-unit>
354 <trans-unit id="Kurdish">
355 <source>Kurdish</source>
356 <target>Kurdyjski</target>
357 </trans-unit>
358 <trans-unit id="Lao">
359 <source>Lao</source>
360 <target>Laotański</target>
361 </trans-unit>
362 <trans-unit id="Latvian">
363 <source>Latvian</source>
364 <target>Åotewski</target>
365 </trans-unit>
366 <trans-unit id="Limburgan">
367 <source>Limburgan</source>
368 </trans-unit>
369 <trans-unit id="Lingala">
370 <source>Lingala</source>
371 </trans-unit>
372 <trans-unit id="Lithuanian">
373 <source>Lithuanian</source>
374 <target>Litewski</target>
375 </trans-unit>
376 <trans-unit id="Luxembourgish">
377 <source>Luxembourgish</source>
378 <target>Luksemburski</target>
379 </trans-unit>
380 <trans-unit id="Luba-Katanga">
381 <source>Luba-Katanga</source>
382 </trans-unit>
383 <trans-unit id="Ganda">
384 <source>Ganda</source>
385 </trans-unit>
386 <trans-unit id="Marshallese">
387 <source>Marshallese</source>
388 </trans-unit>
389 <trans-unit id="Malayalam">
390 <source>Malayalam</source>
391 </trans-unit>
392 <trans-unit id="Marathi">
393 <source>Marathi</source>
394 </trans-unit>
395 <trans-unit id="Macedonian">
396 <source>Macedonian</source>
397 </trans-unit>
398 <trans-unit id="Malagasy">
399 <source>Malagasy</source>
400 </trans-unit>
401 <trans-unit id="Maltese">
402 <source>Maltese</source>
403 </trans-unit>
404 <trans-unit id="Mongolian">
405 <source>Mongolian</source>
406 </trans-unit>
407 <trans-unit id="Maori">
408 <source>Maori</source>
409 </trans-unit>
410 <trans-unit id="Malay (macrolanguage)">
411 <source>Malay (macrolanguage)</source>
412 </trans-unit>
413 <trans-unit id="Burmese">
414 <source>Burmese</source>
415 </trans-unit>
416 <trans-unit id="Nauru">
417 <source>Nauru</source>
418 <target>Naurański</target>
419 </trans-unit>
420 <trans-unit id="Navajo">
421 <source>Navajo</source>
422 </trans-unit>
423 <trans-unit id="South Ndebele">
424 <source>South Ndebele</source>
425 </trans-unit>
426 <trans-unit id="North Ndebele">
427 <source>North Ndebele</source>
428 </trans-unit>
429 <trans-unit id="Ndonga">
430 <source>Ndonga</source>
431 </trans-unit>
432 <trans-unit id="Nepali (macrolanguage)">
433 <source>Nepali (macrolanguage)</source>
434 </trans-unit>
435 <trans-unit id="Dutch">
436 <source>Dutch</source>
437 <target>Holenderski</target>
438 </trans-unit>
439 <trans-unit id="Norwegian Nynorsk">
440 <source>Norwegian Nynorsk</source>
441 <target>Norweski Nynorsk</target>
442 </trans-unit>
443 <trans-unit id="Norwegian Bokmål">
444 <source>Norwegian Bokmål</source>
445 <target>Norweski Bokmål</target>
446 </trans-unit>
447 <trans-unit id="Norwegian">
448 <source>Norwegian</source>
449 <target>Norweski</target>
450 </trans-unit>
451 <trans-unit id="Nyanja">
452 <source>Nyanja</source>
453 </trans-unit>
454 <trans-unit id="Occitan">
455 <source>Occitan</source>
456 </trans-unit>
457 <trans-unit id="Ojibwa">
458 <source>Ojibwa</source>
459 </trans-unit>
460 <trans-unit id="Oriya (macrolanguage)">
461 <source>Oriya (macrolanguage)</source>
462 </trans-unit>
463 <trans-unit id="Oromo">
464 <source>Oromo</source>
465 <target>Oromo</target>
466 </trans-unit>
467 <trans-unit id="Ossetian">
468 <source>Ossetian</source>
469 </trans-unit>
470 <trans-unit id="Panjabi">
471 <source>Panjabi</source>
472 </trans-unit>
473 <trans-unit id="Pakistan Sign Language">
474 <source>Pakistan Sign Language</source>
475 </trans-unit>
476 <trans-unit id="Polish">
477 <source>Polish</source>
478 <target>Polski</target>
479 </trans-unit>
480 <trans-unit id="Portuguese">
481 <source>Portuguese</source>
482 <target>Portugalski</target>
483 </trans-unit>
484 <trans-unit id="Pushto">
485 <source>Pushto</source>
486 <target>Paszto</target>
487 </trans-unit>
488 <trans-unit id="Quechua">
489 <source>Quechua</source>
490 </trans-unit>
491 <trans-unit id="Romansh">
492 <source>Romansh</source>
493 <target>Romansz</target>
494 </trans-unit>
495 <trans-unit id="Romanian">
496 <source>Romanian</source>
497 <target>Rumuński</target>
498 </trans-unit>
499 <trans-unit id="Russian Sign Language">
500 <source>Russian Sign Language</source>
501 <target>Rosyjski Język Migowy</target>
502 </trans-unit>
503 <trans-unit id="Rundi">
504 <source>Rundi</source>
505 <target>Rundi</target>
506 </trans-unit>
507 <trans-unit id="Russian">
508 <source>Russian</source>
509 <target>Rosyjski</target>
510 </trans-unit>
511 <trans-unit id="Sango">
512 <source>Sango</source>
513 <target>Sango</target>
514 </trans-unit>
515 <trans-unit id="Saudi Arabian Sign Language">
516 <source>Saudi Arabian Sign Language</source>
517 </trans-unit>
518 <trans-unit id="South African Sign Language">
519 <source>South African Sign Language</source>
520 </trans-unit>
521 <trans-unit id="Sinhala">
522 <source>Sinhala</source>
523 </trans-unit>
524 <trans-unit id="Slovak">
525 <source>Slovak</source>
526 <target>SÅ‚owacki</target>
527 </trans-unit>
528 <trans-unit id="Slovenian">
529 <source>Slovenian</source>
530 <target>Słoweński</target>
531 </trans-unit>
532 <trans-unit id="Northern Sami">
533 <source>Northern Sami</source>
534 </trans-unit>
535 <trans-unit id="Samoan">
536 <source>Samoan</source>
537 <target>Samoański</target>
538 </trans-unit>
539 <trans-unit id="Shona">
540 <source>Shona</source>
541 <target>Shona</target>
542 </trans-unit>
543 <trans-unit id="Sindhi">
544 <source>Sindhi</source>
545 <target>Sindhi</target>
546 </trans-unit>
547 <trans-unit id="Somali">
548 <source>Somali</source>
549 <target>Somalijski</target>
550 </trans-unit>
551 <trans-unit id="Southern Sotho">
552 <source>Southern Sotho</source>
553 </trans-unit>
554 <trans-unit id="Spanish">
555 <source>Spanish</source>
556 <target>Hiszpański</target>
557 </trans-unit>
558 <trans-unit id="Albanian">
559 <source>Albanian</source>
560 </trans-unit>
561 <trans-unit id="Sardinian">
562 <source>Sardinian</source>
563 </trans-unit>
564 <trans-unit id="Serbian">
565 <source>Serbian</source>
566 <target>Serbski</target>
567 </trans-unit>
568 <trans-unit id="Swati">
569 <source>Swati</source>
570 </trans-unit>
571 <trans-unit id="Sundanese">
572 <source>Sundanese</source>
573 </trans-unit>
574 <trans-unit id="Swahili (macrolanguage)">
575 <source>Swahili (macrolanguage)</source>
576 </trans-unit>
577 <trans-unit id="Swedish">
578 <source>Swedish</source>
579 <target>Szwedzki</target>
580 </trans-unit>
581 <trans-unit id="Swedish Sign Language">
582 <source>Swedish Sign Language</source>
583 <target>Szwedzki Język Migowy</target>
584 </trans-unit>
585 <trans-unit id="Tahitian">
586 <source>Tahitian</source>
587 </trans-unit>
588 <trans-unit id="Tamil">
589 <source>Tamil</source>
590 <target>Tamilski</target>
591 </trans-unit>
592 <trans-unit id="Tatar">
593 <source>Tatar</source>
594 <target>Tatarski</target>
595 </trans-unit>
596 <trans-unit id="Telugu">
597 <source>Telugu</source>
598 <target>Telugu</target>
599 </trans-unit>
600 <trans-unit id="Tajik">
601 <source>Tajik</source>
602 <target>Tadżycki</target>
603 </trans-unit>
604 <trans-unit id="Tagalog">
605 <source>Tagalog</source>
606 <target>Tagalski</target>
607 </trans-unit>
608 <trans-unit id="Thai">
609 <source>Thai</source>
610 <target>Tajski</target>
611 </trans-unit>
612 <trans-unit id="Tigrinya">
613 <source>Tigrinya</source>
614 </trans-unit>
615 <trans-unit id="Klingon">
616 <source>Klingon</source>
617 </trans-unit>
618 <trans-unit id="Tonga (Tonga Islands)">
619 <source>Tonga (Tonga Islands)</source>
620 </trans-unit>
621 <trans-unit id="Tswana">
622 <source>Tswana</source>
623 </trans-unit>
624 <trans-unit id="Tsonga">
625 <source>Tsonga</source>
626 </trans-unit>
627 <trans-unit id="Turkmen">
628 <source>Turkmen</source>
629 <target>Turkmeński</target>
630 </trans-unit>
631 <trans-unit id="Turkish">
632 <source>Turkish</source>
633 <target>Turecki</target>
634 </trans-unit>
635 <trans-unit id="Twi">
636 <source>Twi</source>
637 <target>Twi</target>
638 </trans-unit>
639 <trans-unit id="Uighur">
640 <source>Uighur</source>
641 </trans-unit>
642 <trans-unit id="Ukrainian">
643 <source>Ukrainian</source>
644 <target>Ukraiński</target>
645 </trans-unit>
646 <trans-unit id="Urdu">
647 <source>Urdu</source>
648 <target>Urdu</target>
649 </trans-unit>
650 <trans-unit id="Uzbek">
651 <source>Uzbek</source>
652 <target>Uzbecki</target>
653 </trans-unit>
654 <trans-unit id="Venda">
655 <source>Venda</source>
656 <target>Venda</target>
657 </trans-unit>
658 <trans-unit id="Vietnamese">
659 <source>Vietnamese</source>
660 <target>Wietnamski</target>
661 </trans-unit>
662 <trans-unit id="Walloon">
663 <source>Walloon</source>
664 <target>Waloński</target>
665 </trans-unit>
666 <trans-unit id="Wolof">
667 <source>Wolof</source>
668 <target>Wolof</target>
669 </trans-unit>
670 <trans-unit id="Xhosa">
671 <source>Xhosa</source>
672 <target>Xhosa</target>
673 </trans-unit>
674 <trans-unit id="Yiddish">
675 <source>Yiddish</source>
676 <target>Jidysz</target>
677 </trans-unit>
678 <trans-unit id="Yoruba">
679 <source>Yoruba</source>
680 <target>Joruba</target>
681 </trans-unit>
682 <trans-unit id="Zhuang">
683 <source>Zhuang</source>
684 <target>Zhuang</target>
685 </trans-unit>
686 <trans-unit id="Chinese">
687 <source>Chinese</source>
688 <target>Chiński</target>
689 </trans-unit>
690 <trans-unit id="Zulu">
691 <source>Zulu</source>
692 <target>Zulu</target>
693 </trans-unit>
694 </body>
695 </file></xliff> \ No newline at end of file
diff --git a/client/src/locale/target/player_ar_001.xml b/client/src/locale/target/player_ar_001.xml
index f81c084d4..4e3a12ad7 100644
--- a/client/src/locale/target/player_ar_001.xml
+++ b/client/src/locale/target/player_ar_001.xml
@@ -81,7 +81,7 @@
81 </trans-unit> 81 </trans-unit>
82 <trans-unit id="Subtitles"> 82 <trans-unit id="Subtitles">
83 <source>Subtitles</source> 83 <source>Subtitles</source>
84 <target>ترجمة</target> 84 <target>الترجمات</target>
85 </trans-unit> 85 </trans-unit>
86 <trans-unit id="subtitles off"> 86 <trans-unit id="subtitles off">
87 <source>subtitles off</source> 87 <source>subtitles off</source>
diff --git a/client/src/locale/target/player_it_IT.json b/client/src/locale/target/player_it_IT.json
new file mode 100644
index 000000000..add193bfe
--- /dev/null
+++ b/client/src/locale/target/player_it_IT.json
@@ -0,0 +1 @@
{"Audio Player":"Riproduttore Audio","Video Player":"Riproduttore Video","Play":"Play","Pause":"Pausa","Replay":"Replay","Current Time":"Posizione attuale","Duration":"Durata","Remaining Time":"Tempo rimanente","Stream Type":"Tipo dello Streaming","LIVE":"LIVE","Loaded":"Caricato","Progress":"Stato","Progress Bar":"Barra di progresso","progress bar timing: currentTime={1} duration={2}":"{1} di {2}","Fullscreen":"Schermo intero","Non-Fullscreen":"Chiudi schermo intero","Mute":"Muto","Unmute":"Audio ","Playback Rate":"Velocità di riproduzione","Subtitles":"Sottotitoli","subtitles off":"Senza sottotitoli","Captions":"Sottotitoli per non udenti","captions off":"Senza sottotitoli per non udenti","Chapters":"Capitoli","Descriptions":"Descrizioni","descriptions off":"Descrizioni disattivate","Audio Track":"Traccia Audio","Volume Level":"Volume","You aborted the media playback":"La riproduzione del filmato è stata interrotta","A network error caused the media download to fail part-way.":"Il download del filmato è stato interrotto a causa di un problema rete.","The media could not be loaded, either because the server or network failed or because the format is not supported.":"Il filmato non può essere caricato a causa di un errore nel server o nella rete o perché il formato non viene supportato.","The media playback was aborted due to a corruption problem or because the media used features your browser did not support.":"La riproduzione del filmato è stata interrotta a causa di un file danneggiato o per l’utilizzo di impostazioni non supportate dal browser.","No compatible source was found for this media.":"Non ci sono fonti compatibili per questo filmato.","The media is encrypted and we do not have the keys to decrypt it.":"Il filmato è crittato e non disponiamo delle chiavi per decrittarlo","Play Video":"Riproduci Video","Close":"Chiudi","Close Modal Dialog":"Chiudi finestra di dialogo","Modal Window":"Finestra di dialogo","This is a modal window":"Questa è una finestra di dialogo","This modal can be closed by pressing the Escape key or activating the close button.":"Questa finestra di dialogo può essere chiusa premendo Esc o cliccando sul pulsante chiudi.",", opens captions settings dialog":", apri la finestra delle impostazioni delle didascalie",", opens subtitles settings dialog":", apri la finestra delle impostazioni dei sottotitoli",", opens descriptions settings dialog":", apri la finestra delle impostazioni delle descrizioni",", selected":", selezionati","captions settings":"impostazioni delle didascalie","subtitles settings":"impostazioni dei sottotitoli","descriptions settings":"impostazioni delle descrizioni","Text":"Testo","White":"Bianco","Black":"Nero","Red":"Rosso","Green":"Verde","Blue":"Blu","Yellow":"Giallo","Magenta":"Magenta","Cyan":"Ciano","Background":"Sfondo","Window":"Finestra","Transparent":"Trasparente","Semi-Transparent":"Semi-Trasparente","Opaque":"Opaco","Font Size":"Dimensione del Testo","Text Edge Style":"Stile dei Bordi del Testo","None":"Nessuno","Raised":"In Rilievo","Depressed":"Incavato","Uniform":"Uniforme","Dropshadow":"Ombreggiatura","Font Family":"Stile del Testo","Proportional Sans-Serif":"Senza Grazie Proporzionale","Monospace Sans-Serif":"Senza Grazie Monospazio","Proportional Serif":"Con Grazie Proporzionale","Monospace Serif":"Con Grazie Monospazio","Casual":"Casuale","Script":"Codice","Small Caps":"Maiuscoletto","Reset":"Ripristina","restore all settings to the default values":"ripristina tutte le impostazioni ai valori predefiniti","Done":"Fatto","Caption Settings Dialog":"Finestra delle Impostazioni dei Sottotitoli","Beginning of dialog window. Escape will cancel and close the window.":"Apertura della finestra di dialogo. Premendo ESC si annullerà e si chiuderà la finestra.","End of dialog window.":"Chiusura della finestra di dialogo.","{1} is loading.":"{1} è in caricamento.","Quality":"Qualità","Auto":"Auto","Speed":"Velocità","Subtitles/CC":"Sottotitoli/CC","peers":"nodi","Go to the video page":"Vai alla pagina del video","Settings":"Impostazioni","Uses P2P, others may know you are watching this video.":"Usa P2P, altri potrebbero sapere che stai guardando questo video.","Copy the video URL":"Copia l'URL del video","Copy the video URL at the current time":"Copia l'URL del video della posizione corrente","Copy embed code":"Copia il codice per incorporare"} \ No newline at end of file
diff --git a/client/src/locale/target/player_pl_PL.json b/client/src/locale/target/player_pl_PL.json
new file mode 100644
index 000000000..2178a137d
--- /dev/null
+++ b/client/src/locale/target/player_pl_PL.json
@@ -0,0 +1 @@
{"Audio Player":"Odtwarzacz audio","Video Player":"Odtwarzacz wideo","Play":"Odtwórz","Pause":"Wstrzymaj","Replay":"Powtórz","Current Time":"Obecny czas","Duration":"Czas trwania","Remaining Time":"Pozostały czas","Stream Type":"Rodzaj strumienia","LIVE":"NA ŻYWO","Loaded":"Załadowano","Progress":"Postęp","Progress Bar":"Pasek postępu","progress bar timing: currentTime={1} duration={2}":"{1} z {2}","Fullscreen":"Pełny ekran","Non-Fullscreen":"Bez pełnego ekranu","Mute":"Wycisz","Unmute":"Cofnij wyciszenie","Playback Rate":"Szybkość odtwarzania","Subtitles":"Napisy","subtitles off":"napisy są wyłączone","Captions":"CC","captions off":"CC są wyłączone","Chapters":"Rozdziały","Descriptions":"Opisy","descriptions off":"opisy są wyłączone","Audio Track":"Ścieżka dźwiękowa","Volume Level":"Poziom głośności","You aborted the media playback":"Przerwałeś odtwarzanie zawartości mulimedialnej","A network error caused the media download to fail part-way.":"Błąd sieci spowodował, że zawartość multimedialna została pobrana tylko częściowo.","The media could not be loaded, either because the server or network failed or because the format is not supported.":"Nie udało się załadować zawartości multimedialnej z powodu błędy sieci lub serwera lub ponieważ format nie jest obsługiwany.","The media playback was aborted due to a corruption problem or because the media used features your browser did not support.":"Odtwarzanie zostało przerwane ze względu na uszkodzenie pliku lub przez brak wsparcia funkcji multimediów przez Twoją przeglądarkę.","No compatible source was found for this media.":"Nie znaleziono kompatybilnego źródła dla tego media.","The media is encrypted and we do not have the keys to decrypt it.":"Zawartość multimedialna jest zaszyfrowana, a klucz do jej odszyfrowania jest nieznany.","Play Video":"Odtwórz film","Close":"Zamknij","Close Modal Dialog":"Zamknij okno modalne","Modal Window":"Okno modalne","This is a modal window":"To jest okno modalne","This modal can be closed by pressing the Escape key or activating the close button.":"To okno może zostać zamknięte klawiszem Escape lub przyciskiem zamykania.",", opens captions settings dialog":", otwiera okno ustawień CC",", opens subtitles settings dialog":", otwiera okno ustawień napisów",", opens descriptions settings dialog":", otwiera okno ustawień opisów",", selected":", zaznaczone","captions settings":"ustawienia CC","subtitles settings":"ustawienia napisów","descriptions settings":"ustawienia opisów","Text":"Tekst","White":"Biały","Black":"Czarny","Red":"Czerwony","Green":"Zielony","Blue":"Niebieski","Yellow":"Żółty","Magenta":"Magenta","Cyan":"Cyjanowy","Background":"Tło","Window":"Okno","Transparent":"Przezroczyste","Semi-Transparent":"Półprzezroczyste","Opaque":"Widoczne","Font Size":"Rozmiar czcionki","Text Edge Style":"Styl krawędzi tekstu","None":"Brak","Raised":"Wypukłe","Depressed":"Wgłębione","Uniform":"Jednolity","Dropshadow":"Cień","Font Family":"Rodzina czcionek","Proportional Sans-Serif":"Proporcjonalne bezszeryfowe","Monospace Sans-Serif":"Bezszeryfowe o stałej szerokości","Proportional Serif":"Proporcjonalne szeryfowe","Monospace Serif":"Szeryfowe o stałej szerokości","Casual":"Ozdobne","Script":"Pismo odręczne","Small Caps":"Kapitaliki","Reset":"Resetuj","restore all settings to the default values":"przywróć wszystkie ustawienia do wartości domyślnych","Done":"Gotowe","Caption Settings Dialog":"Okno ustawień napisów","Beginning of dialog window. Escape will cancel and close the window.":"Początek okna dialogowego. Przycisk Escape anuluje i zamknie okno.","End of dialog window.":"Koniec okna dialogowego.","{1} is loading.":"{1} ładuje się.","Quality":"Jakość","Auto":"Automatyczna","Speed":"Prędkość","Subtitles/CC":"Napisy/CC","peers":"peers","Go to the video page":"Przejdź na stronę filmu","Settings":"Ustawienia","Uses P2P, others may know you are watching this video.":"Korzysta z P2P, inni mogą dowiedzieć się, że oglądasz ten film.","Copy the video URL":"Skopiuj adres URL filmu","Copy the video URL at the current time":"Skopiuj adres URL filmu z obecnym czasem","Copy embed code":"Skopiuj kod do osadzenia"} \ No newline at end of file
diff --git a/client/src/locale/target/player_pl_PL.xml b/client/src/locale/target/player_pl_PL.xml
deleted file mode 100644
index 2affa5948..000000000
--- a/client/src/locale/target/player_pl_PL.xml
+++ /dev/null
@@ -1,383 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!--XLIFF document generated by Zanata. Visit http://zanata.org for more infomation.-->
3<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" xmlns:xyz="urn:appInfo:Items" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.1 http://www.oasis-open.org/committees/xliff/documents/xliff-core-1.1.xsd" version="1.1">
4 <file source-language="en-US" datatype="plaintext" original="" target-language="pl-PL">
5 <body>
6 <trans-unit id="Audio Player">
7 <source>Audio Player</source>
8 <target>Odtwarzacz audio</target>
9 </trans-unit>
10 <trans-unit id="Video Player">
11 <source>Video Player</source>
12 <target>Odtwarzacz wideo</target>
13 </trans-unit>
14 <trans-unit id="Play">
15 <source>Play</source>
16 <target>Odtwórz</target>
17 </trans-unit>
18 <trans-unit id="Pause">
19 <source>Pause</source>
20 <target>Wstrzymaj</target>
21 </trans-unit>
22 <trans-unit id="Replay">
23 <source>Replay</source>
24 <target>Powtórz</target>
25 </trans-unit>
26 <trans-unit id="Current Time">
27 <source>Current Time</source>
28 <target>Obecny czas</target>
29 </trans-unit>
30 <trans-unit id="Duration">
31 <source>Duration</source>
32 <target>Czas trwania</target>
33 </trans-unit>
34 <trans-unit id="Remaining Time">
35 <source>Remaining Time</source>
36 <target>Pozostały czas</target>
37 </trans-unit>
38 <trans-unit id="Stream Type">
39 <source>Stream Type</source>
40 <target>Rodzaj strumienia</target>
41 </trans-unit>
42 <trans-unit id="LIVE">
43 <source>LIVE</source>
44 <target>NA ŻYWO</target>
45 </trans-unit>
46 <trans-unit id="Loaded">
47 <source>Loaded</source>
48 <target>Załadowano</target>
49 </trans-unit>
50 <trans-unit id="Progress">
51 <source>Progress</source>
52 <target>Postęp</target>
53 </trans-unit>
54 <trans-unit id="Progress Bar">
55 <source>Progress Bar</source>
56 <target>Pasek postępu</target>
57 </trans-unit>
58 <trans-unit id="progress bar timing: currentTime={1} duration={2}">
59 <source>{1} of {2}</source>
60 <target>{1} z {2}</target>
61 </trans-unit>
62 <trans-unit id="Fullscreen">
63 <source>Fullscreen</source>
64 <target>Pełny ekran</target>
65 </trans-unit>
66 <trans-unit id="Non-Fullscreen">
67 <source>Non-Fullscreen</source>
68 <target>Bez pełnego ekranu</target>
69 </trans-unit>
70 <trans-unit id="Mute">
71 <source>Mute</source>
72 <target>Wycisz</target>
73 </trans-unit>
74 <trans-unit id="Unmute">
75 <source>Unmute</source>
76 <target>Cofnij wyciszenie</target>
77 </trans-unit>
78 <trans-unit id="Playback Rate">
79 <source>Playback Rate</source>
80 <target>Szybkość odtwarzania</target>
81 </trans-unit>
82 <trans-unit id="Subtitles">
83 <source>Subtitles</source>
84 <target>Napisy</target>
85 </trans-unit>
86 <trans-unit id="subtitles off">
87 <source>subtitles off</source>
88 <target>napisy są wyłączone</target>
89 </trans-unit>
90 <trans-unit id="Captions">
91 <source>Captions</source>
92 <target>CC</target>
93 </trans-unit>
94 <trans-unit id="captions off">
95 <source>captions off</source>
96 <target>CC są wyłączone</target>
97 </trans-unit>
98 <trans-unit id="Chapters">
99 <source>Chapters</source>
100 <target>Rozdziały</target>
101 </trans-unit>
102 <trans-unit id="Descriptions">
103 <source>Descriptions</source>
104 <target>Opisy</target>
105 </trans-unit>
106 <trans-unit id="descriptions off">
107 <source>descriptions off</source>
108 <target>opisy są wyłączone</target>
109 </trans-unit>
110 <trans-unit id="Audio Track">
111 <source>Audio Track</source>
112 <target>Ścieżka dźwiękowa</target>
113 </trans-unit>
114 <trans-unit id="Volume Level">
115 <source>Volume Level</source>
116 <target>Poziom głośności</target>
117 </trans-unit>
118 <trans-unit id="You aborted the media playback">
119 <source>You aborted the media playback</source>
120 <target>Przerwałeś odtwarzanie zawartości mulimedialnej</target>
121 </trans-unit>
122 <trans-unit id="A network error caused the media download to fail part-way.">
123 <source>A network error caused the media download to fail part-way.</source>
124 <target>Błąd sieci spowodował, że zawartość multimedialna została pobrana tylko częściowo.</target>
125 </trans-unit>
126 <trans-unit id="The media could not be loaded, either because the server or network failed or because the format is not supported.">
127 <source>The media could not be loaded, either because the server or network failed or because the format is not supported.</source>
128 <target>Nie udało się załadować zawartości multimedialnej z powodu błędy sieci lub serwera lub ponieważ format nie jest obsługiwany.</target>
129 </trans-unit>
130 <trans-unit id="The media playback was aborted due to a corruption problem or because the media used features your browser did not support.">
131 <source>The media playback was aborted due to a corruption problem or because the media used features your browser did not support.</source>
132 <target>Odtwarzanie zostało przerwane ze względu na uszkodzenie pliku lub przez brak wsparcia funkcji multimediów przez Twoją przeglądarkę.</target>
133 </trans-unit>
134 <trans-unit id="No compatible source was found for this media.">
135 <source>No compatible source was found for this media.</source>
136 <target>Nie znaleziono kompatybilnego źródła dla tego media.</target>
137 </trans-unit>
138 <trans-unit id="The media is encrypted and we do not have the keys to decrypt it.">
139 <source>The media is encrypted and we do not have the keys to decrypt it.</source>
140 <target>Zawartość multimedialna jest zaszyfrowana, a klucz do jej odszyfrowania jest nieznany.</target>
141 </trans-unit>
142 <trans-unit id="Play Video">
143 <source>Play Video</source>
144 <target>Odtwórz film</target>
145 </trans-unit>
146 <trans-unit id="Close">
147 <source>Close</source>
148 <target>Zamknij</target>
149 </trans-unit>
150 <trans-unit id="Close Modal Dialog">
151 <source>Close Modal Dialog</source>
152 <target>Zamknij okno modalne</target>
153 </trans-unit>
154 <trans-unit id="Modal Window">
155 <source>Modal Window</source>
156 <target>Okno modalne</target>
157 </trans-unit>
158 <trans-unit id="This is a modal window">
159 <source>This is a modal window</source>
160 <target>To jest okno modalne</target>
161 </trans-unit>
162 <trans-unit id="This modal can be closed by pressing the Escape key or activating the close button.">
163 <source>This modal can be closed by pressing the Escape key or activating the close button.</source>
164 <target>To okno może zostać zamknięte klawiszem Escape lub przyciskiem zamykania.</target>
165 </trans-unit>
166 <trans-unit id=", opens captions settings dialog">
167 <source>, opens captions settings dialog</source>
168 <target>, otwiera okno ustawień CC</target>
169 </trans-unit>
170 <trans-unit id=", opens subtitles settings dialog">
171 <source>, opens subtitles settings dialog</source>
172 <target>, otwiera okno ustawień napisów</target>
173 </trans-unit>
174 <trans-unit id=", opens descriptions settings dialog">
175 <source>, opens descriptions settings dialog</source>
176 <target>, otwiera okno ustawień opisów</target>
177 </trans-unit>
178 <trans-unit id=", selected">
179 <source>, selected</source>
180 <target>, zaznaczone</target>
181 </trans-unit>
182 <trans-unit id="captions settings">
183 <source>captions settings</source>
184 <target>ustawienia CC</target>
185 </trans-unit>
186 <trans-unit id="subtitles settings">
187 <source>subititles settings</source>
188 <target>ustawienia napisów</target>
189 </trans-unit>
190 <trans-unit id="descriptions settings">
191 <source>descriptions settings</source>
192 <target>ustawienia opisów</target>
193 </trans-unit>
194 <trans-unit id="Text">
195 <source>Text</source>
196 <target>Tekst</target>
197 </trans-unit>
198 <trans-unit id="White">
199 <source>White</source>
200 <target>Biały</target>
201 </trans-unit>
202 <trans-unit id="Black">
203 <source>Black</source>
204 <target>Czarny</target>
205 </trans-unit>
206 <trans-unit id="Red">
207 <source>Red</source>
208 <target>Czerwony</target>
209 </trans-unit>
210 <trans-unit id="Green">
211 <source>Green</source>
212 <target>Zielony</target>
213 </trans-unit>
214 <trans-unit id="Blue">
215 <source>Blue</source>
216 <target>Niebieski</target>
217 </trans-unit>
218 <trans-unit id="Yellow">
219 <source>Yellow</source>
220 <target>Żółty</target>
221 </trans-unit>
222 <trans-unit id="Magenta">
223 <source>Magenta</source>
224 <target>Magenta</target>
225 </trans-unit>
226 <trans-unit id="Cyan">
227 <source>Cyan</source>
228 <target>Cyjanowy</target>
229 </trans-unit>
230 <trans-unit id="Background">
231 <source>Background</source>
232 <target>TÅ‚o</target>
233 </trans-unit>
234 <trans-unit id="Window">
235 <source>Window</source>
236 <target>Okno</target>
237 </trans-unit>
238 <trans-unit id="Transparent">
239 <source>Transparent</source>
240 <target>Przezroczyste</target>
241 </trans-unit>
242 <trans-unit id="Semi-Transparent">
243 <source>Semi-Transparent</source>
244 <target>Półprzezroczyste</target>
245 </trans-unit>
246 <trans-unit id="Opaque">
247 <source>Opaque</source>
248 <target>Widoczne</target>
249 </trans-unit>
250 <trans-unit id="Font Size">
251 <source>Font Size</source>
252 <target>Rozmiar czcionki</target>
253 </trans-unit>
254 <trans-unit id="Text Edge Style">
255 <source>Text Edge Style</source>
256 <target>Styl krawędzi tekstu</target>
257 </trans-unit>
258 <trans-unit id="None">
259 <source>None</source>
260 <target>Brak</target>
261 </trans-unit>
262 <trans-unit id="Raised">
263 <source>Raised</source>
264 <target>Wypukłe</target>
265 </trans-unit>
266 <trans-unit id="Depressed">
267 <source>Depressed</source>
268 <target>Wgłębione</target>
269 </trans-unit>
270 <trans-unit id="Uniform">
271 <source>Uniform</source>
272 <target>Jednolity</target>
273 </trans-unit>
274 <trans-unit id="Dropshadow">
275 <source>Dropshadow</source>
276 <target>Cień</target>
277 </trans-unit>
278 <trans-unit id="Font Family">
279 <source>Font Family</source>
280 <target>Rodzina czcionek</target>
281 </trans-unit>
282 <trans-unit id="Proportional Sans-Serif">
283 <source>Proportional Sans-Serif</source>
284 <target>Proporcjonalne bezszeryfowe</target>
285 </trans-unit>
286 <trans-unit id="Monospace Sans-Serif">
287 <source>Monospace Sans-Serif</source>
288 <target>Bezszeryfowe o stałej szerokości</target>
289 </trans-unit>
290 <trans-unit id="Proportional Serif">
291 <source>Proportional Serif</source>
292 <target>Proporcjonalne szeryfowe</target>
293 </trans-unit>
294 <trans-unit id="Monospace Serif">
295 <source>Monospace Serif</source>
296 <target>Szeryfowe o stałej szerokości</target>
297 </trans-unit>
298 <trans-unit id="Casual">
299 <source>Casual</source>
300 <target>Ozdobne</target>
301 </trans-unit>
302 <trans-unit id="Script">
303 <source>Script</source>
304 <target>Pismo odręczne</target>
305 </trans-unit>
306 <trans-unit id="Small Caps">
307 <source>Small Caps</source>
308 <target>Kapitaliki</target>
309 </trans-unit>
310 <trans-unit id="Reset">
311 <source>Reset</source>
312 <target>Resetuj</target>
313 </trans-unit>
314 <trans-unit id="restore all settings to the default values">
315 <source>restore all settings to the default values</source>
316 <target>przywróć wszystkie ustawienia do wartości domyślnych</target>
317 </trans-unit>
318 <trans-unit id="Done">
319 <source>Done</source>
320 <target>Gotowe</target>
321 </trans-unit>
322 <trans-unit id="Caption Settings Dialog">
323 <source>Caption Settings Dialog</source>
324 <target>Okno ustawień napisów</target>
325 </trans-unit>
326 <trans-unit id="Beginning of dialog window. Escape will cancel and close the window.">
327 <source>Beginning of dialog window. Escape will cancel and close the window.</source>
328 <target>PoczÄ…tek okna dialogowego. Przycisk Escape anuluje i zamknie okno.</target>
329 </trans-unit>
330 <trans-unit id="End of dialog window.">
331 <source>End of dialog window.</source>
332 <target>Koniec okna dialogowego.</target>
333 </trans-unit>
334 <trans-unit id="{1} is loading.">
335 <source>{1} is loading.</source>
336 <target>{1} Å‚aduje siÄ™.</target>
337 </trans-unit>
338 <trans-unit id="Quality">
339 <source>Quality</source>
340 <target>Jakość</target>
341 </trans-unit>
342 <trans-unit id="Auto">
343 <source>Auto</source>
344 <target>Automatyczna</target>
345 </trans-unit>
346 <trans-unit id="Speed">
347 <source>Speed</source>
348 <target>Prędkość</target>
349 </trans-unit>
350 <trans-unit id="Subtitles/CC">
351 <source>Subtitles/CC</source>
352 <target>Napisy/CC</target>
353 </trans-unit>
354 <trans-unit id="peers">
355 <source>peers</source>
356 <target>peers</target>
357 </trans-unit>
358 <trans-unit id="Go to the video page">
359 <source>Go to the video page</source>
360 <target>Przejdź na stronę filmu</target>
361 </trans-unit>
362 <trans-unit id="Settings">
363 <source>Settings</source>
364 <target>Ustawienia</target>
365 </trans-unit>
366 <trans-unit id="Uses P2P, others may know you are watching this video.">
367 <source>Uses P2P, others may know you are watching this video.</source>
368 <target>Korzysta z P2P, inni mogą dowiedzieć się, że oglądasz ten film.</target>
369 </trans-unit>
370 <trans-unit id="Copy the video URL">
371 <source>Copy the video URL</source>
372 <target>Skopiuj adres URL filmu</target>
373 </trans-unit>
374 <trans-unit id="Copy the video URL at the current time">
375 <source>Copy the video URL at the current time</source>
376 <target>Skopiuj adres URL filmu z obecnym czasem</target>
377 </trans-unit>
378 <trans-unit id="Copy embed code">
379 <source>Copy embed code</source>
380 <target>Skopiuj kod do osadzenia</target>
381 </trans-unit>
382 </body>
383 </file></xliff> \ No newline at end of file
diff --git a/client/src/locale/target/player_ru_RU.json b/client/src/locale/target/player_ru_RU.json
new file mode 100644
index 000000000..e2d8d4980
--- /dev/null
+++ b/client/src/locale/target/player_ru_RU.json
@@ -0,0 +1 @@
{"Audio Player":"Ðудиоплеер","Video Player":"Видеоплеер","Play":"ВоÑпроизвеÑти","Pause":"Пауза","Replay":"ВоÑпроизвеÑти Ñнова","Current Time":"Текущий момент","Duration":"ПродолжительноÑÑ‚ÑŒ","Remaining Time":"ОÑтавшееÑÑ Ð²Ñ€ÐµÐ¼Ñ","Stream Type":"Тип потока","LIVE":"ПрÑмой Ñфир","Loaded":"Загружено","Progress":"Ход выполнениÑ","Progress Bar":"Индикатор выполнениÑ","progress bar timing: currentTime={1} duration={2}":"{1} из {2}","Fullscreen":"Полный Ñкран","Non-Fullscreen":"Окно","Mute":"Без звука","Unmute":"Со звуком","Playback Rate":" СкороÑÑ‚ÑŒ воÑпроизведениÑ","Subtitles":"Субтитры","subtitles off":"Без Ñубтитров","Captions":"Сопроводительные надпиÑи","captions off":"Без Ñопроводительных надпиÑей","Chapters":"Главы","Descriptions":"ОпиÑание","descriptions off":"без опиÑаний","Audio Track":"Ðудиодорожка","Volume Level":"ГромкоÑÑ‚ÑŒ","You aborted the media playback":"Ð’Ñ‹ отменили воÑпроизведение медиафайла","A network error caused the media download to fail part-way.":"Ошибка Ñети Ñтала причиной неудачного воÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¼ÐµÐ´Ð¸Ð°Ñ„Ð°Ð¹Ð»Ð°","The media could not be loaded, either because the server or network failed or because the format is not supported.":"Медиафайл не может быть воÑпроизведен: ошибки Ñервера или Ñети; или не поддерживаетÑÑ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ медиафайла","The media playback was aborted due to a corruption problem or because the media used features your browser did not support.":"ВоÑпроизведение отменено: файл иÑпорчен или иÑпользует инÑтрументы, которые ваш навигатор не поддерживает ","No compatible source was found for this media.":"Ðе найдено ÑовмеÑтимого иÑточника Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð¼ÐµÐ´Ð¸Ð°Ñ„Ð°Ð¹Ð»Ð°","The media is encrypted and we do not have the keys to decrypt it.":"Этот медиафайл зашифрован и у Ð½Ð°Ñ Ð½ÐµÑ‚ ключей Ð´Ð»Ñ ÐµÐ³Ð¾ раÑшифровки ","Play Video":"ВоÑпроизвеÑти видео","Close":"Закрыть","Close Modal Dialog":"Закрыть модальное диалоговое окно","Modal Window":"Модальное окно","This is a modal window":"Это модальное окно","This modal can be closed by pressing the Escape key or activating the close button.":"Это модальное окно можно закрыть нажав на кнопку Escape или на кнопку закрыть",", opens captions settings dialog":", открывает окно наÑтроек Ñопроводительных надпиÑей",", opens subtitles settings dialog":", открывает окно наÑтроек Ñубтитров",", opens descriptions settings dialog":", открывает окно наÑтроек опиÑаний",", selected":", выделено ","captions settings":"ÐаÑтройки Ñопроводительных надпиÑей","subtitles settings":"ÐаÑтройки Ñубтитров","descriptions settings":"ÐаÑтройки опиÑаний ","Text":"ТекÑÑ‚","White":"Белый","Black":"Черный","Red":"КраÑный","Green":"Зеленый","Blue":"Синий","Yellow":"Желтый","Magenta":"Пурпурный ","Cyan":"Голубой","Background":"Фон","Window":"Окно","Transparent":"Прозрачный","Semi-Transparent":"Полупрозрачный ","Opaque":"Ðепрозрачный","Font Size":"Размер шрифта ","None":"ОтÑутÑтвует","Uniform":"Однообразный","Dropshadow":"ÐŸÐ°Ð´Ð°ÑŽÑ‰Ð°Ñ Ñ‚ÐµÐ½ÑŒ","Font Family":"Шрифт","Proportional Sans-Serif":"Пропорциональный без заÑечек","Monospace Sans-Serif":"ФикÑированной ширины без заÑечек","Proportional Serif":"Пропорциональный Ñ Ð·Ð°Ñечками","Monospace Serif":"ФикÑированной ширины Ñ Ð·Ð°Ñечками","Casual":"Свободный","Script":"рукопиÑный шрифт","Small Caps":" Уменьшенные заглавные буквы","Reset":"ВоÑÑтановить ","restore all settings to the default values":"ВоÑÑтановить наÑтройки по умолчанию ","Done":"Выполнено","Caption Settings Dialog":"Окно наÑтроек Ñопроводительных надпиÑей","Beginning of dialog window. Escape will cancel and close the window.":"Ðачало диалогового окна. Клавиша Escape отменит дейÑтвие и закроет окно","End of dialog window.":"Конец диалогового окна","{1} is loading.":"{1} в процеÑÑе загрузки","Quality":"КачеÑтво","Auto":"Ðвто","Speed":"СкороÑÑ‚ÑŒ","Subtitles/CC":"Субтитры","peers":"Партнер","Go to the video page":"Перейти на Ñтраницу Ñ Ð²Ð¸Ð´ÐµÐ¾","Settings":"ÐаÑтройки","Uses P2P, others may know you are watching this video.":"ИÑпользует P2P, другие могут знать, что вы проÑматриваете Ñто видео.","Copy the video URL":"Скопировать URL видео","Copy the video URL at the current time":"Скопировать URL видео на текущем моменте ","Copy embed code":"Скопировать вÑтроенный код"} \ No newline at end of file
diff --git a/client/src/locale/target/server_it_IT.json b/client/src/locale/target/server_it_IT.json
new file mode 100644
index 000000000..6586f622e
--- /dev/null
+++ b/client/src/locale/target/server_it_IT.json
@@ -0,0 +1 @@
{"Music":"Musica","Films":"Film","Vehicles":"Veicoli","Art":"Arte","Sports":"Sport","Travels":"Viaggi","Gaming":"Giochi","People":"Persone","Comedy":"Commedia","Entertainment":"Intrattenimento","News & Politics":"Notizie & Politica","How To":"Come fare","Education":"Educazione","Activism":"Attivismo","Science & Technology":"Scienza & Tecnologia","Animals":"Animali","Kids":"Bambini","Food":"Cibo","Attribution":"Attribuzione","Attribution - Share Alike":"Attribuzione - Condividi Allo Stesso Modo","Attribution - No Derivatives":"Attribuzione - Non Opere Derivate","Attribution - Non Commercial":"Attribuzione - Non Commerciale","Attribution - Non Commercial - Share Alike":"Attribuzione - Non Commerciale - Condividi Allo Stesso Modo","Attribution - Non Commercial - No Derivatives":"Attribuzione - Non Commerciale - Non Opere Derivate","Public Domain Dedication":"Pubblico Dominio","Public":"Pubblico","Unlisted":"Non elencato","Private":"Privato","Published":"Pubblicato","To transcode":"Da codificare","To import":"Da importare","Pending":"In sospeso","Success":"Successo","Failed":"Fallito","Misc":"Altro","Unknown":"Sconosciuto","Afar":"Afar","Abkhazian":"Abcaso","Afrikaans":"Afrikaans","Akan":"Akan","Amharic":"Amarico","Arabic":"Arabo","Aragonese":"Aragonese","American Sign Language":"Lingua dei Segni Americana","Assamese":"Assamese","Avaric":"Avarico","Kotava":"Kotava","Aymara":"Aymara","Azerbaijani":"Azero","Bashkir":"Bashkir","Bambara":"Bambara","Belarusian":"Bielorusso","Bengali":"Bengalese","British Sign Language":"Lingua dei Segni Britannica","Bislama":"Bislama","Tibetan":"Tibetano","Bosnian":"Bosniaco","Breton":"Bretone","Bulgarian":"Bulgaro","Brazilian Sign Language":"Lingua dei Segni Brasiliana","Catalan":"Catalano","Czech":"Ceco","Chamorro":"Chamorro","Chechen":"Ceceno","Chuvash":"Ciuvascio","Cornish":"Cornico","Corsican":"Corso","Cree":"Cree","Czech Sign Language":"Lingua dei Segni Ceca","Chinese Sign Language":"Lingua dei Segni Cinese","Welsh":"Gallese","Danish":"Danese","German":"Tedesco","Dhivehi":"Dhivehi","Danish Sign Language":"Lingua dei Segni Danese","Dzongkha":"Dzongkha","Modern Greek (1453-)":"Greco Moderno (1453-)","English":"Inglese","Esperanto":"Esperanto","Estonian":"Estone","Basque":"Basco","Ewe":"Ewe","Faroese":"Faroese","Persian":"Persiano","Fijian":"Fijiano","Finnish":"Finlandese","French":"Francese","Western Frisian":"Frisone Occidentale","French Sign Language":"Lingua dei Segni Francese","Fulah":"Fula","Scottish Gaelic":"Gaelico Scozzese","Irish":"Irlandese","Galician":"Galiziano","Manx":"Mannese","Guarani":"Guarani","German Sign Language":"Lingua dei Segni Tedesca","Gujarati":"Gujarati","Haitian":"Haitiano","Hausa":"Hausa","Serbo-Croatian":"Serbocroato","Hebrew":"Ebraico","Herero":"Herero","Hindi":"Hindi","Hiri Motu":"Hiri Motu","Croatian":"Croato","Hungarian":"Ungherese","Armenian":"Armeno","Igbo":"Igbo","Sichuan Yi":"Sichuan Yi","Inuktitut":"Inuktitut","Indonesian":"Indonesiano","Inupiaq":"Inupiaq","Icelandic":"Islandese","Italian":"Italiano","Javanese":"Giavanese","Lojban":"Lojban","Japanese":"Giapponese","Japanese Sign Language":"Lingua dei Segni Giapponese","Kalaallisut":"Kalaallisut","Kannada":"Kannada","Kashmiri":"Kashmiri","Georgian":"Georgiano","Kanuri":"Kanuri","Kazakh":"Kazako","Khmer":"Khmer","Kikuyu":"Kikuyu","Kinyarwanda":"Kinyarwanda","Kirghiz":"Kirghiso","Komi":"Komi","Kongo":"Kongo","Korean":"Coreano","Kuanyama":"Kuanyama","Kurdish":"Curdo","Lao":"Lao","Latvian":"Lettone","Limburgan":"Limburghese","Lingala":"Lingala","Lithuanian":"Lituano","Luxembourgish":"Lussemburghese","Luba-Katanga":"Luba-Katanga","Ganda":"Ganda","Marshallese":"Marshallese","Malayalam":"Malayalam","Marathi":"Marathi","Macedonian":"Macedone","Malagasy":"Malgascio","Maltese":"Maltese","Mongolian":"Mongolo","Maori":"Maori","Malay (macrolanguage)":"Malay (macrolinguaggio)","Burmese":"Birmano","Nauru":"Nauru","Navajo":"Navajo","South Ndebele":"Ndebele Meridionale","North Ndebele":"Ndebele Settentrionale","Ndonga":"Ndonga","Nepali (macrolanguage)":"Nepalese (macrolinguaggio)","Dutch":"Olandese","Norwegian Nynorsk":"Norvegese Nynorsk","Norwegian Bokmål":"Norvegese Bokmål","Norwegian":"Norvegese","Nyanja":"Chewa","Occitan":"Occitano","Ojibwa":"Ojibwa","Oriya (macrolanguage)":"Oriya (macrolinguaggio)","Oromo":"Oromo","Ossetian":"Osseto","Panjabi":"Punjabi","Pakistan Sign Language":"Lingua dei Segni Pakistana","Polish":"Polacco","Portuguese":"Portoghese","Pushto":"Pashto","Quechua":"Quechua","Romansh":"Romancio","Romanian":"Romeno","Russian Sign Language":"Lingua dei Segni Russa","Rundi":"Rundi","Russian":"Russo","Sango":"Sango","Saudi Arabian Sign Language":"Lingua dei Segni dell'Arabia Saudita","South African Sign Language":"Lingua dei Segni Sudafricana","Sinhala":"Singalese","Slovak":"Slovacco","Slovenian":"Sloveno","Northern Sami":"Sami Settentrionale","Samoan":"Samoano","Shona":"Shona","Sindhi":"Sindhi","Somali":"Somalo","Southern Sotho":"Sotho Meridionale","Spanish":"Spagnolo","Albanian":"Albanese","Sardinian":"Sardo","Serbian":"Serbo","Swati":"Swati","Sundanese":"Sondanese","Swahili (macrolanguage)":"Swahili (macrolinguaggio)","Swedish":"Svedese","Swedish Sign Language":"Lingua dei Segni Svedese","Tahitian":"Tahitiano","Tamil":"Tamil","Tatar":"Tataro","Telugu":"Telugu","Tajik":"Tagico","Tagalog":"Tagalog","Thai":"Thai","Tigrinya":"Tigrino","Klingon":"Klingon","Tonga (Tonga Islands)":"Tonga (Isole delle Tonga)","Tswana":"Tswana","Tsonga":"Tsonga","Turkmen":"Turcmeno","Turkish":"Turco","Twi":"Twi","Uighur":"Uighuro","Ukrainian":"Ucraino","Urdu":"Urdu","Uzbek":"Uzbeco","Venda":"Venda","Vietnamese":"Vietnamita","Walloon":"Vallone","Wolof":"Wolof","Xhosa":"Xhosa","Yiddish":"Yiddish","Yoruba":"Yoruba","Zhuang":"Zhuang","Chinese":"Cinese","Zulu":"Zulu"} \ No newline at end of file
diff --git a/client/src/locale/target/server_pl_PL.json b/client/src/locale/target/server_pl_PL.json
new file mode 100644
index 000000000..90973bf28
--- /dev/null
+++ b/client/src/locale/target/server_pl_PL.json
@@ -0,0 +1 @@
{"Music":"Muzyka","Films":"Filmy","Vehicles":"Pojazdy","Art":"Sztuka","Sports":"Sport","Travels":"Podróże","Gaming":"Gry","People":"Ludzie","Comedy":"Komedia","Entertainment":"Rozrywka","How To":"Poradniki","Education":"Edukacja","Activism":"Aktywizm","Science & Technology":"Nauka i technologia","Animals":"ZwierzÄ™ta","Kids":"Dzieci","Food":"Jedzenie","Attribution":"Uznanie autostwa","Attribution - Share Alike":"Uznanie autorstwa - Na tych samych warunkach","Attribution - No Derivatives":"Uznanie autorstwa - Bez utworów zależnych","Attribution - Non Commercial":"Uznanie autorstwa - Użycie niekomercyjne","Attribution - Non Commercial - Share Alike":"Uznanie autorstwa - Użycie niekomercyjne - Na tych samych warunkach","Attribution - Non Commercial - No Derivatives":"Uznanie autorstwa - Użycie niekomercyjne - Bez utworów zależnych","Public Domain Dedication":"Przekazanie do Domeny Publicznej","Public":"Publiczne","Unlisted":"Niewypisane","Private":"Prywatne","Published":"Opublikowano","To transcode":"Transkodować","To import":"Importować","Pending":"Oczekiwanie","Success":"Sukces","Failed":"Niepowodzenie","Misc":"Różne","Unknown":"Nieznane","Afar":"Afar","Abkhazian":"Abchaski","Afrikaans":"Afrikaans","Akan":"Akan","Amharic":"Amharski","Arabic":"Arabski","American Sign Language":"AmerykaÅ„ski JÄ™zyk Migowy","Avaric":"Awarski","Bashkir":"Baszkirski","Bambara":"Bambara","Belarusian":"BiaÅ‚oruski","Bengali":"Bengalski","British Sign Language":"Brytyjski JÄ™zyk Migowy","Bislama":"Bislama","Tibetan":"TybetaÅ„ski","Bosnian":"BoÅ›niacki","Breton":"BretoÅ„ski","Bulgarian":"BuÅ‚garski","Catalan":"KataloÅ„ski","Czech":"Czeski","Cornish":"Kornijski","Corsican":"KorsykaÅ„ski","Cree":"Kri","Czech Sign Language":"Czeski JÄ™zyk Migowy","Chinese Sign Language":"ChiÅ„ski JÄ™zyk Migowy","Welsh":"Walijski","Danish":"DuÅ„ski","German":"Niemiecki","Danish Sign Language":"DuÅ„ski JÄ™zyk Migowy","Dzongkha":"Dzongkha","Modern Greek (1453-)":"Nowogrecki (1453-)","English":"Angielski","Estonian":"EstoÅ„ski","Basque":"Baskijski","Ewe":"Ewe","Persian":"Perski","Fijian":"Fidżyjski","Finnish":"FiÅ„ski","French":"Francuski","French Sign Language":"Francuski JÄ™zyk Migowy","Fulah":"Ful","Irish":"Irlandzki","Galician":"Galicyjski","German Sign Language":"Niemiecki JÄ™zyk Migowy","Hausa":"Hausa","Serbo-Croatian":"Serbsko-Chorwacki","Hindi":"Hindi","Croatian":"Chorwacki","Hungarian":"WÄ™gierski","Armenian":"OrmaÅ„ski","Igbo":"Igbo","Indonesian":"Indonezyjski","Icelandic":"Islandzki","Italian":"WÅ‚oski","Javanese":"Jawajski","Japanese":"JapoÅ„ski","Japanese Sign Language":"JapoÅ„ski JÄ™zyk Migowy","Komi":"Komi","Kongo":"Kongo","Korean":"KoreaÅ„ski","Kurdish":"Kurdyjski","Lao":"LaotaÅ„ski","Latvian":"Åotewski","Lithuanian":"Litewski","Luxembourgish":"Luksemburski","Nauru":"NauraÅ„ski","Dutch":"Holenderski","Norwegian Nynorsk":"Norweski Nynorsk","Norwegian BokmÃ¥l":"Norweski BokmÃ¥l","Norwegian":"Norweski","Oromo":"Oromo","Polish":"Polski","Portuguese":"Portugalski","Pushto":"Paszto","Romansh":"Romansz","Romanian":"RumuÅ„ski","Russian Sign Language":"Rosyjski JÄ™zyk Migowy","Rundi":"Rundi","Russian":"Rosyjski","Sango":"Sango","Slovak":"SÅ‚owacki","Slovenian":"SÅ‚oweÅ„ski","Samoan":"SamoaÅ„ski","Shona":"Shona","Sindhi":"Sindhi","Somali":"Somalijski","Spanish":"HiszpaÅ„ski","Serbian":"Serbski","Swedish":"Szwedzki","Swedish Sign Language":"Szwedzki JÄ™zyk Migowy","Tamil":"Tamilski","Tatar":"Tatarski","Telugu":"Telugu","Tajik":"Tadżycki","Tagalog":"Tagalski","Thai":"Tajski","Turkmen":"TurkmeÅ„ski","Turkish":"Turecki","Twi":"Twi","Ukrainian":"UkraiÅ„ski","Urdu":"Urdu","Uzbek":"Uzbecki","Venda":"Venda","Vietnamese":"Wietnamski","Walloon":"WaloÅ„ski","Wolof":"Wolof","Xhosa":"Xhosa","Yiddish":"Jidysz","Yoruba":"Joruba","Zhuang":"Zhuang","Chinese":"ChiÅ„ski","Zulu":"Zulu"} \ No newline at end of file
diff --git a/client/src/locale/target/server_pl_PL.xml b/client/src/locale/target/server_pl_PL.xml
deleted file mode 100644
index f5ce3f9ad..000000000
--- a/client/src/locale/target/server_pl_PL.xml
+++ /dev/null
@@ -1,147 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!--XLIFF document generated by Zanata. Visit http://zanata.org for more infomation.-->
3<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" xmlns:xyz="urn:appInfo:Items" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.1 http://www.oasis-open.org/committees/xliff/documents/xliff-core-1.1.xsd" version="1.1">
4 <file source-language="en-US" datatype="plaintext" original="" target-language="pl-PL">
5 <body>
6 <trans-unit id="Music">
7 <source>Music</source>
8 <target>Muzyka</target>
9 </trans-unit>
10 <trans-unit id="Films">
11 <source>Films</source>
12 <target>Filmy</target>
13 </trans-unit>
14 <trans-unit id="Vehicles">
15 <source>Vehicles</source>
16 <target>Pojazdy</target>
17 </trans-unit>
18 <trans-unit id="Art">
19 <source>Art</source>
20 <target>Sztuka</target>
21 </trans-unit>
22 <trans-unit id="Sports">
23 <source>Sports</source>
24 <target>Sport</target>
25 </trans-unit>
26 <trans-unit id="Travels">
27 <source>Travels</source>
28 <target>Podróże</target>
29 </trans-unit>
30 <trans-unit id="Gaming">
31 <source>Gaming</source>
32 <target>Gry</target>
33 </trans-unit>
34 <trans-unit id="People">
35 <source>People</source>
36 <target>Ludzie</target>
37 </trans-unit>
38 <trans-unit id="Comedy">
39 <source>Comedy</source>
40 <target>Komedia</target>
41 </trans-unit>
42 <trans-unit id="Entertainment">
43 <source>Entertainment</source>
44 <target>Rozrywka</target>
45 </trans-unit>
46 <trans-unit id="How To">
47 <source>How To</source>
48 <target>Poradniki</target>
49 </trans-unit>
50 <trans-unit id="Education">
51 <source>Education</source>
52 <target>Edukacja</target>
53 </trans-unit>
54 <trans-unit id="Activism">
55 <source>Activism</source>
56 <target>Aktywizm</target>
57 </trans-unit>
58 <trans-unit id="Science &amp; Technology">
59 <source>Science &amp; Technology</source>
60 <target>Nauka i technologia</target>
61 </trans-unit>
62 <trans-unit id="Animals">
63 <source>Animals</source>
64 <target>Zwierzęta</target>
65 </trans-unit>
66 <trans-unit id="Kids">
67 <source>Kids</source>
68 <target>Dzieci</target>
69 </trans-unit>
70 <trans-unit id="Food">
71 <source>Food</source>
72 <target>Jedzenie</target>
73 </trans-unit>
74 <trans-unit id="Attribution">
75 <source>Attribution</source>
76 <target>Uznanie autostwa</target>
77 </trans-unit>
78 <trans-unit id="Attribution - Share Alike">
79 <source>Attribution - Share Alike</source>
80 <target>Uznanie autorstwa - Na tych samych warunkach</target>
81 </trans-unit>
82 <trans-unit id="Attribution - No Derivatives">
83 <source>Attribution - No Derivatives</source>
84 <target>Uznanie autorstwa - Bez utworów zależnych</target>
85 </trans-unit>
86 <trans-unit id="Attribution - Non Commercial">
87 <source>Attribution - Non Commercial</source>
88 <target>Uznanie autorstwa - Użycie niekomercyjne</target>
89 </trans-unit>
90 <trans-unit id="Attribution - Non Commercial - Share Alike">
91 <source>Attribution - Non Commercial - Share Alike</source>
92 <target>Uznanie autorstwa - Użycie niekomercyjne - Na tych samych warunkach</target>
93 </trans-unit>
94 <trans-unit id="Attribution - Non Commercial - No Derivatives">
95 <source>Attribution - Non Commercial - No Derivatives</source>
96 <target>Uznanie autorstwa - Użycie niekomercyjne - Bez utworów zależnych</target>
97 </trans-unit>
98 <trans-unit id="Public Domain Dedication">
99 <source>Public Domain Dedication</source>
100 <target>Przekazanie do Domeny Publicznej</target>
101 </trans-unit>
102 <trans-unit id="Public">
103 <source>Public</source>
104 <target>Publiczne</target>
105 </trans-unit>
106 <trans-unit id="Unlisted">
107 <source>Unlisted</source>
108 <target>Niewypisane</target>
109 </trans-unit>
110 <trans-unit id="Private">
111 <source>Private</source>
112 <target>Prywatne</target>
113 </trans-unit>
114 <trans-unit id="Published">
115 <source>Published</source>
116 <target>Opublikowano</target>
117 </trans-unit>
118 <trans-unit id="To transcode">
119 <source>To transcode</source>
120 <target>Transkodować</target>
121 </trans-unit>
122 <trans-unit id="To import">
123 <source>To import</source>
124 <target>Importować</target>
125 </trans-unit>
126 <trans-unit id="Pending">
127 <source>Pending</source>
128 <target>Oczekiwanie</target>
129 </trans-unit>
130 <trans-unit id="Success">
131 <source>Success</source>
132 <target>Sukces</target>
133 </trans-unit>
134 <trans-unit id="Failed">
135 <source>Failed</source>
136 <target>Niepowodzenie</target>
137 </trans-unit>
138 <trans-unit id="Misc">
139 <source>Misc</source>
140 <target>Różne</target>
141 </trans-unit>
142 <trans-unit id="Unknown">
143 <source>Unknown</source>
144 <target>Nieznane</target>
145 </trans-unit>
146 </body>
147 </file></xliff> \ No newline at end of file
diff --git a/client/src/locale/target/server_ru_RU.json b/client/src/locale/target/server_ru_RU.json
new file mode 100644
index 000000000..e62f2aeb4
--- /dev/null
+++ b/client/src/locale/target/server_ru_RU.json
@@ -0,0 +1 @@
{"Music":"Музыка","Films":"Филмы","Vehicles":"ТранÑпортные ÑредÑтва","Art":"ИÑкуÑÑтво","Sports":"Спорт","Travels":"ПутешеÑтвиÑ","Gaming":"Видеоигры","People":"Люди","Comedy":"КомедиÑ","Entertainment":"РазвлечениÑ","How To":"Как","Education":"Образование","Activism":"Ðктивизм","Science & Technology":"Ðаука и ТехнологиÑ","Animals":"Животные ","Kids":"Дети","Food":"Еда","Attribution":"ÐтрибуциÑ","Attribution - Share Alike":" ÐÑ‚Ñ€Ð¸Ð±ÑƒÑ†Ð¸Ñ - Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼Ð¸ уÑловиÑми ","Attribution - No Derivatives":"ÐÑ‚Ñ€Ð¸Ð±ÑƒÑ†Ð¸Ñ - без права Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ","Attribution - Non Commercial":"ÐÑ‚Ñ€Ð¸Ð±ÑƒÑ†Ð¸Ñ - не коммерчеÑкое иÑпользование","Attribution - Non Commercial - Share Alike":"ÐÑ‚Ñ€Ð¸Ð±ÑƒÑ†Ð¸Ñ - не коммерчеÑкое иÑпользование - Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼Ð¸ уÑловиÑми","Attribution - Non Commercial - No Derivatives":"ÐÑ‚Ñ€Ð¸Ð±ÑƒÑ†Ð¸Ñ - не коммерчеÑкое иÑпользование - без права изменениÑ","Public Domain Dedication":"Безлицензионный","Public":"ОбщеÑтвенный","Unlisted":" Ее включённый в ÑпиÑок","Private":"Личный","Published":"Опубликованный","To transcode":"Перекодировать","To import":"Импортировать","Pending":"Ð’ ожидании","Success":"Удачное завершение","Failed":"Ðеудачно","Misc":"Разное","Unknown":"ÐеизвеÑтное","Afar":"ÐфарÑкий","Abkhazian":"ÐбхазÑкий","Afrikaans":"ÐфрикаанÑ","Akan":"Ðкан","Amharic":"ÐмхарÑкий","Arabic":"ÐрабÑкий","Aragonese":"ÐрагонÑкий","American Sign Language":"ÐмÑлен","Assamese":"ÐÑÑамÑкий","Avaric":"ÐварÑкий","Kotava":"Котава","Aymara":"Ðймара","Azerbaijani":"ÐзербайджанÑкий","Bashkir":"БашкирÑкий","Bambara":"Бамана","Belarusian":"БелоруÑÑкий","Bengali":"БенгальÑкий","British Sign Language":"БританÑкий жеÑтовый","Bislama":"БиÑлама","Tibetan":"ТибетÑкий","Bosnian":"БоÑнийÑкий","Breton":"БретонÑкий","Bulgarian":"БолгарÑкий","Brazilian Sign Language":"БразильÑкий жеÑтовый","Catalan":"КаталанÑкий","Czech":"ЧешÑкий","Chamorro":"Чаморро","Chechen":"ЧеченÑкий","Chuvash":"ЧувашÑкий","Cornish":"КорнÑкий","Corsican":"КорÑиканÑкий","Cree":"Кри","Czech Sign Language":"ЧешÑкий жеÑтовый","Chinese Sign Language":"КитайÑкий жеÑтовый","Welsh":"УÑлш","Danish":"ДатÑкий","German":"Ðемецкий","Dhivehi":"Дивехи","Danish Sign Language":"ДатÑкий жеÑтовый ","Dzongkha":"Дзонг-кÑ","Modern Greek (1453-)":"Современный гречеÑкий","English":"ÐнглийÑкий","Esperanto":"ЭÑперанто","Estonian":"ЭÑтонÑкий","Basque":"БаÑкÑкий","Ewe":"Эве","Faroese":"ФарерÑкий","Persian":"ПерÑидÑкий","Fijian":"ФиджийÑкий","Finnish":"ФинÑкий","French":"ФранцузÑкий","Western Frisian":"ЗападнофризÑкий","French Sign Language":"ФранцузÑкий жеÑтовый","Fulah":"Фула","Scottish Gaelic":"ШотландÑкий","Irish":"ИрландÑкий","Galician":"ГалиÑийÑкий","Manx":"ÐœÑнÑкий","Guarani":"Гуарани","German Sign Language":"Ðемецкий жеÑтовый","Gujarati":"Гуджарати","Haitian":"ГаитÑнÑкий креольÑкий","Hausa":"ХауÑа","Serbo-Croatian":"СербохорватÑкий","Hebrew":"Иврит","Herero":"Гереро","Hindi":"Хинди","Hiri Motu":"Хири-моту","Croatian":"ХорватÑкий","Hungarian":"ВенгерÑкий","Armenian":"ÐрмÑнÑкий","Igbo":"Игбо","Sichuan Yi":"ÐоÑу","Inuktitut":"Инуктитут","Indonesian":"ИндонезийÑкий","Inupiaq":"ÐлÑÑкинÑко-инуитÑкие","Icelandic":"ИÑландÑкий","Italian":"ИтальÑнÑкий","Javanese":"ЯванÑкий","Lojban":"Ложбан","Japanese":"ЯпонÑкий","Japanese Sign Language":"ЯпонÑкий жеÑтовый","Kalaallisut":"ГренландÑкий","Kannada":"Каннада","Kashmiri":"КашмирÑкий","Georgian":"ГрузинÑкий","Kanuri":"Канури","Kazakh":"КазахÑкий","Khmer":"КхмерÑкий","Kikuyu":"Кикуйю","Kinyarwanda":"Руанда","Kirghiz":"КиргизÑкий","Komi":"Коми","Kongo":"Конго","Korean":"КорейÑкий","Kuanyama":"КваньÑма","Kurdish":"КурдÑкие","Lao":"ЛаоÑÑкий","Latvian":"ЛатышÑкий","Limburgan":"ЛимбургÑкий","Lingala":"Лингала","Lithuanian":"ЛитовÑкий","Luxembourgish":"ЛюкÑембургÑкий","Luba-Katanga":"Луба-катанга","Ganda":"Луганда","Marshallese":"МаршалльÑкий","Malayalam":"МалаÑлам","Marathi":"Маратхи","Macedonian":"МакедонÑкий","Malagasy":"МалагаÑийÑкий","Maltese":"МальтийÑкий","Mongolian":"МонгольÑкий","Maori":"Маори","Malay (macrolanguage)":"МалайÑкий","Burmese":"БирманÑкий","Nauru":"ÐауруанÑкий","Navajo":"Ðавахо","South Ndebele":"Южный ндебеле","North Ndebele":"Северный ндебеле","Ndonga":"Ðдонга","Nepali (macrolanguage)":"ÐепальÑкий","Dutch":"ÐидерландÑкий","Norwegian Nynorsk":"ÐовонорвежÑкий","Norwegian BokmÃ¥l":"Букмол","Norwegian":"ÐорвежÑкий","Nyanja":"ÐÑŒÑнджа","Ojibwa":"Оджибве","Oriya (macrolanguage)":"ОриÑ","Oromo":"Оромо","Ossetian":"ОÑетинÑкий","Panjabi":"Панджаби","Pakistan Sign Language":"ДагеÑтанÑкий ","Polish":"ПольÑкий","Portuguese":"ПортугальÑкий","Pushto":"Пушту","Quechua":"КеÌчуа","Romansh":"РоманшÑкий","Romanian":"РумынÑкий","Russian Sign Language":"РуÑÑкий жеÑтовый","Rundi":"Рунди","Russian":"РуÑÑкий","Sango":"Санго","Saudi Arabian Sign Language":"ÐрабÑкий жеÑтовый","South African Sign Language":"ЖеÑтовый Южной Ðфрики","Sinhala":"СингальÑкий","Slovak":"Словацкий","Slovenian":"СловенÑкий","Northern Sami":"СеверноÑаамÑкий","Samoan":"СамоанÑкий","Shona":"Шона","Sindhi":"Синдхи","Somali":"СомалийÑкий","Southern Sotho":"СеÑото","Spanish":"ИÑпанÑкий","Albanian":"ÐлбанÑкий","Sardinian":"СардинÑкий","Serbian":"СербÑкий","Swati":"Свати","Sundanese":"СунданÑкий","Swahili (macrolanguage)":"Суахили","Swedish":"ШведÑкий","Swedish Sign Language":"ШведÑкий жеÑтовый","Tahitian":"ТаитÑнÑкий","Tamil":"ТамильÑкий","Tatar":"ТатарÑкий","Telugu":"Телугу","Tajik":"ТаджикÑкий","Tagalog":"ТагальÑкий","Thai":"ТайÑкий","Tigrinya":"ТигриньÑ","Klingon":"КлингонÑкий","Tonga (Tonga Islands)":"ТонганÑкий","Tswana":"ТÑвана","Tsonga":"ТÑонга","Turkmen":"ТуркменÑкий","Turkish":"Турецкий","Twi":"Чви","Uighur":"УйгурÑкий","Ukrainian":"УкраинÑкий","Urdu":"Урду","Uzbek":"УзбекÑкий","Venda":"Венда","Vietnamese":"ВьетнамÑкий","Walloon":"ВаллонÑкий","Wolof":"Волоф","Xhosa":"КоÑа","Yiddish":"Идиш","Yoruba":"Йоруба","Zhuang":"ЧжуанÑкий","Chinese":"КитайÑкий","Zulu":"Зулу"} \ No newline at end of file
diff --git a/client/yarn.lock b/client/yarn.lock
index 928dec01e..98a30941e 100644
--- a/client/yarn.lock
+++ b/client/yarn.lock
@@ -2,26 +2,26 @@
2# yarn lockfile v1 2# yarn lockfile v1
3 3
4 4
5"@angular-devkit/architect@0.10.6": 5"@angular-devkit/architect@0.11.1":
6 version "0.10.6" 6 version "0.11.1"
7 resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.10.6.tgz#7007e7591be21eeb478951106c84c83802ca21a4" 7 resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.11.1.tgz#fb8429b583d4d7efafe5ff551ffdd30a705b9ab0"
8 integrity sha512-IygpkXNn946vVUFFWKWEDxRqRy888vOAUWcmkZzqPEBYkuwWt7WnLfe8Sjw4fH/+HLWEMS8RXbdSTHiiaP9qOg== 8 integrity sha512-MdcZ5KclwL2SBXCQSn8uI2hakBX58EyuAwFWsM/pKrNt9j8RqIk93l4amd2OkaMtZRFP5zWodyf/3qOwacjuQg==
9 dependencies: 9 dependencies:
10 "@angular-devkit/core" "7.0.6" 10 "@angular-devkit/core" "7.1.1"
11 rxjs "6.3.3" 11 rxjs "6.3.3"
12 12
13"@angular-devkit/build-angular@~0.10.0": 13"@angular-devkit/build-angular@~0.11.1":
14 version "0.10.6" 14 version "0.11.1"
15 resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.10.6.tgz#9c713a786de89a68063bd9e86516eb450f2dac72" 15 resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.11.1.tgz#a828797d9177227aee70a65bb06d4b189b1404cd"
16 integrity sha512-Lbx6rjIGB2mMmkTCaolrQ86OfPxO/qfb4l2RvPiSyx06MEZfmFWKGeJzqCYKBRQajziX3Yc3AFzAPecoCkbIGA== 16 integrity sha512-hA/3GVMmRwOPXWhImrBG9gZTdERr937NMuedKhTXuNj6TNMNjk9XQ+q2erd0LZVbgfhL/nC0wHnpy0dUWXu8jA==
17 dependencies: 17 dependencies:
18 "@angular-devkit/architect" "0.10.6" 18 "@angular-devkit/architect" "0.11.1"
19 "@angular-devkit/build-optimizer" "0.10.6" 19 "@angular-devkit/build-optimizer" "0.11.1"
20 "@angular-devkit/build-webpack" "0.10.6" 20 "@angular-devkit/build-webpack" "0.11.1"
21 "@angular-devkit/core" "7.0.6" 21 "@angular-devkit/core" "7.1.1"
22 "@ngtools/webpack" "7.0.6" 22 "@ngtools/webpack" "7.1.1"
23 ajv "6.5.3" 23 ajv "6.5.3"
24 autoprefixer "9.1.5" 24 autoprefixer "9.3.1"
25 circular-dependency-plugin "5.0.2" 25 circular-dependency-plugin "5.0.2"
26 clean-css "4.2.1" 26 clean-css "4.2.1"
27 copy-webpack-plugin "4.5.4" 27 copy-webpack-plugin "4.5.4"
@@ -34,7 +34,7 @@
34 less-loader "4.1.0" 34 less-loader "4.1.0"
35 license-webpack-plugin "2.0.2" 35 license-webpack-plugin "2.0.2"
36 loader-utils "1.1.0" 36 loader-utils "1.1.0"
37 mini-css-extract-plugin "0.4.3" 37 mini-css-extract-plugin "0.4.4"
38 minimatch "3.0.4" 38 minimatch "3.0.4"
39 opn "5.3.0" 39 opn "5.3.0"
40 parse5 "4.0.0" 40 parse5 "4.0.0"
@@ -48,45 +48,45 @@
48 semver "5.5.1" 48 semver "5.5.1"
49 source-map-loader "0.2.4" 49 source-map-loader "0.2.4"
50 source-map-support "0.5.9" 50 source-map-support "0.5.9"
51 speed-measure-webpack-plugin "^1.2.3" 51 speed-measure-webpack-plugin "1.2.3"
52 stats-webpack-plugin "0.7.0" 52 stats-webpack-plugin "0.7.0"
53 style-loader "0.23.0" 53 style-loader "0.23.1"
54 stylus "0.54.5" 54 stylus "0.54.5"
55 stylus-loader "3.0.2" 55 stylus-loader "3.0.2"
56 terser-webpack-plugin "1.1.0" 56 terser-webpack-plugin "1.1.0"
57 tree-kill "1.2.0" 57 tree-kill "1.2.0"
58 webpack "4.19.1" 58 webpack "4.23.1"
59 webpack-dev-middleware "3.3.0" 59 webpack-dev-middleware "3.4.0"
60 webpack-dev-server "3.1.8" 60 webpack-dev-server "3.1.10"
61 webpack-merge "4.1.4" 61 webpack-merge "4.1.4"
62 webpack-sources "1.2.0" 62 webpack-sources "1.3.0"
63 webpack-subresource-integrity "1.1.0-rc.6" 63 webpack-subresource-integrity "1.1.0-rc.6"
64 optionalDependencies: 64 optionalDependencies:
65 node-sass "4.9.3" 65 node-sass "4.10.0"
66 66
67"@angular-devkit/build-optimizer@0.10.6": 67"@angular-devkit/build-optimizer@0.11.1":
68 version "0.10.6" 68 version "0.11.1"
69 resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.10.6.tgz#ca7db9b3d5378b2759509692f02a5fb5af273dd0" 69 resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.11.1.tgz#1079737a44b26b39e35cea7f966a39cd11bbbf48"
70 integrity sha512-oedg8F++8zZTmoTt141k3nlyPtrSSsQUZI9TFbSdfR1D5WDflwOlkLyRb5WoC53HSoQnagKxY2qzd7khVah//Q== 70 integrity sha512-pyFP6ykZf8Iq8nRkgP2XKq8knpIG6ye0qYklnBC9815AC5RAO126Y4fmtd6tnH+5p1mQxnt5HegG0j5xOCgDRw==
71 dependencies: 71 dependencies:
72 loader-utils "1.1.0" 72 loader-utils "1.1.0"
73 source-map "0.5.6" 73 source-map "0.5.6"
74 typescript "3.1.6" 74 typescript "3.1.6"
75 webpack-sources "1.2.0" 75 webpack-sources "1.2.0"
76 76
77"@angular-devkit/build-webpack@0.10.6": 77"@angular-devkit/build-webpack@0.11.1":
78 version "0.10.6" 78 version "0.11.1"
79 resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.10.6.tgz#d3acb781f97406a49a3e3adfcc49a8518d33e291" 79 resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.11.1.tgz#bd98ff3dea633c5b77671b471e72cf6c91f6c679"
80 integrity sha512-tPv23KKw3iAGCTF6noD7zdHbufny4A3d+mlX1VoJDiAa6jqmuFxhY2fALymc11MRY4HVtMF5J1kQy9BLGCDbQg== 80 integrity sha512-p7fPHOi2Wfq2VPtnRVowg3n99MujghpOp6zW0gBJQD1TQhGVzPK6AX42S0NA4d05ahNBCDU2n7Y+5TjNJRIGJw==
81 dependencies: 81 dependencies:
82 "@angular-devkit/architect" "0.10.6" 82 "@angular-devkit/architect" "0.11.1"
83 "@angular-devkit/core" "7.0.6" 83 "@angular-devkit/core" "7.1.1"
84 rxjs "6.3.3" 84 rxjs "6.3.3"
85 85
86"@angular-devkit/core@7.0.6": 86"@angular-devkit/core@7.1.1":
87 version "7.0.6" 87 version "7.1.1"
88 resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-7.0.6.tgz#26c4cd4d271e8cd03f6e50b4ec30cbc606f3346e" 88 resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-7.1.1.tgz#ce0a674f16188072988502cc3f073b15efcfe194"
89 integrity sha512-RPSXUtLrpYDTqAEL0rCyDKxES76EomsPBvUUZTD6UkE2pihoh9ZIxkzhzlE+HU/xdqm28+smQYFhvvEAXFWwSQ== 89 integrity sha512-rODqECpOiV6vX+L1qd63GLiF3SG+V1O+d8WYtnKPOxnsMM9yWpWmqmroHtXfisjucu/zwoqj8HoO/noJZCfynw==
90 dependencies: 90 dependencies:
91 ajv "6.5.3" 91 ajv "6.5.3"
92 chokidar "2.0.4" 92 chokidar "2.0.4"
@@ -94,48 +94,47 @@
94 rxjs "6.3.3" 94 rxjs "6.3.3"
95 source-map "0.7.3" 95 source-map "0.7.3"
96 96
97"@angular-devkit/schematics@7.0.6": 97"@angular-devkit/schematics@7.1.1":
98 version "7.0.6" 98 version "7.1.1"
99 resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-7.0.6.tgz#97fca028bd937e2319d9d34c12b82e8d1d99de23" 99 resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-7.1.1.tgz#328ec6071c5ef3b1588a9f4bc97f5edfc3620b09"
100 integrity sha512-S/3CrBDoh/BD4mBq8RNGQ8sgNFDsveCuFHDkOyct8+NDg2wcRkEGigyq8eZwVN/iVKCwjxc0I/bC336edoNMIQ== 100 integrity sha512-yjzTw8ZWMPg0Fc9VQCHNpUCAH7aiNxrUDs0IbhdC0CyKTBoqH+cx2xP4Z6ECf4uNwceLKJlE0l3ot42Ypnlziw==
101 dependencies: 101 dependencies:
102 "@angular-devkit/core" "7.0.6" 102 "@angular-devkit/core" "7.1.1"
103 rxjs "6.3.3" 103 rxjs "6.3.3"
104 104
105"@angular/animations@~7.0.2": 105"@angular/animations@~7.1.1":
106 version "7.0.4" 106 version "7.1.1"
107 resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-7.0.4.tgz#f53fc9f1bce3bf1afe60dcbc08b6863472f519e4" 107 resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-7.1.1.tgz#8fecbd19417364946a9ea40c8fdf32462110232f"
108 integrity sha512-QfFikT0FzYNMjdVg0LWTBijdu9JDJyzejnhCFlXxv+KR4zolpRK98/rU7CFW1Fg2jjL3/yL9PT1sf5I0fTJZYA== 108 integrity sha512-iTNxhPPraCZsE4rgM23lguT1kDV4mfYAr+Bsi5J0+v9ZJA+VaKvi6eRW8ZGrx4/rDz6hzTnBn1jgPppHFbsOcw==
109 dependencies: 109 dependencies:
110 tslib "^1.9.0" 110 tslib "^1.9.0"
111 111
112"@angular/cli@~7.0.4": 112"@angular/cli@~7.1.1":
113 version "7.0.6" 113 version "7.1.1"
114 resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-7.0.6.tgz#f97bc9ca92785c7ce2e5f20819c48265a1da5b53" 114 resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-7.1.1.tgz#c5dd2b92c5c3391f20262b5e530813e4e2d31777"
115 integrity sha512-f76kq8AQMkloeojIffeT7DYLXT/J4DRhYoAPQR4E09V7lkigFCILiYzQs5RtCAX6EjlPxlrZKkdfnBn0OUPnig== 115 integrity sha512-lPVKsk035T5Ls0Mf83OngrNoLZu/ucZSjRLN/GWZK1O/YYVmb/dTgVl/a7HC+G480tWQ34nlqnCRbrP7sE9v7g==
116 dependencies: 116 dependencies:
117 "@angular-devkit/architect" "0.10.6" 117 "@angular-devkit/architect" "0.11.1"
118 "@angular-devkit/core" "7.0.6" 118 "@angular-devkit/core" "7.1.1"
119 "@angular-devkit/schematics" "7.0.6" 119 "@angular-devkit/schematics" "7.1.1"
120 "@schematics/angular" "7.0.6" 120 "@schematics/angular" "7.1.1"
121 "@schematics/update" "0.10.6" 121 "@schematics/update" "0.11.1"
122 inquirer "6.2.0" 122 inquirer "6.2.0"
123 opn "5.3.0" 123 opn "5.3.0"
124 rxjs "6.3.3"
125 semver "5.5.1" 124 semver "5.5.1"
126 symbol-observable "1.2.0" 125 symbol-observable "1.2.0"
127 126
128"@angular/common@~7.0.2": 127"@angular/common@~7.1.1":
129 version "7.0.4" 128 version "7.1.1"
130 resolved "https://registry.yarnpkg.com/@angular/common/-/common-7.0.4.tgz#aafb26ce59c967daa5b122393e1933208a247f72" 129 resolved "https://registry.yarnpkg.com/@angular/common/-/common-7.1.1.tgz#f78f884614ef81ab2fd648f1aa3e83aae370a6c8"
131 integrity sha512-akQojdqY/RBlItkDWAPI3k0Llk1wnbAp+f47yySi3cgQz9SaZ1/RLNWZV84I/cKrksb4ehorT/lTqRBojsAD1A== 130 integrity sha512-SngekFx9v39sjgi9pON0Wehxpu+NdUk7OEebw4Fa8dKqTgydTkuhmnNH+9WQe264asoeCt51oufPRjIqMLNohA==
132 dependencies: 131 dependencies:
133 tslib "^1.9.0" 132 tslib "^1.9.0"
134 133
135"@angular/compiler-cli@~7.0.2": 134"@angular/compiler-cli@~7.1.1":
136 version "7.0.4" 135 version "7.1.1"
137 resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-7.0.4.tgz#f96fc1c0aec27ee97ec5f13a8eb72bc8b964db97" 136 resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-7.1.1.tgz#c5f6225fb72b56f42fa78c332fdee9755c64604e"
138 integrity sha512-kvhWt6OTb1Uduns9Vm+Dwd/UUBNSEU6Jgu+QOPeHr7lg+4NTyr9uQLU0DtfBP0ljOlds8esmfii5IIFTeUQw1Q== 137 integrity sha512-4NXlkDhOEQgaP3Agigqw93CvXJvsfnXa0xiglq9e/wjL+6XbtM9WcDb5lfRQz41N9RSkO3pEHGvKMweKZGgogA==
139 dependencies: 138 dependencies:
140 canonical-path "1.0.0" 139 canonical-path "1.0.0"
141 chokidar "^1.4.2" 140 chokidar "^1.4.2"
@@ -149,64 +148,64 @@
149 tslib "^1.9.0" 148 tslib "^1.9.0"
150 yargs "9.0.1" 149 yargs "9.0.1"
151 150
152"@angular/compiler@~7.0.2": 151"@angular/compiler@~7.1.1":
153 version "7.0.4" 152 version "7.1.1"
154 resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-7.0.4.tgz#df91dab990c46b464705b0901d70d1cfdfd190e1" 153 resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-7.1.1.tgz#4efbcad27ab43d4cd36d936a8df2e073f6d02d0a"
155 integrity sha512-ExDhH1cJkuJkUsgNRZyZBse0a7wWkQyG5O8HONi3Rzig9dalFEuve9jD04zfA1Jx1GTXhovqtGnF72x4kw0V8Q== 154 integrity sha512-oJvBe8XZ+DXF/W/DxWBTbBcixJTuPeZWdkcZIGWhJoQP7K5GnGnj8ffP9Lp6Dh4TKv85awtC6OfIKhbHxa650Q==
156 dependencies: 155 dependencies:
157 tslib "^1.9.0" 156 tslib "^1.9.0"
158 157
159"@angular/core@~7.0.2": 158"@angular/core@~7.1.1":
160 version "7.0.4" 159 version "7.1.1"
161 resolved "https://registry.yarnpkg.com/@angular/core/-/core-7.0.4.tgz#98340a1bdb53f0bbecfcfc9831a7a22a1540d79b" 160 resolved "https://registry.yarnpkg.com/@angular/core/-/core-7.1.1.tgz#9748b0103cd86226554e1ccbd0f43dd8c46f1ed1"
162 integrity sha512-17SSmCz1wQoZKnVHF/T8UkWYPpDm5kPyoc1okkTTv8ZA2EAMMuZFFnRSAxEL5i7mNB9z5CvRqF2tRx/DbgbIRA== 161 integrity sha512-Osig5SRgDRQ+Hec/liN7nq/BCJieB+4/pqRh9rFbOXezb2ptgRZqdXOXN8P17i4AwPVf308Mh55V0niJ5Eu3Rw==
163 dependencies: 162 dependencies:
164 tslib "^1.9.0" 163 tslib "^1.9.0"
165 164
166"@angular/forms@~7.0.2": 165"@angular/forms@~7.1.1":
167 version "7.0.4" 166 version "7.1.1"
168 resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-7.0.4.tgz#5f2328d297f5c7f9f3af81e1f76a13e1546c743f" 167 resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-7.1.1.tgz#d16ef10a901c007062fd19144cd77917ef55ee24"
169 integrity sha512-W3nN9n1VY9On9+9f7PDRbzJUg+mMq1bjkhWsk/b7DfaYdmlzpG+Wd6OfArob2edsqGqH1dvTM8q8aGbWiFZ7dA== 168 integrity sha512-yCWuPjpu23Wc3XUw7v/ACNn/e249oT0bYlM8aaMQ1F5OwrmmC4NJC12Rpl9Ihza61RIHIKzNcHVEgzc7WhcSag==
170 dependencies: 169 dependencies:
171 tslib "^1.9.0" 170 tslib "^1.9.0"
172 171
173"@angular/http@~7.0.2": 172"@angular/http@~7.1.1":
174 version "7.0.4" 173 version "7.1.1"
175 resolved "https://registry.yarnpkg.com/@angular/http/-/http-7.0.4.tgz#445d6a812d25ea1656fc3e3381ef82b3f98fccb4" 174 resolved "https://registry.yarnpkg.com/@angular/http/-/http-7.1.1.tgz#f19f17ad42e7f3cdabcf1250ca757640d0f02219"
176 integrity sha512-oUGT7xS7FZYajuHq0DP6MgahacB5sJTRgxiUU4uhQ/mqV7aREODVJJgw7oHDhM7Cnyzzo0B9D0zpEljKmeCLWQ== 175 integrity sha512-pRk+c/kz9aJ8te5xzCxlPLpFnwB0d/E9YkOo3/ydaXF9vZw13RTzk00YyzJ41PDzJf8oPDdXtueTQ+vtJ7Srtw==
177 dependencies: 176 dependencies:
178 tslib "^1.9.0" 177 tslib "^1.9.0"
179 178
180"@angular/language-service@~7.0.2": 179"@angular/language-service@~7.1.1":
181 version "7.0.4" 180 version "7.1.1"
182 resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-7.0.4.tgz#db221f183725ff54c1188aec7acb2948e29f4c50" 181 resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-7.1.1.tgz#6bbe35b2430ad54618a1803f881efb5894b296c9"
183 integrity sha512-CuJ2Ii97sNoN1HOZOLxG1lEHsQFi8K/RSB/k2suWPKzdM53ldSkKoYRac38zW/uqNABYItgvxb7w0Vi7HhxLsg== 182 integrity sha512-X+5g20PMtNRGZIa3svMv4PLJdJehn4wqrS8nwOtzH5XkSn5vA3IxjsJVdSzAy2AN0/sKKJK5jmQorPtKO4saJg==
184 183
185"@angular/platform-browser-dynamic@~7.0.2": 184"@angular/platform-browser-dynamic@~7.1.1":
186 version "7.0.4" 185 version "7.1.1"
187 resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.0.4.tgz#69abb8c784bb71a660a0c824ca4a1a4960811a33" 186 resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.1.1.tgz#6945298446173338782f437a996226110cda0d3e"
188 integrity sha512-k1I53zIg8YWhtQizLfq/tWrUUdY5vHV8pGHyt0/UTGDqat5TORd6LDFfzCSux0r3qZujCOGNi9f4/AbyV8B9lw== 187 integrity sha512-ZIu48Vn4S6gjD7CMbGlKGaPQ8v9rYkWzlNYi4vTYzgiqKKNC3hqLsVESU3mSvr5oeQBxSIBidTdHSyafHFrA2w==
189 dependencies: 188 dependencies:
190 tslib "^1.9.0" 189 tslib "^1.9.0"
191 190
192"@angular/platform-browser@~7.0.2": 191"@angular/platform-browser@~7.1.1":
193 version "7.0.4" 192 version "7.1.1"
194 resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-7.0.4.tgz#57dfaa23f8a3d678bad6ca110051e3ac6622ff3d" 193 resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-7.1.1.tgz#a6bd408f656dc43ee5a2d8af3dfaa786c7c1dfca"
195 integrity sha512-4brYZZgsCJk1/a6JoSwaiVWO9+/T4iyE27dAgstao1nOf/jrBNKW2HnZtkWZmCCBK0WIk15wlB0Xr87OZbjNVA== 194 integrity sha512-I6OPjecynGJSbPtzu0gvEgSmIR6X6/xEAhg4L9PycW1ryjzptTC9klWRTWIqsIBqMxhVnY44uKLeRNrDwMOwyA==
196 dependencies: 195 dependencies:
197 tslib "^1.9.0" 196 tslib "^1.9.0"
198 197
199"@angular/router@~7.0.2": 198"@angular/router@~7.1.1":
200 version "7.0.4" 199 version "7.1.1"
201 resolved "https://registry.yarnpkg.com/@angular/router/-/router-7.0.4.tgz#ae2c32cc6a29bfe6eb909b9c63257d187075f4ff" 200 resolved "https://registry.yarnpkg.com/@angular/router/-/router-7.1.1.tgz#80a4cdffc03a529b73485c2ad63a30ec435364ea"
202 integrity sha512-nt1jJsxN+JmYZ6URamMdULUpH4aHdnNVKjWtjDI0OpdZvPx7PMFD8cfc92q0tavy2KqqexcceIb4BIC965gtpA== 201 integrity sha512-jbnqEq/1iDBkeH8Vn13hauGPTzhwllWM+MLfmdNGTiMzGRx4pmkWa57seDOeBF/GNYBL9JjkWTCrkKFAc2FJKw==
203 dependencies: 202 dependencies:
204 tslib "^1.9.0" 203 tslib "^1.9.0"
205 204
206"@angular/service-worker@~7.0.2": 205"@angular/service-worker@~7.1.1":
207 version "7.0.4" 206 version "7.1.1"
208 resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-7.0.4.tgz#be274843ae29cb69ac969c078edd8ae5b25e3e61" 207 resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-7.1.1.tgz#c9e6f0265d7e102d8271483519cf09a180f0e08b"
209 integrity sha512-vBA9T1xeCP6QesOYhMyVpXTUVdXU4eMYdoZItHncyom8AxS2a26FB8zLW72VXdEfZ7xnJgcDtsYzYzVi+3DXsQ== 208 integrity sha512-xX00x0XMW47jEfYTZLwdJCqkmPE7+mdtlSeOGpjaKv6Y2hqZodz80RYgH5JltM4RKEzOvQolR6KmdKcw1ANs9Q==
210 dependencies: 209 dependencies:
211 tslib "^1.9.0" 210 tslib "^1.9.0"
212 211
@@ -223,11 +222,11 @@
223 "@babel/highlight" "^7.0.0" 222 "@babel/highlight" "^7.0.0"
224 223
225"@babel/generator@^7.0.0", "@babel/generator@^7.1.6": 224"@babel/generator@^7.0.0", "@babel/generator@^7.1.6":
226 version "7.1.6" 225 version "7.2.0"
227 resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.1.6.tgz#001303cf87a5b9d093494a4bf251d7b5d03d3999" 226 resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.2.0.tgz#eaf3821fa0301d9d4aef88e63d4bcc19b73ba16c"
228 integrity sha512-brwPBtVvdYdGxtenbQgfCdDPmtkmUBZPjUoK5SXJEBuHaA5BCubh9ly65fzXz7R6o5rA76Rs22ES8Z+HCc0YIQ== 227 integrity sha512-BA75MVfRlFQG2EZgFYIwyT1r6xSkwfP2bdkY/kLZusEYWiJs4xCowab/alaEaT0wSvmVuXGqiefeBlP+7V1yKg==
229 dependencies: 228 dependencies:
230 "@babel/types" "^7.1.6" 229 "@babel/types" "^7.2.0"
231 jsesc "^2.5.1" 230 jsesc "^2.5.1"
232 lodash "^4.17.10" 231 lodash "^4.17.10"
233 source-map "^0.5.0" 232 source-map "^0.5.0"
@@ -266,14 +265,14 @@
266 js-tokens "^4.0.0" 265 js-tokens "^4.0.0"
267 266
268"@babel/parser@^7.0.0", "@babel/parser@^7.1.2", "@babel/parser@^7.1.6": 267"@babel/parser@^7.0.0", "@babel/parser@^7.1.2", "@babel/parser@^7.1.6":
269 version "7.1.6" 268 version "7.2.0"
270 resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.6.tgz#16e97aca1ec1062324a01c5a6a7d0df8dd189854" 269 resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.2.0.tgz#02d01dbc330b6cbf36b76ac93c50752c69027065"
271 integrity sha512-dWP6LJm9nKT6ALaa+bnL247GHHMWir3vSlZ2+IHgHgktZQx0L3Uvq2uAWcuzIe+fujRsYWBW2q622C5UvGK9iQ== 270 integrity sha512-M74+GvK4hn1eejD9lZ7967qAwvqTZayQa3g10ag4s9uewgR7TKjeaT0YMyoq+gVfKYABiWZ4MQD701/t5e1Jhg==
272 271
273"@babel/runtime@^7.0.0": 272"@babel/runtime@^7.0.0":
274 version "7.1.5" 273 version "7.2.0"
275 resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.1.5.tgz#4170907641cf1f61508f563ece3725150cc6fe39" 274 resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.2.0.tgz#b03e42eeddf5898e00646e4c840fa07ba8dcad7f"
276 integrity sha512-xKnPpXG/pvK1B90JkwwxSGii90rQGKtzcMt2gI5G6+M0REXaq6rOHsGC2ay6/d0Uje7zzvSzjEzfR3ENhFlrfA== 275 integrity sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==
277 dependencies: 276 dependencies:
278 regenerator-runtime "^0.12.0" 277 regenerator-runtime "^0.12.0"
279 278
@@ -301,10 +300,10 @@
301 globals "^11.1.0" 300 globals "^11.1.0"
302 lodash "^4.17.10" 301 lodash "^4.17.10"
303 302
304"@babel/types@^7.0.0", "@babel/types@^7.1.2", "@babel/types@^7.1.6": 303"@babel/types@^7.0.0", "@babel/types@^7.1.2", "@babel/types@^7.1.6", "@babel/types@^7.2.0":
305 version "7.1.6" 304 version "7.2.0"
306 resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.1.6.tgz#0adb330c3a281348a190263aceb540e10f04bcce" 305 resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.2.0.tgz#7941c5b2d8060e06f9601d6be7c223eef906d5d8"
307 integrity sha512-DMiUzlY9DSjVsOylJssxLHSgj6tWM9PRFJOGW/RaOglVOK9nzTxoOMfTfRQXGUCUQ/HmlG2efwC+XqUEJ5ay4w== 306 integrity sha512-b4v7dyfApuKDvmPb+O488UlGuR1WbwMXFsO/cyqMrnfvRAChZKJAYeeglWTjUO1b9UghKKgepAQM5tsvBJca6A==
308 dependencies: 307 dependencies:
309 esutils "^2.0.2" 308 esutils "^2.0.2"
310 lodash "^4.17.10" 309 lodash "^4.17.10"
@@ -322,38 +321,38 @@
322 dependencies: 321 dependencies:
323 tslib "^1.9.0" 322 tslib "^1.9.0"
324 323
325"@ngtools/webpack@7.0.6": 324"@ngtools/webpack@7.1.1":
326 version "7.0.6" 325 version "7.1.1"
327 resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-7.0.6.tgz#cc4f4189765f6743417b4eee946fb69590f93ce1" 326 resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-7.1.1.tgz#c418e1cb0d70a77d06e8c32500fe2e92e606ea52"
328 integrity sha512-lOHpVqr30QXPuaOxSRasHv6ybDj4a1jVwSOk+W4aGqVlLi0bsngt9HrvgR+FALEoG9P520bytz16wma81Y2Aeg== 327 integrity sha512-XW/YDjiDZlwOYK4YvGAIKIVEkqtdwPLwTWAmDbnfpEHQc8UALsBrzGdjze0jSfXQdQxkbmXo0aolZgNc7uL/wQ==
329 dependencies: 328 dependencies:
330 "@angular-devkit/core" "7.0.6" 329 "@angular-devkit/core" "7.1.1"
331 enhanced-resolve "4.1.0" 330 enhanced-resolve "4.1.0"
332 rxjs "6.3.3" 331 rxjs "6.3.3"
333 tree-kill "1.2.0" 332 tree-kill "1.2.0"
334 webpack-sources "1.2.0" 333 webpack-sources "1.2.0"
335 334
336"@ngx-loading-bar/core@2.2.0", "@ngx-loading-bar/core@^2.2.0": 335"@ngx-loading-bar/core@3.0.0", "@ngx-loading-bar/core@^3.0.0":
337 version "2.2.0" 336 version "3.0.0"
338 resolved "https://registry.yarnpkg.com/@ngx-loading-bar/core/-/core-2.2.0.tgz#ad313bbbd69e4c52cc2d6f0a8b5911272371d16a" 337 resolved "https://registry.yarnpkg.com/@ngx-loading-bar/core/-/core-3.0.0.tgz#86c6d036b5ad50950b5ea526db585f39d44f396a"
339 integrity sha512-0jcnEzuhqE/c+4iAumJ/0D4GBWm4RRVas0+qXpX4Wm225SJoE5KupUOlMrvLnJNK2bn8NW31dEj80kJ+UzhE5A== 338 integrity sha512-DBH+bKf8M9uSk2791HbtN/JvcEmBxEbUCiOJ6PYrjbginH6dUn2NsSxnv3myu0lpx+7K3MusXLNImkB5JUh2QA==
340 dependencies: 339 dependencies:
341 tslib "^1.7.1" 340 tslib "^1.7.1"
342 341
343"@ngx-loading-bar/http-client@^2.2.0": 342"@ngx-loading-bar/http-client@^3.0.0":
344 version "2.2.0" 343 version "3.0.0"
345 resolved "https://registry.yarnpkg.com/@ngx-loading-bar/http-client/-/http-client-2.2.0.tgz#4b5443feed5c53bc5b5f06119f771edbe89799f4" 344 resolved "https://registry.yarnpkg.com/@ngx-loading-bar/http-client/-/http-client-3.0.0.tgz#2fce2f60da37a48f2173ef4f08189eecf98d9215"
346 integrity sha512-+eilxs10KncQWg7DQJLK2AoWnmTPidhVHNxfTOPHJVnmcyAFmTtk+lQbf5Ke3aC4d/KXZklkRyBizqDfvRvc9w== 345 integrity sha512-7AHM3tmA2FDFXsKbL09vnRqqxdztpjilkP3U9zXB5Lkv3XtlJnZoQKFCSbmEusw30k3oAmY5id/ZE9X83uekZg==
347 dependencies: 346 dependencies:
348 "@ngx-loading-bar/core" "2.2.0" 347 "@ngx-loading-bar/core" "3.0.0"
349 tslib "^1.7.1" 348 tslib "^1.7.1"
350 349
351"@ngx-loading-bar/router@^2.2.0": 350"@ngx-loading-bar/router@^3.0.0":
352 version "2.2.0" 351 version "3.0.0"
353 resolved "https://registry.yarnpkg.com/@ngx-loading-bar/router/-/router-2.2.0.tgz#c13c1a05c620a9da102102322685b671d3c9a1ba" 352 resolved "https://registry.yarnpkg.com/@ngx-loading-bar/router/-/router-3.0.0.tgz#627e73be406dfdff48175f75c110bebd4f6fa588"
354 integrity sha512-/lrWc0ZwGcpmuoa26/h0rC7SRVKgCtsikhy0mVXwrb1VVJ+sRU8vNKbq7aidcvEY5vdi3l0Z7DcVq9+JV/i/BQ== 353 integrity sha512-UL3GaFyFfHwgGeAdSEG800Rl3GuBfKydPp21lD/paqdsrUT2Z1cBLAiVFw7U4QdnSLaPzngYr9bzgDFdy4GqYQ==
355 dependencies: 354 dependencies:
356 "@ngx-loading-bar/core" "2.2.0" 355 "@ngx-loading-bar/core" "3.0.0"
357 tslib "^1.7.1" 356 tslib "^1.7.1"
358 357
359"@ngx-meta/core@^6.0.0-rc.1": 358"@ngx-meta/core@^6.0.0-rc.1":
@@ -372,23 +371,25 @@
372 tslib "^1.9.0" 371 tslib "^1.9.0"
373 yargs "10.0.3" 372 yargs "10.0.3"
374 373
375"@schematics/angular@7.0.6": 374"@schematics/angular@7.1.1":
376 version "7.0.6" 375 version "7.1.1"
377 resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-7.0.6.tgz#1173c201d118cf38d1afdb382e9a916e4b540a17" 376 resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-7.1.1.tgz#4ee17a17d221eaf48009db0b991766d1074d0b4f"
378 integrity sha512-jOHL+vSu1cqAo3kRNDmgkq/GR2EDkJx5/h0VXGlbtdEpq892LipKHtyPgXa269AABgPKb3TSNBwZls6g2L9FCw== 377 integrity sha512-jMaj8y3rNTQQXuH38uoWfAOmwYjtzqo1RelNfACnT54mfO/Dat+k7WasBLHWuvzvnN4/Ga3kXL7sJpkeMciiIg==
379 dependencies: 378 dependencies:
380 "@angular-devkit/core" "7.0.6" 379 "@angular-devkit/core" "7.1.1"
381 "@angular-devkit/schematics" "7.0.6" 380 "@angular-devkit/schematics" "7.1.1"
382 typescript "3.1.6" 381 typescript "3.1.6"
383 382
384"@schematics/update@0.10.6": 383"@schematics/update@0.11.1":
385 version "0.10.6" 384 version "0.11.1"
386 resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.10.6.tgz#616e6c321cd51468eacda7fc8a0306b37f8b4ca2" 385 resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.11.1.tgz#5129a800043dc38ee1f1c879865e0df82ddac7ed"
387 integrity sha512-Yy/M4JosrVDb5tbpmi+v1uTHSmBYISOiuFVuxtpMN5DWdDNq/JTBEw2jy3quelGWHCU06rbGo578Ml3azGZ+9g== 386 integrity sha512-IzPXamoMpDb2eY2zSW4fPuuH+7RfJLte9XVzQM2y3ZTBhlJQFLqx7qJtOXdcXUboonC6o61KCayNDERFnDUdPg==
388 dependencies: 387 dependencies:
389 "@angular-devkit/core" "7.0.6" 388 "@angular-devkit/core" "7.1.1"
390 "@angular-devkit/schematics" "7.0.6" 389 "@angular-devkit/schematics" "7.1.1"
391 npm-registry-client "8.6.0" 390 "@yarnpkg/lockfile" "1.1.0"
391 ini "1.3.5"
392 pacote "9.1.1"
392 rxjs "6.3.3" 393 rxjs "6.3.3"
393 semver "5.5.1" 394 semver "5.5.1"
394 semver-intersect "1.4.0" 395 semver-intersect "1.4.0"
@@ -405,10 +406,15 @@
405 resolved "https://registry.yarnpkg.com/@types/core-js/-/core-js-2.5.0.tgz#35cc282488de6f10af1d92902899a3b8ca3fbc47" 406 resolved "https://registry.yarnpkg.com/@types/core-js/-/core-js-2.5.0.tgz#35cc282488de6f10af1d92902899a3b8ca3fbc47"
406 integrity sha512-qjkHL3wF0JMHMqgm/kmL8Pf8rIiqvueEiZ0g6NVTcBX1WN46GWDr+V5z+gsHUeL0n8TfAmXnYmF7ajsxmBp4PQ== 407 integrity sha512-qjkHL3wF0JMHMqgm/kmL8Pf8rIiqvueEiZ0g6NVTcBX1WN46GWDr+V5z+gsHUeL0n8TfAmXnYmF7ajsxmBp4PQ==
407 408
408"@types/jasmine@*", "@types/jasmine@^2.8.7": 409"@types/jasmine@*":
409 version "2.8.11" 410 version "3.3.1"
410 resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.8.11.tgz#0b5eba9e02616736b1a189112eacc163c3773b7b" 411 resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.3.1.tgz#b6c4f356013364e98b583647c7b3b6de6fccd2cc"
411 integrity sha512-ITPYT5rkV9S0BcucyBwXIUzqzSODVhvAzhOGV0bwZMuqWJeU0Kfdd6IJeJjGI8Gob+lDyAtKaWUfhG6QXJIPRg== 412 integrity sha512-JnKB+cEIFuQZXizZP6N0zxma+JlvowkjefWuL61otVmXN7Ebbs4ka3IbDVIz1pc+TCiT00q925jANz3gQJ9qXw==
413
414"@types/jasmine@^2.8.7":
415 version "2.8.12"
416 resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.8.12.tgz#dfe606b07686c977f54d17cb8ebe6cae2e26f8ff"
417 integrity sha512-eE+xeiGBPgQsNcyg61JBqQS6NtxC+s2yfOikMCnc0Z4NqKujzmSahmtjLCKVQU/AyrTEQ76TOwQBnr8wGP2bmA==
412 418
413"@types/jasminewd2@^2.0.3": 419"@types/jasminewd2@^2.0.3":
414 version "2.0.6" 420 version "2.0.6"
@@ -418,9 +424,9 @@
418 "@types/jasmine" "*" 424 "@types/jasmine" "*"
419 425
420"@types/jest@^23.3.1": 426"@types/jest@^23.3.1":
421 version "23.3.9" 427 version "23.3.10"
422 resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.9.tgz#c16b55186ee73ae65e001fbee69d392c51337ad1" 428 resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.10.tgz#4897974cc317bf99d4fe6af1efa15957fa9c94de"
423 integrity sha512-wNMwXSUcwyYajtbayfPp55tSayuDVU6PfY5gzvRSj80UvxdXEJOVPnUVajaOp7NgXLm+1e2ZDLULmpsU9vDvQw== 429 integrity sha512-DC8xTuW/6TYgvEg3HEXS7cu9OijFqprVDXXiOcdOKZCU/5PJNLZU37VVvmZHdtMiGOa8wAA/We+JzbdxFzQTRQ==
424 430
425"@types/jschannel@^1.0.0": 431"@types/jschannel@^1.0.0":
426 version "1.0.1" 432 version "1.0.1"
@@ -457,9 +463,9 @@
457 integrity sha512-Jn2cF8X6RAMiSmJaATGjf2r3GzIfpZQpvnQhKprQ5sAbMaNXc7hc9sA2XHdMl3bEMEQhTV79JVW7n4Pgg7sjtg== 463 integrity sha512-Jn2cF8X6RAMiSmJaATGjf2r3GzIfpZQpvnQhKprQ5sAbMaNXc7hc9sA2XHdMl3bEMEQhTV79JVW7n4Pgg7sjtg==
458 464
459"@types/node@*", "@types/node@^10.9.2": 465"@types/node@*", "@types/node@^10.9.2":
460 version "10.12.8" 466 version "10.12.12"
461 resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.8.tgz#d0a3ab5a6e61458c492304e2776ac136b81db927" 467 resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.12.tgz#e15a9d034d9210f00320ef718a50c4a799417c47"
462 integrity sha512-INamyRZG4rW3lDCUmwVd5Xho/bXvQm/v1yP8V0UN1RuInU7RoWoaO570b+yLX4Ia/0szsx1wa8VzcsVlsvbWLA== 468 integrity sha512-Pr+6JRiKkfsFvmU/LK68oBRCQeEg36TyAbPhc2xpez24OOZZCuoIhWGTd39VZy6nGafSbxzGouFPTFD/rR1A0A==
463 469
464"@types/node@^6.0.46": 470"@types/node@^6.0.46":
465 version "6.14.2" 471 version "6.14.2"
@@ -532,6 +538,15 @@
532 url-toolkit "^2.1.3" 538 url-toolkit "^2.1.3"
533 video.js "^6.8.0 || ^7.0.0" 539 video.js "^6.8.0 || ^7.0.0"
534 540
541"@webassemblyjs/ast@1.7.10":
542 version "1.7.10"
543 resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.10.tgz#0cfc61d61286240b72fc522cb755613699eea40a"
544 integrity sha512-wTUeaByYN2EA6qVqhbgavtGc7fLTOx0glG2IBsFlrFG51uXIGlYBTyIZMf4SPLo3v1bgV/7lBN3l7Z0R6Hswew==
545 dependencies:
546 "@webassemblyjs/helper-module-context" "1.7.10"
547 "@webassemblyjs/helper-wasm-bytecode" "1.7.10"
548 "@webassemblyjs/wast-parser" "1.7.10"
549
535"@webassemblyjs/ast@1.7.11": 550"@webassemblyjs/ast@1.7.11":
536 version "1.7.11" 551 version "1.7.11"
537 resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace" 552 resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace"
@@ -541,45 +556,42 @@
541 "@webassemblyjs/helper-wasm-bytecode" "1.7.11" 556 "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
542 "@webassemblyjs/wast-parser" "1.7.11" 557 "@webassemblyjs/wast-parser" "1.7.11"
543 558
544"@webassemblyjs/ast@1.7.6": 559"@webassemblyjs/floating-point-hex-parser@1.7.10":
545 version "1.7.6" 560 version "1.7.10"
546 resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.6.tgz#3ef8c45b3e5e943a153a05281317474fef63e21e" 561 resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.10.tgz#ee63d729c6311a85863e369a473f9983f984e4d9"
547 integrity sha512-8nkZS48EVsMUU0v6F1LCIOw4RYWLm2plMtbhFTjNgeXmsTNLuU3xTRtnljt9BFQB+iPbLRobkNrCWftWnNC7wQ== 562 integrity sha512-gMsGbI6I3p/P1xL2UxqhNh1ga2HCsx5VBB2i5VvJFAaqAjd2PBTRULc3BpTydabUQEGlaZCzEUQhLoLG7TvEYQ==
548 dependencies:
549 "@webassemblyjs/helper-module-context" "1.7.6"
550 "@webassemblyjs/helper-wasm-bytecode" "1.7.6"
551 "@webassemblyjs/wast-parser" "1.7.6"
552 mamacro "^0.0.3"
553 563
554"@webassemblyjs/floating-point-hex-parser@1.7.11": 564"@webassemblyjs/floating-point-hex-parser@1.7.11":
555 version "1.7.11" 565 version "1.7.11"
556 resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313" 566 resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313"
557 integrity sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg== 567 integrity sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==
558 568
559"@webassemblyjs/floating-point-hex-parser@1.7.6": 569"@webassemblyjs/helper-api-error@1.7.10":
560 version "1.7.6" 570 version "1.7.10"
561 resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.6.tgz#7cb37d51a05c3fe09b464ae7e711d1ab3837801f" 571 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.10.tgz#bfcb3bbe59775357475790a2ad7b289f09b2f198"
562 integrity sha512-VBOZvaOyBSkPZdIt5VBMg3vPWxouuM13dPXGWI1cBh3oFLNcFJ8s9YA7S9l4mPI7+Q950QqOmqj06oa83hNWBA== 572 integrity sha512-DoYRlPWtuw3yd5BOr9XhtrmB6X1enYF0/54yNvQWGXZEPDF5PJVNI7zQ7gkcKfTESzp8bIBWailaFXEK/jjCsw==
563 573
564"@webassemblyjs/helper-api-error@1.7.11": 574"@webassemblyjs/helper-api-error@1.7.11":
565 version "1.7.11" 575 version "1.7.11"
566 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a" 576 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a"
567 integrity sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg== 577 integrity sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==
568 578
569"@webassemblyjs/helper-api-error@1.7.6": 579"@webassemblyjs/helper-buffer@1.7.10":
570 version "1.7.6" 580 version "1.7.10"
571 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.6.tgz#99b7e30e66f550a2638299a109dda84a622070ef" 581 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.10.tgz#0a8c624c67ad0b214d2e003859921a1988cb151b"
572 integrity sha512-SCzhcQWHXfrfMSKcj8zHg1/kL9kb3aa5TN4plc/EREOs5Xop0ci5bdVBApbk2yfVi8aL+Ly4Qpp3/TRAUInjrg== 582 integrity sha512-+RMU3dt/dPh4EpVX4u5jxsOlw22tp3zjqE0m3ftU2tsYxnPULb4cyHlgaNd2KoWuwasCQqn8Mhr+TTdbtj3LlA==
573 583
574"@webassemblyjs/helper-buffer@1.7.11": 584"@webassemblyjs/helper-buffer@1.7.11":
575 version "1.7.11" 585 version "1.7.11"
576 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b" 586 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b"
577 integrity sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w== 587 integrity sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==
578 588
579"@webassemblyjs/helper-buffer@1.7.6": 589"@webassemblyjs/helper-code-frame@1.7.10":
580 version "1.7.6" 590 version "1.7.10"
581 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.6.tgz#ba0648be12bbe560c25c997e175c2018df39ca3e" 591 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.10.tgz#0ab7e22fad0241a173178c73976fc0edf50832ce"
582 integrity sha512-1/gW5NaGsEOZ02fjnFiU8/OEEXU1uVbv2um0pQ9YVL3IHSkyk6xOwokzyqqO1qDZQUAllb+V8irtClPWntbVqw== 592 integrity sha512-UiytbpKAULOEab2hUZK2ywXen4gWJVrgxtwY3Kn+eZaaSWaRM8z/7dAXRSoamhKFiBh1uaqxzE/XD9BLlug3gw==
593 dependencies:
594 "@webassemblyjs/wast-printer" "1.7.10"
583 595
584"@webassemblyjs/helper-code-frame@1.7.11": 596"@webassemblyjs/helper-code-frame@1.7.11":
585 version "1.7.11" 597 version "1.7.11"
@@ -588,44 +600,45 @@
588 dependencies: 600 dependencies:
589 "@webassemblyjs/wast-printer" "1.7.11" 601 "@webassemblyjs/wast-printer" "1.7.11"
590 602
591"@webassemblyjs/helper-code-frame@1.7.6": 603"@webassemblyjs/helper-fsm@1.7.10":
592 version "1.7.6" 604 version "1.7.10"
593 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.6.tgz#5a94d21b0057b69a7403fca0c253c3aaca95b1a5" 605 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.10.tgz#0915e7713fbbb735620a9d3e4fa3d7951f97ac64"
594 integrity sha512-+suMJOkSn9+vEvDvgyWyrJo5vJsWSDXZmJAjtoUq4zS4eqHyXImpktvHOZwXp1XQjO5H+YQwsBgqTQEc0J/5zg== 606 integrity sha512-w2vDtUK9xeSRtt5+RnnlRCI7wHEvLjF0XdnxJpgx+LJOvklTZPqWkuy/NhwHSLP19sm9H8dWxKeReMR7sCkGZA==
595 dependencies:
596 "@webassemblyjs/wast-printer" "1.7.6"
597 607
598"@webassemblyjs/helper-fsm@1.7.11": 608"@webassemblyjs/helper-fsm@1.7.11":
599 version "1.7.11" 609 version "1.7.11"
600 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181" 610 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181"
601 integrity sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A== 611 integrity sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==
602 612
603"@webassemblyjs/helper-fsm@1.7.6": 613"@webassemblyjs/helper-module-context@1.7.10":
604 version "1.7.6" 614 version "1.7.10"
605 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.6.tgz#ae1741c6f6121213c7a0b587fb964fac492d3e49" 615 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.10.tgz#9beb83f72740f5ac8075313b5cac5e796510f755"
606 integrity sha512-HCS6KN3wgxUihGBW7WFzEC/o8Eyvk0d56uazusnxXthDPnkWiMv+kGi9xXswL2cvfYfeK5yiM17z2K5BVlwypw== 616 integrity sha512-yE5x/LzZ3XdPdREmJijxzfrf+BDRewvO0zl8kvORgSWmxpRrkqY39KZSq6TSgIWBxkK4SrzlS3BsMCv2s1FpsQ==
607 617
608"@webassemblyjs/helper-module-context@1.7.11": 618"@webassemblyjs/helper-module-context@1.7.11":
609 version "1.7.11" 619 version "1.7.11"
610 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209" 620 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209"
611 integrity sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg== 621 integrity sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==
612 622
613"@webassemblyjs/helper-module-context@1.7.6": 623"@webassemblyjs/helper-wasm-bytecode@1.7.10":
614 version "1.7.6" 624 version "1.7.10"
615 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.6.tgz#116d19a51a6cebc8900ad53ca34ff8269c668c23" 625 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.10.tgz#797b1e734bbcfdea8399669cdc58308ef1c7ffc0"
616 integrity sha512-e8/6GbY7OjLM+6OsN7f2krC2qYVNaSr0B0oe4lWdmq5sL++8dYDD1TFbD1TdAdWMRTYNr/Qq7ovXWzia2EbSjw== 626 integrity sha512-u5qy4SJ/OrxKxZqJ9N3qH4ZQgHaAzsopsYwLvoWJY6Q33r8PhT3VPyNMaJ7ZFoqzBnZlCcS/0f4Sp8WBxylXfg==
617 dependencies:
618 mamacro "^0.0.3"
619 627
620"@webassemblyjs/helper-wasm-bytecode@1.7.11": 628"@webassemblyjs/helper-wasm-bytecode@1.7.11":
621 version "1.7.11" 629 version "1.7.11"
622 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06" 630 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06"
623 integrity sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ== 631 integrity sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==
624 632
625"@webassemblyjs/helper-wasm-bytecode@1.7.6": 633"@webassemblyjs/helper-wasm-section@1.7.10":
626 version "1.7.6" 634 version "1.7.10"
627 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.6.tgz#98e515eaee611aa6834eb5f6a7f8f5b29fefb6f1" 635 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.10.tgz#c0ea3703c615d7bc3e3507c3b7991c8767b2f20e"
628 integrity sha512-PzYFCb7RjjSdAOljyvLWVqd6adAOabJW+8yRT+NWhXuf1nNZWH+igFZCUK9k7Cx7CsBbzIfXjJc7u56zZgFj9Q== 636 integrity sha512-Ecvww6sCkcjatcyctUrn22neSJHLN/TTzolMGG/N7S9rpbsTZ8c6Bl98GpSpV77EvzNijiNRHBG0+JO99qKz6g==
637 dependencies:
638 "@webassemblyjs/ast" "1.7.10"
639 "@webassemblyjs/helper-buffer" "1.7.10"
640 "@webassemblyjs/helper-wasm-bytecode" "1.7.10"
641 "@webassemblyjs/wasm-gen" "1.7.10"
629 642
630"@webassemblyjs/helper-wasm-section@1.7.11": 643"@webassemblyjs/helper-wasm-section@1.7.11":
631 version "1.7.11" 644 version "1.7.11"
@@ -637,15 +650,12 @@
637 "@webassemblyjs/helper-wasm-bytecode" "1.7.11" 650 "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
638 "@webassemblyjs/wasm-gen" "1.7.11" 651 "@webassemblyjs/wasm-gen" "1.7.11"
639 652
640"@webassemblyjs/helper-wasm-section@1.7.6": 653"@webassemblyjs/ieee754@1.7.10":
641 version "1.7.6" 654 version "1.7.10"
642 resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.6.tgz#783835867bdd686df7a95377ab64f51a275e8333" 655 resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.10.tgz#62c1728b7ef0f66ef8221e2966a0afd75db430df"
643 integrity sha512-3GS628ppDPSuwcYlQ7cDCGr4W2n9c4hLzvnRKeuz+lGsJSmc/ADVoYpm1ts2vlB1tGHkjtQMni+yu8mHoMlKlA== 656 integrity sha512-HRcWcY+YWt4+s/CvQn+vnSPfRaD4KkuzQFt5MNaELXXHSjelHlSEA8ZcqT69q0GTIuLWZ6JaoKar4yWHVpZHsQ==
644 dependencies: 657 dependencies:
645 "@webassemblyjs/ast" "1.7.6" 658 "@xtuc/ieee754" "^1.2.0"
646 "@webassemblyjs/helper-buffer" "1.7.6"
647 "@webassemblyjs/helper-wasm-bytecode" "1.7.6"
648 "@webassemblyjs/wasm-gen" "1.7.6"
649 659
650"@webassemblyjs/ieee754@1.7.11": 660"@webassemblyjs/ieee754@1.7.11":
651 version "1.7.11" 661 version "1.7.11"
@@ -654,12 +664,12 @@
654 dependencies: 664 dependencies:
655 "@xtuc/ieee754" "^1.2.0" 665 "@xtuc/ieee754" "^1.2.0"
656 666
657"@webassemblyjs/ieee754@1.7.6": 667"@webassemblyjs/leb128@1.7.10":
658 version "1.7.6" 668 version "1.7.10"
659 resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.6.tgz#c34fc058f2f831fae0632a8bb9803cf2d3462eb1" 669 resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.10.tgz#167e0bb4b06d7701585772a73fba9f4df85439f6"
660 integrity sha512-V4cIp0ruyw+hawUHwQLn6o2mFEw4t50tk530oKsYXQhEzKR+xNGDxs/SFFuyTO7X3NzEu4usA3w5jzhl2RYyzQ== 670 integrity sha512-og8MciYlA8hvzCLR71hCuZKPbVBfLQeHv7ImKZ4nlyxrYbG7uJHYtHiHu6OV9SqrGuD03H/HtXC4Bgdjfm9FHw==
661 dependencies: 671 dependencies:
662 "@xtuc/ieee754" "^1.2.0" 672 "@xtuc/long" "4.2.1"
663 673
664"@webassemblyjs/leb128@1.7.11": 674"@webassemblyjs/leb128@1.7.11":
665 version "1.7.11" 675 version "1.7.11"
@@ -668,22 +678,29 @@
668 dependencies: 678 dependencies:
669 "@xtuc/long" "4.2.1" 679 "@xtuc/long" "4.2.1"
670 680
671"@webassemblyjs/leb128@1.7.6": 681"@webassemblyjs/utf8@1.7.10":
672 version "1.7.6" 682 version "1.7.10"
673 resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.6.tgz#197f75376a29f6ed6ace15898a310d871d92f03b" 683 resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.10.tgz#b6728f5b6f50364abc155be029f9670e6685605a"
674 integrity sha512-ojdlG8WpM394lBow4ncTGJoIVZ4aAtNOWHhfAM7m7zprmkVcKK+2kK5YJ9Bmj6/ketTtOn7wGSHCtMt+LzqgYQ== 684 integrity sha512-Ng6Pxv6siyZp635xCSnH3mKmIFgqWPCcGdoo0GBYgyGdxu7cUj4agV7Uu1a8REP66UYUFXJLudeGgd4RvuJAnQ==
675 dependencies:
676 "@xtuc/long" "4.2.1"
677 685
678"@webassemblyjs/utf8@1.7.11": 686"@webassemblyjs/utf8@1.7.11":
679 version "1.7.11" 687 version "1.7.11"
680 resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82" 688 resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82"
681 integrity sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA== 689 integrity sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==
682 690
683"@webassemblyjs/utf8@1.7.6": 691"@webassemblyjs/wasm-edit@1.7.10":
684 version "1.7.6" 692 version "1.7.10"
685 resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.6.tgz#eb62c66f906af2be70de0302e29055d25188797d" 693 resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.10.tgz#83fe3140f5a58f5a30b914702be9f0e59a399092"
686 integrity sha512-oId+tLxQ+AeDC34ELRYNSqJRaScB0TClUU6KQfpB8rNT6oelYlz8axsPhf6yPTg7PBJ/Z5WcXmUYiHEWgbbHJw== 694 integrity sha512-e9RZFQlb+ZuYcKRcW9yl+mqX/Ycj9+3/+ppDI8nEE/NCY6FoK8f3dKBcfubYV/HZn44b+ND4hjh+4BYBt+sDnA==
695 dependencies:
696 "@webassemblyjs/ast" "1.7.10"
697 "@webassemblyjs/helper-buffer" "1.7.10"
698 "@webassemblyjs/helper-wasm-bytecode" "1.7.10"
699 "@webassemblyjs/helper-wasm-section" "1.7.10"
700 "@webassemblyjs/wasm-gen" "1.7.10"
701 "@webassemblyjs/wasm-opt" "1.7.10"
702 "@webassemblyjs/wasm-parser" "1.7.10"
703 "@webassemblyjs/wast-printer" "1.7.10"
687 704
688"@webassemblyjs/wasm-edit@1.7.11": 705"@webassemblyjs/wasm-edit@1.7.11":
689 version "1.7.11" 706 version "1.7.11"
@@ -699,19 +716,16 @@
699 "@webassemblyjs/wasm-parser" "1.7.11" 716 "@webassemblyjs/wasm-parser" "1.7.11"
700 "@webassemblyjs/wast-printer" "1.7.11" 717 "@webassemblyjs/wast-printer" "1.7.11"
701 718
702"@webassemblyjs/wasm-edit@1.7.6": 719"@webassemblyjs/wasm-gen@1.7.10":
703 version "1.7.6" 720 version "1.7.10"
704 resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.6.tgz#fa41929160cd7d676d4c28ecef420eed5b3733c5" 721 resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.10.tgz#4de003806ae29c97ab3707782469b53299570174"
705 integrity sha512-pTNjLO3o41v/Vz9VFLl+I3YLImpCSpodFW77pNoH4agn5I6GgSxXHXtvWDTvYJFty0jSeXZWLEmbaSIRUDlekg== 722 integrity sha512-M0lb6cO2Y0PzDye/L39PqwV+jvO+2YxEG5ax+7dgq7EwXdAlpOMx1jxyXJTScQoeTpzOPIb+fLgX/IkLF8h2yw==
706 dependencies: 723 dependencies:
707 "@webassemblyjs/ast" "1.7.6" 724 "@webassemblyjs/ast" "1.7.10"
708 "@webassemblyjs/helper-buffer" "1.7.6" 725 "@webassemblyjs/helper-wasm-bytecode" "1.7.10"
709 "@webassemblyjs/helper-wasm-bytecode" "1.7.6" 726 "@webassemblyjs/ieee754" "1.7.10"
710 "@webassemblyjs/helper-wasm-section" "1.7.6" 727 "@webassemblyjs/leb128" "1.7.10"
711 "@webassemblyjs/wasm-gen" "1.7.6" 728 "@webassemblyjs/utf8" "1.7.10"
712 "@webassemblyjs/wasm-opt" "1.7.6"
713 "@webassemblyjs/wasm-parser" "1.7.6"
714 "@webassemblyjs/wast-printer" "1.7.6"
715 729
716"@webassemblyjs/wasm-gen@1.7.11": 730"@webassemblyjs/wasm-gen@1.7.11":
717 version "1.7.11" 731 version "1.7.11"
@@ -724,16 +738,15 @@
724 "@webassemblyjs/leb128" "1.7.11" 738 "@webassemblyjs/leb128" "1.7.11"
725 "@webassemblyjs/utf8" "1.7.11" 739 "@webassemblyjs/utf8" "1.7.11"
726 740
727"@webassemblyjs/wasm-gen@1.7.6": 741"@webassemblyjs/wasm-opt@1.7.10":
728 version "1.7.6" 742 version "1.7.10"
729 resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.6.tgz#695ac38861ab3d72bf763c8c75e5f087ffabc322" 743 resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.10.tgz#d151e31611934a556c82789fdeec41a814993c2a"
730 integrity sha512-mQvFJVumtmRKEUXMohwn8nSrtjJJl6oXwF3FotC5t6e2hlKMh8sIaW03Sck2MDzw9xPogZD7tdP5kjPlbH9EcQ== 744 integrity sha512-R66IHGCdicgF5ZliN10yn5HaC7vwYAqrSVJGjtJJQp5+QNPBye6heWdVH/at40uh0uoaDN/UVUfXK0gvuUqtVg==
731 dependencies: 745 dependencies:
732 "@webassemblyjs/ast" "1.7.6" 746 "@webassemblyjs/ast" "1.7.10"
733 "@webassemblyjs/helper-wasm-bytecode" "1.7.6" 747 "@webassemblyjs/helper-buffer" "1.7.10"
734 "@webassemblyjs/ieee754" "1.7.6" 748 "@webassemblyjs/wasm-gen" "1.7.10"
735 "@webassemblyjs/leb128" "1.7.6" 749 "@webassemblyjs/wasm-parser" "1.7.10"
736 "@webassemblyjs/utf8" "1.7.6"
737 750
738"@webassemblyjs/wasm-opt@1.7.11": 751"@webassemblyjs/wasm-opt@1.7.11":
739 version "1.7.11" 752 version "1.7.11"
@@ -745,15 +758,17 @@
745 "@webassemblyjs/wasm-gen" "1.7.11" 758 "@webassemblyjs/wasm-gen" "1.7.11"
746 "@webassemblyjs/wasm-parser" "1.7.11" 759 "@webassemblyjs/wasm-parser" "1.7.11"
747 760
748"@webassemblyjs/wasm-opt@1.7.6": 761"@webassemblyjs/wasm-parser@1.7.10":
749 version "1.7.6" 762 version "1.7.10"
750 resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.6.tgz#fbafa78e27e1a75ab759a4b658ff3d50b4636c21" 763 resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.10.tgz#0367be7bf8f09e3e6abc95f8e483b9206487ec65"
751 integrity sha512-go44K90fSIsDwRgtHhX14VtbdDPdK2sZQtZqUcMRvTojdozj5tLI0VVJAzLCfz51NOkFXezPeVTAYFqrZ6rI8Q== 764 integrity sha512-AEv8mkXVK63n/iDR3T693EzoGPnNAwKwT3iHmKJNBrrALAhhEjuPzo/lTE4U7LquEwyvg5nneSNdTdgrBaGJcA==
752 dependencies: 765 dependencies:
753 "@webassemblyjs/ast" "1.7.6" 766 "@webassemblyjs/ast" "1.7.10"
754 "@webassemblyjs/helper-buffer" "1.7.6" 767 "@webassemblyjs/helper-api-error" "1.7.10"
755 "@webassemblyjs/wasm-gen" "1.7.6" 768 "@webassemblyjs/helper-wasm-bytecode" "1.7.10"
756 "@webassemblyjs/wasm-parser" "1.7.6" 769 "@webassemblyjs/ieee754" "1.7.10"
770 "@webassemblyjs/leb128" "1.7.10"
771 "@webassemblyjs/utf8" "1.7.10"
757 772
758"@webassemblyjs/wasm-parser@1.7.11": 773"@webassemblyjs/wasm-parser@1.7.11":
759 version "1.7.11" 774 version "1.7.11"
@@ -767,17 +782,17 @@
767 "@webassemblyjs/leb128" "1.7.11" 782 "@webassemblyjs/leb128" "1.7.11"
768 "@webassemblyjs/utf8" "1.7.11" 783 "@webassemblyjs/utf8" "1.7.11"
769 784
770"@webassemblyjs/wasm-parser@1.7.6": 785"@webassemblyjs/wast-parser@1.7.10":
771 version "1.7.6" 786 version "1.7.10"
772 resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.6.tgz#84eafeeff405ad6f4c4b5777d6a28ae54eed51fe" 787 resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.10.tgz#058f598b52f730b23fc874d4775b6286b6247264"
773 integrity sha512-t1T6TfwNY85pDA/HWPA8kB9xA4sp9ajlRg5W7EKikqrynTyFo+/qDzIpvdkOkOGjlS6d4n4SX59SPuIayR22Yg== 788 integrity sha512-YTPEtOBljkCL0VjDp4sHe22dAYSm3ZwdJ9+2NTGdtC7ayNvuip1wAhaAS8Zt9Q6SW9E5Jf5PX7YE3XWlrzR9cw==
774 dependencies: 789 dependencies:
775 "@webassemblyjs/ast" "1.7.6" 790 "@webassemblyjs/ast" "1.7.10"
776 "@webassemblyjs/helper-api-error" "1.7.6" 791 "@webassemblyjs/floating-point-hex-parser" "1.7.10"
777 "@webassemblyjs/helper-wasm-bytecode" "1.7.6" 792 "@webassemblyjs/helper-api-error" "1.7.10"
778 "@webassemblyjs/ieee754" "1.7.6" 793 "@webassemblyjs/helper-code-frame" "1.7.10"
779 "@webassemblyjs/leb128" "1.7.6" 794 "@webassemblyjs/helper-fsm" "1.7.10"
780 "@webassemblyjs/utf8" "1.7.6" 795 "@xtuc/long" "4.2.1"
781 796
782"@webassemblyjs/wast-parser@1.7.11": 797"@webassemblyjs/wast-parser@1.7.11":
783 version "1.7.11" 798 version "1.7.11"
@@ -791,18 +806,14 @@
791 "@webassemblyjs/helper-fsm" "1.7.11" 806 "@webassemblyjs/helper-fsm" "1.7.11"
792 "@xtuc/long" "4.2.1" 807 "@xtuc/long" "4.2.1"
793 808
794"@webassemblyjs/wast-parser@1.7.6": 809"@webassemblyjs/wast-printer@1.7.10":
795 version "1.7.6" 810 version "1.7.10"
796 resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.6.tgz#ca4d20b1516e017c91981773bd7e819d6bd9c6a7" 811 resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.10.tgz#d817909d2450ae96c66b7607624d98a33b84223b"
797 integrity sha512-1MaWTErN0ziOsNUlLdvwS+NS1QWuI/kgJaAGAMHX8+fMJFgOJDmN/xsG4h/A1Gtf/tz5VyXQciaqHZqp2q0vfg== 812 integrity sha512-mJ3QKWtCchL1vhU/kZlJnLPuQZnlDOdZsyP0bbLWPGdYsQDnSBvyTLhzwBA3QAMlzEL9V4JHygEmK6/OTEyytA==
798 dependencies: 813 dependencies:
799 "@webassemblyjs/ast" "1.7.6" 814 "@webassemblyjs/ast" "1.7.10"
800 "@webassemblyjs/floating-point-hex-parser" "1.7.6" 815 "@webassemblyjs/wast-parser" "1.7.10"
801 "@webassemblyjs/helper-api-error" "1.7.6"
802 "@webassemblyjs/helper-code-frame" "1.7.6"
803 "@webassemblyjs/helper-fsm" "1.7.6"
804 "@xtuc/long" "4.2.1" 816 "@xtuc/long" "4.2.1"
805 mamacro "^0.0.3"
806 817
807"@webassemblyjs/wast-printer@1.7.11": 818"@webassemblyjs/wast-printer@1.7.11":
808 version "1.7.11" 819 version "1.7.11"
@@ -813,15 +824,6 @@
813 "@webassemblyjs/wast-parser" "1.7.11" 824 "@webassemblyjs/wast-parser" "1.7.11"
814 "@xtuc/long" "4.2.1" 825 "@xtuc/long" "4.2.1"
815 826
816"@webassemblyjs/wast-printer@1.7.6":
817 version "1.7.6"
818 resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.6.tgz#a6002c526ac5fa230fe2c6d2f1bdbf4aead43a5e"
819 integrity sha512-vHdHSK1tOetvDcl1IV1OdDeGNe/NDDQ+KzuZHMtqTVP1xO/tZ/IKNpj5BaGk1OYFdsDWQqb31PIwdEyPntOWRQ==
820 dependencies:
821 "@webassemblyjs/ast" "1.7.6"
822 "@webassemblyjs/wast-parser" "1.7.6"
823 "@xtuc/long" "4.2.1"
824
825"@xtuc/ieee754@^1.2.0": 827"@xtuc/ieee754@^1.2.0":
826 version "1.2.0" 828 version "1.2.0"
827 resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" 829 resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
@@ -832,6 +834,19 @@
832 resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8" 834 resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8"
833 integrity sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g== 835 integrity sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==
834 836
837"@yarnpkg/lockfile@1.1.0":
838 version "1.1.0"
839 resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31"
840 integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==
841
842JSONStream@^1.3.4:
843 version "1.3.5"
844 resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
845 integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
846 dependencies:
847 jsonparse "^1.2.0"
848 through ">=2.2.7 <3"
849
835abab@^2.0.0: 850abab@^2.0.0:
836 version "2.0.0" 851 version "2.0.0"
837 resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" 852 resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f"
@@ -909,13 +924,20 @@ after@0.8.2:
909 resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" 924 resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
910 integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8= 925 integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=
911 926
912agent-base@^4.1.0: 927agent-base@4, agent-base@^4.1.0, agent-base@~4.2.0:
913 version "4.2.1" 928 version "4.2.1"
914 resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" 929 resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9"
915 integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg== 930 integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==
916 dependencies: 931 dependencies:
917 es6-promisify "^5.0.0" 932 es6-promisify "^5.0.0"
918 933
934agentkeepalive@^3.4.1:
935 version "3.5.2"
936 resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67"
937 integrity sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==
938 dependencies:
939 humanize-ms "^1.2.1"
940
919ajv-errors@^1.0.0: 941ajv-errors@^1.0.0:
920 version "1.0.0" 942 version "1.0.0"
921 resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.0.tgz#ecf021fa108fd17dfb5e6b383f2dd233e31ffc59" 943 resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.0.tgz#ecf021fa108fd17dfb5e6b383f2dd233e31ffc59"
@@ -944,7 +966,7 @@ ajv@^4.11.2:
944 co "^4.6.0" 966 co "^4.6.0"
945 json-stable-stringify "^1.0.1" 967 json-stable-stringify "^1.0.1"
946 968
947ajv@^5.0.0, ajv@^5.1.0: 969ajv@^5.0.0:
948 version "5.5.2" 970 version "5.5.2"
949 resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" 971 resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
950 integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= 972 integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=
@@ -955,9 +977,9 @@ ajv@^5.0.0, ajv@^5.1.0:
955 json-schema-traverse "^0.3.0" 977 json-schema-traverse "^0.3.0"
956 978
957ajv@^6.1.0, ajv@^6.5.5: 979ajv@^6.1.0, ajv@^6.5.5:
958 version "6.5.5" 980 version "6.6.1"
959 resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.5.tgz#cf97cdade71c6399a92c6d6c4177381291b781a1" 981 resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.1.tgz#6360f5ed0d80f232cc2b294c362d5dc2e538dd61"
960 integrity sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg== 982 integrity sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==
961 dependencies: 983 dependencies:
962 fast-deep-equal "^2.0.1" 984 fast-deep-equal "^2.0.1"
963 fast-json-stable-stringify "^2.0.0" 985 fast-json-stable-stringify "^2.0.0"
@@ -983,9 +1005,9 @@ angular2-notifications@^1.0.2:
983 integrity sha512-DjazfwXtLY8BNXKIEw1oEEMy7G6fmldpzP1FYwyVGUwEtZPLQyYGu9MQYCjtVlZMljxpa3qvnv8l9ZUfXAarNA== 1005 integrity sha512-DjazfwXtLY8BNXKIEw1oEEMy7G6fmldpzP1FYwyVGUwEtZPLQyYGu9MQYCjtVlZMljxpa3qvnv8l9ZUfXAarNA==
984 1006
985ansi-colors@^3.0.0: 1007ansi-colors@^3.0.0:
986 version "3.2.1" 1008 version "3.2.2"
987 resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.1.tgz#9638047e4213f3428a11944a7d4b31cba0a3ff95" 1009 resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.2.tgz#e49349137dbeb6d381b91e607c189915e53265ba"
988 integrity sha512-Xt+zb6nqgvV9SWAVp0EG3lRsHcbq5DDgqjPPz6pwgtj6RKz65zGXMNa82oJfOSBA/to6GmRP7Dr+6o+kbApTzQ== 1010 integrity sha512-kJmcp4PrviBBEx95fC3dYRiC/QSN3EBd0GU1XoNEk/IuUa92rsB6o90zP3w5VAyNznR38Vkc9i8vk5zK6T7TxA==
989 1011
990ansi-escapes@^3.0.0: 1012ansi-escapes@^3.0.0:
991 version "3.1.0" 1013 version "3.1.0"
@@ -1112,9 +1134,9 @@ array-flatten@1.1.1:
1112 integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= 1134 integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
1113 1135
1114array-flatten@^2.1.0: 1136array-flatten@^2.1.0:
1115 version "2.1.1" 1137 version "2.1.2"
1116 resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296" 1138 resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099"
1117 integrity sha1-Qmu52oQJDBg42BLIFQryCoMx4pY= 1139 integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
1118 1140
1119array-slice@^0.2.3: 1141array-slice@^0.2.3:
1120 version "0.2.3" 1142 version "0.2.3"
@@ -1238,17 +1260,17 @@ atob@^2.1.1:
1238 resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" 1260 resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
1239 integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== 1261 integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
1240 1262
1241autoprefixer@9.1.5: 1263autoprefixer@9.3.1:
1242 version "9.1.5" 1264 version "9.3.1"
1243 resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.1.5.tgz#8675fd8d1c0d43069f3b19a2c316f3524e4f6671" 1265 resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.3.1.tgz#71b622174de2b783d5fd99f9ad617b7a3c78443e"
1244 integrity sha512-kk4Zb6RUc58ld7gdosERHMF3DzIYJc2fp5sX46qEsGXQQy5bXsu8qyLjoxuY1NuQ/cJuCYnx99BfjwnRggrYIw== 1266 integrity sha512-DY9gOh8z3tnCbJ13JIWaeQsoYncTGdsrgCceBaQSIL4nvdrLxgbRSBPevg2XbX7u4QCSfLheSJEEIUUSlkbx6Q==
1245 dependencies: 1267 dependencies:
1246 browserslist "^4.1.0" 1268 browserslist "^4.3.3"
1247 caniuse-lite "^1.0.30000884" 1269 caniuse-lite "^1.0.30000898"
1248 normalize-range "^0.1.2" 1270 normalize-range "^0.1.2"
1249 num2fraction "^1.2.2" 1271 num2fraction "^1.2.2"
1250 postcss "^7.0.2" 1272 postcss "^7.0.5"
1251 postcss-value-parser "^3.2.3" 1273 postcss-value-parser "^3.3.1"
1252 1274
1253awesome-typescript-loader@5.2.1: 1275awesome-typescript-loader@5.2.1:
1254 version "5.2.1" 1276 version "5.2.1"
@@ -1269,7 +1291,7 @@ aws-sign2@~0.7.0:
1269 resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 1291 resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
1270 integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= 1292 integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
1271 1293
1272aws4@^1.6.0, aws4@^1.8.0: 1294aws4@^1.8.0:
1273 version "1.8.0" 1295 version "1.8.0"
1274 resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" 1296 resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
1275 integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== 1297 integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
@@ -1631,7 +1653,7 @@ blocking-proxy@^1.0.0:
1631 dependencies: 1653 dependencies:
1632 minimist "^1.2.0" 1654 minimist "^1.2.0"
1633 1655
1634bluebird@^3.3.0, bluebird@^3.5.1: 1656bluebird@^3.3.0, bluebird@^3.5.1, bluebird@^3.5.2:
1635 version "3.5.3" 1657 version "3.5.3"
1636 resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" 1658 resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7"
1637 integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== 1659 integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==
@@ -1800,14 +1822,14 @@ browserify-zlib@^0.2.0:
1800 dependencies: 1822 dependencies:
1801 pako "~1.0.5" 1823 pako "~1.0.5"
1802 1824
1803browserslist@^4.1.0: 1825browserslist@^4.3.3:
1804 version "4.3.4" 1826 version "4.3.5"
1805 resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.3.4.tgz#4477b737db6a1b07077275b24791e680d4300425" 1827 resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.3.5.tgz#1a917678acc07b55606748ea1adf9846ea8920f7"
1806 integrity sha512-u5iz+ijIMUlmV8blX82VGFrB9ecnUg5qEt55CMZ/YJEhha+d8qpBfOFuutJ6F/VKRXjZoD33b6uvarpPxcl3RA== 1828 integrity sha512-z9ZhGc3d9e/sJ9dIx5NFXkKoaiQTnrvrMsN3R1fGb1tkWWNSz12UewJn9TNxGo1l7J23h0MRaPmk7jfeTZYs1w==
1807 dependencies: 1829 dependencies:
1808 caniuse-lite "^1.0.30000899" 1830 caniuse-lite "^1.0.30000912"
1809 electron-to-chromium "^1.3.82" 1831 electron-to-chromium "^1.3.86"
1810 node-releases "^1.0.1" 1832 node-releases "^1.0.5"
1811 1833
1812browserstack@^1.5.1: 1834browserstack@^1.5.1:
1813 version "1.5.1" 1835 version "1.5.1"
@@ -1931,7 +1953,7 @@ cacache@^10.0.4:
1931 unique-filename "^1.1.0" 1953 unique-filename "^1.1.0"
1932 y18n "^4.0.0" 1954 y18n "^4.0.0"
1933 1955
1934cacache@^11.0.2: 1956cacache@^11.0.1, cacache@^11.0.2, cacache@^11.2.0:
1935 version "11.3.1" 1957 version "11.3.1"
1936 resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.1.tgz#d09d25f6c4aca7a6d305d141ae332613aa1d515f" 1958 resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.1.tgz#d09d25f6c4aca7a6d305d141ae332613aa1d515f"
1937 integrity sha512-2PEw4cRRDu+iQvBTTuttQifacYjLPhET+SYO/gEFMy8uhi+jlJREDAjSF5FWSdV/Aw5h18caHA7vMTw2c+wDzA== 1959 integrity sha512-2PEw4cRRDu+iQvBTTuttQifacYjLPhET+SYO/gEFMy8uhi+jlJREDAjSF5FWSdV/Aw5h18caHA7vMTw2c+wDzA==
@@ -2014,10 +2036,15 @@ camelcase@^4.1.0:
2014 resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 2036 resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
2015 integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= 2037 integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
2016 2038
2017caniuse-lite@^1.0.30000884, caniuse-lite@^1.0.30000899: 2039camelcase@^5.0.0:
2018 version "1.0.30000907" 2040 version "5.0.0"
2019 resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000907.tgz#0b9899bde53fb1c30e214fb12402361e02ff5c42" 2041 resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42"
2020 integrity sha512-No5sQ/OB2Nmka8MNOOM6nJx+Hxt6MQ6h7t7kgJFu9oTuwjykyKRSBP/+i/QAyFHxeHB+ddE0Da1CG5ihx9oehQ== 2042 integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==
2043
2044caniuse-lite@^1.0.30000898, caniuse-lite@^1.0.30000912:
2045 version "1.0.30000914"
2046 resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000914.tgz#f802b4667c24d0255f54a95818dcf8e1aa41f624"
2047 integrity sha512-qqj0CL1xANgg6iDOybiPTIxtsmAnfIky9mBC35qgWrnK4WwmhqfpmkDYMYgwXJ8LRZ3/2jXlCntulO8mBaAgSg==
2021 2048
2022canonical-path@1.0.0: 2049canonical-path@1.0.0:
2023 version "1.0.0" 2050 version "1.0.0"
@@ -2276,7 +2303,7 @@ combine-lists@^1.0.0:
2276 dependencies: 2303 dependencies:
2277 lodash "^4.5.0" 2304 lodash "^4.5.0"
2278 2305
2279combined-stream@^1.0.6, combined-stream@~1.0.5, combined-stream@~1.0.6: 2306combined-stream@^1.0.6, combined-stream@~1.0.6:
2280 version "1.0.7" 2307 version "1.0.7"
2281 resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" 2308 resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828"
2282 integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== 2309 integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==
@@ -2355,7 +2382,7 @@ concat-map@0.0.1:
2355 resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 2382 resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
2356 integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 2383 integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
2357 2384
2358concat-stream@^1.5.0, concat-stream@^1.5.2: 2385concat-stream@^1.5.0:
2359 version "1.6.2" 2386 version "1.6.2"
2360 resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" 2387 resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
2361 integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== 2388 integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
@@ -2622,6 +2649,14 @@ css-selector-tokenizer@^0.7.0:
2622 fastparse "^1.1.1" 2649 fastparse "^1.1.1"
2623 regexpu-core "^1.0.0" 2650 regexpu-core "^1.0.0"
2624 2651
2652css-tree@^1.0.0-alpha.29:
2653 version "1.0.0-alpha.29"
2654 resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39"
2655 integrity sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==
2656 dependencies:
2657 mdn-data "~1.1.0"
2658 source-map "^0.5.3"
2659
2625css-what@2.1: 2660css-what@2.1:
2626 version "2.1.2" 2661 version "2.1.2"
2627 resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.2.tgz#c0876d9d0480927d7d4920dcd72af3595649554d" 2662 resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.2.tgz#c0876d9d0480927d7d4920dcd72af3595649554d"
@@ -2718,28 +2753,28 @@ debug@*, debug@^4.0.1, debug@^4.1.0:
2718 dependencies: 2753 dependencies:
2719 ms "^2.1.1" 2754 ms "^2.1.1"
2720 2755
2721debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: 2756debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
2722 version "2.6.9" 2757 version "2.6.9"
2723 resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 2758 resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
2724 integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 2759 integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
2725 dependencies: 2760 dependencies:
2726 ms "2.0.0" 2761 ms "2.0.0"
2727 2762
2728debug@=3.1.0, debug@~3.1.0: 2763debug@3.1.0, debug@=3.1.0, debug@~3.1.0:
2729 version "3.1.0" 2764 version "3.1.0"
2730 resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 2765 resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
2731 integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== 2766 integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
2732 dependencies: 2767 dependencies:
2733 ms "2.0.0" 2768 ms "2.0.0"
2734 2769
2735debug@^3.1.0: 2770debug@^3.1.0, debug@^3.2.5:
2736 version "3.2.6" 2771 version "3.2.6"
2737 resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 2772 resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
2738 integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== 2773 integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
2739 dependencies: 2774 dependencies:
2740 ms "^2.1.1" 2775 ms "^2.1.1"
2741 2776
2742decamelize@^1.1.1, decamelize@^1.1.2: 2777decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0:
2743 version "1.2.0" 2778 version "1.2.0"
2744 resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 2779 resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
2745 integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 2780 integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
@@ -3106,10 +3141,10 @@ ejs@^2.6.1:
3106 resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" 3141 resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0"
3107 integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ== 3142 integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==
3108 3143
3109electron-to-chromium@^1.3.82: 3144electron-to-chromium@^1.3.86:
3110 version "1.3.84" 3145 version "1.3.88"
3111 resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.84.tgz#2e55df59e818f150a9f61b53471ebf4f0feecc65" 3146 resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.88.tgz#f36ab32634f49ef2b0fdc1e82e2d1cc17feb29e7"
3112 integrity sha512-IYhbzJYOopiTaNWMBp7RjbecUBsbnbDneOP86f3qvS0G0xfzwNSvMJpTrvi5/Y1gU7tg2NAgeg8a8rCYvW9Whw== 3147 integrity sha512-UPV4NuQMKeUh1S0OWRvwg0PI8ASHN9kBC8yDTk1ROXLC85W5GnhTRu/MZu3Teqx3JjlQYuckuHYXSUSgtb3J+A==
3113 3148
3114elliptic@^6.0.0: 3149elliptic@^6.0.0:
3115 version "6.4.1" 3150 version "6.4.1"
@@ -3134,6 +3169,13 @@ encodeurl@~1.0.1, encodeurl@~1.0.2:
3134 resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 3169 resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
3135 integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= 3170 integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
3136 3171
3172encoding@^0.1.11:
3173 version "0.1.12"
3174 resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
3175 integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=
3176 dependencies:
3177 iconv-lite "~0.4.13"
3178
3137end-of-stream@^1.0.0, end-of-stream@^1.1.0: 3179end-of-stream@^1.0.0, end-of-stream@^1.1.0:
3138 version "1.4.1" 3180 version "1.4.1"
3139 resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 3181 resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
@@ -3200,6 +3242,11 @@ entities@^1.1.1, entities@~1.1.1:
3200 resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" 3242 resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
3201 integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== 3243 integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
3202 3244
3245err-code@^1.0.0:
3246 version "1.1.2"
3247 resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960"
3248 integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=
3249
3203errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: 3250errno@^0.1.1, errno@^0.1.3, errno@~0.1.7:
3204 version "0.1.7" 3251 version "0.1.7"
3205 resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" 3252 resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
@@ -3384,12 +3431,12 @@ events@^1.0.0:
3384 resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" 3431 resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
3385 integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= 3432 integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
3386 3433
3387eventsource@0.1.6: 3434eventsource@^1.0.7:
3388 version "0.1.6" 3435 version "1.0.7"
3389 resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" 3436 resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0"
3390 integrity sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI= 3437 integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==
3391 dependencies: 3438 dependencies:
3392 original ">=0.0.5" 3439 original "^1.0.0"
3393 3440
3394evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: 3441evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
3395 version "1.0.3" 3442 version "1.0.3"
@@ -3544,7 +3591,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
3544 assign-symbols "^1.0.0" 3591 assign-symbols "^1.0.0"
3545 is-extendable "^1.0.1" 3592 is-extendable "^1.0.1"
3546 3593
3547extend@^3.0.0, extend@~3.0.1, extend@~3.0.2: 3594extend@^3.0.0, extend@~3.0.2:
3548 version "3.0.2" 3595 version "3.0.2"
3549 resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 3596 resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
3550 integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 3597 integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
@@ -3631,7 +3678,7 @@ faye-websocket@^0.10.0:
3631 dependencies: 3678 dependencies:
3632 websocket-driver ">=0.5.1" 3679 websocket-driver ">=0.5.1"
3633 3680
3634faye-websocket@~0.11.0: 3681faye-websocket@~0.11.1:
3635 version "0.11.1" 3682 version "0.11.1"
3636 resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" 3683 resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38"
3637 integrity sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg= 3684 integrity sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=
@@ -3645,7 +3692,7 @@ fb-watchman@^2.0.0:
3645 dependencies: 3692 dependencies:
3646 bser "^2.0.0" 3693 bser "^2.0.0"
3647 3694
3648figgy-pudding@^3.1.0, figgy-pudding@^3.5.1: 3695figgy-pudding@^3.1.0, figgy-pudding@^3.4.1, figgy-pudding@^3.5.1:
3649 version "3.5.1" 3696 version "3.5.1"
3650 resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" 3697 resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
3651 integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== 3698 integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==
@@ -3780,6 +3827,11 @@ find-up@^3.0.0:
3780 dependencies: 3827 dependencies:
3781 locate-path "^3.0.0" 3828 locate-path "^3.0.0"
3782 3829
3830flatted@^2.0.0:
3831 version "2.0.0"
3832 resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916"
3833 integrity sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==
3834
3783flatten@^1.0.2: 3835flatten@^1.0.2:
3784 version "1.0.2" 3836 version "1.0.2"
3785 resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" 3837 resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
@@ -3799,9 +3851,9 @@ focus-visible@^4.1.5:
3799 integrity sha512-yo/njtk/BB4Z2euzaZe3CZrg4u5s5uEi7ZwbHBJS2quHx51N0mmcx9nTIiImUGlgy+vf26d0CcQluahBBBL/Fw== 3851 integrity sha512-yo/njtk/BB4Z2euzaZe3CZrg4u5s5uEi7ZwbHBJS2quHx51N0mmcx9nTIiImUGlgy+vf26d0CcQluahBBBL/Fw==
3800 3852
3801follow-redirects@^1.0.0: 3853follow-redirects@^1.0.0:
3802 version "1.5.9" 3854 version "1.5.10"
3803 resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.9.tgz#c9ed9d748b814a39535716e531b9196a845d89c6" 3855 resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
3804 integrity sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w== 3856 integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
3805 dependencies: 3857 dependencies:
3806 debug "=3.1.0" 3858 debug "=3.1.0"
3807 3859
@@ -3841,7 +3893,7 @@ forever-agent@~0.6.1:
3841 resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 3893 resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
3842 integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= 3894 integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
3843 3895
3844form-data@~2.3.1, form-data@~2.3.2: 3896form-data@~2.3.2:
3845 version "2.3.3" 3897 version "2.3.3"
3846 resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 3898 resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
3847 integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== 3899 integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
@@ -3969,6 +4021,11 @@ gaze@^1.0.0:
3969 dependencies: 4021 dependencies:
3970 globule "^1.0.0" 4022 globule "^1.0.0"
3971 4023
4024genfun@^5.0.0:
4025 version "5.0.0"
4026 resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537"
4027 integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==
4028
3972get-browser-rtc@^1.0.0: 4029get-browser-rtc@^1.0.0:
3973 version "1.0.2" 4030 version "1.0.2"
3974 resolved "https://registry.yarnpkg.com/get-browser-rtc/-/get-browser-rtc-1.0.2.tgz#bbcd40c8451a7ed4ef5c373b8169a409dd1d11d9" 4031 resolved "https://registry.yarnpkg.com/get-browser-rtc/-/get-browser-rtc-1.0.2.tgz#bbcd40c8451a7ed4ef5c373b8169a409dd1d11d9"
@@ -3994,6 +4051,13 @@ get-stream@^3.0.0:
3994 resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 4051 resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
3995 integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= 4052 integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
3996 4053
4054get-stream@^4.1.0:
4055 version "4.1.0"
4056 resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
4057 integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
4058 dependencies:
4059 pump "^3.0.0"
4060
3997get-value@^2.0.3, get-value@^2.0.6: 4061get-value@^2.0.3, get-value@^2.0.6:
3998 version "2.0.6" 4062 version "2.0.6"
3999 resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 4063 resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
@@ -4053,7 +4117,7 @@ glob@7.1.2:
4053 once "^1.3.0" 4117 once "^1.3.0"
4054 path-is-absolute "^1.0.0" 4118 path-is-absolute "^1.0.0"
4055 4119
4056glob@7.1.3, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1: 4120glob@7.1.3, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@~7.1.1:
4057 version "7.1.3" 4121 version "7.1.3"
4058 resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" 4122 resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
4059 integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== 4123 integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
@@ -4077,9 +4141,9 @@ glob@^5.0.15:
4077 path-is-absolute "^1.0.0" 4141 path-is-absolute "^1.0.0"
4078 4142
4079global-modules-path@^2.3.0: 4143global-modules-path@^2.3.0:
4080 version "2.3.0" 4144 version "2.3.1"
4081 resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.0.tgz#b0e2bac6beac39745f7db5c59d26a36a0b94f7dc" 4145 resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.1.tgz#e541f4c800a1a8514a990477b267ac67525b9931"
4082 integrity sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag== 4146 integrity sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg==
4083 4147
4084global@4.3.2, global@^4.3.0, global@^4.3.1, global@^4.3.2, global@~4.3.0: 4148global@4.3.2, global@^4.3.0, global@^4.3.1, global@^4.3.2, global@~4.3.0:
4085 version "4.3.2" 4149 version "4.3.2"
@@ -4182,14 +4246,6 @@ har-schema@^2.0.0:
4182 resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 4246 resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
4183 integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= 4247 integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
4184 4248
4185har-validator@~5.0.3:
4186 version "5.0.3"
4187 resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd"
4188 integrity sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=
4189 dependencies:
4190 ajv "^5.1.0"
4191 har-schema "^2.0.0"
4192
4193har-validator@~5.1.0: 4249har-validator@~5.1.0:
4194 version "5.1.3" 4250 version "5.1.3"
4195 resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" 4251 resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
@@ -4284,9 +4340,9 @@ hash-base@^3.0.0:
4284 safe-buffer "^5.0.1" 4340 safe-buffer "^5.0.1"
4285 4341
4286hash.js@^1.0.0, hash.js@^1.0.3: 4342hash.js@^1.0.0, hash.js@^1.0.3:
4287 version "1.1.5" 4343 version "1.1.7"
4288 resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.5.tgz#e38ab4b85dfb1e0c40fe9265c0e9b54854c23812" 4344 resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
4289 integrity sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA== 4345 integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
4290 dependencies: 4346 dependencies:
4291 inherits "^2.0.3" 4347 inherits "^2.0.3"
4292 minimalistic-assert "^1.0.1" 4348 minimalistic-assert "^1.0.1"
@@ -4382,7 +4438,7 @@ html-webpack-plugin@^3.2.0:
4382 toposort "^1.0.0" 4438 toposort "^1.0.0"
4383 util.promisify "1.0.0" 4439 util.promisify "1.0.0"
4384 4440
4385htmlparser2@^3.9.0: 4441htmlparser2@^3.10.0:
4386 version "3.10.0" 4442 version "3.10.0"
4387 resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.0.tgz#5f5e422dcf6119c0d983ed36260ce9ded0bee464" 4443 resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.0.tgz#5f5e422dcf6119c0d983ed36260ce9ded0bee464"
4388 integrity sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ== 4444 integrity sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==
@@ -4404,6 +4460,11 @@ htmlparser2@~3.3.0:
4404 domutils "1.1" 4460 domutils "1.1"
4405 readable-stream "1.0" 4461 readable-stream "1.0"
4406 4462
4463http-cache-semantics@^3.8.1:
4464 version "3.8.1"
4465 resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2"
4466 integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==
4467
4407http-deceiver@^1.2.7: 4468http-deceiver@^1.2.7:
4408 version "1.2.7" 4469 version "1.2.7"
4409 resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" 4470 resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
@@ -4424,6 +4485,14 @@ http-parser-js@>=0.4.0:
4424 resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz#d65edbede84349d0dc30320815a15d39cc3cbbd8" 4485 resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz#d65edbede84349d0dc30320815a15d39cc3cbbd8"
4425 integrity sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w== 4486 integrity sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==
4426 4487
4488http-proxy-agent@^2.1.0:
4489 version "2.1.0"
4490 resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405"
4491 integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==
4492 dependencies:
4493 agent-base "4"
4494 debug "3.1.0"
4495
4427http-proxy-middleware@~0.18.0: 4496http-proxy-middleware@~0.18.0:
4428 version "0.18.0" 4497 version "0.18.0"
4429 resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz#0987e6bb5a5606e5a69168d8f967a87f15dd8aab" 4498 resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz#0987e6bb5a5606e5a69168d8f967a87f15dd8aab"
@@ -4465,6 +4534,13 @@ https-proxy-agent@^2.2.1:
4465 agent-base "^4.1.0" 4534 agent-base "^4.1.0"
4466 debug "^3.1.0" 4535 debug "^3.1.0"
4467 4536
4537humanize-ms@^1.2.1:
4538 version "1.2.1"
4539 resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
4540 integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=
4541 dependencies:
4542 ms "^2.0.0"
4543
4468iconv-lite@0.4.23: 4544iconv-lite@0.4.23:
4469 version "0.4.23" 4545 version "0.4.23"
4470 resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" 4546 resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63"
@@ -4472,7 +4548,7 @@ iconv-lite@0.4.23:
4472 dependencies: 4548 dependencies:
4473 safer-buffer ">= 2.1.2 < 3" 4549 safer-buffer ">= 2.1.2 < 3"
4474 4550
4475iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: 4551iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13:
4476 version "0.4.24" 4552 version "0.4.24"
4477 resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 4553 resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
4478 integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 4554 integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
@@ -4603,7 +4679,7 @@ inherits@2.0.1:
4603 resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" 4679 resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
4604 integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= 4680 integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
4605 4681
4606ini@^1.3.4, ini@~1.3.0: 4682ini@1.3.5, ini@^1.3.4, ini@~1.3.0:
4607 version "1.3.5" 4683 version "1.3.5"
4608 resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 4684 resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
4609 integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== 4685 integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
@@ -5640,7 +5716,7 @@ jsesc@~0.5.0:
5640 resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 5716 resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
5641 integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= 5717 integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
5642 5718
5643json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: 5719json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
5644 version "1.0.2" 5720 version "1.0.2"
5645 resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 5721 resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
5646 integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 5722 integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
@@ -5701,6 +5777,11 @@ jsonify@~0.0.0:
5701 resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 5777 resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
5702 integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= 5778 integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
5703 5779
5780jsonparse@^1.2.0:
5781 version "1.3.1"
5782 resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
5783 integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=
5784
5704jsprim@^1.2.2: 5785jsprim@^1.2.2:
5705 version "1.4.1" 5786 version "1.4.1"
5706 resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 5787 resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
@@ -5796,9 +5877,9 @@ karma-source-map-support@1.3.0:
5796 source-map-support "^0.5.5" 5877 source-map-support "^0.5.5"
5797 5878
5798karma@^3.0.0: 5879karma@^3.0.0:
5799 version "3.1.1" 5880 version "3.1.3"
5800 resolved "https://registry.yarnpkg.com/karma/-/karma-3.1.1.tgz#94c8edd20fb9597ccde343326da009737fb0423a" 5881 resolved "https://registry.yarnpkg.com/karma/-/karma-3.1.3.tgz#6e251648e3aff900927bc1126dbcbcb92d3edd61"
5801 integrity sha512-NetT3wPCQMNB36uiL9LLyhrOt8SQwrEKt0xD3+KpTCfm0VxVyUJdPL5oTq2Ic5ouemgL/Iz4wqXEbF3zea9kQQ== 5882 integrity sha512-JU4FYUtFEGsLZd6ZJzLrivcPj0TkteBiIRDcXWFsltPMGgZMDtby/MIzNOzgyZv/9dahs9vHpSxerC/ZfeX9Qw==
5802 dependencies: 5883 dependencies:
5803 bluebird "^3.3.0" 5884 bluebird "^3.3.0"
5804 body-parser "^1.16.1" 5885 body-parser "^1.16.1"
@@ -5810,11 +5891,12 @@ karma@^3.0.0:
5810 di "^0.0.1" 5891 di "^0.0.1"
5811 dom-serialize "^2.2.0" 5892 dom-serialize "^2.2.0"
5812 expand-braces "^0.1.1" 5893 expand-braces "^0.1.1"
5894 flatted "^2.0.0"
5813 glob "^7.1.1" 5895 glob "^7.1.1"
5814 graceful-fs "^4.1.2" 5896 graceful-fs "^4.1.2"
5815 http-proxy "^1.13.0" 5897 http-proxy "^1.13.0"
5816 isbinaryfile "^3.0.0" 5898 isbinaryfile "^3.0.0"
5817 lodash "^4.17.4" 5899 lodash "^4.17.5"
5818 log4js "^3.0.0" 5900 log4js "^3.0.0"
5819 mime "^2.3.1" 5901 mime "^2.3.1"
5820 minimatch "^3.0.2" 5902 minimatch "^3.0.2"
@@ -5826,7 +5908,7 @@ karma@^3.0.0:
5826 socket.io "2.1.1" 5908 socket.io "2.1.1"
5827 source-map "^0.6.1" 5909 source-map "^0.6.1"
5828 tmp "0.0.33" 5910 tmp "0.0.33"
5829 useragent "2.2.1" 5911 useragent "2.3.0"
5830 5912
5831killable@^1.0.0: 5913killable@^1.0.0:
5832 version "1.0.1" 5914 version "1.0.1"
@@ -5939,9 +6021,9 @@ lie@~3.1.0:
5939 immediate "~3.0.5" 6021 immediate "~3.0.5"
5940 6022
5941linkify-it@^2.0.0: 6023linkify-it@^2.0.0:
5942 version "2.0.3" 6024 version "2.1.0"
5943 resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.0.3.tgz#d94a4648f9b1c179d64fa97291268bdb6ce9434f" 6025 resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.1.0.tgz#c4caf38a6cd7ac2212ef3c7d2bde30a91561f9db"
5944 integrity sha1-2UpGSPmxwXnWT6lykSaL22zpQ08= 6026 integrity sha512-4REs8/062kV2DSHxNfq5183zrqXMl7WP0WzABH9IeJI+NLm429FgE1PDecltYfnOoFDFlZGh2T8PfZn0r+GTRg==
5945 dependencies: 6027 dependencies:
5946 uc.micro "^1.0.1" 6028 uc.micro "^1.0.1"
5947 6029
@@ -6061,7 +6143,7 @@ lodash.isstring@^4.0.1:
6061 resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" 6143 resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
6062 integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= 6144 integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=
6063 6145
6064lodash.mergewith@^4.6.0: 6146lodash.mergewith@^4.6.0, lodash.mergewith@^4.6.1:
6065 version "4.6.1" 6147 version "4.6.1"
6066 resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927" 6148 resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927"
6067 integrity sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ== 6149 integrity sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==
@@ -6119,7 +6201,7 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1:
6119 dependencies: 6201 dependencies:
6120 js-tokens "^3.0.0 || ^4.0.0" 6202 js-tokens "^3.0.0 || ^4.0.0"
6121 6203
6122loud-rejection@^1.0.0, loud-rejection@^1.6.0: 6204loud-rejection@^1.0.0:
6123 version "1.6.0" 6205 version "1.6.0"
6124 resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 6206 resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
6125 integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= 6207 integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=
@@ -6132,15 +6214,10 @@ lower-case@^1.1.1:
6132 resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" 6214 resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
6133 integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= 6215 integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
6134 6216
6135lru-cache@2.2.x: 6217lru-cache@4.1.x, lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2, lru-cache@^4.1.3:
6136 version "2.2.4" 6218 version "4.1.5"
6137 resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d" 6219 resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
6138 integrity sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0= 6220 integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
6139
6140lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.3:
6141 version "4.1.3"
6142 resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c"
6143 integrity sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==
6144 dependencies: 6221 dependencies:
6145 pseudomap "^1.0.2" 6222 pseudomap "^1.0.2"
6146 yallist "^2.1.2" 6223 yallist "^2.1.2"
@@ -6184,6 +6261,23 @@ make-error@1.x:
6184 resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" 6261 resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8"
6185 integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== 6262 integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==
6186 6263
6264make-fetch-happen@^4.0.1:
6265 version "4.0.1"
6266 resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz#141497cb878f243ba93136c83d8aba12c216c083"
6267 integrity sha512-7R5ivfy9ilRJ1EMKIOziwrns9fGeAD4bAha8EB7BIiBBLHm2KeTUGCrICFt2rbHfzheTLynv50GnNTK1zDTrcQ==
6268 dependencies:
6269 agentkeepalive "^3.4.1"
6270 cacache "^11.0.1"
6271 http-cache-semantics "^3.8.1"
6272 http-proxy-agent "^2.1.0"
6273 https-proxy-agent "^2.2.1"
6274 lru-cache "^4.1.2"
6275 mississippi "^3.0.0"
6276 node-fetch-npm "^2.0.2"
6277 promise-retry "^1.1.1"
6278 socks-proxy-agent "^4.0.0"
6279 ssri "^6.0.0"
6280
6187makeerror@1.0.x: 6281makeerror@1.0.x:
6188 version "1.0.11" 6282 version "1.0.11"
6189 resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" 6283 resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
@@ -6191,11 +6285,6 @@ makeerror@1.0.x:
6191 dependencies: 6285 dependencies:
6192 tmpl "1.0.x" 6286 tmpl "1.0.x"
6193 6287
6194mamacro@^0.0.3:
6195 version "0.0.3"
6196 resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4"
6197 integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==
6198
6199map-age-cleaner@^0.1.1: 6288map-age-cleaner@^0.1.1:
6200 version "0.1.3" 6289 version "0.1.3"
6201 resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" 6290 resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
@@ -6245,6 +6334,11 @@ md5.js@^1.3.4:
6245 inherits "^2.0.1" 6334 inherits "^2.0.1"
6246 safe-buffer "^5.1.2" 6335 safe-buffer "^5.1.2"
6247 6336
6337mdn-data@~1.1.0:
6338 version "1.1.4"
6339 resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01"
6340 integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==
6341
6248mdurl@^1.0.1: 6342mdurl@^1.0.1:
6249 version "1.0.1" 6343 version "1.0.1"
6250 resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" 6344 resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
@@ -6400,9 +6494,9 @@ mime@^1.4.1:
6400 integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 6494 integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
6401 6495
6402mime@^2.2.0, mime@^2.3.1: 6496mime@^2.2.0, mime@^2.3.1:
6403 version "2.3.1" 6497 version "2.4.0"
6404 resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369" 6498 resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.0.tgz#e051fd881358585f3279df333fe694da0bcffdd6"
6405 integrity sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg== 6499 integrity sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==
6406 6500
6407mimic-fn@^1.0.0: 6501mimic-fn@^1.0.0:
6408 version "1.2.0" 6502 version "1.2.0"
@@ -6421,10 +6515,10 @@ min-document@^2.19.0:
6421 dependencies: 6515 dependencies:
6422 dom-walk "^0.1.0" 6516 dom-walk "^0.1.0"
6423 6517
6424mini-css-extract-plugin@0.4.3: 6518mini-css-extract-plugin@0.4.4:
6425 version "0.4.3" 6519 version "0.4.4"
6426 resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.3.tgz#98d60fcc5d228c3e36a9bd15a1d6816d6580beb8" 6520 resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.4.tgz#c10410a004951bd3cedac1da69053940fccb625d"
6427 integrity sha512-Mxs0nxzF1kxPv4TRi2NimewgXlJqh0rGE30vviCU2WHrpbta6wklnUV9dr9FUtoAHmB3p3LeXEC+ZjgHvB0Dzg== 6521 integrity sha512-o+Jm+ocb0asEngdM6FsZWtZsRzA8koFUudIDwYUfl94M3PejPHG7Vopw5hN9V8WsMkSFpm3tZP3Fesz89EyrfQ==
6428 dependencies: 6522 dependencies:
6429 loader-utils "^1.1.0" 6523 loader-utils "^1.1.0"
6430 schema-utils "^1.0.0" 6524 schema-utils "^1.0.0"
@@ -6462,7 +6556,7 @@ minimist@~0.0.1:
6462 resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" 6556 resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
6463 integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= 6557 integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=
6464 6558
6465minipass@^2.2.1, minipass@^2.3.4: 6559minipass@^2.2.1, minipass@^2.3.4, minipass@^2.3.5:
6466 version "2.3.5" 6560 version "2.3.5"
6467 resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" 6561 resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848"
6468 integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== 6562 integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==
@@ -6582,7 +6676,7 @@ ms@2.0.0:
6582 resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 6676 resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
6583 integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 6677 integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
6584 6678
6585ms@^2.1.1: 6679ms@^2.0.0, ms@^2.1.1:
6586 version "2.1.1" 6680 version "2.1.1"
6587 resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 6681 resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
6588 integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== 6682 integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
@@ -6735,6 +6829,15 @@ no-case@^2.2.0:
6735 dependencies: 6829 dependencies:
6736 lower-case "^1.1.1" 6830 lower-case "^1.1.1"
6737 6831
6832node-fetch-npm@^2.0.2:
6833 version "2.0.2"
6834 resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7"
6835 integrity sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw==
6836 dependencies:
6837 encoding "^0.1.11"
6838 json-parse-better-errors "^1.0.0"
6839 safe-buffer "^5.1.1"
6840
6738node-forge@0.7.5: 6841node-forge@0.7.5:
6739 version "0.7.5" 6842 version "0.7.5"
6740 resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" 6843 resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df"
@@ -6823,39 +6926,14 @@ node-pre-gyp@^0.10.0:
6823 semver "^5.3.0" 6926 semver "^5.3.0"
6824 tar "^4" 6927 tar "^4"
6825 6928
6826node-releases@^1.0.1: 6929node-releases@^1.0.5:
6827 version "1.0.3" 6930 version "1.0.5"
6828 resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.3.tgz#3414ed84595096459c251699bfcb47d88324a9e4" 6931 resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.5.tgz#a641adcc968b039a27345d92ef10b093e5cbd41d"
6829 integrity sha512-ZaZWMsbuDcetpHmYeKWPO6e63pSXLb50M7lJgCbcM2nC/nQC3daNifmtp5a2kp7EWwYfhuvH6zLPWkrF8IiDdw== 6932 integrity sha512-Ky7q0BO1BBkG/rQz6PkEZ59rwo+aSfhczHP1wwq8IowoVdN/FpiP7qp0XW0P2+BVCWe5fQUBozdbVd54q1RbCQ==
6830 dependencies: 6933 dependencies:
6831 semver "^5.3.0" 6934 semver "^5.3.0"
6832 6935
6833node-sass@4.9.3: 6936node-sass@4.10.0, node-sass@^4.9.3:
6834 version "4.9.3"
6835 resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.3.tgz#f407cf3d66f78308bb1e346b24fa428703196224"
6836 integrity sha512-XzXyGjO+84wxyH7fV6IwBOTrEBe2f0a6SBze9QWWYR/cL74AcQUks2AsqcCZenl/Fp/JVbuEaLpgrLtocwBUww==
6837 dependencies:
6838 async-foreach "^0.1.3"
6839 chalk "^1.1.1"
6840 cross-spawn "^3.0.0"
6841 gaze "^1.0.0"
6842 get-stdin "^4.0.1"
6843 glob "^7.0.3"
6844 in-publish "^2.0.0"
6845 lodash.assign "^4.2.0"
6846 lodash.clonedeep "^4.3.2"
6847 lodash.mergewith "^4.6.0"
6848 meow "^3.7.0"
6849 mkdirp "^0.5.1"
6850 nan "^2.10.0"
6851 node-gyp "^3.8.0"
6852 npmlog "^4.0.0"
6853 request "2.87.0"
6854 sass-graph "^2.2.4"
6855 stdout-stream "^1.4.0"
6856 "true-case-path" "^1.0.2"
6857
6858node-sass@^4.9.3:
6859 version "4.10.0" 6937 version "4.10.0"
6860 resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.10.0.tgz#dcc2b364c0913630945ccbf7a2bbf1f926effca4" 6938 resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.10.0.tgz#dcc2b364c0913630945ccbf7a2bbf1f926effca4"
6861 integrity sha512-fDQJfXszw6vek63Fe/ldkYXmRYK/QS6NbvM3i5oEo9ntPDy4XX7BcKZyTKv+/kSSxRtXXc7l+MSwEmYc0CSy6Q== 6939 integrity sha512-fDQJfXszw6vek63Fe/ldkYXmRYK/QS6NbvM3i5oEo9ntPDy4XX7BcKZyTKv+/kSSxRtXXc7l+MSwEmYc0CSy6Q==
@@ -6895,7 +6973,7 @@ nopt@^4.0.1:
6895 abbrev "1" 6973 abbrev "1"
6896 osenv "^0.1.4" 6974 osenv "^0.1.4"
6897 6975
6898normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, "normalize-package-data@~1.0.1 || ^2.0.0": 6976normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.4.0:
6899 version "2.4.0" 6977 version "2.4.0"
6900 resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" 6978 resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
6901 integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== 6979 integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==
@@ -6927,7 +7005,7 @@ npm-font-source-sans-pro@^1.0.2:
6927 resolved "https://registry.yarnpkg.com/npm-font-source-sans-pro/-/npm-font-source-sans-pro-1.0.2.tgz#c55c8ae368eebdbcaca65425a0d7e1f9a192a03e" 7005 resolved "https://registry.yarnpkg.com/npm-font-source-sans-pro/-/npm-font-source-sans-pro-1.0.2.tgz#c55c8ae368eebdbcaca65425a0d7e1f9a192a03e"
6928 integrity sha1-xVyK42juvbysplQloNfh+aGSoD4= 7006 integrity sha1-xVyK42juvbysplQloNfh+aGSoD4=
6929 7007
6930"npm-package-arg@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0": 7008npm-package-arg@^6.0.0, npm-package-arg@^6.1.0:
6931 version "6.1.0" 7009 version "6.1.0"
6932 resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1" 7010 resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1"
6933 integrity sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA== 7011 integrity sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==
@@ -6937,7 +7015,7 @@ npm-font-source-sans-pro@^1.0.2:
6937 semver "^5.5.0" 7015 semver "^5.5.0"
6938 validate-npm-package-name "^3.0.0" 7016 validate-npm-package-name "^3.0.0"
6939 7017
6940npm-packlist@^1.1.6: 7018npm-packlist@^1.1.12, npm-packlist@^1.1.6:
6941 version "1.1.12" 7019 version "1.1.12"
6942 resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz#22bde2ebc12e72ca482abd67afc51eb49377243a" 7020 resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz#22bde2ebc12e72ca482abd67afc51eb49377243a"
6943 integrity sha512-WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g== 7021 integrity sha512-WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g==
@@ -6945,24 +7023,26 @@ npm-packlist@^1.1.6:
6945 ignore-walk "^3.0.1" 7023 ignore-walk "^3.0.1"
6946 npm-bundled "^1.0.1" 7024 npm-bundled "^1.0.1"
6947 7025
6948npm-registry-client@8.6.0: 7026npm-pick-manifest@^2.1.0:
6949 version "8.6.0" 7027 version "2.2.3"
6950 resolved "https://registry.yarnpkg.com/npm-registry-client/-/npm-registry-client-8.6.0.tgz#7f1529f91450732e89f8518e0f21459deea3e4c4" 7028 resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz#32111d2a9562638bb2c8f2bf27f7f3092c8fae40"
6951 integrity sha512-Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg== 7029 integrity sha512-+IluBC5K201+gRU85vFlUwX3PFShZAbAgDNp2ewJdWMVSppdo/Zih0ul2Ecky/X7b51J7LrrUAP+XOmOCvYZqA==
6952 dependencies: 7030 dependencies:
6953 concat-stream "^1.5.2" 7031 figgy-pudding "^3.5.1"
6954 graceful-fs "^4.1.6" 7032 npm-package-arg "^6.0.0"
6955 normalize-package-data "~1.0.1 || ^2.0.0" 7033 semver "^5.4.1"
6956 npm-package-arg "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" 7034
6957 once "^1.3.3" 7035npm-registry-fetch@^3.8.0:
6958 request "^2.74.0" 7036 version "3.8.0"
6959 retry "^0.10.0" 7037 resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-3.8.0.tgz#aa7d9a7c92aff94f48dba0984bdef4bd131c88cc"
6960 safe-buffer "^5.1.1" 7038 integrity sha512-hrw8UMD+Nob3Kl3h8Z/YjmKamb1gf7D1ZZch2otrIXM3uFLB5vjEY6DhMlq80z/zZet6eETLbOXcuQudCB3Zpw==
6961 semver "2 >=2.2.1 || 3.x || 4 || 5" 7039 dependencies:
6962 slide "^1.1.3" 7040 JSONStream "^1.3.4"
6963 ssri "^5.2.4" 7041 bluebird "^3.5.1"
6964 optionalDependencies: 7042 figgy-pudding "^3.4.1"
6965 npmlog "2 || ^3.1.0 || ^4.0.0" 7043 lru-cache "^4.1.3"
7044 make-fetch-happen "^4.0.1"
7045 npm-package-arg "^6.1.0"
6966 7046
6967npm-run-path@^2.0.0: 7047npm-run-path@^2.0.0:
6968 version "2.0.2" 7048 version "2.0.2"
@@ -6971,7 +7051,7 @@ npm-run-path@^2.0.0:
6971 dependencies: 7051 dependencies:
6972 path-key "^2.0.0" 7052 path-key "^2.0.0"
6973 7053
6974"npmlog@0 || 1 || 2 || 3 || 4", "npmlog@2 || ^3.1.0 || ^4.0.0", npmlog@^4.0.0, npmlog@^4.0.2: 7054"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
6975 version "4.1.2" 7055 version "4.1.2"
6976 resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 7056 resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
6977 integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== 7057 integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
@@ -7008,11 +7088,6 @@ nwsapi@^2.0.7:
7008 resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.9.tgz#77ac0cdfdcad52b6a1151a84e73254edc33ed016" 7088 resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.9.tgz#77ac0cdfdcad52b6a1151a84e73254edc33ed016"
7009 integrity sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ== 7089 integrity sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ==
7010 7090
7011oauth-sign@~0.8.2:
7012 version "0.8.2"
7013 resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
7014 integrity sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=
7015
7016oauth-sign@~0.9.0: 7091oauth-sign@~0.9.0:
7017 version "0.9.0" 7092 version "0.9.0"
7018 resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 7093 resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
@@ -7152,7 +7227,7 @@ optionator@^0.8.1:
7152 type-check "~0.3.2" 7227 type-check "~0.3.2"
7153 wordwrap "~1.0.0" 7228 wordwrap "~1.0.0"
7154 7229
7155original@>=0.0.5: 7230original@^1.0.0:
7156 version "1.0.2" 7231 version "1.0.2"
7157 resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" 7232 resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f"
7158 integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== 7233 integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==
@@ -7272,10 +7347,43 @@ package-json-versionify@^1.0.2:
7272 dependencies: 7347 dependencies:
7273 browserify-package-json "^1.0.0" 7348 browserify-package-json "^1.0.0"
7274 7349
7350pacote@9.1.1:
7351 version "9.1.1"
7352 resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.1.1.tgz#25091f75a25021de8be8d34cc6408728fca3579b"
7353 integrity sha512-f28Rq5ozzKAA9YwIKw61/ipwAatUZseYmVssDbHHaexF0wRIVotapVEZPAjOT7Eu3LYVqEp0NVpNizoAnYBUaA==
7354 dependencies:
7355 bluebird "^3.5.2"
7356 cacache "^11.2.0"
7357 figgy-pudding "^3.5.1"
7358 get-stream "^4.1.0"
7359 glob "^7.1.3"
7360 lru-cache "^4.1.3"
7361 make-fetch-happen "^4.0.1"
7362 minimatch "^3.0.4"
7363 minipass "^2.3.5"
7364 mississippi "^3.0.0"
7365 mkdirp "^0.5.1"
7366 normalize-package-data "^2.4.0"
7367 npm-package-arg "^6.1.0"
7368 npm-packlist "^1.1.12"
7369 npm-pick-manifest "^2.1.0"
7370 npm-registry-fetch "^3.8.0"
7371 osenv "^0.1.5"
7372 promise-inflight "^1.0.1"
7373 promise-retry "^1.1.1"
7374 protoduck "^5.0.1"
7375 rimraf "^2.6.2"
7376 safe-buffer "^5.1.2"
7377 semver "^5.6.0"
7378 ssri "^6.0.1"
7379 tar "^4.4.6"
7380 unique-filename "^1.1.1"
7381 which "^1.3.1"
7382
7275pako@~1.0.2, pako@~1.0.5: 7383pako@~1.0.2, pako@~1.0.5:
7276 version "1.0.6" 7384 version "1.0.7"
7277 resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" 7385 resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.7.tgz#2473439021b57f1516c82f58be7275ad8ef1bb27"
7278 integrity sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg== 7386 integrity sha512-3HNK5tW4x8o5mO8RuHZp3Ydw9icZXx0RANAOMzlMzx7LVXhMJ4mo3MOBpzyd7r/+RUu8BmndP47LXT+vzjtWcQ==
7279 7387
7280parallel-transform@^1.1.0: 7388parallel-transform@^1.1.0:
7281 version "1.1.0" 7389 version "1.1.0"
@@ -7543,9 +7651,9 @@ portfinder@1.0.17:
7543 mkdirp "0.5.x" 7651 mkdirp "0.5.x"
7544 7652
7545portfinder@^1.0.9: 7653portfinder@^1.0.9:
7546 version "1.0.19" 7654 version "1.0.20"
7547 resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.19.tgz#07e87914a55242dcda5b833d42f018d6875b595f" 7655 resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a"
7548 integrity sha512-23aeQKW9KgHe6citUrG3r9HjeX6vls0h713TAa+CwTKZwNIr/pD2ApaxYF4Um3ZZyq4ar+Siv3+fhoHaIwSOSw== 7656 integrity sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==
7549 dependencies: 7657 dependencies:
7550 async "^1.5.2" 7658 async "^1.5.2"
7551 debug "^2.2.0" 7659 debug "^2.2.0"
@@ -7615,12 +7723,12 @@ postcss-modules-values@^1.3.0:
7615 icss-replace-symbols "^1.1.0" 7723 icss-replace-symbols "^1.1.0"
7616 postcss "^6.0.1" 7724 postcss "^6.0.1"
7617 7725
7618postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: 7726postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1:
7619 version "3.3.1" 7727 version "3.3.1"
7620 resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" 7728 resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
7621 integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== 7729 integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
7622 7730
7623postcss@7.0.5, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.2: 7731postcss@7.0.5:
7624 version "7.0.5" 7732 version "7.0.5"
7625 resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.5.tgz#70e6443e36a6d520b0fd4e7593fcca3635ee9f55" 7733 resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.5.tgz#70e6443e36a6d520b0fd4e7593fcca3635ee9f55"
7626 integrity sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ== 7734 integrity sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==
@@ -7629,7 +7737,7 @@ postcss@7.0.5, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.2:
7629 source-map "^0.6.1" 7737 source-map "^0.6.1"
7630 supports-color "^5.5.0" 7738 supports-color "^5.5.0"
7631 7739
7632postcss@^6.0.1, postcss@^6.0.14, postcss@^6.0.23: 7740postcss@^6.0.1, postcss@^6.0.23:
7633 version "6.0.23" 7741 version "6.0.23"
7634 resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" 7742 resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
7635 integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== 7743 integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==
@@ -7638,6 +7746,15 @@ postcss@^6.0.1, postcss@^6.0.14, postcss@^6.0.23:
7638 source-map "^0.6.1" 7746 source-map "^0.6.1"
7639 supports-color "^5.4.0" 7747 supports-color "^5.4.0"
7640 7748
7749postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.5:
7750 version "7.0.6"
7751 resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.6.tgz#6dcaa1e999cdd4a255dcd7d4d9547f4ca010cdc2"
7752 integrity sha512-Nq/rNjnHFcKgCDDZYO0lNsl6YWe6U7tTy+ESN+PnLxebL8uBtYX59HZqvrj7YLK5UCyll2hqDsJOo3ndzEW8Ug==
7753 dependencies:
7754 chalk "^2.4.1"
7755 source-map "^0.6.1"
7756 supports-color "^5.5.0"
7757
7641prelude-ls@~1.1.2: 7758prelude-ls@~1.1.2:
7642 version "1.1.2" 7759 version "1.1.2"
7643 resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 7760 resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
@@ -7664,10 +7781,10 @@ pretty-format@^23.6.0:
7664 ansi-regex "^3.0.0" 7781 ansi-regex "^3.0.0"
7665 ansi-styles "^3.2.0" 7782 ansi-styles "^3.2.0"
7666 7783
7667primeng@^6.1.2: 7784primeng@^7.0.0:
7668 version "6.1.6" 7785 version "7.0.0"
7669 resolved "https://registry.yarnpkg.com/primeng/-/primeng-6.1.6.tgz#3a699a02507fcd5befb2fb9fe18fcc5d385f810e" 7786 resolved "https://registry.yarnpkg.com/primeng/-/primeng-7.0.0.tgz#3a189568069a31544c9ed952328e221daad9b9b1"
7670 integrity sha512-9QYkXfBuSwx5zZej5QiEWhdAFJPc+f9h6PXuFtw4PzUfOhPmnoUxR5K04xeFreCNP13WwP3Uh/U3o7mY0PZtQA== 7787 integrity sha512-PrEEnp0VPbzsUQdpB/4KtUdRxaWwpprHy+IpUi09C42OAI2zqdTVIC0AaW81gDAGQyW7XraCP9EFI8KT4nC9GA==
7671 7788
7672private@^0.1.8, private@~0.1.5: 7789private@^0.1.8, private@~0.1.5:
7673 version "0.1.8" 7790 version "0.1.8"
@@ -7699,6 +7816,14 @@ promise-inflight@^1.0.1:
7699 resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" 7816 resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
7700 integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= 7817 integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
7701 7818
7819promise-retry@^1.1.1:
7820 version "1.1.1"
7821 resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d"
7822 integrity sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=
7823 dependencies:
7824 err-code "^1.0.0"
7825 retry "^0.10.0"
7826
7702promise@^7.1.1: 7827promise@^7.1.1:
7703 version "7.3.1" 7828 version "7.3.1"
7704 resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" 7829 resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
@@ -7722,6 +7847,13 @@ prop-types@^15.6.2:
7722 loose-envify "^1.3.1" 7847 loose-envify "^1.3.1"
7723 object-assign "^4.1.1" 7848 object-assign "^4.1.1"
7724 7849
7850protoduck@^5.0.1:
7851 version "5.0.1"
7852 resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f"
7853 integrity sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==
7854 dependencies:
7855 genfun "^5.0.0"
7856
7725protractor@^5.3.2: 7857protractor@^5.3.2:
7726 version "5.4.1" 7858 version "5.4.1"
7727 resolved "https://registry.yarnpkg.com/protractor/-/protractor-5.4.1.tgz#011a99e38df7aa45d22455b889ffbb13a6ce0bd9" 7859 resolved "https://registry.yarnpkg.com/protractor/-/protractor-5.4.1.tgz#011a99e38df7aa45d22455b889ffbb13a6ce0bd9"
@@ -7762,7 +7894,7 @@ pseudomap@^1.0.2:
7762 resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 7894 resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
7763 integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= 7895 integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
7764 7896
7765psl@^1.1.24: 7897psl@^1.1.24, psl@^1.1.28:
7766 version "1.1.29" 7898 version "1.1.29"
7767 resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67" 7899 resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67"
7768 integrity sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ== 7900 integrity sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==
@@ -7814,7 +7946,7 @@ punycode@^1.2.4, punycode@^1.4.1:
7814 resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 7946 resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
7815 integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= 7947 integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
7816 7948
7817punycode@^2.1.0: 7949punycode@^2.1.0, punycode@^2.1.1:
7818 version "2.1.1" 7950 version "2.1.1"
7819 resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 7951 resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
7820 integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 7952 integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
@@ -7863,7 +7995,7 @@ qrcode@^0.8.2:
7863 isarray "^2.0.1" 7995 isarray "^2.0.1"
7864 pngjs "^2.3.1" 7996 pngjs "^2.3.1"
7865 7997
7866qs@6.5.2, qs@~6.5.1, qs@~6.5.2: 7998qs@6.5.2, qs@~6.5.2:
7867 version "6.5.2" 7999 version "6.5.2"
7868 resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 8000 resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
7869 integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== 8001 integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
@@ -8241,33 +8373,7 @@ request-promise-native@^1.0.5:
8241 stealthy-require "^1.1.0" 8373 stealthy-require "^1.1.0"
8242 tough-cookie ">=2.3.3" 8374 tough-cookie ">=2.3.3"
8243 8375
8244request@2.87.0: 8376request@^2.83.0, request@^2.87.0, request@^2.88.0:
8245 version "2.87.0"
8246 resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e"
8247 integrity sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==
8248 dependencies:
8249 aws-sign2 "~0.7.0"
8250 aws4 "^1.6.0"
8251 caseless "~0.12.0"
8252 combined-stream "~1.0.5"
8253 extend "~3.0.1"
8254 forever-agent "~0.6.1"
8255 form-data "~2.3.1"
8256 har-validator "~5.0.3"
8257 http-signature "~1.2.0"
8258 is-typedarray "~1.0.0"
8259 isstream "~0.1.2"
8260 json-stringify-safe "~5.0.1"
8261 mime-types "~2.1.17"
8262 oauth-sign "~0.8.2"
8263 performance-now "^2.1.0"
8264 qs "~6.5.1"
8265 safe-buffer "^5.1.1"
8266 tough-cookie "~2.3.3"
8267 tunnel-agent "^0.6.0"
8268 uuid "^3.1.0"
8269
8270request@^2.74.0, request@^2.83.0, request@^2.87.0, request@^2.88.0:
8271 version "2.88.0" 8377 version "2.88.0"
8272 resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" 8378 resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
8273 integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== 8379 integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==
@@ -8335,7 +8441,7 @@ resolve@1.1.7, resolve@1.1.x:
8335 resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" 8441 resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
8336 integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= 8442 integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
8337 8443
8338resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2: 8444resolve@1.x, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2:
8339 version "1.8.1" 8445 version "1.8.1"
8340 resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" 8446 resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
8341 integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== 8447 integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==
@@ -8482,20 +8588,20 @@ sane@^2.0.0:
8482 fsevents "^1.2.3" 8588 fsevents "^1.2.3"
8483 8589
8484sanitize-html@^1.18.4: 8590sanitize-html@^1.18.4:
8485 version "1.19.1" 8591 version "1.19.2"
8486 resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.19.1.tgz#e8b33c69578054d6ee4f57ea152d6497f3f6fb7d" 8592 resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.19.2.tgz#c03fffe2bf96cd582968ece9792cbca32e64dde0"
8487 integrity sha512-zNYr6FvBn4bZukr9x2uny6od/9YdjCLwF+FqxivqI0YOt/m9GIxfX+tWhm52tBAPUXiTTb4bJTGVagRz5b06bw== 8593 integrity sha512-7fNb3/N0sZ/nkshMRBoxLz6K1dlMSVF/eQHX1Bof9sRT7cZJvmrDGfXEn544MXJnpY29vux1A599g9UrcHTBXA==
8488 dependencies: 8594 dependencies:
8489 chalk "^2.3.0" 8595 chalk "^2.4.1"
8490 htmlparser2 "^3.9.0" 8596 css-tree "^1.0.0-alpha.29"
8597 htmlparser2 "^3.10.0"
8491 lodash.clonedeep "^4.5.0" 8598 lodash.clonedeep "^4.5.0"
8492 lodash.escaperegexp "^4.1.2" 8599 lodash.escaperegexp "^4.1.2"
8493 lodash.isplainobject "^4.0.6" 8600 lodash.isplainobject "^4.0.6"
8494 lodash.isstring "^4.0.1" 8601 lodash.isstring "^4.0.1"
8495 lodash.mergewith "^4.6.0" 8602 lodash.mergewith "^4.6.1"
8496 postcss "^6.0.14"
8497 srcset "^1.0.0" 8603 srcset "^1.0.0"
8498 xtend "^4.0.0" 8604 xtend "^4.0.1"
8499 8605
8500sass-graph@^2.2.4: 8606sass-graph@^2.2.4:
8501 version "2.2.4" 8607 version "2.2.4"
@@ -8547,9 +8653,9 @@ sax@>=0.6.0, sax@^1.2.4:
8547 integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== 8653 integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
8548 8654
8549scheduler@^0.11.2: 8655scheduler@^0.11.2:
8550 version "0.11.2" 8656 version "0.11.3"
8551 resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.11.2.tgz#a8db5399d06eba5abac51b705b7151d2319d33d3" 8657 resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.11.3.tgz#b5769b90cf8b1464f3f3cfcafe8e3cd7555a2d6b"
8552 integrity sha512-+WCP3s3wOaW4S7C1tl3TEXp4l9lJn0ZK8G3W3WKRWmw77Z2cIFUW2MiNTMHn5sCjxN+t7N43HAOOgMjyAg5hlg== 8658 integrity sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ==
8553 dependencies: 8659 dependencies:
8554 loose-envify "^1.1.0" 8660 loose-envify "^1.1.0"
8555 object-assign "^4.1.1" 8661 object-assign "^4.1.1"
@@ -8622,7 +8728,7 @@ semver-intersect@1.4.0:
8622 dependencies: 8728 dependencies:
8623 semver "^5.0.0" 8729 semver "^5.0.0"
8624 8730
8625"semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", semver@^5.0.0, semver@^5.3.0, semver@^5.5, semver@^5.5.0: 8731"semver@2 || 3 || 4 || 5", semver@^5.0.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.6.0:
8626 version "5.6.0" 8732 version "5.6.0"
8627 resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" 8733 resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
8628 integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== 8734 integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==
@@ -8820,10 +8926,10 @@ slash@^1.0.0:
8820 resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 8926 resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
8821 integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= 8927 integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
8822 8928
8823slide@^1.1.3: 8929smart-buffer@^4.0.1:
8824 version "1.1.6" 8930 version "4.0.1"
8825 resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" 8931 resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.1.tgz#07ea1ca8d4db24eb4cac86537d7d18995221ace3"
8826 integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= 8932 integrity sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==
8827 8933
8828snapdragon-node@^2.0.1: 8934snapdragon-node@^2.0.1:
8829 version "2.1.1" 8935 version "2.1.1"
@@ -8901,17 +9007,17 @@ socket.io@2.1.1:
8901 socket.io-client "2.1.1" 9007 socket.io-client "2.1.1"
8902 socket.io-parser "~3.2.0" 9008 socket.io-parser "~3.2.0"
8903 9009
8904sockjs-client@1.1.5: 9010sockjs-client@1.3.0:
8905 version "1.1.5" 9011 version "1.3.0"
8906 resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.5.tgz#1bb7c0f7222c40f42adf14f4442cbd1269771a83" 9012 resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177"
8907 integrity sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM= 9013 integrity sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==
8908 dependencies: 9014 dependencies:
8909 debug "^2.6.6" 9015 debug "^3.2.5"
8910 eventsource "0.1.6" 9016 eventsource "^1.0.7"
8911 faye-websocket "~0.11.0" 9017 faye-websocket "~0.11.1"
8912 inherits "^2.0.1" 9018 inherits "^2.0.3"
8913 json3 "^3.3.2" 9019 json3 "^3.3.2"
8914 url-parse "^1.1.8" 9020 url-parse "^1.4.3"
8915 9021
8916sockjs@0.3.19: 9022sockjs@0.3.19:
8917 version "0.3.19" 9023 version "0.3.19"
@@ -8921,6 +9027,22 @@ sockjs@0.3.19:
8921 faye-websocket "^0.10.0" 9027 faye-websocket "^0.10.0"
8922 uuid "^3.0.1" 9028 uuid "^3.0.1"
8923 9029
9030socks-proxy-agent@^4.0.0:
9031 version "4.0.1"
9032 resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz#5936bf8b707a993079c6f37db2091821bffa6473"
9033 integrity sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==
9034 dependencies:
9035 agent-base "~4.2.0"
9036 socks "~2.2.0"
9037
9038socks@~2.2.0:
9039 version "2.2.2"
9040 resolved "https://registry.yarnpkg.com/socks/-/socks-2.2.2.tgz#f061219fc2d4d332afb4af93e865c84d3fa26e2b"
9041 integrity sha512-g6wjBnnMOZpE0ym6e0uHSddz9p3a+WsBaaYQaBaSCJYvrC4IXykQR9MNGjLQf38e9iIIhp3b1/Zk8YZI3KGJ0Q==
9042 dependencies:
9043 ip "^1.1.5"
9044 smart-buffer "^4.0.1"
9045
8924source-list-map@^2.0.0: 9046source-list-map@^2.0.0:
8925 version "2.0.1" 9047 version "2.0.1"
8926 resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" 9048 resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
@@ -9012,9 +9134,9 @@ source-map@~0.2.0:
9012 amdefine ">=0.0.4" 9134 amdefine ">=0.0.4"
9013 9135
9014sourcemap-codec@^1.4.1: 9136sourcemap-codec@^1.4.1:
9015 version "1.4.3" 9137 version "1.4.4"
9016 resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.3.tgz#0ba615b73ec35112f63c2f2d9e7c3f87282b0e33" 9138 resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz#c63ea927c029dd6bd9a2b7fa03b3fec02ad56e9f"
9017 integrity sha512-vFrY/x/NdsD7Yc8mpTJXuao9S8lq08Z/kOITHz6b7YbfI9xL8Spe5EvSQUHOI7SbpY8bRPr0U3kKSsPuqEGSfA== 9139 integrity sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==
9018 9140
9019spdx-correct@^3.0.0: 9141spdx-correct@^3.0.0:
9020 version "3.0.2" 9142 version "3.0.2"
@@ -9067,7 +9189,7 @@ spdy@^3.4.1:
9067 select-hose "^2.0.0" 9189 select-hose "^2.0.0"
9068 spdy-transport "^2.0.18" 9190 spdy-transport "^2.0.18"
9069 9191
9070speed-measure-webpack-plugin@^1.2.3: 9192speed-measure-webpack-plugin@1.2.3:
9071 version "1.2.3" 9193 version "1.2.3"
9072 resolved "https://registry.yarnpkg.com/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.2.3.tgz#de170b5cefbfa1c039d95e639edd3ad50cfc7c48" 9194 resolved "https://registry.yarnpkg.com/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.2.3.tgz#de170b5cefbfa1c039d95e639edd3ad50cfc7c48"
9073 integrity sha512-p+taQ69VkRUXYMoZOx2nxV/Tz8tt79ahctoZJyJDHWP7fEYvwFNf5Pd73k5kZ6auu0pTsPNLEUwWpM8mCk85Zw== 9195 integrity sha512-p+taQ69VkRUXYMoZOx2nxV/Tz8tt79ahctoZJyJDHWP7fEYvwFNf5Pd73k5kZ6auu0pTsPNLEUwWpM8mCk85Zw==
@@ -9133,7 +9255,7 @@ ssri@^5.2.4:
9133 dependencies: 9255 dependencies:
9134 safe-buffer "^5.1.1" 9256 safe-buffer "^5.1.1"
9135 9257
9136ssri@^6.0.0: 9258ssri@^6.0.0, ssri@^6.0.1:
9137 version "6.0.1" 9259 version "6.0.1"
9138 resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" 9260 resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
9139 integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== 9261 integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==
@@ -9293,10 +9415,10 @@ string2compact@^1.1.1, string2compact@^1.2.5:
9293 addr-to-ip-port "^1.0.1" 9415 addr-to-ip-port "^1.0.1"
9294 ipaddr.js "^1.0.1" 9416 ipaddr.js "^1.0.1"
9295 9417
9296string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@~1.1.1: 9418string_decoder@^1.0.0, string_decoder@^1.1.1:
9297 version "1.1.1" 9419 version "1.2.0"
9298 resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 9420 resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d"
9299 integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 9421 integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==
9300 dependencies: 9422 dependencies:
9301 safe-buffer "~5.1.0" 9423 safe-buffer "~5.1.0"
9302 9424
@@ -9305,6 +9427,13 @@ string_decoder@~0.10.x:
9305 resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 9427 resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
9306 integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= 9428 integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
9307 9429
9430string_decoder@~1.1.1:
9431 version "1.1.1"
9432 resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
9433 integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
9434 dependencies:
9435 safe-buffer "~5.1.0"
9436
9308strip-ansi@^3.0.0, strip-ansi@^3.0.1: 9437strip-ansi@^3.0.0, strip-ansi@^3.0.1:
9309 version "3.0.1" 9438 version "3.0.1"
9310 resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 9439 resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
@@ -9348,13 +9477,13 @@ strip-json-comments@~2.0.1:
9348 resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 9477 resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
9349 integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 9478 integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
9350 9479
9351style-loader@0.23.0: 9480style-loader@0.23.1:
9352 version "0.23.0" 9481 version "0.23.1"
9353 resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.0.tgz#8377fefab68416a2e05f1cabd8c3a3acfcce74f1" 9482 resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925"
9354 integrity sha512-uCcN7XWHkqwGVt7skpInW6IGO1tG6ReyFQ1Cseh0VcN6VdcFQi62aG/2F3Y9ueA8x4IVlfaSUxpmQXQD9QrEuQ== 9483 integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==
9355 dependencies: 9484 dependencies:
9356 loader-utils "^1.1.0" 9485 loader-utils "^1.1.0"
9357 schema-utils "^0.4.5" 9486 schema-utils "^1.0.0"
9358 9487
9359stylus-loader@3.0.2: 9488stylus-loader@3.0.2:
9360 version "3.0.2" 9489 version "3.0.2"
@@ -9407,9 +9536,9 @@ symbol-tree@^3.2.2:
9407 integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= 9536 integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=
9408 9537
9409tapable@^1.0.0, tapable@^1.1.0: 9538tapable@^1.0.0, tapable@^1.1.0:
9410 version "1.1.0" 9539 version "1.1.1"
9411 resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.0.tgz#0d076a172e3d9ba088fd2272b2668fb8d194b78c" 9540 resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.1.tgz#4d297923c5a72a42360de2ab52dadfaaec00018e"
9412 integrity sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA== 9541 integrity sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==
9413 9542
9414tar@^2.0.0: 9543tar@^2.0.0:
9415 version "2.2.1" 9544 version "2.2.1"
@@ -9420,7 +9549,7 @@ tar@^2.0.0:
9420 fstream "^1.0.2" 9549 fstream "^1.0.2"
9421 inherits "2" 9550 inherits "2"
9422 9551
9423tar@^4: 9552tar@^4, tar@^4.4.6:
9424 version "4.4.8" 9553 version "4.4.8"
9425 resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" 9554 resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d"
9426 integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== 9555 integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==
@@ -9448,9 +9577,9 @@ terser-webpack-plugin@1.1.0, terser-webpack-plugin@^1.1.0:
9448 worker-farm "^1.5.2" 9577 worker-farm "^1.5.2"
9449 9578
9450terser@^3.8.1: 9579terser@^3.8.1:
9451 version "3.10.11" 9580 version "3.11.0"
9452 resolved "https://registry.yarnpkg.com/terser/-/terser-3.10.11.tgz#e063da74b194dde9faf0a561f3a438c549d2da3f" 9581 resolved "https://registry.yarnpkg.com/terser/-/terser-3.11.0.tgz#60782893e1f4d6788acc696351f40636d0e37af0"
9453 integrity sha512-iruZ7j14oBbRYJC5cP0/vTU7YOWjN+J1ZskEGoF78tFzXdkK2hbCL/3TRZN8XB+MuvFhvOHMp7WkOCBO4VEL5g== 9582 integrity sha512-5iLMdhEPIq3zFWskpmbzmKwMQixKmTYwY3Ox9pjtSklBLnHiuQ0GKJLhL1HSYtyffHM3/lDIFBnb82m9D7ewwQ==
9454 dependencies: 9583 dependencies:
9455 commander "~2.17.1" 9584 commander "~2.17.1"
9456 source-map "~0.6.1" 9585 source-map "~0.6.1"
@@ -9485,7 +9614,7 @@ through2@^2.0.0:
9485 readable-stream "~2.3.6" 9614 readable-stream "~2.3.6"
9486 xtend "~4.0.1" 9615 xtend "~4.0.1"
9487 9616
9488through@2, through@X.X.X, through@^2.3.6, through@~2.3.6: 9617through@2, "through@>=2.2.7 <3", through@X.X.X, through@^2.3.6, through@~2.3.6:
9489 version "2.3.8" 9618 version "2.3.8"
9490 resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 9619 resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
9491 integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 9620 integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
@@ -9586,7 +9715,15 @@ torrent-piece@^2.0.0:
9586 resolved "https://registry.yarnpkg.com/torrent-piece/-/torrent-piece-2.0.0.tgz#6598ae67d93699e887f178db267ba16d89d7ec9b" 9715 resolved "https://registry.yarnpkg.com/torrent-piece/-/torrent-piece-2.0.0.tgz#6598ae67d93699e887f178db267ba16d89d7ec9b"
9587 integrity sha512-H/Z/yCuvZJj1vl1IQHI8dvF2QrUuXRJoptT5DW5967/dsLpXlCg+uyhFR5lfNj5mNaYePUbKtnL+qKWZGXv4Nw== 9716 integrity sha512-H/Z/yCuvZJj1vl1IQHI8dvF2QrUuXRJoptT5DW5967/dsLpXlCg+uyhFR5lfNj5mNaYePUbKtnL+qKWZGXv4Nw==
9588 9717
9589tough-cookie@>=2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.4.3: 9718tough-cookie@>=2.3.3, tough-cookie@^2.3.4:
9719 version "2.5.0"
9720 resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
9721 integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
9722 dependencies:
9723 psl "^1.1.28"
9724 punycode "^2.1.1"
9725
9726tough-cookie@~2.4.3:
9590 version "2.4.3" 9727 version "2.4.3"
9591 resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" 9728 resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781"
9592 integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== 9729 integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==
@@ -9594,13 +9731,6 @@ tough-cookie@>=2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.4.3:
9594 psl "^1.1.24" 9731 psl "^1.1.24"
9595 punycode "^1.4.1" 9732 punycode "^1.4.1"
9596 9733
9597tough-cookie@~2.3.3:
9598 version "2.3.4"
9599 resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655"
9600 integrity sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==
9601 dependencies:
9602 punycode "^1.4.1"
9603
9604tr46@^1.0.1: 9734tr46@^1.0.1:
9605 version "1.0.1" 9735 version "1.0.1"
9606 resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" 9736 resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
@@ -9641,9 +9771,9 @@ tryer@^1.0.0:
9641 integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== 9771 integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==
9642 9772
9643ts-jest@^23.1.4: 9773ts-jest@^23.1.4:
9644 version "23.10.4" 9774 version "23.10.5"
9645 resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-23.10.4.tgz#a7a953f55c9165bcaa90ff91014a178e87fe0df8" 9775 resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-23.10.5.tgz#cdb550df4466a30489bf70ba867615799f388dd5"
9646 integrity sha512-oV/wBwGUS7olSk/9yWMiSIJWbz5xO4zhftnY3gwv6s4SMg6WHF1m8XZNBvQOKQRiTAexZ9754Z13dxBq3Zgssw== 9776 integrity sha512-MRCs9qnGoyKgFc8adDEntAOP64fWK1vZKnOYU1o2HxaqjdJvGqmkLCPCnVq1/If4zkUmEjKPnCiUisTrlX2p2A==
9647 dependencies: 9777 dependencies:
9648 bs-logger "0.x" 9778 bs-logger "0.x"
9649 buffer-from "1.x" 9779 buffer-from "1.x"
@@ -9651,6 +9781,7 @@ ts-jest@^23.1.4:
9651 json5 "2.x" 9781 json5 "2.x"
9652 make-error "1.x" 9782 make-error "1.x"
9653 mkdirp "0.x" 9783 mkdirp "0.x"
9784 resolve "1.x"
9654 semver "^5.5" 9785 semver "^5.5"
9655 yargs-parser "10.x" 9786 yargs-parser "10.x"
9656 9787
@@ -9721,9 +9852,9 @@ tsutils@^2.27.2:
9721 tslib "^1.8.1" 9852 tslib "^1.8.1"
9722 9853
9723tsutils@^3.0.0: 9854tsutils@^3.0.0:
9724 version "3.5.0" 9855 version "3.5.2"
9725 resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.5.0.tgz#42602f7df241e753a2105cc3627a664abf11f745" 9856 resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.5.2.tgz#6fd3c2d5a731e83bb21b070a173ec0faf3a8f6d3"
9726 integrity sha512-/FZ+pEJQixWruFejFxNPRSwg+iF6aw7PYZVRqUscJ7EnzV3zieI8byfZziUR7QjCuJFulq8SEe9JcGflO4ze4Q== 9857 integrity sha512-qIlklNuI/1Dzfm+G+kJV5gg3gimZIX5haYtIVQe7qGyKd7eu8T1t1DY6pz4Sc2CGXAj9s1izycctm9Zfl9sRuQ==
9727 dependencies: 9858 dependencies:
9728 tslib "^1.8.1" 9859 tslib "^1.8.1"
9729 9860
@@ -9838,7 +9969,7 @@ uniq@^1.0.1:
9838 resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" 9969 resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
9839 integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= 9970 integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=
9840 9971
9841unique-filename@^1.1.0: 9972unique-filename@^1.1.0, unique-filename@^1.1.1:
9842 version "1.1.1" 9973 version "1.1.1"
9843 resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" 9974 resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
9844 integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== 9975 integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
@@ -9897,12 +10028,7 @@ urix@^0.1.0:
9897 resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 10028 resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
9898 integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= 10029 integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
9899 10030
9900url-join@^4.0.0: 10031url-parse@^1.4.3:
9901 version "4.0.0"
9902 resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.0.tgz#4d3340e807d3773bda9991f8305acdcc2a665d2a"
9903 integrity sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=
9904
9905url-parse@^1.1.8, url-parse@^1.4.3:
9906 version "1.4.4" 10032 version "1.4.4"
9907 resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8" 10033 resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8"
9908 integrity sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg== 10034 integrity sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==
@@ -9928,12 +10054,12 @@ use@^3.1.0:
9928 resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" 10054 resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
9929 integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== 10055 integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
9930 10056
9931useragent@2.2.1: 10057useragent@2.3.0:
9932 version "2.2.1" 10058 version "2.3.0"
9933 resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.2.1.tgz#cf593ef4f2d175875e8bb658ea92e18a4fd06d8e" 10059 resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.3.0.tgz#217f943ad540cb2128658ab23fc960f6a88c9972"
9934 integrity sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4= 10060 integrity sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==
9935 dependencies: 10061 dependencies:
9936 lru-cache "2.2.x" 10062 lru-cache "4.1.x"
9937 tmp "0.0.x" 10063 tmp "0.0.x"
9938 10064
9939ut_metadata@^3.3.0: 10065ut_metadata@^3.3.0:
@@ -10222,35 +10348,20 @@ webpack-core@^0.6.8:
10222 source-list-map "~0.1.7" 10348 source-list-map "~0.1.7"
10223 source-map "~0.4.1" 10349 source-map "~0.4.1"
10224 10350
10225webpack-dev-middleware@3.2.0: 10351webpack-dev-middleware@3.4.0:
10226 version "3.2.0" 10352 version "3.4.0"
10227 resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.2.0.tgz#a20ceef194873710052da678f3c6ee0aeed92552" 10353 resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz#1132fecc9026fd90f0ecedac5cbff75d1fb45890"
10228 integrity sha512-YJLMF/96TpKXaEQwaLEo+Z4NDK8aV133ROF6xp9pe3gQoS7sxfpXh4Rv9eC+8vCvWfmDjRQaMSlRPbO+9G6jgA== 10354 integrity sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==
10229 dependencies:
10230 loud-rejection "^1.6.0"
10231 memory-fs "~0.4.1"
10232 mime "^2.3.1"
10233 path-is-absolute "^1.0.0"
10234 range-parser "^1.0.3"
10235 url-join "^4.0.0"
10236 webpack-log "^2.0.0"
10237
10238webpack-dev-middleware@3.3.0:
10239 version "3.3.0"
10240 resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.3.0.tgz#8104daf4d4f65defe06ee2eaaeea612a7c541462"
10241 integrity sha512-5C5gXtOo1I6+0AEg4UPglYEtu3Rai6l5IiO6aUu65scHXz29dc3oIWMiRwvcNLXgL0HwRkRxa9N02ZjFt4hY8w==
10242 dependencies: 10355 dependencies:
10243 loud-rejection "^1.6.0"
10244 memory-fs "~0.4.1" 10356 memory-fs "~0.4.1"
10245 mime "^2.3.1" 10357 mime "^2.3.1"
10246 range-parser "^1.0.3" 10358 range-parser "^1.0.3"
10247 url-join "^4.0.0"
10248 webpack-log "^2.0.0" 10359 webpack-log "^2.0.0"
10249 10360
10250webpack-dev-server@3.1.8: 10361webpack-dev-server@3.1.10:
10251 version "3.1.8" 10362 version "3.1.10"
10252 resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.8.tgz#eb7a95945d1108170f902604fb3b939533d9daeb" 10363 resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.10.tgz#507411bee727ee8d2fdffdc621b66a64ab3dea2b"
10253 integrity sha512-c+tcJtDqnPdxCAzEEZKdIPmg3i5i7cAHe+B+0xFNK0BlCc2HF/unYccbU7xTgfGc5xxhCztCQzFmsqim+KhI+A== 10364 integrity sha512-RqOAVjfqZJtQcB0LmrzJ5y4Jp78lv9CK0MZ1YJDTaTmedMZ9PU9FLMQNrMCfVu8hHzaVLVOJKBlGEHMN10z+ww==
10254 dependencies: 10365 dependencies:
10255 ansi-html "0.0.7" 10366 ansi-html "0.0.7"
10256 bonjour "^3.5.0" 10367 bonjour "^3.5.0"
@@ -10273,11 +10384,11 @@ webpack-dev-server@3.1.8:
10273 selfsigned "^1.9.1" 10384 selfsigned "^1.9.1"
10274 serve-index "^1.7.2" 10385 serve-index "^1.7.2"
10275 sockjs "0.3.19" 10386 sockjs "0.3.19"
10276 sockjs-client "1.1.5" 10387 sockjs-client "1.3.0"
10277 spdy "^3.4.1" 10388 spdy "^3.4.1"
10278 strip-ansi "^3.0.0" 10389 strip-ansi "^3.0.0"
10279 supports-color "^5.1.0" 10390 supports-color "^5.1.0"
10280 webpack-dev-middleware "3.2.0" 10391 webpack-dev-middleware "3.4.0"
10281 webpack-log "^2.0.0" 10392 webpack-log "^2.0.0"
10282 yargs "12.0.2" 10393 yargs "12.0.2"
10283 10394
@@ -10314,6 +10425,14 @@ webpack-sources@1.2.0:
10314 source-list-map "^2.0.0" 10425 source-list-map "^2.0.0"
10315 source-map "~0.6.1" 10426 source-map "~0.6.1"
10316 10427
10428webpack-sources@1.3.0, webpack-sources@^1.1.0, webpack-sources@^1.2.0, webpack-sources@^1.3.0:
10429 version "1.3.0"
10430 resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85"
10431 integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==
10432 dependencies:
10433 source-list-map "^2.0.0"
10434 source-map "~0.6.1"
10435
10317webpack-sources@^0.1.4: 10436webpack-sources@^0.1.4:
10318 version "0.1.5" 10437 version "0.1.5"
10319 resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750" 10438 resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750"
@@ -10322,14 +10441,6 @@ webpack-sources@^0.1.4:
10322 source-list-map "~0.1.7" 10441 source-list-map "~0.1.7"
10323 source-map "~0.5.3" 10442 source-map "~0.5.3"
10324 10443
10325webpack-sources@^1.1.0, webpack-sources@^1.2.0, webpack-sources@^1.3.0:
10326 version "1.3.0"
10327 resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85"
10328 integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==
10329 dependencies:
10330 source-list-map "^2.0.0"
10331 source-map "~0.6.1"
10332
10333webpack-subresource-integrity@1.1.0-rc.6: 10444webpack-subresource-integrity@1.1.0-rc.6:
10334 version "1.1.0-rc.6" 10445 version "1.1.0-rc.6"
10335 resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.1.0-rc.6.tgz#37f6f1264e1eb378e41465a98da80fad76ab8886" 10446 resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.1.0-rc.6.tgz#37f6f1264e1eb378e41465a98da80fad76ab8886"
@@ -10337,15 +10448,15 @@ webpack-subresource-integrity@1.1.0-rc.6:
10337 dependencies: 10448 dependencies:
10338 webpack-core "^0.6.8" 10449 webpack-core "^0.6.8"
10339 10450
10340webpack@4.19.1: 10451webpack@4.23.1:
10341 version "4.19.1" 10452 version "4.23.1"
10342 resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.19.1.tgz#096674bc3b573f8756c762754366e5b333d6576f" 10453 resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.23.1.tgz#db7467b116771ae020c58bdfe2a0822785bb8239"
10343 integrity sha512-j7Q/5QqZRqIFXJvC0E59ipLV5Hf6lAnS3ezC3I4HMUybwEDikQBVad5d+IpPtmaQPQArvgUZLXIN6lWijHBn4g== 10454 integrity sha512-iE5Cu4rGEDk7ONRjisTOjVHv3dDtcFfwitSxT7evtYj/rANJpt1OuC/Kozh1pBa99AUBr1L/LsaNB+D9Xz3CEg==
10344 dependencies: 10455 dependencies:
10345 "@webassemblyjs/ast" "1.7.6" 10456 "@webassemblyjs/ast" "1.7.10"
10346 "@webassemblyjs/helper-module-context" "1.7.6" 10457 "@webassemblyjs/helper-module-context" "1.7.10"
10347 "@webassemblyjs/wasm-edit" "1.7.6" 10458 "@webassemblyjs/wasm-edit" "1.7.10"
10348 "@webassemblyjs/wasm-parser" "1.7.6" 10459 "@webassemblyjs/wasm-parser" "1.7.10"
10349 acorn "^5.6.2" 10460 acorn "^5.6.2"
10350 acorn-dynamic-import "^3.0.0" 10461 acorn-dynamic-import "^3.0.0"
10351 ajv "^6.1.0" 10462 ajv "^6.1.0"
@@ -10365,12 +10476,12 @@ webpack@4.19.1:
10365 tapable "^1.1.0" 10476 tapable "^1.1.0"
10366 uglifyjs-webpack-plugin "^1.2.4" 10477 uglifyjs-webpack-plugin "^1.2.4"
10367 watchpack "^1.5.0" 10478 watchpack "^1.5.0"
10368 webpack-sources "^1.2.0" 10479 webpack-sources "^1.3.0"
10369 10480
10370webpack@^4.17.1: 10481webpack@^4.17.1:
10371 version "4.25.1" 10482 version "4.26.1"
10372 resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.25.1.tgz#4f459fbaea0f93440dc86c89f771bb3a837cfb6d" 10483 resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.26.1.tgz#ff3a9283d363c07b3494dfa702d08f4f2ef6cb39"
10373 integrity sha512-T0GU/3NRtO4tMfNzsvpdhUr8HnzA4LTdP2zd+e5zd6CdOH5vNKHnAlO+DvzccfhPdzqRrALOFcjYxx7K5DWmvA== 10484 integrity sha512-i2oOvEvuvLLSuSCkdVrknaxAhtUZ9g+nLSoHCWV0gDzqGX2DXaCrMmMUpbRsTSSLrUqAI56PoEiyMUZIZ1msug==
10374 dependencies: 10485 dependencies:
10375 "@webassemblyjs/ast" "1.7.11" 10486 "@webassemblyjs/ast" "1.7.11"
10376 "@webassemblyjs/helper-module-context" "1.7.11" 10487 "@webassemblyjs/helper-module-context" "1.7.11"
@@ -10393,7 +10504,7 @@ webpack@^4.17.1:
10393 node-libs-browser "^2.0.0" 10504 node-libs-browser "^2.0.0"
10394 schema-utils "^0.4.4" 10505 schema-utils "^0.4.4"
10395 tapable "^1.1.0" 10506 tapable "^1.1.0"
10396 uglifyjs-webpack-plugin "^1.2.4" 10507 terser-webpack-plugin "^1.1.0"
10397 watchpack "^1.5.0" 10508 watchpack "^1.5.0"
10398 webpack-sources "^1.3.0" 10509 webpack-sources "^1.3.0"
10399 10510
@@ -10468,9 +10579,9 @@ whatwg-fetch@^3.0.0:
10468 integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== 10579 integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==
10469 10580
10470whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: 10581whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0:
10471 version "2.2.0" 10582 version "2.3.0"
10472 resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.2.0.tgz#a3d58ef10b76009b042d03e25591ece89b88d171" 10583 resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
10473 integrity sha512-5YSO1nMd5D1hY3WzAQV3PzZL83W3YeyR1yW9PcH26Weh1t+Vzh9B6XkDh7aXm83HBZ4nSMvkjvN2H2ySWIvBgw== 10584 integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
10474 10585
10475whatwg-url@^6.4.1: 10586whatwg-url@^6.4.1:
10476 version "6.5.0" 10587 version "6.5.0"
@@ -10505,7 +10616,7 @@ which-module@^2.0.0:
10505 resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 10616 resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
10506 integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 10617 integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
10507 10618
10508which@1, which@^1.1.1, which@^1.2.1, which@^1.2.12, which@^1.2.9, which@^1.3.0: 10619which@1, which@^1.1.1, which@^1.2.1, which@^1.2.12, which@^1.2.9, which@^1.3.0, which@^1.3.1:
10509 version "1.3.1" 10620 version "1.3.1"
10510 resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 10621 resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
10511 integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 10622 integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
@@ -10566,9 +10677,9 @@ ws@^5.2.0:
10566 async-limiter "~1.0.0" 10677 async-limiter "~1.0.0"
10567 10678
10568ws@^6.0.0: 10679ws@^6.0.0:
10569 version "6.1.0" 10680 version "6.1.2"
10570 resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.0.tgz#119a9dbf92c54e190ec18d10e871d55c95cf9373" 10681 resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.2.tgz#3cc7462e98792f0ac679424148903ded3b9c3ad8"
10571 integrity sha512-H3dGVdGvW2H8bnYpIDc3u3LH8Wue3Qh+Zto6aXXFzvESkTVT6rAfKR6tR/+coaUvxs8yHtmNV0uioBF62ZGSTg== 10682 integrity sha512-rfUqzvz0WxmSXtJpPMX2EeASXabOrSMk1ruMOV3JBTBjo4ac2lDjGGsbQSyxj8Odhw5fBib8ZKEjDNvgouNKYw==
10572 dependencies: 10683 dependencies:
10573 async-limiter "~1.0.0" 10684 async-limiter "~1.0.0"
10574 10685
@@ -10640,9 +10751,9 @@ yallist@^2.1.2:
10640 integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= 10751 integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
10641 10752
10642yallist@^3.0.0, yallist@^3.0.2: 10753yallist@^3.0.0, yallist@^3.0.2:
10643 version "3.0.2" 10754 version "3.0.3"
10644 resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" 10755 resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
10645 integrity sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k= 10756 integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==
10646 10757
10647yargs-parser@10.x, yargs-parser@^10.1.0: 10758yargs-parser@10.x, yargs-parser@^10.1.0:
10648 version "10.1.0" 10759 version "10.1.0"
@@ -10651,6 +10762,14 @@ yargs-parser@10.x, yargs-parser@^10.1.0:
10651 dependencies: 10762 dependencies:
10652 camelcase "^4.1.0" 10763 camelcase "^4.1.0"
10653 10764
10765yargs-parser@^11.1.1:
10766 version "11.1.1"
10767 resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
10768 integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==
10769 dependencies:
10770 camelcase "^5.0.0"
10771 decamelize "^1.2.0"
10772
10654yargs-parser@^5.0.0: 10773yargs-parser@^5.0.0:
10655 version "5.0.0" 10774 version "5.0.0"
10656 resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" 10775 resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
@@ -10697,7 +10816,7 @@ yargs@10.0.3:
10697 y18n "^3.2.1" 10816 y18n "^3.2.1"
10698 yargs-parser "^8.0.0" 10817 yargs-parser "^8.0.0"
10699 10818
10700yargs@12.0.2, yargs@^12.0.2: 10819yargs@12.0.2:
10701 version "12.0.2" 10820 version "12.0.2"
10702 resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" 10821 resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc"
10703 integrity sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ== 10822 integrity sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==
@@ -10752,6 +10871,24 @@ yargs@^11.0.0:
10752 y18n "^3.2.1" 10871 y18n "^3.2.1"
10753 yargs-parser "^9.0.2" 10872 yargs-parser "^9.0.2"
10754 10873
10874yargs@^12.0.2:
10875 version "12.0.5"
10876 resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
10877 integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==
10878 dependencies:
10879 cliui "^4.0.0"
10880 decamelize "^1.2.0"
10881 find-up "^3.0.0"
10882 get-caller-file "^1.0.1"
10883 os-locale "^3.0.0"
10884 require-directory "^2.1.1"
10885 require-main-filename "^1.0.1"
10886 set-blocking "^2.0.0"
10887 string-width "^2.0.0"
10888 which-module "^2.0.0"
10889 y18n "^3.2.1 || ^4.0.0"
10890 yargs-parser "^11.1.1"
10891
10755yargs@^7.0.0: 10892yargs@^7.0.0:
10756 version "7.1.0" 10893 version "7.1.0"
10757 resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" 10894 resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
diff --git a/config/default.yaml b/config/default.yaml
index 257ec7ed1..d95fdc57b 100644
--- a/config/default.yaml
+++ b/config/default.yaml
@@ -45,8 +45,10 @@ smtp:
45 45
46# From the project root directory 46# From the project root directory
47storage: 47storage:
48 tmp: 'storage/tmp/' # Used to download data (imports etc), store uploaded files before processing...
48 avatars: 'storage/avatars/' 49 avatars: 'storage/avatars/'
49 videos: 'storage/videos/' 50 videos: 'storage/videos/'
51 redundancy: 'storage/redundancy/'
50 logs: 'storage/logs/' 52 logs: 'storage/logs/'
51 previews: 'storage/previews/' 53 previews: 'storage/previews/'
52 thumbnails: 'storage/thumbnails/' 54 thumbnails: 'storage/thumbnails/'
@@ -75,7 +77,7 @@ trending:
75redundancy: 77redundancy:
76 videos: 78 videos:
77 check_interval: '1 hour' # How often you want to check new videos to cache 79 check_interval: '1 hour' # How often you want to check new videos to cache
78 strategies: 80 strategies: # Just uncomment strategies you want
79# - 81# -
80# size: '10GB' 82# size: '10GB'
81# # Minimum time the video must remain in the cache. Only accept values > 10 hours (to not overload remote instances) 83# # Minimum time the video must remain in the cache. Only accept values > 10 hours (to not overload remote instances)
diff --git a/config/production.yaml.example b/config/production.yaml.example
index ac15fc736..4c50a550b 100644
--- a/config/production.yaml.example
+++ b/config/production.yaml.example
@@ -46,8 +46,10 @@ smtp:
46 46
47# From the project root directory 47# From the project root directory
48storage: 48storage:
49 tmp: '/var/www/peertube/storage/tmp/' # Used to download data (imports etc), store uploaded files before processing...
49 avatars: '/var/www/peertube/storage/avatars/' 50 avatars: '/var/www/peertube/storage/avatars/'
50 videos: '/var/www/peertube/storage/videos/' 51 videos: '/var/www/peertube/storage/videos/'
52 redundancy: '/var/www/peertube/storage/videos/'
51 logs: '/var/www/peertube/storage/logs/' 53 logs: '/var/www/peertube/storage/logs/'
52 previews: '/var/www/peertube/storage/previews/' 54 previews: '/var/www/peertube/storage/previews/'
53 thumbnails: '/var/www/peertube/storage/thumbnails/' 55 thumbnails: '/var/www/peertube/storage/thumbnails/'
@@ -76,7 +78,7 @@ trending:
76redundancy: 78redundancy:
77 videos: 79 videos:
78 check_interval: '1 hour' # How often you want to check new videos to cache 80 check_interval: '1 hour' # How often you want to check new videos to cache
79 strategies: 81 strategies: # Just uncomment strategies you want
80# - 82# -
81# size: '10GB' 83# size: '10GB'
82# # Minimum time the video must remain in the cache. Only accept values > 10 hours (to not overload remote instances) 84# # Minimum time the video must remain in the cache. Only accept values > 10 hours (to not overload remote instances)
diff --git a/config/test-1.yaml b/config/test-1.yaml
index 503bbc661..8f4f66d2a 100644
--- a/config/test-1.yaml
+++ b/config/test-1.yaml
@@ -10,8 +10,10 @@ database:
10 10
11# From the project root directory 11# From the project root directory
12storage: 12storage:
13 tmp: 'test1/tmp/'
13 avatars: 'test1/avatars/' 14 avatars: 'test1/avatars/'
14 videos: 'test1/videos/' 15 videos: 'test1/videos/'
16 redundancy: 'test1/redundancy/'
15 logs: 'test1/logs/' 17 logs: 'test1/logs/'
16 previews: 'test1/previews/' 18 previews: 'test1/previews/'
17 thumbnails: 'test1/thumbnails/' 19 thumbnails: 'test1/thumbnails/'
diff --git a/config/test-2.yaml b/config/test-2.yaml
index 8c77bf581..a80ec6e54 100644
--- a/config/test-2.yaml
+++ b/config/test-2.yaml
@@ -10,8 +10,10 @@ database:
10 10
11# From the project root directory 11# From the project root directory
12storage: 12storage:
13 tmp: 'test2/tmp/'
13 avatars: 'test2/avatars/' 14 avatars: 'test2/avatars/'
14 videos: 'test2/videos/' 15 videos: 'test2/videos/'
16 redundancy: 'test2/redundancy/'
15 logs: 'test2/logs/' 17 logs: 'test2/logs/'
16 previews: 'test2/previews/' 18 previews: 'test2/previews/'
17 thumbnails: 'test2/thumbnails/' 19 thumbnails: 'test2/thumbnails/'
diff --git a/config/test-3.yaml b/config/test-3.yaml
index 82d89567a..934401eb0 100644
--- a/config/test-3.yaml
+++ b/config/test-3.yaml
@@ -10,8 +10,10 @@ database:
10 10
11# From the project root directory 11# From the project root directory
12storage: 12storage:
13 tmp: 'test3/tmp/'
13 avatars: 'test3/avatars/' 14 avatars: 'test3/avatars/'
14 videos: 'test3/videos/' 15 videos: 'test3/videos/'
16 redundancy: 'test3/redundancy/'
15 logs: 'test3/logs/' 17 logs: 'test3/logs/'
16 previews: 'test3/previews/' 18 previews: 'test3/previews/'
17 thumbnails: 'test3/thumbnails/' 19 thumbnails: 'test3/thumbnails/'
diff --git a/config/test-4.yaml b/config/test-4.yaml
index 1aa56d041..ee99b250b 100644
--- a/config/test-4.yaml
+++ b/config/test-4.yaml
@@ -10,8 +10,10 @@ database:
10 10
11# From the project root directory 11# From the project root directory
12storage: 12storage:
13 tmp: 'test4/tmp/'
13 avatars: 'test4/avatars/' 14 avatars: 'test4/avatars/'
14 videos: 'test4/videos/' 15 videos: 'test4/videos/'
16 redundancy: 'test4/redundancy/'
15 logs: 'test4/logs/' 17 logs: 'test4/logs/'
16 previews: 'test4/previews/' 18 previews: 'test4/previews/'
17 thumbnails: 'test4/thumbnails/' 19 thumbnails: 'test4/thumbnails/'
diff --git a/config/test-5.yaml b/config/test-5.yaml
index 5f1c2f583..e2662bdd9 100644
--- a/config/test-5.yaml
+++ b/config/test-5.yaml
@@ -10,8 +10,10 @@ database:
10 10
11# From the project root directory 11# From the project root directory
12storage: 12storage:
13 tmp: 'test5/tmp/'
13 avatars: 'test5/avatars/' 14 avatars: 'test5/avatars/'
14 videos: 'test5/videos/' 15 videos: 'test5/videos/'
16 redundancy: 'test5/redundancy/'
15 logs: 'test5/logs/' 17 logs: 'test5/logs/'
16 previews: 'test5/previews/' 18 previews: 'test5/previews/'
17 thumbnails: 'test5/thumbnails/' 19 thumbnails: 'test5/thumbnails/'
diff --git a/config/test-6.yaml b/config/test-6.yaml
index 719629844..ad39c6a9f 100644
--- a/config/test-6.yaml
+++ b/config/test-6.yaml
@@ -10,8 +10,10 @@ database:
10 10
11# From the project root directory 11# From the project root directory
12storage: 12storage:
13 tmp: 'test6/tmp/'
13 avatars: 'test6/avatars/' 14 avatars: 'test6/avatars/'
14 videos: 'test6/videos/' 15 videos: 'test6/videos/'
16 redundancy: 'test6/redundancy/'
15 logs: 'test6/logs/' 17 logs: 'test6/logs/'
16 previews: 'test6/previews/' 18 previews: 'test6/previews/'
17 thumbnails: 'test6/thumbnails/' 19 thumbnails: 'test6/thumbnails/'
diff --git a/config/test.yaml b/config/test.yaml
index 9c051fabc..51a77e2fd 100644
--- a/config/test.yaml
+++ b/config/test.yaml
@@ -67,4 +67,4 @@ import:
67 enabled: true 67 enabled: true
68 68
69instance: 69instance:
70 default_nsfw_policy: 'display' \ No newline at end of file 70 default_nsfw_policy: 'display'
diff --git a/package.json b/package.json
index d4076612e..3983f5f2c 100644
--- a/package.json
+++ b/package.json
@@ -104,7 +104,7 @@
104 "cli-table": "^0.3.1", 104 "cli-table": "^0.3.1",
105 "commander": "^2.13.0", 105 "commander": "^2.13.0",
106 "concurrently": "^4.0.1", 106 "concurrently": "^4.0.1",
107 "config": "^2.0.1", 107 "config": "^3.0.0",
108 "cookie-parser": "^1.4.3", 108 "cookie-parser": "^1.4.3",
109 "cors": "^2.8.1", 109 "cors": "^2.8.1",
110 "create-torrent": "^3.24.5", 110 "create-torrent": "^3.24.5",
@@ -127,7 +127,6 @@
127 "jsonld-signatures": "https://github.com/Chocobozzz/jsonld-signatures#rsa2017", 127 "jsonld-signatures": "https://github.com/Chocobozzz/jsonld-signatures#rsa2017",
128 "lodash": "^4.17.10", 128 "lodash": "^4.17.10",
129 "magnet-uri": "^5.1.4", 129 "magnet-uri": "^5.1.4",
130 "marked-man": "^0.2.1",
131 "memoizee": "^0.4.14", 130 "memoizee": "^0.4.14",
132 "morgan": "^1.5.3", 131 "morgan": "^1.5.3",
133 "multer": "^1.1.0", 132 "multer": "^1.1.0",
@@ -138,16 +137,15 @@
138 "pem": "^1.12.3", 137 "pem": "^1.12.3",
139 "pfeed": "^1.1.6", 138 "pfeed": "^1.1.6",
140 "pg": "^7.4.1", 139 "pg": "^7.4.1",
141 "pg-hstore": "^2.3.2",
142 "prompt": "^1.0.0", 140 "prompt": "^1.0.0",
143 "redis": "^2.8.0", 141 "redis": "^2.8.0",
144 "reflect-metadata": "^0.1.10", 142 "reflect-metadata": "^0.1.12",
145 "request": "^2.81.0", 143 "request": "^2.81.0",
146 "safe-buffer": "^5.0.1",
147 "scripty": "^1.5.0", 144 "scripty": "^1.5.0",
148 "sequelize": "4.41.2", 145 "sequelize": "4.41.2",
149 "sequelize-typescript": "0.6.6", 146 "sequelize-typescript": "0.6.6",
150 "sharp": "^0.21.0", 147 "sharp": "^0.21.0",
148 "sitemap": "^2.1.0",
151 "srt-to-vtt": "^1.1.2", 149 "srt-to-vtt": "^1.1.2",
152 "summon-install": "^0.4.3", 150 "summon-install": "^0.4.3",
153 "useragent": "^2.3.0", 151 "useragent": "^2.3.0",
@@ -165,7 +163,7 @@
165 "@types/bcrypt": "^3.0.0", 163 "@types/bcrypt": "^3.0.0",
166 "@types/bluebird": "3.5.21", 164 "@types/bluebird": "3.5.21",
167 "@types/body-parser": "^1.16.3", 165 "@types/body-parser": "^1.16.3",
168 "@types/bull": "^3.3.12", 166 "@types/bull": "3.4.0",
169 "@types/bytes": "^3.0.0", 167 "@types/bytes": "^3.0.0",
170 "@types/chai": "^4.0.4", 168 "@types/chai": "^4.0.4",
171 "@types/chai-json-schema": "^1.4.3", 169 "@types/chai-json-schema": "^1.4.3",
@@ -202,6 +200,7 @@
202 "libxmljs": "0.19.5", 200 "libxmljs": "0.19.5",
203 "lint-staged": "^8.0.4", 201 "lint-staged": "^8.0.4",
204 "maildev": "^1.0.0-rc3", 202 "maildev": "^1.0.0-rc3",
203 "marked-man": "^0.2.1",
205 "mocha": "^5.0.0", 204 "mocha": "^5.0.0",
206 "nodemon": "^1.18.6", 205 "nodemon": "^1.18.6",
207 "sass-lint": "^1.12.1", 206 "sass-lint": "^1.12.1",
diff --git a/scripts/build/client.sh b/scripts/build/client.sh
index 62daf98cf..be3eef802 100755
--- a/scripts/build/client.sh
+++ b/scripts/build/client.sh
@@ -41,7 +41,7 @@ if [ -z ${1+x} ] || [ "$1" != "--light" ]; then
41 languages=("fr_FR") 41 languages=("fr_FR")
42 else 42 else
43 # Supported languages 43 # Supported languages
44 languages=("fr_FR" "pt_BR" "sv_SE" "eu_ES" "ca_ES" "cs_CZ" "eo" "zh_Hant_TW" "de_DE" "es_ES" "oc" "zh_Hans_CN") 44 languages=("pl_PL" "it_IT" "ru_RU" "fr_FR" "pt_BR" "sv_SE" "eu_ES" "ca_ES" "cs_CZ" "eo" "zh_Hant_TW" "de_DE" "es_ES" "oc" "zh_Hans_CN")
45 fi 45 fi
46 46
47 for lang in "${languages[@]}"; do 47 for lang in "${languages[@]}"; do
diff --git a/scripts/clean/server/test.sh b/scripts/clean/server/test.sh
index 235ff52cc..b897c30ba 100755
--- a/scripts/clean/server/test.sh
+++ b/scripts/clean/server/test.sh
@@ -18,6 +18,7 @@ removeFiles () {
18 18
19dropRedis () { 19dropRedis () {
20 redis-cli KEYS "bull-localhost:900$1*" | grep -v empty | xargs --no-run-if-empty redis-cli DEL 20 redis-cli KEYS "bull-localhost:900$1*" | grep -v empty | xargs --no-run-if-empty redis-cli DEL
21 redis-cli KEYS "redis-localhost:900$1*" | grep -v empty | xargs --no-run-if-empty redis-cli DEL
21} 22}
22 23
23for i in $(seq 1 6); do 24for i in $(seq 1 6); do
diff --git a/scripts/prune-storage.ts b/scripts/prune-storage.ts
index 4ab0b4863..c9e4dbd4b 100755
--- a/scripts/prune-storage.ts
+++ b/scripts/prune-storage.ts
@@ -19,7 +19,8 @@ async function run () {
19 19
20 const storageOnlyOwnedToPrune = [ 20 const storageOnlyOwnedToPrune = [
21 CONFIG.STORAGE.VIDEOS_DIR, 21 CONFIG.STORAGE.VIDEOS_DIR,
22 CONFIG.STORAGE.TORRENTS_DIR 22 CONFIG.STORAGE.TORRENTS_DIR,
23 CONFIG.STORAGE.REDUNDANCY_DIR
23 ] 24 ]
24 25
25 const storageForAllToPrune = [ 26 const storageForAllToPrune = [
@@ -36,6 +37,9 @@ async function run () {
36 toDelete = toDelete.concat(await pruneDirectory(directory, false)) 37 toDelete = toDelete.concat(await pruneDirectory(directory, false))
37 } 38 }
38 39
40 const tmpFiles = await readdir(CONFIG.STORAGE.TMP_DIR)
41 toDelete = toDelete.concat(tmpFiles.map(t => join(CONFIG.STORAGE.TMP_DIR, t)))
42
39 if (toDelete.length === 0) { 43 if (toDelete.length === 0) {
40 console.log('No files to delete.') 44 console.log('No files to delete.')
41 return 45 return
@@ -91,6 +95,7 @@ async function askConfirmation () {
91 confirm: { 95 confirm: {
92 type: 'string', 96 type: 'string',
93 description: 'These following unused files can be deleted, but please check your backups first (bugs happen).' + 97 description: 'These following unused files can be deleted, but please check your backups first (bugs happen).' +
98 ' Notice PeerTube must have been stopped when your ran this script.' +
94 ' Can we delete these files?', 99 ' Can we delete these files?',
95 default: 'n', 100 default: 'n',
96 required: true 101 required: true
diff --git a/scripts/upgrade.sh b/scripts/upgrade.sh
index c70b3b42a..4f7c58edd 100755
--- a/scripts/upgrade.sh
+++ b/scripts/upgrade.sh
@@ -20,6 +20,16 @@ if [ ! -e "$PEERTUBE_PATH/versions" -o ! -e "$PEERTUBE_PATH/config/production.ya
20 exit 1 20 exit 1
21fi 21fi
22 22
23if [ -x "$(command -v awk)" ] && [ -x "$(command -v sed)" ] ; then
24 REMAINING=$(df -k $PEERTUBE_PATH | awk '{ print $4}' | sed -n 2p)
25 ONE_GB=$((1024 * 1024))
26 if [ "$REMAINING" -lt "$ONE_GB" ]; then
27 echo "Error - not enough free space for upgrading"
28 echo ""
29 echo "Make sure you have at least 1 GB of free space in $PEERTUBE_PATH"
30 exit 1
31 fi
32fi
23 33
24# Backup database 34# Backup database
25SQL_BACKUP_PATH="$PEERTUBE_PATH/backup/sql-peertube_prod-$(date +"%Y%m%d-%H%M").bak" 35SQL_BACKUP_PATH="$PEERTUBE_PATH/backup/sql-peertube_prod-$(date +"%Y%m%d-%H%M").bak"
diff --git a/server.ts b/server.ts
index 3025a6fd7..4a2a6ddf5 100644
--- a/server.ts
+++ b/server.ts
@@ -87,7 +87,7 @@ import {
87 servicesRouter, 87 servicesRouter,
88 webfingerRouter, 88 webfingerRouter,
89 trackerRouter, 89 trackerRouter,
90 createWebsocketServer 90 createWebsocketServer, botsRouter
91} from './server/controllers' 91} from './server/controllers'
92import { advertiseDoNotTrack } from './server/middlewares/dnt' 92import { advertiseDoNotTrack } from './server/middlewares/dnt'
93import { Redis } from './server/lib/redis' 93import { Redis } from './server/lib/redis'
@@ -156,6 +156,7 @@ app.use('/', activityPubRouter)
156app.use('/', feedsRouter) 156app.use('/', feedsRouter)
157app.use('/', webfingerRouter) 157app.use('/', webfingerRouter)
158app.use('/', trackerRouter) 158app.use('/', trackerRouter)
159app.use('/', botsRouter)
159 160
160// Static files 161// Static files
161app.use('/', staticRouter) 162app.use('/', staticRouter)
diff --git a/server/controllers/api/accounts.ts b/server/controllers/api/accounts.ts
index 86ef2aed1..a69a83acf 100644
--- a/server/controllers/api/accounts.ts
+++ b/server/controllers/api/accounts.ts
@@ -74,10 +74,10 @@ async function listVideoAccountChannels (req: express.Request, res: express.Resp
74 74
75async function listAccountVideos (req: express.Request, res: express.Response, next: express.NextFunction) { 75async function listAccountVideos (req: express.Request, res: express.Response, next: express.NextFunction) {
76 const account: AccountModel = res.locals.account 76 const account: AccountModel = res.locals.account
77 const actorId = isUserAbleToSearchRemoteURI(res) ? null : undefined 77 const followerActorId = isUserAbleToSearchRemoteURI(res) ? null : undefined
78 78
79 const resultList = await VideoModel.listForApi({ 79 const resultList = await VideoModel.listForApi({
80 actorId, 80 followerActorId,
81 start: req.query.start, 81 start: req.query.start,
82 count: req.query.count, 82 count: req.query.count,
83 sort: req.query.sort, 83 sort: req.query.sort,
diff --git a/server/controllers/api/config.ts b/server/controllers/api/config.ts
index 5233e9f68..d65e321e9 100644
--- a/server/controllers/api/config.ts
+++ b/server/controllers/api/config.ts
@@ -11,6 +11,7 @@ import { ClientHtml } from '../../lib/client-html'
11import { auditLoggerFactory, CustomConfigAuditView, getAuditIdFromRes } from '../../helpers/audit-logger' 11import { auditLoggerFactory, CustomConfigAuditView, getAuditIdFromRes } from '../../helpers/audit-logger'
12import { remove, writeJSON } from 'fs-extra' 12import { remove, writeJSON } from 'fs-extra'
13import { getServerCommit } from '../../helpers/utils' 13import { getServerCommit } from '../../helpers/utils'
14import { Emailer } from '../../lib/emailer'
14 15
15const packageJSON = require('../../../../package.json') 16const packageJSON = require('../../../../package.json')
16const configRouter = express.Router() 17const configRouter = express.Router()
@@ -61,6 +62,9 @@ async function getConfig (req: express.Request, res: express.Response) {
61 css: CONFIG.INSTANCE.CUSTOMIZATIONS.CSS 62 css: CONFIG.INSTANCE.CUSTOMIZATIONS.CSS
62 } 63 }
63 }, 64 },
65 email: {
66 enabled: Emailer.Instance.isEnabled()
67 },
64 serverVersion: packageJSON.version, 68 serverVersion: packageJSON.version,
65 serverCommit, 69 serverCommit,
66 signup: { 70 signup: {
diff --git a/server/controllers/api/users/me.ts b/server/controllers/api/users/me.ts
index 82299747d..d2456346b 100644
--- a/server/controllers/api/users/me.ts
+++ b/server/controllers/api/users/me.ts
@@ -42,7 +42,7 @@ import { AccountModel } from '../../../models/account/account'
42 42
43const auditLogger = auditLoggerFactory('users-me') 43const auditLogger = auditLoggerFactory('users-me')
44 44
45const reqAvatarFile = createReqFiles([ 'avatarfile' ], IMAGE_MIMETYPE_EXT, { avatarfile: CONFIG.STORAGE.AVATARS_DIR }) 45const reqAvatarFile = createReqFiles([ 'avatarfile' ], IMAGE_MIMETYPE_EXT, { avatarfile: CONFIG.STORAGE.TMP_DIR })
46 46
47const meRouter = express.Router() 47const meRouter = express.Router()
48 48
@@ -238,7 +238,7 @@ async function getUserSubscriptionVideos (req: express.Request, res: express.Res
238 nsfw: buildNSFWFilter(res, req.query.nsfw), 238 nsfw: buildNSFWFilter(res, req.query.nsfw),
239 filter: req.query.filter as VideoFilter, 239 filter: req.query.filter as VideoFilter,
240 withFiles: false, 240 withFiles: false,
241 actorId: user.Account.Actor.id, 241 followerActorId: user.Account.Actor.id,
242 user 242 user
243 }) 243 })
244 244
@@ -348,7 +348,7 @@ async function updateMe (req: express.Request, res: express.Response, next: expr
348 return res.sendStatus(204) 348 return res.sendStatus(204)
349} 349}
350 350
351async function updateMyAvatar (req: express.Request, res: express.Response, next: express.NextFunction) { 351async function updateMyAvatar (req: express.Request, res: express.Response) {
352 const avatarPhysicalFile = req.files[ 'avatarfile' ][ 0 ] 352 const avatarPhysicalFile = req.files[ 'avatarfile' ][ 0 ]
353 const user: UserModel = res.locals.oauth.token.user 353 const user: UserModel = res.locals.oauth.token.user
354 const oldUserAuditView = new UserAuditView(user.toFormattedJSON()) 354 const oldUserAuditView = new UserAuditView(user.toFormattedJSON())
diff --git a/server/controllers/api/video-channel.ts b/server/controllers/api/video-channel.ts
index 9bf3c5fd8..fd143a139 100644
--- a/server/controllers/api/video-channel.ts
+++ b/server/controllers/api/video-channel.ts
@@ -32,7 +32,7 @@ import { resetSequelizeInstance } from '../../helpers/database-utils'
32import { UserModel } from '../../models/account/user' 32import { UserModel } from '../../models/account/user'
33 33
34const auditLogger = auditLoggerFactory('channels') 34const auditLogger = auditLoggerFactory('channels')
35const reqAvatarFile = createReqFiles([ 'avatarfile' ], IMAGE_MIMETYPE_EXT, { avatarfile: CONFIG.STORAGE.AVATARS_DIR }) 35const reqAvatarFile = createReqFiles([ 'avatarfile' ], IMAGE_MIMETYPE_EXT, { avatarfile: CONFIG.STORAGE.TMP_DIR })
36 36
37const videoChannelRouter = express.Router() 37const videoChannelRouter = express.Router()
38 38
@@ -202,10 +202,10 @@ async function getVideoChannel (req: express.Request, res: express.Response, nex
202 202
203async function listVideoChannelVideos (req: express.Request, res: express.Response, next: express.NextFunction) { 203async function listVideoChannelVideos (req: express.Request, res: express.Response, next: express.NextFunction) {
204 const videoChannelInstance: VideoChannelModel = res.locals.videoChannel 204 const videoChannelInstance: VideoChannelModel = res.locals.videoChannel
205 const actorId = isUserAbleToSearchRemoteURI(res) ? null : undefined 205 const followerActorId = isUserAbleToSearchRemoteURI(res) ? null : undefined
206 206
207 const resultList = await VideoModel.listForApi({ 207 const resultList = await VideoModel.listForApi({
208 actorId, 208 followerActorId,
209 start: req.query.start, 209 start: req.query.start,
210 count: req.query.count, 210 count: req.query.count,
211 sort: req.query.sort, 211 sort: req.query.sort,
diff --git a/server/controllers/api/videos/import.ts b/server/controllers/api/videos/import.ts
index 398fd5a7f..f27d648c7 100644
--- a/server/controllers/api/videos/import.ts
+++ b/server/controllers/api/videos/import.ts
@@ -37,9 +37,9 @@ const reqVideoFileImport = createReqFiles(
37 [ 'thumbnailfile', 'previewfile', 'torrentfile' ], 37 [ 'thumbnailfile', 'previewfile', 'torrentfile' ],
38 Object.assign({}, TORRENT_MIMETYPE_EXT, IMAGE_MIMETYPE_EXT), 38 Object.assign({}, TORRENT_MIMETYPE_EXT, IMAGE_MIMETYPE_EXT),
39 { 39 {
40 thumbnailfile: CONFIG.STORAGE.THUMBNAILS_DIR, 40 thumbnailfile: CONFIG.STORAGE.TMP_DIR,
41 previewfile: CONFIG.STORAGE.PREVIEWS_DIR, 41 previewfile: CONFIG.STORAGE.TMP_DIR,
42 torrentfile: CONFIG.STORAGE.TORRENTS_DIR 42 torrentfile: CONFIG.STORAGE.TMP_DIR
43 } 43 }
44) 44)
45 45
diff --git a/server/controllers/api/videos/index.ts b/server/controllers/api/videos/index.ts
index 3d1b2e1a2..4e4697ef4 100644
--- a/server/controllers/api/videos/index.ts
+++ b/server/controllers/api/videos/index.ts
@@ -67,17 +67,17 @@ const reqVideoFileAdd = createReqFiles(
67 [ 'videofile', 'thumbnailfile', 'previewfile' ], 67 [ 'videofile', 'thumbnailfile', 'previewfile' ],
68 Object.assign({}, VIDEO_MIMETYPE_EXT, IMAGE_MIMETYPE_EXT), 68 Object.assign({}, VIDEO_MIMETYPE_EXT, IMAGE_MIMETYPE_EXT),
69 { 69 {
70 videofile: CONFIG.STORAGE.VIDEOS_DIR, 70 videofile: CONFIG.STORAGE.TMP_DIR,
71 thumbnailfile: CONFIG.STORAGE.THUMBNAILS_DIR, 71 thumbnailfile: CONFIG.STORAGE.TMP_DIR,
72 previewfile: CONFIG.STORAGE.PREVIEWS_DIR 72 previewfile: CONFIG.STORAGE.TMP_DIR
73 } 73 }
74) 74)
75const reqVideoFileUpdate = createReqFiles( 75const reqVideoFileUpdate = createReqFiles(
76 [ 'thumbnailfile', 'previewfile' ], 76 [ 'thumbnailfile', 'previewfile' ],
77 IMAGE_MIMETYPE_EXT, 77 IMAGE_MIMETYPE_EXT,
78 { 78 {
79 thumbnailfile: CONFIG.STORAGE.THUMBNAILS_DIR, 79 thumbnailfile: CONFIG.STORAGE.TMP_DIR,
80 previewfile: CONFIG.STORAGE.PREVIEWS_DIR 80 previewfile: CONFIG.STORAGE.TMP_DIR
81 } 81 }
82) 82)
83 83
diff --git a/server/controllers/bots.ts b/server/controllers/bots.ts
new file mode 100644
index 000000000..2db86a2d8
--- /dev/null
+++ b/server/controllers/bots.ts
@@ -0,0 +1,101 @@
1import * as express from 'express'
2import { asyncMiddleware } from '../middlewares'
3import { CONFIG, ROUTE_CACHE_LIFETIME } from '../initializers'
4import * as sitemapModule from 'sitemap'
5import { logger } from '../helpers/logger'
6import { VideoModel } from '../models/video/video'
7import { VideoChannelModel } from '../models/video/video-channel'
8import { AccountModel } from '../models/account/account'
9import { cacheRoute } from '../middlewares/cache'
10import { buildNSFWFilter } from '../helpers/express-utils'
11import { truncate } from 'lodash'
12
13const botsRouter = express.Router()
14
15// Special route that add OpenGraph and oEmbed tags
16// Do not use a template engine for a so little thing
17botsRouter.use('/sitemap.xml',
18 asyncMiddleware(cacheRoute(ROUTE_CACHE_LIFETIME.SITEMAP)),
19 asyncMiddleware(getSitemap)
20)
21
22// ---------------------------------------------------------------------------
23
24export {
25 botsRouter
26}
27
28// ---------------------------------------------------------------------------
29
30async function getSitemap (req: express.Request, res: express.Response) {
31 let urls = getSitemapBasicUrls()
32
33 urls = urls.concat(await getSitemapLocalVideoUrls())
34 urls = urls.concat(await getSitemapVideoChannelUrls())
35 urls = urls.concat(await getSitemapAccountUrls())
36
37 const sitemap = sitemapModule.createSitemap({
38 hostname: CONFIG.WEBSERVER.URL,
39 urls: urls
40 })
41
42 sitemap.toXML((err, xml) => {
43 if (err) {
44 logger.error('Cannot generate sitemap.', { err })
45 return res.sendStatus(500)
46 }
47
48 res.header('Content-Type', 'application/xml')
49 res.send(xml)
50 })
51}
52
53async function getSitemapVideoChannelUrls () {
54 const rows = await VideoChannelModel.listLocalsForSitemap('createdAt')
55
56 return rows.map(channel => ({
57 url: CONFIG.WEBSERVER.URL + '/video-channels/' + channel.Actor.preferredUsername
58 }))
59}
60
61async function getSitemapAccountUrls () {
62 const rows = await AccountModel.listLocalsForSitemap('createdAt')
63
64 return rows.map(channel => ({
65 url: CONFIG.WEBSERVER.URL + '/accounts/' + channel.Actor.preferredUsername
66 }))
67}
68
69async function getSitemapLocalVideoUrls () {
70 const resultList = await VideoModel.listForApi({
71 start: 0,
72 count: undefined,
73 sort: 'createdAt',
74 includeLocalVideos: true,
75 nsfw: buildNSFWFilter(),
76 filter: 'local',
77 withFiles: false
78 })
79
80 return resultList.data.map(v => ({
81 url: CONFIG.WEBSERVER.URL + '/videos/watch/' + v.uuid,
82 video: [
83 {
84 title: v.name,
85 // Sitemap description should be < 2000 characters
86 description: truncate(v.description || v.name, { length: 2000, omission: '...' }),
87 player_loc: CONFIG.WEBSERVER.URL + '/videos/embed/' + v.uuid,
88 thumbnail_loc: CONFIG.WEBSERVER.URL + v.getThumbnailStaticPath()
89 }
90 ]
91 }))
92}
93
94function getSitemapBasicUrls () {
95 const paths = [
96 '/about/instance',
97 '/videos/local'
98 ]
99
100 return paths.map(p => ({ url: CONFIG.WEBSERVER.URL + p }))
101}
diff --git a/server/controllers/index.ts b/server/controllers/index.ts
index 197fa897a..a88a03c79 100644
--- a/server/controllers/index.ts
+++ b/server/controllers/index.ts
@@ -6,3 +6,4 @@ export * from './services'
6export * from './static' 6export * from './static'
7export * from './webfinger' 7export * from './webfinger'
8export * from './tracker' 8export * from './tracker'
9export * from './bots'
diff --git a/server/controllers/static.ts b/server/controllers/static.ts
index 75e30353c..55e7392a1 100644
--- a/server/controllers/static.ts
+++ b/server/controllers/static.ts
@@ -34,13 +34,18 @@ staticRouter.use(
34) 34)
35 35
36// Videos path for webseeding 36// Videos path for webseeding
37const videosPhysicalPath = CONFIG.STORAGE.VIDEOS_DIR
38staticRouter.use( 37staticRouter.use(
39 STATIC_PATHS.WEBSEED, 38 STATIC_PATHS.WEBSEED,
40 cors(), 39 cors(),
41 express.static(videosPhysicalPath) 40 express.static(CONFIG.STORAGE.VIDEOS_DIR, { fallthrough: false }) // 404 because we don't have this video
42) 41)
43staticRouter.use( 42staticRouter.use(
43 STATIC_PATHS.REDUNDANCY,
44 cors(),
45 express.static(CONFIG.STORAGE.REDUNDANCY_DIR, { fallthrough: false }) // 404 because we don't have this video
46)
47
48staticRouter.use(
44 STATIC_DOWNLOAD_PATHS.VIDEOS + ':id-:resolution([0-9]+).:extension', 49 STATIC_DOWNLOAD_PATHS.VIDEOS + ':id-:resolution([0-9]+).:extension',
45 asyncMiddleware(videosGetValidator), 50 asyncMiddleware(videosGetValidator),
46 asyncMiddleware(downloadVideoFile) 51 asyncMiddleware(downloadVideoFile)
diff --git a/server/helpers/express-utils.ts b/server/helpers/express-utils.ts
index 162fe2244..9a72ee96d 100644
--- a/server/helpers/express-utils.ts
+++ b/server/helpers/express-utils.ts
@@ -7,12 +7,12 @@ import { extname } from 'path'
7import { isArray } from './custom-validators/misc' 7import { isArray } from './custom-validators/misc'
8import { UserModel } from '../models/account/user' 8import { UserModel } from '../models/account/user'
9 9
10function buildNSFWFilter (res: express.Response, paramNSFW?: string) { 10function buildNSFWFilter (res?: express.Response, paramNSFW?: string) {
11 if (paramNSFW === 'true') return true 11 if (paramNSFW === 'true') return true
12 if (paramNSFW === 'false') return false 12 if (paramNSFW === 'false') return false
13 if (paramNSFW === 'both') return undefined 13 if (paramNSFW === 'both') return undefined
14 14
15 if (res.locals.oauth) { 15 if (res && res.locals.oauth) {
16 const user: UserModel = res.locals.oauth.token.User 16 const user: UserModel = res.locals.oauth.token.User
17 17
18 // User does not want NSFW videos 18 // User does not want NSFW videos
diff --git a/server/helpers/image-utils.ts b/server/helpers/image-utils.ts
index da3285b13..e43ea3f1d 100644
--- a/server/helpers/image-utils.ts
+++ b/server/helpers/image-utils.ts
@@ -1,6 +1,7 @@
1import 'multer' 1import 'multer'
2import * as sharp from 'sharp' 2import * as sharp from 'sharp'
3import { move, remove } from 'fs-extra' 3import { readFile, remove } from 'fs-extra'
4import { logger } from './logger'
4 5
5async function processImage ( 6async function processImage (
6 physicalFile: { path: string }, 7 physicalFile: { path: string },
@@ -11,14 +12,11 @@ async function processImage (
11 throw new Error('Sharp needs an input path different that the output path.') 12 throw new Error('Sharp needs an input path different that the output path.')
12 } 13 }
13 14
14 const sharpInstance = sharp(physicalFile.path) 15 logger.debug('Processing image %s to %s.', physicalFile.path, destination)
15 const metadata = await sharpInstance.metadata()
16 16
17 // No need to resize 17 // Avoid sharp cache
18 if (metadata.width === newSize.width && metadata.height === newSize.height) { 18 const buf = await readFile(physicalFile.path)
19 await move(physicalFile.path, destination, { overwrite: true }) 19 const sharpInstance = sharp(buf)
20 return
21 }
22 20
23 await remove(destination) 21 await remove(destination)
24 22
diff --git a/server/helpers/requests.ts b/server/helpers/requests.ts
index 805930a9f..3fc776f1a 100644
--- a/server/helpers/requests.ts
+++ b/server/helpers/requests.ts
@@ -1,8 +1,9 @@
1import * as Bluebird from 'bluebird' 1import * as Bluebird from 'bluebird'
2import { createWriteStream } from 'fs-extra' 2import { createWriteStream } from 'fs-extra'
3import * as request from 'request' 3import * as request from 'request'
4import { ACTIVITY_PUB } from '../initializers' 4import { ACTIVITY_PUB, CONFIG } from '../initializers'
5import { processImage } from './image-utils' 5import { processImage } from './image-utils'
6import { join } from 'path'
6 7
7function doRequest <T> ( 8function doRequest <T> (
8 requestOptions: request.CoreOptions & request.UriOptions & { activityPub?: boolean } 9 requestOptions: request.CoreOptions & request.UriOptions & { activityPub?: boolean }
@@ -28,11 +29,11 @@ function doRequestAndSaveToFile (requestOptions: request.CoreOptions & request.U
28 }) 29 })
29} 30}
30 31
31async function downloadImage (url: string, destPath: string, size: { width: number, height: number }) { 32async function downloadImage (url: string, destDir: string, destName: string, size: { width: number, height: number }) {
32 const tmpPath = destPath + '.tmp' 33 const tmpPath = join(CONFIG.STORAGE.TMP_DIR, 'pending-' + destName)
33
34 await doRequestAndSaveToFile({ method: 'GET', uri: url }, tmpPath) 34 await doRequestAndSaveToFile({ method: 'GET', uri: url }, tmpPath)
35 35
36 const destPath = join(destDir, destName)
36 await processImage({ path: tmpPath }, destPath, size) 37 await processImage({ path: tmpPath }, destPath, size)
37} 38}
38 39
diff --git a/server/helpers/utils.ts b/server/helpers/utils.ts
index 5c9d6fe2f..9b89e3e61 100644
--- a/server/helpers/utils.ts
+++ b/server/helpers/utils.ts
@@ -46,11 +46,11 @@ const getServerActor = memoizee(async function () {
46 return actor 46 return actor
47}) 47})
48 48
49function generateVideoTmpPath (target: string | ParseTorrent) { 49function generateVideoImportTmpPath (target: string | ParseTorrent) {
50 const id = typeof target === 'string' ? target : target.infoHash 50 const id = typeof target === 'string' ? target : target.infoHash
51 51
52 const hash = sha256(id) 52 const hash = sha256(id)
53 return join(CONFIG.STORAGE.VIDEOS_DIR, hash + '-import.mp4') 53 return join(CONFIG.STORAGE.TMP_DIR, hash + '-import.mp4')
54} 54}
55 55
56function getSecureTorrentName (originalName: string) { 56function getSecureTorrentName (originalName: string) {
@@ -103,6 +103,6 @@ export {
103 getSecureTorrentName, 103 getSecureTorrentName,
104 getServerActor, 104 getServerActor,
105 getServerCommit, 105 getServerCommit,
106 generateVideoTmpPath, 106 generateVideoImportTmpPath,
107 getUUIDFromFilename 107 getUUIDFromFilename
108} 108}
diff --git a/server/helpers/webtorrent.ts b/server/helpers/webtorrent.ts
index ce35b87da..3c9a0b96a 100644
--- a/server/helpers/webtorrent.ts
+++ b/server/helpers/webtorrent.ts
@@ -1,5 +1,5 @@
1import { logger } from './logger' 1import { logger } from './logger'
2import { generateVideoTmpPath } from './utils' 2import { generateVideoImportTmpPath } from './utils'
3import * as WebTorrent from 'webtorrent' 3import * as WebTorrent from 'webtorrent'
4import { createWriteStream, ensureDir, remove } from 'fs-extra' 4import { createWriteStream, ensureDir, remove } from 'fs-extra'
5import { CONFIG } from '../initializers' 5import { CONFIG } from '../initializers'
@@ -9,10 +9,10 @@ async function downloadWebTorrentVideo (target: { magnetUri: string, torrentName
9 const id = target.magnetUri || target.torrentName 9 const id = target.magnetUri || target.torrentName
10 let timer 10 let timer
11 11
12 const path = generateVideoTmpPath(id) 12 const path = generateVideoImportTmpPath(id)
13 logger.info('Importing torrent video %s', id) 13 logger.info('Importing torrent video %s', id)
14 14
15 const directoryPath = join(CONFIG.STORAGE.VIDEOS_DIR, 'import') 15 const directoryPath = join(CONFIG.STORAGE.TMP_DIR, 'webtorrent')
16 await ensureDir(directoryPath) 16 await ensureDir(directoryPath)
17 17
18 return new Promise<string>((res, rej) => { 18 return new Promise<string>((res, rej) => {
diff --git a/server/helpers/youtube-dl.ts b/server/helpers/youtube-dl.ts
index 2a5663042..b74351b42 100644
--- a/server/helpers/youtube-dl.ts
+++ b/server/helpers/youtube-dl.ts
@@ -1,7 +1,7 @@
1import { truncate } from 'lodash' 1import { truncate } from 'lodash'
2import { CONSTRAINTS_FIELDS, VIDEO_CATEGORIES } from '../initializers' 2import { CONSTRAINTS_FIELDS, VIDEO_CATEGORIES } from '../initializers'
3import { logger } from './logger' 3import { logger } from './logger'
4import { generateVideoTmpPath } from './utils' 4import { generateVideoImportTmpPath } from './utils'
5import { join } from 'path' 5import { join } from 'path'
6import { root } from './core-utils' 6import { root } from './core-utils'
7import { ensureDir, writeFile, remove } from 'fs-extra' 7import { ensureDir, writeFile, remove } from 'fs-extra'
@@ -40,7 +40,7 @@ function getYoutubeDLInfo (url: string, opts?: string[]): Promise<YoutubeDLInfo>
40} 40}
41 41
42function downloadYoutubeDLVideo (url: string, timeout: number) { 42function downloadYoutubeDLVideo (url: string, timeout: number) {
43 const path = generateVideoTmpPath(url) 43 const path = generateVideoImportTmpPath(url)
44 let timer 44 let timer
45 45
46 logger.info('Importing youtubeDL video %s', url) 46 logger.info('Importing youtubeDL video %s', url)
diff --git a/server/initializers/checker-before-init.ts b/server/initializers/checker-before-init.ts
index 9dfb5d68c..b51c7cfba 100644
--- a/server/initializers/checker-before-init.ts
+++ b/server/initializers/checker-before-init.ts
@@ -12,6 +12,7 @@ function checkMissedConfig () {
12 'database.hostname', 'database.port', 'database.suffix', 'database.username', 'database.password', 'database.pool.max', 12 'database.hostname', 'database.port', 'database.suffix', 'database.username', 'database.password', 'database.pool.max',
13 'smtp.hostname', 'smtp.port', 'smtp.username', 'smtp.password', 'smtp.tls', 'smtp.from_address', 13 'smtp.hostname', 'smtp.port', 'smtp.username', 'smtp.password', 'smtp.tls', 'smtp.from_address',
14 'storage.avatars', 'storage.videos', 'storage.logs', 'storage.previews', 'storage.thumbnails', 'storage.torrents', 'storage.cache', 14 'storage.avatars', 'storage.videos', 'storage.logs', 'storage.previews', 'storage.thumbnails', 'storage.torrents', 'storage.cache',
15 'storage.redundancy', 'storage.tmp',
15 'log.level', 16 'log.level',
16 'user.video_quota', 'user.video_quota_daily', 17 'user.video_quota', 'user.video_quota_daily',
17 'cache.previews.size', 'admin.email', 18 'cache.previews.size', 'admin.email',
diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts
index aa243859c..6b798875c 100644
--- a/server/initializers/constants.ts
+++ b/server/initializers/constants.ts
@@ -61,6 +61,7 @@ const OAUTH_LIFETIME = {
61const ROUTE_CACHE_LIFETIME = { 61const ROUTE_CACHE_LIFETIME = {
62 FEEDS: '15 minutes', 62 FEEDS: '15 minutes',
63 ROBOTS: '2 hours', 63 ROBOTS: '2 hours',
64 SITEMAP: '1 day',
64 SECURITYTXT: '2 hours', 65 SECURITYTXT: '2 hours',
65 NODEINFO: '10 minutes', 66 NODEINFO: '10 minutes',
66 DNT_POLICY: '1 week', 67 DNT_POLICY: '1 week',
@@ -185,9 +186,11 @@ const CONFIG = {
185 FROM_ADDRESS: config.get<string>('smtp.from_address') 186 FROM_ADDRESS: config.get<string>('smtp.from_address')
186 }, 187 },
187 STORAGE: { 188 STORAGE: {
189 TMP_DIR: buildPath(config.get<string>('storage.tmp')),
188 AVATARS_DIR: buildPath(config.get<string>('storage.avatars')), 190 AVATARS_DIR: buildPath(config.get<string>('storage.avatars')),
189 LOG_DIR: buildPath(config.get<string>('storage.logs')), 191 LOG_DIR: buildPath(config.get<string>('storage.logs')),
190 VIDEOS_DIR: buildPath(config.get<string>('storage.videos')), 192 VIDEOS_DIR: buildPath(config.get<string>('storage.videos')),
193 REDUNDANCY_DIR: buildPath(config.get<string>('storage.redundancy')),
191 THUMBNAILS_DIR: buildPath(config.get<string>('storage.thumbnails')), 194 THUMBNAILS_DIR: buildPath(config.get<string>('storage.thumbnails')),
192 PREVIEWS_DIR: buildPath(config.get<string>('storage.previews')), 195 PREVIEWS_DIR: buildPath(config.get<string>('storage.previews')),
193 CAPTIONS_DIR: buildPath(config.get<string>('storage.captions')), 196 CAPTIONS_DIR: buildPath(config.get<string>('storage.captions')),
@@ -569,6 +572,7 @@ const STATIC_PATHS = {
569 THUMBNAILS: '/static/thumbnails/', 572 THUMBNAILS: '/static/thumbnails/',
570 TORRENTS: '/static/torrents/', 573 TORRENTS: '/static/torrents/',
571 WEBSEED: '/static/webseed/', 574 WEBSEED: '/static/webseed/',
575 REDUNDANCY: '/static/redundancy/',
572 AVATARS: '/static/avatars/', 576 AVATARS: '/static/avatars/',
573 VIDEO_CAPTIONS: '/static/video-captions/' 577 VIDEO_CAPTIONS: '/static/video-captions/'
574} 578}
@@ -773,7 +777,7 @@ function buildVideosRedundancy (objs: any[]): VideosRedundancy[] {
773 if (!objs) return [] 777 if (!objs) return []
774 778
775 return objs.map(obj => { 779 return objs.map(obj => {
776 return Object.assign(obj, { 780 return Object.assign({}, obj, {
777 minLifetime: parseDuration(obj.min_lifetime), 781 minLifetime: parseDuration(obj.min_lifetime),
778 size: bytes.parse(obj.size), 782 size: bytes.parse(obj.size),
779 minViews: obj.min_views 783 minViews: obj.min_views
diff --git a/server/lib/activitypub/actor.ts b/server/lib/activitypub/actor.ts
index 504263c99..bbe48833d 100644
--- a/server/lib/activitypub/actor.ts
+++ b/server/lib/activitypub/actor.ts
@@ -178,9 +178,7 @@ async function fetchAvatarIfExists (actorJSON: ActivityPubActor) {
178 const extension = IMAGE_MIMETYPE_EXT[actorJSON.icon.mediaType] 178 const extension = IMAGE_MIMETYPE_EXT[actorJSON.icon.mediaType]
179 179
180 const avatarName = uuidv4() + extension 180 const avatarName = uuidv4() + extension
181 const destPath = join(CONFIG.STORAGE.AVATARS_DIR, avatarName) 181 await downloadImage(actorJSON.icon.url, CONFIG.STORAGE.AVATARS_DIR, avatarName, AVATARS_SIZE)
182
183 await downloadImage(actorJSON.icon.url, destPath, AVATARS_SIZE)
184 182
185 return avatarName 183 return avatarName
186 } 184 }
diff --git a/server/lib/activitypub/process/process-update.ts b/server/lib/activitypub/process/process-update.ts
index 03831a00e..c6b42d846 100644
--- a/server/lib/activitypub/process/process-update.ts
+++ b/server/lib/activitypub/process/process-update.ts
@@ -51,7 +51,7 @@ async function processUpdateVideo (actor: ActorModel, activity: ActivityUpdate)
51 return undefined 51 return undefined
52 } 52 }
53 53
54 const { video } = await getOrCreateVideoAndAccountAndChannel({ videoObject: videoObject.id }) 54 const { video } = await getOrCreateVideoAndAccountAndChannel({ videoObject: videoObject.id, allowRefresh: false })
55 const channelActor = await getOrCreateVideoChannelFromVideoObject(videoObject) 55 const channelActor = await getOrCreateVideoChannelFromVideoObject(videoObject)
56 56
57 const updateOptions = { 57 const updateOptions = {
diff --git a/server/lib/activitypub/videos.ts b/server/lib/activitypub/videos.ts
index 998f90330..3d17e6846 100644
--- a/server/lib/activitypub/videos.ts
+++ b/server/lib/activitypub/videos.ts
@@ -95,9 +95,8 @@ function fetchRemoteVideoStaticFile (video: VideoModel, path: string, reject: Fu
95 95
96function generateThumbnailFromUrl (video: VideoModel, icon: ActivityIconObject) { 96function generateThumbnailFromUrl (video: VideoModel, icon: ActivityIconObject) {
97 const thumbnailName = video.getThumbnailName() 97 const thumbnailName = video.getThumbnailName()
98 const thumbnailPath = join(CONFIG.STORAGE.THUMBNAILS_DIR, thumbnailName)
99 98
100 return downloadImage(icon.url, thumbnailPath, THUMBNAILS_SIZE) 99 return downloadImage(icon.url, CONFIG.STORAGE.THUMBNAILS_DIR, thumbnailName, THUMBNAILS_SIZE)
101} 100}
102 101
103function getOrCreateVideoChannelFromVideoObject (videoObject: VideoTorrentObject) { 102function getOrCreateVideoChannelFromVideoObject (videoObject: VideoTorrentObject) {
@@ -158,25 +157,30 @@ async function syncVideoExternalAttributes (video: VideoModel, fetchedVideo: Vid
158async function getOrCreateVideoAndAccountAndChannel (options: { 157async function getOrCreateVideoAndAccountAndChannel (options: {
159 videoObject: VideoTorrentObject | string, 158 videoObject: VideoTorrentObject | string,
160 syncParam?: SyncParam, 159 syncParam?: SyncParam,
161 fetchType?: VideoFetchByUrlType 160 fetchType?: VideoFetchByUrlType,
161 allowRefresh?: boolean // true by default
162}) { 162}) {
163 // Default params 163 // Default params
164 const syncParam = options.syncParam || { likes: true, dislikes: true, shares: true, comments: true, thumbnail: true, refreshVideo: false } 164 const syncParam = options.syncParam || { likes: true, dislikes: true, shares: true, comments: true, thumbnail: true, refreshVideo: false }
165 const fetchType = options.fetchType || 'all' 165 const fetchType = options.fetchType || 'all'
166 const allowRefresh = options.allowRefresh !== false
166 167
167 // Get video url 168 // Get video url
168 const videoUrl = getAPUrl(options.videoObject) 169 const videoUrl = getAPUrl(options.videoObject)
169 170
170 let videoFromDatabase = await fetchVideoByUrl(videoUrl, fetchType) 171 let videoFromDatabase = await fetchVideoByUrl(videoUrl, fetchType)
171 if (videoFromDatabase) { 172 if (videoFromDatabase) {
172 const refreshOptions = {
173 video: videoFromDatabase,
174 fetchedType: fetchType,
175 syncParam
176 }
177 173
178 if (syncParam.refreshVideo === true) videoFromDatabase = await refreshVideoIfNeeded(refreshOptions) 174 if (allowRefresh === true) {
179 else await JobQueue.Instance.createJob({ type: 'activitypub-refresher', payload: { type: 'video', videoUrl: videoFromDatabase.url } }) 175 const refreshOptions = {
176 video: videoFromDatabase,
177 fetchedType: fetchType,
178 syncParam
179 }
180
181 if (syncParam.refreshVideo === true) videoFromDatabase = await refreshVideoIfNeeded(refreshOptions)
182 else await JobQueue.Instance.createJob({ type: 'activitypub-refresher', payload: { type: 'video', videoUrl: videoFromDatabase.url } })
183 }
180 184
181 return { video: videoFromDatabase } 185 return { video: videoFromDatabase }
182 } 186 }
diff --git a/server/lib/emailer.ts b/server/lib/emailer.ts
index 9327792fb..074d4ad44 100644
--- a/server/lib/emailer.ts
+++ b/server/lib/emailer.ts
@@ -14,6 +14,7 @@ class Emailer {
14 private static instance: Emailer 14 private static instance: Emailer
15 private initialized = false 15 private initialized = false
16 private transporter: Transporter 16 private transporter: Transporter
17 private enabled = false
17 18
18 private constructor () {} 19 private constructor () {}
19 20
@@ -50,6 +51,8 @@ class Emailer {
50 tls, 51 tls,
51 auth 52 auth
52 }) 53 })
54
55 this.enabled = true
53 } else { 56 } else {
54 if (!isTestInstance()) { 57 if (!isTestInstance()) {
55 logger.error('Cannot use SMTP server because of lack of configuration. PeerTube will not be able to send mails!') 58 logger.error('Cannot use SMTP server because of lack of configuration. PeerTube will not be able to send mails!')
@@ -57,6 +60,10 @@ class Emailer {
57 } 60 }
58 } 61 }
59 62
63 isEnabled () {
64 return this.enabled
65 }
66
60 async checkConnectionOrDie () { 67 async checkConnectionOrDie () {
61 if (!this.transporter) return 68 if (!this.transporter) return
62 69
diff --git a/server/lib/job-queue/handlers/activitypub-refresher.ts b/server/lib/job-queue/handlers/activitypub-refresher.ts
index 7752b3b40..671b0f487 100644
--- a/server/lib/job-queue/handlers/activitypub-refresher.ts
+++ b/server/lib/job-queue/handlers/activitypub-refresher.ts
@@ -10,7 +10,8 @@ export type RefreshPayload = {
10 10
11async function refreshAPObject (job: Bull.Job) { 11async function refreshAPObject (job: Bull.Job) {
12 const payload = job.data as RefreshPayload 12 const payload = job.data as RefreshPayload
13 logger.info('Processing AP refresher in job %d.', job.id) 13
14 logger.info('Processing AP refresher in job %d for video %s.', job.id, payload.videoUrl)
14 15
15 if (payload.type === 'video') return refreshAPVideo(payload.videoUrl) 16 if (payload.type === 'video') return refreshAPVideo(payload.videoUrl)
16} 17}
diff --git a/server/lib/job-queue/handlers/video-file.ts b/server/lib/job-queue/handlers/video-file.ts
index adc0a2a15..ddbf6d1c2 100644
--- a/server/lib/job-queue/handlers/video-file.ts
+++ b/server/lib/job-queue/handlers/video-file.ts
@@ -1,5 +1,5 @@
1import * as Bull from 'bull' 1import * as Bull from 'bull'
2import { VideoResolution, VideoState } from '../../../../shared' 2import { VideoResolution, VideoState, Job } from '../../../../shared'
3import { logger } from '../../../helpers/logger' 3import { logger } from '../../../helpers/logger'
4import { VideoModel } from '../../../models/video/video' 4import { VideoModel } from '../../../models/video/video'
5import { JobQueue } from '../job-queue' 5import { JobQueue } from '../job-queue'
@@ -111,7 +111,7 @@ async function onVideoFileOptimizerSuccess (video: VideoModel, isNewVideo: boole
111 ) 111 )
112 112
113 if (resolutionsEnabled.length !== 0) { 113 if (resolutionsEnabled.length !== 0) {
114 const tasks: Bluebird<any>[] = [] 114 const tasks: Bluebird<Bull.Job<any>>[] = []
115 115
116 for (const resolution of resolutionsEnabled) { 116 for (const resolution of resolutionsEnabled) {
117 const dataInput = { 117 const dataInput = {
diff --git a/server/lib/job-queue/handlers/video-import.ts b/server/lib/job-queue/handlers/video-import.ts
index 4de901c0c..51a0b5faf 100644
--- a/server/lib/job-queue/handlers/video-import.ts
+++ b/server/lib/job-queue/handlers/video-import.ts
@@ -7,7 +7,7 @@ import { getDurationFromVideoFile, getVideoFileFPS, getVideoFileResolution } fro
7import { extname, join } from 'path' 7import { extname, join } from 'path'
8import { VideoFileModel } from '../../../models/video/video-file' 8import { VideoFileModel } from '../../../models/video/video-file'
9import { CONFIG, PREVIEWS_SIZE, sequelizeTypescript, THUMBNAILS_SIZE, VIDEO_IMPORT_TIMEOUT } from '../../../initializers' 9import { CONFIG, PREVIEWS_SIZE, sequelizeTypescript, THUMBNAILS_SIZE, VIDEO_IMPORT_TIMEOUT } from '../../../initializers'
10import { doRequestAndSaveToFile, downloadImage } from '../../../helpers/requests' 10import { downloadImage } from '../../../helpers/requests'
11import { VideoState } from '../../../../shared' 11import { VideoState } from '../../../../shared'
12import { JobQueue } from '../index' 12import { JobQueue } from '../index'
13import { federateVideoIfNeeded } from '../../activitypub' 13import { federateVideoIfNeeded } from '../../activitypub'
@@ -109,6 +109,7 @@ async function processFile (downloader: () => Promise<string>, videoImport: Vide
109 let tempVideoPath: string 109 let tempVideoPath: string
110 let videoDestFile: string 110 let videoDestFile: string
111 let videoFile: VideoFileModel 111 let videoFile: VideoFileModel
112
112 try { 113 try {
113 // Download video from youtubeDL 114 // Download video from youtubeDL
114 tempVideoPath = await downloader() 115 tempVideoPath = await downloader()
@@ -144,8 +145,7 @@ async function processFile (downloader: () => Promise<string>, videoImport: Vide
144 // Process thumbnail 145 // Process thumbnail
145 if (options.downloadThumbnail) { 146 if (options.downloadThumbnail) {
146 if (options.thumbnailUrl) { 147 if (options.thumbnailUrl) {
147 const destThumbnailPath = join(CONFIG.STORAGE.THUMBNAILS_DIR, videoImport.Video.getThumbnailName()) 148 await downloadImage(options.thumbnailUrl, CONFIG.STORAGE.THUMBNAILS_DIR, videoImport.Video.getThumbnailName(), THUMBNAILS_SIZE)
148 await downloadImage(options.thumbnailUrl, destThumbnailPath, THUMBNAILS_SIZE)
149 } else { 149 } else {
150 await videoImport.Video.createThumbnail(videoFile) 150 await videoImport.Video.createThumbnail(videoFile)
151 } 151 }
@@ -156,8 +156,7 @@ async function processFile (downloader: () => Promise<string>, videoImport: Vide
156 // Process preview 156 // Process preview
157 if (options.downloadPreview) { 157 if (options.downloadPreview) {
158 if (options.thumbnailUrl) { 158 if (options.thumbnailUrl) {
159 const destPreviewPath = join(CONFIG.STORAGE.PREVIEWS_DIR, videoImport.Video.getPreviewName()) 159 await downloadImage(options.thumbnailUrl, CONFIG.STORAGE.PREVIEWS_DIR, videoImport.Video.getPreviewName(), PREVIEWS_SIZE)
160 await downloadImage(options.thumbnailUrl, destPreviewPath, PREVIEWS_SIZE)
161 } else { 160 } else {
162 await videoImport.Video.createPreview(videoFile) 161 await videoImport.Video.createPreview(videoFile)
163 } 162 }
diff --git a/server/lib/job-queue/handlers/video-views.ts b/server/lib/job-queue/handlers/video-views.ts
index 038ef43e2..fa1fd13b3 100644
--- a/server/lib/job-queue/handlers/video-views.ts
+++ b/server/lib/job-queue/handlers/video-views.ts
@@ -23,9 +23,7 @@ async function processVideosViews () {
23 for (const videoId of videoIds) { 23 for (const videoId of videoIds) {
24 try { 24 try {
25 const views = await Redis.Instance.getVideoViews(videoId, hour) 25 const views = await Redis.Instance.getVideoViews(videoId, hour)
26 if (isNaN(views)) { 26 if (views) {
27 logger.error('Cannot process videos views of video %d in hour %d: views number is NaN (%s).', videoId, hour, views)
28 } else {
29 logger.debug('Adding %d views to video %d in hour %d.', views, videoId, hour) 27 logger.debug('Adding %d views to video %d in hour %d.', views, videoId, hour)
30 28
31 try { 29 try {
diff --git a/server/lib/redis.ts b/server/lib/redis.ts
index abd75d512..3e25e6a2c 100644
--- a/server/lib/redis.ts
+++ b/server/lib/redis.ts
@@ -121,7 +121,14 @@ class Redis {
121 const key = this.generateVideoViewKey(videoId, hour) 121 const key = this.generateVideoViewKey(videoId, hour)
122 122
123 const valueString = await this.getValue(key) 123 const valueString = await this.getValue(key)
124 return parseInt(valueString, 10) 124 const valueInt = parseInt(valueString, 10)
125
126 if (isNaN(valueInt)) {
127 logger.error('Cannot get videos views of video %d in hour %d: views number is NaN (%s).', videoId, hour, valueString)
128 return undefined
129 }
130
131 return valueInt
125 } 132 }
126 133
127 async getVideosIdViewed (hour: number) { 134 async getVideosIdViewed (hour: number) {
diff --git a/server/lib/schedulers/videos-redundancy-scheduler.ts b/server/lib/schedulers/videos-redundancy-scheduler.ts
index 8b7f33539..2a99a665d 100644
--- a/server/lib/schedulers/videos-redundancy-scheduler.ts
+++ b/server/lib/schedulers/videos-redundancy-scheduler.ts
@@ -145,13 +145,13 @@ export class VideosRedundancyScheduler extends AbstractScheduler {
145 145
146 const tmpPath = await downloadWebTorrentVideo({ magnetUri }, VIDEO_IMPORT_TIMEOUT) 146 const tmpPath = await downloadWebTorrentVideo({ magnetUri }, VIDEO_IMPORT_TIMEOUT)
147 147
148 const destPath = join(CONFIG.STORAGE.VIDEOS_DIR, video.getVideoFilename(file)) 148 const destPath = join(CONFIG.STORAGE.REDUNDANCY_DIR, video.getVideoFilename(file))
149 await rename(tmpPath, destPath) 149 await rename(tmpPath, destPath)
150 150
151 const createdModel = await VideoRedundancyModel.create({ 151 const createdModel = await VideoRedundancyModel.create({
152 expiresOn: this.buildNewExpiration(redundancy.minLifetime), 152 expiresOn: this.buildNewExpiration(redundancy.minLifetime),
153 url: getVideoCacheFileActivityPubUrl(file), 153 url: getVideoCacheFileActivityPubUrl(file),
154 fileUrl: video.getVideoFileUrl(file, CONFIG.WEBSERVER.URL), 154 fileUrl: video.getVideoRedundancyUrl(file, CONFIG.WEBSERVER.URL),
155 strategy: redundancy.strategy, 155 strategy: redundancy.strategy,
156 videoFileId: file.id, 156 videoFileId: file.id,
157 actorId: serverActor.id 157 actorId: serverActor.id
diff --git a/server/models/account/account.ts b/server/models/account/account.ts
index 5a237d733..a99e9b1ad 100644
--- a/server/models/account/account.ts
+++ b/server/models/account/account.ts
@@ -241,6 +241,27 @@ export class AccountModel extends Model<AccountModel> {
241 }) 241 })
242 } 242 }
243 243
244 static listLocalsForSitemap (sort: string) {
245 const query = {
246 attributes: [ ],
247 offset: 0,
248 order: getSort(sort),
249 include: [
250 {
251 attributes: [ 'preferredUsername', 'serverId' ],
252 model: ActorModel.unscoped(),
253 where: {
254 serverId: null
255 }
256 }
257 ]
258 }
259
260 return AccountModel
261 .unscoped()
262 .findAll(query)
263 }
264
244 toFormattedJSON (): Account { 265 toFormattedJSON (): Account {
245 const actor = this.Actor.toFormattedJSON() 266 const actor = this.Actor.toFormattedJSON()
246 const account = { 267 const account = {
diff --git a/server/models/redundancy/video-redundancy.ts b/server/models/redundancy/video-redundancy.ts
index 9de4356b4..dd37dad22 100644
--- a/server/models/redundancy/video-redundancy.ts
+++ b/server/models/redundancy/video-redundancy.ts
@@ -15,7 +15,7 @@ import {
15import { ActorModel } from '../activitypub/actor' 15import { ActorModel } from '../activitypub/actor'
16import { getVideoSort, throwIfNotValid } from '../utils' 16import { getVideoSort, throwIfNotValid } from '../utils'
17import { isActivityPubUrlValid, isUrlValid } from '../../helpers/custom-validators/activitypub/misc' 17import { isActivityPubUrlValid, isUrlValid } from '../../helpers/custom-validators/activitypub/misc'
18import { CONFIG, CONSTRAINTS_FIELDS, VIDEO_EXT_MIMETYPE } from '../../initializers' 18import { CONFIG, CONSTRAINTS_FIELDS, STATIC_PATHS, VIDEO_EXT_MIMETYPE } from '../../initializers'
19import { VideoFileModel } from '../video/video-file' 19import { VideoFileModel } from '../video/video-file'
20import { getServerActor } from '../../helpers/utils' 20import { getServerActor } from '../../helpers/utils'
21import { VideoModel } from '../video/video' 21import { VideoModel } from '../video/video'
@@ -124,7 +124,7 @@ export class VideoRedundancyModel extends Model<VideoRedundancyModel> {
124 const logIdentifier = `${videoFile.Video.uuid}-${videoFile.resolution}` 124 const logIdentifier = `${videoFile.Video.uuid}-${videoFile.resolution}`
125 logger.info('Removing duplicated video file %s.', logIdentifier) 125 logger.info('Removing duplicated video file %s.', logIdentifier)
126 126
127 videoFile.Video.removeFile(videoFile) 127 videoFile.Video.removeFile(videoFile, true)
128 .catch(err => logger.error('Cannot delete %s files.', logIdentifier, { err })) 128 .catch(err => logger.error('Cannot delete %s files.', logIdentifier, { err }))
129 129
130 return undefined 130 return undefined
diff --git a/server/models/video/video-channel.ts b/server/models/video/video-channel.ts
index f4586917e..86bf0461a 100644
--- a/server/models/video/video-channel.ts
+++ b/server/models/video/video-channel.ts
@@ -233,6 +233,27 @@ export class VideoChannelModel extends Model<VideoChannelModel> {
233 }) 233 })
234 } 234 }
235 235
236 static listLocalsForSitemap (sort: string) {
237 const query = {
238 attributes: [ ],
239 offset: 0,
240 order: getSort(sort),
241 include: [
242 {
243 attributes: [ 'preferredUsername', 'serverId' ],
244 model: ActorModel.unscoped(),
245 where: {
246 serverId: null
247 }
248 }
249 ]
250 }
251
252 return VideoChannelModel
253 .unscoped()
254 .findAll(query)
255 }
256
236 static searchForApi (options: { 257 static searchForApi (options: {
237 actorId: number 258 actorId: number
238 search: string 259 search: string
diff --git a/server/models/video/video.ts b/server/models/video/video.ts
index 0f18d9f0c..adef37937 100644
--- a/server/models/video/video.ts
+++ b/server/models/video/video.ts
@@ -140,7 +140,7 @@ type ForAPIOptions = {
140 140
141type AvailableForListIDsOptions = { 141type AvailableForListIDsOptions = {
142 serverAccountId: number 142 serverAccountId: number
143 actorId: number 143 followerActorId: number
144 includeLocalVideos: boolean 144 includeLocalVideos: boolean
145 filter?: VideoFilter 145 filter?: VideoFilter
146 categoryOneOf?: number[] 146 categoryOneOf?: number[]
@@ -315,7 +315,7 @@ type AvailableForListIDsOptions = {
315 query.include.push(videoChannelInclude) 315 query.include.push(videoChannelInclude)
316 } 316 }
317 317
318 if (options.actorId) { 318 if (options.followerActorId) {
319 let localVideosReq = '' 319 let localVideosReq = ''
320 if (options.includeLocalVideos === true) { 320 if (options.includeLocalVideos === true) {
321 localVideosReq = ' UNION ALL ' + 321 localVideosReq = ' UNION ALL ' +
@@ -327,7 +327,7 @@ type AvailableForListIDsOptions = {
327 } 327 }
328 328
329 // Force actorId to be a number to avoid SQL injections 329 // Force actorId to be a number to avoid SQL injections
330 const actorIdNumber = parseInt(options.actorId.toString(), 10) 330 const actorIdNumber = parseInt(options.followerActorId.toString(), 10)
331 query.where[ 'id' ][ Sequelize.Op.and ].push({ 331 query.where[ 'id' ][ Sequelize.Op.and ].push({
332 [ Sequelize.Op.in ]: Sequelize.literal( 332 [ Sequelize.Op.in ]: Sequelize.literal(
333 '(' + 333 '(' +
@@ -985,7 +985,7 @@ export class VideoModel extends Model<VideoModel> {
985 filter?: VideoFilter, 985 filter?: VideoFilter,
986 accountId?: number, 986 accountId?: number,
987 videoChannelId?: number, 987 videoChannelId?: number,
988 actorId?: number 988 followerActorId?: number
989 trendingDays?: number, 989 trendingDays?: number,
990 user?: UserModel 990 user?: UserModel
991 }, countVideos = true) { 991 }, countVideos = true) {
@@ -1008,11 +1008,11 @@ export class VideoModel extends Model<VideoModel> {
1008 1008
1009 const serverActor = await getServerActor() 1009 const serverActor = await getServerActor()
1010 1010
1011 // actorId === null has a meaning, so just check undefined 1011 // followerActorId === null has a meaning, so just check undefined
1012 const actorId = options.actorId !== undefined ? options.actorId : serverActor.id 1012 const followerActorId = options.followerActorId !== undefined ? options.followerActorId : serverActor.id
1013 1013
1014 const queryOptions = { 1014 const queryOptions = {
1015 actorId, 1015 followerActorId,
1016 serverAccountId: serverActor.Account.id, 1016 serverAccountId: serverActor.Account.id,
1017 nsfw: options.nsfw, 1017 nsfw: options.nsfw,
1018 categoryOneOf: options.categoryOneOf, 1018 categoryOneOf: options.categoryOneOf,
@@ -1118,7 +1118,7 @@ export class VideoModel extends Model<VideoModel> {
1118 1118
1119 const serverActor = await getServerActor() 1119 const serverActor = await getServerActor()
1120 const queryOptions = { 1120 const queryOptions = {
1121 actorId: serverActor.id, 1121 followerActorId: serverActor.id,
1122 serverAccountId: serverActor.Account.id, 1122 serverAccountId: serverActor.Account.id,
1123 includeLocalVideos: options.includeLocalVideos, 1123 includeLocalVideos: options.includeLocalVideos,
1124 nsfw: options.nsfw, 1124 nsfw: options.nsfw,
@@ -1273,11 +1273,11 @@ export class VideoModel extends Model<VideoModel> {
1273 // threshold corresponds to how many video the field should have to be returned 1273 // threshold corresponds to how many video the field should have to be returned
1274 static async getRandomFieldSamples (field: 'category' | 'channelId', threshold: number, count: number) { 1274 static async getRandomFieldSamples (field: 'category' | 'channelId', threshold: number, count: number) {
1275 const serverActor = await getServerActor() 1275 const serverActor = await getServerActor()
1276 const actorId = serverActor.id 1276 const followerActorId = serverActor.id
1277 1277
1278 const scopeOptions: AvailableForListIDsOptions = { 1278 const scopeOptions: AvailableForListIDsOptions = {
1279 serverAccountId: serverActor.Account.id, 1279 serverAccountId: serverActor.Account.id,
1280 actorId, 1280 followerActorId,
1281 includeLocalVideos: true 1281 includeLocalVideos: true
1282 } 1282 }
1283 1283
@@ -1538,8 +1538,10 @@ export class VideoModel extends Model<VideoModel> {
1538 .catch(err => logger.warn('Cannot delete preview %s.', previewPath, { err })) 1538 .catch(err => logger.warn('Cannot delete preview %s.', previewPath, { err }))
1539 } 1539 }
1540 1540
1541 removeFile (videoFile: VideoFileModel) { 1541 removeFile (videoFile: VideoFileModel, isRedundancy = false) {
1542 const filePath = join(CONFIG.STORAGE.VIDEOS_DIR, this.getVideoFilename(videoFile)) 1542 const baseDir = isRedundancy ? CONFIG.STORAGE.REDUNDANCY_DIR : CONFIG.STORAGE.VIDEOS_DIR
1543
1544 const filePath = join(baseDir, this.getVideoFilename(videoFile))
1543 return remove(filePath) 1545 return remove(filePath)
1544 .catch(err => logger.warn('Cannot delete file %s.', filePath, { err })) 1546 .catch(err => logger.warn('Cannot delete file %s.', filePath, { err }))
1545 } 1547 }
@@ -1617,6 +1619,10 @@ export class VideoModel extends Model<VideoModel> {
1617 return baseUrlHttp + STATIC_PATHS.WEBSEED + this.getVideoFilename(videoFile) 1619 return baseUrlHttp + STATIC_PATHS.WEBSEED + this.getVideoFilename(videoFile)
1618 } 1620 }
1619 1621
1622 getVideoRedundancyUrl (videoFile: VideoFileModel, baseUrlHttp: string) {
1623 return baseUrlHttp + STATIC_PATHS.REDUNDANCY + this.getVideoFilename(videoFile)
1624 }
1625
1620 getVideoFileDownloadUrl (videoFile: VideoFileModel, baseUrlHttp: string) { 1626 getVideoFileDownloadUrl (videoFile: VideoFileModel, baseUrlHttp: string) {
1621 return baseUrlHttp + STATIC_DOWNLOAD_PATHS.VIDEOS + this.getVideoFilename(videoFile) 1627 return baseUrlHttp + STATIC_DOWNLOAD_PATHS.VIDEOS + this.getVideoFilename(videoFile)
1622 } 1628 }
diff --git a/server/tests/api/redundancy/redundancy.ts b/server/tests/api/redundancy/redundancy.ts
index a8a2f305f..5b29a503a 100644
--- a/server/tests/api/redundancy/redundancy.ts
+++ b/server/tests/api/redundancy/redundancy.ts
@@ -136,7 +136,7 @@ async function check2Webseeds (strategy: VideoRedundancyStrategy, videoUUID?: st
136 if (!videoUUID) videoUUID = video1Server2UUID 136 if (!videoUUID) videoUUID = video1Server2UUID
137 137
138 const webseeds = [ 138 const webseeds = [
139 'http://localhost:9001/static/webseed/' + videoUUID, 139 'http://localhost:9001/static/redundancy/' + videoUUID,
140 'http://localhost:9002/static/webseed/' + videoUUID 140 'http://localhost:9002/static/webseed/' + videoUUID
141 ] 141 ]
142 142
@@ -148,20 +148,23 @@ async function check2Webseeds (strategy: VideoRedundancyStrategy, videoUUID?: st
148 for (const file of video.files) { 148 for (const file of video.files) {
149 checkMagnetWebseeds(file, webseeds, server) 149 checkMagnetWebseeds(file, webseeds, server)
150 150
151 // Only servers 1 and 2 have the video 151 await makeGetRequest({
152 if (server.serverNumber !== 3) { 152 url: servers[0].url,
153 await makeGetRequest({ 153 statusCodeExpected: 200,
154 url: server.url, 154 path: '/static/redundancy/' + `${videoUUID}-${file.resolution.id}.mp4`,
155 statusCodeExpected: 200, 155 contentType: null
156 path: '/static/webseed/' + `${videoUUID}-${file.resolution.id}.mp4`, 156 })
157 contentType: null 157 await makeGetRequest({
158 }) 158 url: servers[1].url,
159 } 159 statusCodeExpected: 200,
160 path: '/static/webseed/' + `${videoUUID}-${file.resolution.id}.mp4`,
161 contentType: null
162 })
160 } 163 }
161 } 164 }
162 165
163 for (const directory of [ 'test1', 'test2' ]) { 166 for (const directory of [ 'test1/redundancy', 'test2/videos' ]) {
164 const files = await readdir(join(root(), directory, 'videos')) 167 const files = await readdir(join(root(), directory))
165 expect(files).to.have.length.at.least(4) 168 expect(files).to.have.length.at.least(4)
166 169
167 for (const resolution of [ 240, 360, 480, 720 ]) { 170 for (const resolution of [ 240, 360, 480, 720 ]) {
diff --git a/server/tests/cli/index.ts b/server/tests/cli/index.ts
index 6201314ce..c6b7ec078 100644
--- a/server/tests/cli/index.ts
+++ b/server/tests/cli/index.ts
@@ -1,6 +1,7 @@
1// Order of the tests we want to execute 1// Order of the tests we want to execute
2import './create-import-video-file-job' 2import './create-import-video-file-job'
3import './create-transcoding-job' 3import './create-transcoding-job'
4import './optimize-old-videos'
4import './peertube' 5import './peertube'
5import './reset-password' 6import './reset-password'
6import './update-host' 7import './update-host'
diff --git a/server/tests/misc-endpoints.ts b/server/tests/misc-endpoints.ts
index 8fab20971..b53803ee1 100644
--- a/server/tests/misc-endpoints.ts
+++ b/server/tests/misc-endpoints.ts
@@ -2,7 +2,18 @@
2 2
3import 'mocha' 3import 'mocha'
4import * as chai from 'chai' 4import * as chai from 'chai'
5import { flushTests, killallServers, makeGetRequest, runServer, ServerInfo } from './utils' 5import {
6 addVideoChannel,
7 createUser,
8 flushTests,
9 killallServers,
10 makeGetRequest,
11 runServer,
12 ServerInfo,
13 setAccessTokensToServers,
14 uploadVideo
15} from './utils'
16import { VideoPrivacy } from '../../shared/models/videos'
6 17
7const expect = chai.expect 18const expect = chai.expect
8 19
@@ -15,6 +26,7 @@ describe('Test misc endpoints', function () {
15 await flushTests() 26 await flushTests()
16 27
17 server = await runServer(1) 28 server = await runServer(1)
29 await setAccessTokensToServers([ server ])
18 }) 30 })
19 31
20 describe('Test a well known endpoints', function () { 32 describe('Test a well known endpoints', function () {
@@ -93,6 +105,64 @@ describe('Test misc endpoints', function () {
93 }) 105 })
94 }) 106 })
95 107
108 describe('Test bots endpoints', function () {
109
110 it('Should get the empty sitemap', async function () {
111 const res = await makeGetRequest({
112 url: server.url,
113 path: '/sitemap.xml',
114 statusCodeExpected: 200
115 })
116
117 expect(res.text).to.contain('xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"')
118 expect(res.text).to.contain('<url><loc>http://localhost:9001/about/instance</loc></url>')
119 })
120
121 it('Should get the empty cached sitemap', async function () {
122 const res = await makeGetRequest({
123 url: server.url,
124 path: '/sitemap.xml',
125 statusCodeExpected: 200
126 })
127
128 expect(res.text).to.contain('xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"')
129 expect(res.text).to.contain('<url><loc>http://localhost:9001/about/instance</loc></url>')
130 })
131
132 it('Should add videos, channel and accounts and get sitemap', async function () {
133 this.timeout(35000)
134
135 await uploadVideo(server.url, server.accessToken, { name: 'video 1', nsfw: false })
136 await uploadVideo(server.url, server.accessToken, { name: 'video 2', nsfw: false })
137 await uploadVideo(server.url, server.accessToken, { name: 'video 3', privacy: VideoPrivacy.PRIVATE })
138
139 await addVideoChannel(server.url, server.accessToken, { name: 'channel1', displayName: 'channel 1' })
140 await addVideoChannel(server.url, server.accessToken, { name: 'channel2', displayName: 'channel 2' })
141
142 await createUser(server.url, server.accessToken, 'user1', 'password')
143 await createUser(server.url, server.accessToken, 'user2', 'password')
144
145 const res = await makeGetRequest({
146 url: server.url,
147 path: '/sitemap.xml?t=1', // avoid using cache
148 statusCodeExpected: 200
149 })
150
151 expect(res.text).to.contain('xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"')
152 expect(res.text).to.contain('<url><loc>http://localhost:9001/about/instance</loc></url>')
153
154 expect(res.text).to.contain('<video:title><![CDATA[video 1]]></video:title>')
155 expect(res.text).to.contain('<video:title><![CDATA[video 2]]></video:title>')
156 expect(res.text).to.not.contain('<video:title><![CDATA[video 3]]></video:title>')
157
158 expect(res.text).to.contain('<url><loc>http://localhost:9001/video-channels/channel1</loc></url>')
159 expect(res.text).to.contain('<url><loc>http://localhost:9001/video-channels/channel2</loc></url>')
160
161 expect(res.text).to.contain('<url><loc>http://localhost:9001/accounts/user1</loc></url>')
162 expect(res.text).to.contain('<url><loc>http://localhost:9001/accounts/user2</loc></url>')
163 })
164 })
165
96 after(async function () { 166 after(async function () {
97 killallServers([ server ]) 167 killallServers([ server ])
98 }) 168 })
diff --git a/shared/models/i18n/i18n.ts b/shared/models/i18n/i18n.ts
index 5c3249452..d7164b73f 100644
--- a/shared/models/i18n/i18n.ts
+++ b/shared/models/i18n/i18n.ts
@@ -8,12 +8,14 @@ export const I18N_LOCALES = {
8 'cs-CZ': 'Čeština', 8 'cs-CZ': 'Čeština',
9 'eo': 'Esperanto', 9 'eo': 'Esperanto',
10 'de-DE': 'Deutsch', 10 'de-DE': 'Deutsch',
11 'it-IT': 'Italiano',
11 'es-ES': 'Español', 12 'es-ES': 'Español',
12 'oc': 'Occitan', 13 'oc': 'Occitan',
13 'zh-Hant-TW': 'ç¹é«”中文(å°ç£ï¼‰', 14 'zh-Hant-TW': 'ç¹é«”中文(å°ç£ï¼‰',
14 'pt-BR': 'Português (Brasil)', 15 'pt-BR': 'Português (Brasil)',
15 'sv-SE': 'svenska', 16 'sv-SE': 'svenska',
16 // 'pl-PL': 'Polski' 17 'pl-PL': 'Polski',
18 'ru-RU': 'руÑÑкий',
17 'zh-Hans-CN': '简体中文(中国)' 19 'zh-Hans-CN': '简体中文(中国)'
18} 20}
19 21
@@ -26,8 +28,9 @@ const I18N_LOCALE_ALIAS = {
26 'de': 'de-DE', 28 'de': 'de-DE',
27 'es': 'es-ES', 29 'es': 'es-ES',
28 'pt': 'pt-BR', 30 'pt': 'pt-BR',
29 'sv': 'sv-SE' 31 'sv': 'sv-SE',
30 // 'pl': 'pl-PL' 32 'pl': 'pl-PL',
33 'ru': 'ru-RU'
31} 34}
32 35
33export const POSSIBLE_LOCALES = Object.keys(I18N_LOCALES) 36export const POSSIBLE_LOCALES = Object.keys(I18N_LOCALES)
diff --git a/shared/models/server/server-config.model.ts b/shared/models/server/server-config.model.ts
index 91196c1eb..a6d28e05e 100644
--- a/shared/models/server/server-config.model.ts
+++ b/shared/models/server/server-config.model.ts
@@ -15,6 +15,10 @@ export interface ServerConfig {
15 } 15 }
16 } 16 }
17 17
18 email: {
19 enabled: boolean
20 }
21
18 signup: { 22 signup: {
19 allowed: boolean, 23 allowed: boolean,
20 allowedForCurrentIP: boolean, 24 allowedForCurrentIP: boolean,
diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml
index 9848c93ee..cb6ba9af5 100644
--- a/support/doc/api/openapi.yaml
+++ b/support/doc/api/openapi.yaml
@@ -1434,6 +1434,8 @@ components:
1434 - type: array 1434 - type: array
1435 items: 1435 items:
1436 type: number 1436 type: number
1437 style: form
1438 explode: false
1437 tagsOneOf: 1439 tagsOneOf:
1438 name: tagsOneOf 1440 name: tagsOneOf
1439 in: query 1441 in: query
@@ -1445,6 +1447,8 @@ components:
1445 - type: array 1447 - type: array
1446 items: 1448 items:
1447 type: string 1449 type: string
1450 style: form
1451 explode: false
1448 tagsAllOf: 1452 tagsAllOf:
1449 name: tagsAllOf 1453 name: tagsAllOf
1450 in: query 1454 in: query
@@ -1456,6 +1460,8 @@ components:
1456 - type: array 1460 - type: array
1457 items: 1461 items:
1458 type: string 1462 type: string
1463 style: form
1464 explode: false
1459 languageOneOf: 1465 languageOneOf:
1460 name: languageOneOf 1466 name: languageOneOf
1461 in: query 1467 in: query
@@ -1463,10 +1469,12 @@ components:
1463 description: language id of the video 1469 description: language id of the video
1464 schema: 1470 schema:
1465 oneOf: 1471 oneOf:
1466 - type: number 1472 - type: string
1467 - type: array 1473 - type: array
1468 items: 1474 items:
1469 type: number 1475 type: string
1476 style: form
1477 explode: false
1470 licenceOneOf: 1478 licenceOneOf:
1471 name: licenceOneOf 1479 name: licenceOneOf
1472 in: query 1480 in: query
@@ -1478,6 +1486,8 @@ components:
1478 - type: array 1486 - type: array
1479 items: 1487 items:
1480 type: number 1488 type: number
1489 style: form
1490 explode: false
1481 nsfw: 1491 nsfw:
1482 name: nsfw 1492 name: nsfw
1483 in: query 1493 in: query
diff --git a/support/doc/tools.md b/support/doc/tools.md
index 1c7739525..4f806a9db 100644
--- a/support/doc/tools.md
+++ b/support/doc/tools.md
@@ -4,13 +4,13 @@
4<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> 4<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
5**Table of Contents** 5**Table of Contents**
6 6
7- [CLI wrapper](#cli-wrapper)
8- [Remote Tools](#remote-tools) 7- [Remote Tools](#remote-tools)
9 - [Dependencies](#dependencies) 8 - [Dependencies](#dependencies)
10 - [Installation](#installation) 9 - [Installation](#installation)
11 - [peertube-import-videos.js](#peertube-import-videosjs) 10 - [CLI wrapper](#cli-wrapper)
12 - [peertube-upload.js](#peertube-uploadjs) 11 - [peertube-import-videos.js](#peertube-import-videosjs)
13 - [peertube-watch.js](#peertube-watchjs) 12 - [peertube-upload.js](#peertube-uploadjs)
13 - [peertube-watch.js](#peertube-watchjs)
14- [Server tools](#server-tools) 14- [Server tools](#server-tools)
15 - [parse-log](#parse-log) 15 - [parse-log](#parse-log)
16 - [create-transcoding-job.js](#create-transcoding-jobjs) 16 - [create-transcoding-job.js](#create-transcoding-jobjs)
@@ -26,9 +26,40 @@
26 26
27<!-- END doctoc generated TOC please keep comment here to allow auto update --> 27<!-- END doctoc generated TOC please keep comment here to allow auto update -->
28 28
29## CLI wrapper 29## Remote Tools
30
31You need at least 512MB RAM to run the script.
32Scripts can be launched directly from a PeerTube server, or from a separate server, even a desktop PC.
33You need to follow all the following steps even if you are on a PeerTube server (including cloning the git repository in a different directory than your production installation because the scripts utilize non-production dependencies).
34
35### Dependencies
36
37Install the [PeerTube dependencies](dependencies.md).
38
39### Installation
40
41Clone the PeerTube repo to get the latest version (even if you are on your PeerTube server):
42
43```
44$ git clone https://github.com/Chocobozzz/PeerTube.git
45$ CLONE="$(pwd)/PeerTube"
46```
47
48Run ``yarn install --pure-lockfile``
49```
50$ cd ${CLONE}
51$ yarn install --pure-lockfile
52```
53
54Build server tools:
55```
56$ cd ${CLONE}
57$ npm run build:server
58```
59
60### CLI wrapper
30 61
31The wrapper provides a convenient interface to most scripts, and requires the [same dependencies](#dependencies). You can access it as `peertube` via an alias in your `.bashrc` like `alias peertube="node ${PEERTUBE_PATH}/dist/server/tools/peertube.js"`: 62The wrapper provides a convenient interface to the following scripts. You can access it as `peertube` via an alias in your `.bashrc` like `alias peertube="node /your/peertube/directory/dist/server/tools/peertube.js"`:
32 63
33``` 64```
34 Usage: peertube [command] [options] 65 Usage: peertube [command] [options]
@@ -51,12 +82,12 @@ The wrapper provides a convenient interface to most scripts, and requires the [s
51The wrapper can keep track of instances you have an account on. We limit to one account per instance for now. 82The wrapper can keep track of instances you have an account on. We limit to one account per instance for now.
52 83
53```bash 84```bash
54$ peertube auth add -u "PEERTUBE_URL" -U "PEERTUBE_USER" --password "PEERTUBE_PASSWORD" 85$ peertube auth add -u 'PEERTUBE_URL' -U 'PEERTUBE_USER' --password 'PEERTUBE_PASSWORD'
55$ peertube auth list 86$ peertube auth list
56┌──────────────────────────────┬──────────────────────────────┠87┌──────────────────────────────┬──────────────────────────────â”
57│ instance │ login │ 88│ instance │ login │
58├──────────────────────────────┼──────────────────────────────┤ 89├──────────────────────────────┼──────────────────────────────┤
59│ "PEERTUBE_URL" │ "PEERTUBE_USER" │ 90│ 'PEERTUBE_URL' │ 'PEERTUBE_USER' │
60└──────────────────────────────┴──────────────────────────────┘ 91└──────────────────────────────┴──────────────────────────────┘
61``` 92```
62 93
@@ -72,53 +103,22 @@ And now that your video is online, you can watch it from the confort of your ter
72$ peertube watch https://peertube.cpy.re/videos/watch/e8a1af4e-414a-4d58-bfe6-2146eed06d10 103$ peertube watch https://peertube.cpy.re/videos/watch/e8a1af4e-414a-4d58-bfe6-2146eed06d10
73``` 104```
74 105
75## Remote Tools 106#### peertube-import-videos.js
76
77You need at least 512MB RAM to run the script.
78Scripts can be launched directly from a PeerTube server, or from a separate server, even a desktop PC.
79You need to follow all the following steps even if you are on a PeerTube server (including cloning the git repository in a different directory than your production installation because the scripts utilize non-production dependencies).
80
81### Dependencies
82
83Install the [PeerTube dependencies](dependencies.md).
84
85### Installation
86
87Clone the PeerTube repo to get the latest version (even if you are on your PeerTube server):
88
89```
90$ git clone https://github.com/Chocobozzz/PeerTube.git
91$ CLONE="$(pwd)/PeerTube"
92```
93
94Run ``yarn install``
95```
96$ cd ${CLONE}
97$ yarn install
98```
99
100Build server tools:
101```
102$ cd ${CLONE}
103$ npm run build:server
104```
105
106### peertube-import-videos.js
107 107
108You can use this script to import videos from all [supported sites of youtube-dl](https://rg3.github.io/youtube-dl/supportedsites.html) into PeerTube. 108You can use this script to import videos from all [supported sites of youtube-dl](https://rg3.github.io/youtube-dl/supportedsites.html) into PeerTube.
109Be sure you own the videos or have the author's authorization to do so. 109Be sure you own the videos or have the author's authorization to do so.
110 110
111```sh 111```sh
112$ node dist/server/tools/peertube-import-videos.js \ 112$ node dist/server/tools/peertube-import-videos.js \
113 -u "PEERTUBE_URL" \ 113 -u 'PEERTUBE_URL' \
114 -U "PEERTUBE_USER" \ 114 -U 'PEERTUBE_USER' \
115 --password "PEERTUBE_PASSWORD" \ 115 --password 'PEERTUBE_PASSWORD' \
116 -t "TARGET_URL" 116 -t 'TARGET_URL'
117``` 117```
118 118
119* `PEERTUBE_URL` : the full URL of your PeerTube server where you want to import, eg: https://peertube.cpy.re 119* `PEERTUBE_URL` : the full URL of your PeerTube server where you want to import, eg: https://peertube.cpy.re
120* `PEERTUBE_USER` : your PeerTube account where videos will be uploaded 120* `PEERTUBE_USER` : your PeerTube account where videos will be uploaded
121* `PEERTUBE_PASSWORD` : password of your PeerTube account (if omitted, you will be prompted for it) 121* `PEERTUBE_PASSWORD` : password of your PeerTube account (if `PEERTUBE_PASSWORD` is omitted, you will be prompted for it)
122* `TARGET_URL` : the target url you want to import. Examples: 122* `TARGET_URL` : the target url you want to import. Examples:
123 * YouTube: 123 * YouTube:
124 * Channel: https://www.youtube.com/channel/ChannelId 124 * Channel: https://www.youtube.com/channel/ChannelId
@@ -133,7 +133,7 @@ Already downloaded videos will not be uploaded twice, so you can run and re-run
133Videos will be publicly available after transcoding (you can see them before that in your account on the web interface). 133Videos will be publicly available after transcoding (you can see them before that in your account on the web interface).
134 134
135 135
136### peertube-upload.js 136#### peertube-upload.js
137 137
138You can use this script to import videos directly from the CLI. 138You can use this script to import videos directly from the CLI.
139 139
@@ -144,7 +144,7 @@ $ cd ${CLONE}
144$ node dist/server/tools/peertube-upload.js --help 144$ node dist/server/tools/peertube-upload.js --help
145``` 145```
146 146
147### peertube-watch.js 147#### peertube-watch.js
148 148
149You can use this script to play videos directly from the CLI. 149You can use this script to play videos directly from the CLI.
150 150
@@ -198,10 +198,10 @@ $ sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production
198### prune-storage.js 198### prune-storage.js
199 199
200Some transcoded videos or shutdown at a bad time can leave some unused files on your storage. 200Some transcoded videos or shutdown at a bad time can leave some unused files on your storage.
201To delete them (a confirmation will be demanded first): 201Stop PeerTube and delete these files (a confirmation will be demanded first):
202 202
203``` 203```
204$ sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run prune-storage 204$ sudo systemctl stop peertube && sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run prune-storage
205``` 205```
206 206
207### optimize-old-videos.js 207### optimize-old-videos.js
diff --git a/support/docker/production/config/production.yaml b/support/docker/production/config/production.yaml
index 4970bbcca..846c838e8 100644
--- a/support/docker/production/config/production.yaml
+++ b/support/docker/production/config/production.yaml
@@ -32,8 +32,10 @@ redis:
32 32
33# From the project root directory 33# From the project root directory
34storage: 34storage:
35 tmp: '../data/tmp/'
35 avatars: '../data/avatars/' 36 avatars: '../data/avatars/'
36 videos: '../data/videos/' 37 videos: '../data/videos/'
38 redundancy: '../data/redundancy/'
37 logs: '../data/logs/' 39 logs: '../data/logs/'
38 previews: '../data/previews/' 40 previews: '../data/previews/'
39 thumbnails: '../data/thumbnails/' 41 thumbnails: '../data/thumbnails/'
diff --git a/support/nginx/peertube b/support/nginx/peertube
index b00031133..e0b006088 100644
--- a/support/nginx/peertube
+++ b/support/nginx/peertube
@@ -105,7 +105,7 @@ server {
105 } 105 }
106 106
107 # Bypass PeerTube for performance reasons. Could be removed 107 # Bypass PeerTube for performance reasons. Could be removed
108 location /static/webseed { 108 location ~ ^/static/(webseed|redundancy)/ {
109 # Clients usually have 4 simultaneous webseed connections, so the real limit is 3MB/s per client 109 # Clients usually have 4 simultaneous webseed connections, so the real limit is 3MB/s per client
110 limit_rate 800k; 110 limit_rate 800k;
111 111
@@ -128,7 +128,12 @@ server {
128 access_log off; 128 access_log off;
129 } 129 }
130 130
131 alias /var/www/peertube/storage/videos; 131 root /var/www/peertube/storage;
132
133 rewrite ^/static/webseed/(.*)$ /videos/$1 break;
134 rewrite ^/static/redundancy/(.*)$ /redundancy/$1 break;
135
136 try_files $uri /;
132 } 137 }
133 138
134 # Websocket tracker 139 # Websocket tracker
diff --git a/yarn.lock b/yarn.lock
index b961fb5cc..6eb6c9a59 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,6 +2,20 @@
2# yarn lockfile v1 2# yarn lockfile v1
3 3
4 4
5"@iamstarkov/listr-update-renderer@0.4.1":
6 version "0.4.1"
7 resolved "https://registry.yarnpkg.com/@iamstarkov/listr-update-renderer/-/listr-update-renderer-0.4.1.tgz#d7c48092a2dcf90fd672b6c8b458649cb350c77e"
8 integrity sha512-IJyxQWsYDEkf8C8QthBn5N8tIUR9V9je6j3sMIpAkonaadjbvxmRC6RAhpa3RKxndhNnU2M6iNbtJwd7usQYIA==
9 dependencies:
10 chalk "^1.1.3"
11 cli-truncate "^0.2.1"
12 elegant-spinner "^1.0.1"
13 figures "^1.7.0"
14 indent-string "^3.0.0"
15 log-symbols "^1.0.2"
16 log-update "^2.3.0"
17 strip-ansi "^3.0.1"
18
5"@samverschueren/stream-to-observable@^0.3.0": 19"@samverschueren/stream-to-observable@^0.3.0":
6 version "0.3.0" 20 version "0.3.0"
7 resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f" 21 resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f"
@@ -44,7 +58,7 @@
44 "@types/connect" "*" 58 "@types/connect" "*"
45 "@types/node" "*" 59 "@types/node" "*"
46 60
47"@types/bull@^3.3.12": 61"@types/bull@3.4.0":
48 version "3.4.0" 62 version "3.4.0"
49 resolved "https://registry.yarnpkg.com/@types/bull/-/bull-3.4.0.tgz#18ffefefa4dd1cfbdbdc8ca7df56c934459f6b9d" 63 resolved "https://registry.yarnpkg.com/@types/bull/-/bull-3.4.0.tgz#18ffefefa4dd1cfbdbdc8ca7df56c934459f6b9d"
50 integrity sha512-NVD2X+cUu1qNv6blsOfCr2fVsD3+O13U19dFuy9Du7PWfn1/gjFZEDk220uBuRSH5JyaP4nV6S8BLjsT5/bXUg== 64 integrity sha512-NVD2X+cUu1qNv6blsOfCr2fVsD3+O13U19dFuy9Du7PWfn1/gjFZEDk220uBuRSH5JyaP4nV6S8BLjsT5/bXUg==
@@ -233,9 +247,9 @@
233 "@types/express" "*" 247 "@types/express" "*"
234 248
235"@types/node@*", "@types/node@^10.0.8": 249"@types/node@*", "@types/node@^10.0.8":
236 version "10.12.8" 250 version "10.12.12"
237 resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.8.tgz#d0a3ab5a6e61458c492304e2776ac136b81db927" 251 resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.12.tgz#e15a9d034d9210f00320ef718a50c4a799417c47"
238 integrity sha512-INamyRZG4rW3lDCUmwVd5Xho/bXvQm/v1yP8V0UN1RuInU7RoWoaO570b+yLX4Ia/0szsx1wa8VzcsVlsvbWLA== 252 integrity sha512-Pr+6JRiKkfsFvmU/LK68oBRCQeEg36TyAbPhc2xpez24OOZZCuoIhWGTd39VZy6nGafSbxzGouFPTFD/rR1A0A==
239 253
240"@types/node@6.0.41": 254"@types/node@6.0.41":
241 version "6.0.41" 255 version "6.0.41"
@@ -251,9 +265,9 @@
251 "@types/node" "*" 265 "@types/node" "*"
252 266
253"@types/oauth2-server@^3.0.8": 267"@types/oauth2-server@^3.0.8":
254 version "3.0.9" 268 version "3.0.10"
255 resolved "https://registry.yarnpkg.com/@types/oauth2-server/-/oauth2-server-3.0.9.tgz#e3f32011862f03f399635c5916d5a383bca26fe2" 269 resolved "https://registry.yarnpkg.com/@types/oauth2-server/-/oauth2-server-3.0.10.tgz#ea671a6ad3d02062aac5f7c1ba1fb9c468314db0"
256 integrity sha512-NixZjyKS4TCM1mMr6QViK0rxR8iMHiE1utYje+ZGne1SgJQzLT3OOAjCrnRp70G+L8W1BXnzIPPaIxj1kYJHNg== 270 integrity sha512-1XYQdBrBuGimRhGLk9XavjGY2h5IYmT0rTi3pDAWzq6xRWZp+LCAwNm8YNYdDwQxBp//eogtZePe8mS7QPDiNg==
257 dependencies: 271 dependencies:
258 "@types/express" "*" 272 "@types/express" "*"
259 273
@@ -284,9 +298,9 @@
284 integrity sha512-HtKGu+qG1NPvYe1z7ezLsyIaXYyi8SoAVqWDZgDQ8dLrsZvSzUNCwZyfX33uhWxL/SU0ZDQZ3nwZ0nimt507Kw== 298 integrity sha512-HtKGu+qG1NPvYe1z7ezLsyIaXYyi8SoAVqWDZgDQ8dLrsZvSzUNCwZyfX33uhWxL/SU0ZDQZ3nwZ0nimt507Kw==
285 299
286"@types/redis@^2.8.5": 300"@types/redis@^2.8.5":
287 version "2.8.7" 301 version "2.8.8"
288 resolved "https://registry.yarnpkg.com/@types/redis/-/redis-2.8.7.tgz#e0825093fb1af9d5b4a7246c6d7d1163cc842c35" 302 resolved "https://registry.yarnpkg.com/@types/redis/-/redis-2.8.8.tgz#70855e79a6020080cca3cb5f1f5ee7f11b49a979"
289 integrity sha512-ZMW8M5LRxU0D4u2GhnCEqJ1/mUJKSudlCWxeP1FRxfZQqr0Pb4tonPLzDEyRpC50uvEfAP3xOLjDuUOWi0QHCQ== 303 integrity sha512-o/1ufNVPA92uum9HFbEiXXIHBuLywSwHQtAZoACMc1FhPXS5YftybBC1EI0zjdbUb273VVWF0Ivll/bq4g+gyw==
290 dependencies: 304 dependencies:
291 "@types/node" "*" 305 "@types/node" "*"
292 306
@@ -341,9 +355,9 @@
341 "@types/node" "*" 355 "@types/node" "*"
342 356
343"@types/supertest@^2.0.3": 357"@types/supertest@^2.0.3":
344 version "2.0.6" 358 version "2.0.7"
345 resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-2.0.6.tgz#a0665350c0e36315e1bccdf4785f2b76fcb71b6b" 359 resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-2.0.7.tgz#46ff6508075cd4519736be060f0d6331a5c8ca7b"
346 integrity sha512-qRvPP8dO7IBqJz8LaQ7/Lw2oo/geiDUPAMx/L+CQCkR9sN622O30XCH7RSyUmilyCSyjxyhJ7cEtd3hmwPwvhw== 360 integrity sha512-GibTh4OTkal71btYe2fpZP/rVHIPnnUsYphEaoywVHo+mo2a/LhlOFkIm5wdN0H0DA0Hx8x+tKgCYMD9elHu5w==
347 dependencies: 361 dependencies:
348 "@types/superagent" "*" 362 "@types/superagent" "*"
349 363
@@ -477,9 +491,9 @@ ajv@^4.7.0:
477 json-stable-stringify "^1.0.1" 491 json-stable-stringify "^1.0.1"
478 492
479ajv@^6.5.5: 493ajv@^6.5.5:
480 version "6.5.5" 494 version "6.6.1"
481 resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.5.tgz#cf97cdade71c6399a92c6d6c4177381291b781a1" 495 resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.1.tgz#6360f5ed0d80f232cc2b294c362d5dc2e538dd61"
482 integrity sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg== 496 integrity sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==
483 dependencies: 497 dependencies:
484 fast-deep-equal "^2.0.1" 498 fast-deep-equal "^2.0.1"
485 fast-json-stable-stringify "^2.0.0" 499 fast-json-stable-stringify "^2.0.0"
@@ -844,9 +858,9 @@ binary-search@^1.3.4:
844 integrity sha512-dPxU/vZLnH0tEVjVPgi015oSwqu6oLfCeHywuFRhBE0yM0mYocvleTl8qsdM1YFhRzTRhM1+VzS8XLDVrHPopg== 858 integrity sha512-dPxU/vZLnH0tEVjVPgi015oSwqu6oLfCeHywuFRhBE0yM0mYocvleTl8qsdM1YFhRzTRhM1+VzS8XLDVrHPopg==
845 859
846bindings@^1.3.0, bindings@~1.3.0: 860bindings@^1.3.0, bindings@~1.3.0:
847 version "1.3.0" 861 version "1.3.1"
848 resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7" 862 resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.1.tgz#21fc7c6d67c18516ec5aaa2815b145ff77b26ea5"
849 integrity sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw== 863 integrity sha512-i47mqjF9UbjxJhxGf+pZ6kSxrnI3wBLlnGI2ArWJ4r0VrvDS7ZYXkprq/pLaBWYq4GM0r4zdHY+NNRqEMU7uew==
850 864
851bindings@~1.2.1: 865bindings@~1.2.1:
852 version "1.2.1" 866 version "1.2.1"
@@ -1143,9 +1157,9 @@ builtins@^1.0.3:
1143 integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= 1157 integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og=
1144 1158
1145bull@^3.4.2: 1159bull@^3.4.2:
1146 version "3.5.1" 1160 version "3.5.2"
1147 resolved "https://registry.yarnpkg.com/bull/-/bull-3.5.1.tgz#b936a1306cb7e9dc1ac9c23a0dcaf41a1370effc" 1161 resolved "https://registry.yarnpkg.com/bull/-/bull-3.5.2.tgz#9c85f205b17686efab2ee28aaa4388887360de32"
1148 integrity sha512-stbptND5+uRmzd6gIUJlC93fikXKyrJl53HGxzyqD0ahCMeyFRlaD5kN1i+PqfZSkcHKx/kK3HOJ8knum/Yi7A== 1162 integrity sha512-tuL4Uj0kUeaQ7Cow3POkca20fk+VSsR8AiTFeNkyMmuicBnE1ZMwvF1NRDY7vIH43pD9PiMCSEP4Li/934Pw1w==
1149 dependencies: 1163 dependencies:
1150 bluebird "^3.5.3" 1164 bluebird "^3.5.3"
1151 cron-parser "^2.5.0" 1165 cron-parser "^2.5.0"
@@ -1283,6 +1297,11 @@ camelcase@^4.0.0, camelcase@^4.1.0:
1283 resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 1297 resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
1284 integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= 1298 integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
1285 1299
1300camelcase@^5.0.0:
1301 version "5.0.0"
1302 resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42"
1303 integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==
1304
1286camelize@1.0.0: 1305camelize@1.0.0:
1287 version "1.0.0" 1306 version "1.0.0"
1288 resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b" 1307 resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b"
@@ -1447,14 +1466,14 @@ cli-columns@^3.1.2:
1447 string-width "^2.0.0" 1466 string-width "^2.0.0"
1448 strip-ansi "^3.0.1" 1467 strip-ansi "^3.0.1"
1449 1468
1450cli-cursor@^1.0.1, cli-cursor@^1.0.2: 1469cli-cursor@^1.0.1:
1451 version "1.0.2" 1470 version "1.0.2"
1452 resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" 1471 resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
1453 integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc= 1472 integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=
1454 dependencies: 1473 dependencies:
1455 restore-cursor "^1.0.1" 1474 restore-cursor "^1.0.1"
1456 1475
1457cli-cursor@^2.0.0: 1476cli-cursor@^2.0.0, cli-cursor@^2.1.0:
1458 version "2.1.0" 1477 version "2.1.0"
1459 resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 1478 resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
1460 integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= 1479 integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
@@ -1701,15 +1720,15 @@ concat-stream@^1.4.6, concat-stream@^1.5.0, concat-stream@^1.5.2:
1701 typedarray "^0.0.6" 1720 typedarray "^0.0.6"
1702 1721
1703concurrently@^4.0.1: 1722concurrently@^4.0.1:
1704 version "4.0.1" 1723 version "4.1.0"
1705 resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-4.0.1.tgz#f6310fbadf2f476dd95df952edb5c0ab789f672c" 1724 resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-4.1.0.tgz#17fdf067da71210685d9ea554423ef239da30d33"
1706 integrity sha512-D8UI+mlI/bfvrA57SeKOht6sEpb01dKk+8Yee4fbnkk1Ue8r3S+JXoEdFZIpzQlXJGtnxo47Wvvg/kG4ba3U6Q== 1725 integrity sha512-pwzXCE7qtOB346LyO9eFWpkFJVO3JQZ/qU/feGeaAHiX1M3Rw3zgXKc5cZ8vSH5DGygkjzLFDzA/pwoQDkRNGg==
1707 dependencies: 1726 dependencies:
1708 chalk "^2.4.1" 1727 chalk "^2.4.1"
1709 date-fns "^1.23.0" 1728 date-fns "^1.23.0"
1710 lodash "^4.17.10" 1729 lodash "^4.17.10"
1711 read-pkg "^4.0.1" 1730 read-pkg "^4.0.1"
1712 rxjs "6.2.2" 1731 rxjs "^6.3.3"
1713 spawn-command "^0.0.2-1" 1732 spawn-command "^0.0.2-1"
1714 supports-color "^4.5.0" 1733 supports-color "^4.5.0"
1715 tree-kill "^1.1.0" 1734 tree-kill "^1.1.0"
@@ -1723,10 +1742,10 @@ config-chain@~1.1.11:
1723 ini "^1.3.4" 1742 ini "^1.3.4"
1724 proto-list "~1.2.1" 1743 proto-list "~1.2.1"
1725 1744
1726config@^2.0.1: 1745config@^3.0.0:
1727 version "2.0.1" 1746 version "3.0.0"
1728 resolved "https://registry.yarnpkg.com/config/-/config-2.0.1.tgz#995ccc8175460578d646ac0a2e4018ffa44ca046" 1747 resolved "https://registry.yarnpkg.com/config/-/config-3.0.0.tgz#a71cdbb22d225df9eff20b95178d65a63c452367"
1729 integrity sha512-aTaviJnC8ZjQYx8kQf4u6tWqIxWolyQQ3LqXgnCLAsIb78JrUshHG0YuzIarzTaVVe1Pazms3TXImfYra8UsyQ== 1748 integrity sha512-QMr3BCOcHdgXx8t8cLfBhWtHcIAAMikaxUc2XASuH2A93g9kOIRch7sXFQdSvdMxhQobnctWm2y68YJYRttJlw==
1730 dependencies: 1749 dependencies:
1731 json5 "^1.0.1" 1750 json5 "^1.0.1"
1732 1751
@@ -1830,7 +1849,16 @@ cors@^2.8.1:
1830 object-assign "^4" 1849 object-assign "^4"
1831 vary "^1" 1850 vary "^1"
1832 1851
1833cosmiconfig@^5.0.2, cosmiconfig@^5.0.6: 1852cosmiconfig@5.0.6:
1853 version "5.0.6"
1854 resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.6.tgz#dca6cf680a0bd03589aff684700858c81abeeb39"
1855 integrity sha512-6DWfizHriCrFWURP1/qyhsiFvYdlJzbCzmtFWh744+KyWsJo5+kPzUZZaMRSSItoYc0pxFX7gEO7ZC1/gN/7AQ==
1856 dependencies:
1857 is-directory "^0.3.1"
1858 js-yaml "^3.9.0"
1859 parse-json "^4.0.0"
1860
1861cosmiconfig@^5.0.6:
1834 version "5.0.7" 1862 version "5.0.7"
1835 resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.7.tgz#39826b292ee0d78eda137dfa3173bd1c21a43b04" 1863 resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.7.tgz#39826b292ee0d78eda137dfa3173bd1c21a43b04"
1836 integrity sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA== 1864 integrity sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==
@@ -1867,9 +1895,9 @@ create-torrent@^3.24.5, create-torrent@^3.33.0:
1867 simple-sha1 "^2.0.0" 1895 simple-sha1 "^2.0.0"
1868 1896
1869cron-parser@^2.5.0: 1897cron-parser@^2.5.0:
1870 version "2.7.1" 1898 version "2.7.3"
1871 resolved "https://registry.yarnpkg.com/cron-parser/-/cron-parser-2.7.1.tgz#d08c00b1e220db564fd1cecb5019c8dd450f84d1" 1899 resolved "https://registry.yarnpkg.com/cron-parser/-/cron-parser-2.7.3.tgz#12603f89f5375af353a9357be2543d3172eac651"
1872 integrity sha512-gupE4KsGEVtp5X4YbUlQx6NiFt3e+VOhREPI4ZXS9FT5JcOjfw2ey1EUv3J6XWrxHR1aKYrk4uJDmdRjG39bgA== 1900 integrity sha512-t9Kc7HWBWPndBzvbdQ1YG9rpPRB37Tb/tTviziUOh1qs3TARGh3b1p+tnkOHNe1K5iI3oheBPgLqwotMM7+lpg==
1873 dependencies: 1901 dependencies:
1874 is-nan "^1.2.1" 1902 is-nan "^1.2.1"
1875 moment-timezone "^0.5.23" 1903 moment-timezone "^0.5.23"
@@ -1993,18 +2021,11 @@ debuglog@^1.0.0, debuglog@^1.0.1:
1993 resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" 2021 resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
1994 integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= 2022 integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=
1995 2023
1996decamelize@^1.1.1: 2024decamelize@^1.1.1, decamelize@^1.2.0:
1997 version "1.2.0" 2025 version "1.2.0"
1998 resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 2026 resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
1999 integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 2027 integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
2000 2028
2001decamelize@^2.0.0:
2002 version "2.0.0"
2003 resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7"
2004 integrity sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==
2005 dependencies:
2006 xregexp "4.0.0"
2007
2008decode-uri-component@^0.2.0: 2029decode-uri-component@^0.2.0:
2009 version "0.2.0" 2030 version "0.2.0"
2010 resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 2031 resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
@@ -2644,10 +2665,10 @@ expand-brackets@^2.1.4:
2644 snapdragon "^0.8.1" 2665 snapdragon "^0.8.1"
2645 to-regex "^3.0.1" 2666 to-regex "^3.0.1"
2646 2667
2647expand-template@^1.0.2: 2668expand-template@^2.0.3:
2648 version "1.1.1" 2669 version "2.0.3"
2649 resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-1.1.1.tgz#981f188c0c3a87d2e28f559bc541426ff94f21dd" 2670 resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
2650 integrity sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg== 2671 integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
2651 2672
2652expect-ct@0.1.1: 2673expect-ct@0.1.1:
2653 version "0.1.1" 2674 version "0.1.1"
@@ -2837,6 +2858,13 @@ figures@^1.3.5, figures@^1.7.0:
2837 escape-string-regexp "^1.0.5" 2858 escape-string-regexp "^1.0.5"
2838 object-assign "^4.1.0" 2859 object-assign "^4.1.0"
2839 2860
2861figures@^2.0.0:
2862 version "2.0.0"
2863 resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
2864 integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
2865 dependencies:
2866 escape-string-regexp "^1.0.5"
2867
2840file-entry-cache@^1.1.1: 2868file-entry-cache@^1.1.1:
2841 version "1.3.1" 2869 version "1.3.1"
2842 resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz#44c61ea607ae4be9c1402f41f44270cbfe334ff8" 2870 resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz#44c61ea607ae4be9c1402f41f44270cbfe334ff8"
@@ -3420,9 +3448,9 @@ has-values@^1.0.0:
3420 kind-of "^4.0.0" 3448 kind-of "^4.0.0"
3421 3449
3422hash.js@^1.0.0: 3450hash.js@^1.0.0:
3423 version "1.1.5" 3451 version "1.1.7"
3424 resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.5.tgz#e38ab4b85dfb1e0c40fe9265c0e9b54854c23812" 3452 resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
3425 integrity sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA== 3453 integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
3426 dependencies: 3454 dependencies:
3427 inherits "^2.0.3" 3455 inherits "^2.0.3"
3428 minimalistic-assert "^1.0.1" 3456 minimalistic-assert "^1.0.1"
@@ -3557,9 +3585,9 @@ humanize-ms@^1.2.1:
3557 ms "^2.0.0" 3585 ms "^2.0.0"
3558 3586
3559husky@^1.0.0-rc.4: 3587husky@^1.0.0-rc.4:
3560 version "1.1.4" 3588 version "1.2.0"
3561 resolved "https://registry.yarnpkg.com/husky/-/husky-1.1.4.tgz#92f61383527d2571e9586234e5864356bfaceaa9" 3589 resolved "https://registry.yarnpkg.com/husky/-/husky-1.2.0.tgz#d631dda1e4a9ee8ba69a10b0c51a0e2c66e711e5"
3562 integrity sha512-cZjGpS7qsaBSo3fOMUuR7erQloX3l5XzL1v/RkIqU6zrQImDdU70z5Re9fGDp7+kbYlM2EtS4aYMlahBeiCUGw== 3590 integrity sha512-/ib3+iycykXC0tYIxsyqierikVa9DA2DrT32UEirqNEFVqOj1bFMTgP3jAz8HM7FgC/C8pc/BTUa9MV2GEkZaA==
3563 dependencies: 3591 dependencies:
3564 cosmiconfig "^5.0.6" 3592 cosmiconfig "^5.0.6"
3565 execa "^1.0.0" 3593 execa "^1.0.0"
@@ -4483,13 +4511,14 @@ libxmljs@0.19.5:
4483 node-pre-gyp "~0.11.0" 4511 node-pre-gyp "~0.11.0"
4484 4512
4485lint-staged@^8.0.4: 4513lint-staged@^8.0.4:
4486 version "8.0.4" 4514 version "8.1.0"
4487 resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.0.4.tgz#d3c909fcf7897152cdce2d6e42500cd9b5b41a0d" 4515 resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.1.0.tgz#dbc3ae2565366d8f20efb9f9799d076da64863f2"
4488 integrity sha512-Rs0VxXoyFqHMrPQgKAMy+O907+m5Po71UVPhBi7BUBwU7ZZ2aoc+mZmpOX3DVPCoTcy6+hqJa9yIZfacNpJHdg== 4516 integrity sha512-yfSkyJy7EuVsaoxtUSEhrD81spdJOe/gMTGea3XaV7HyoRhTb9Gdlp6/JppRZERvKSEYXP9bjcmq6CA5oL2lYQ==
4489 dependencies: 4517 dependencies:
4518 "@iamstarkov/listr-update-renderer" "0.4.1"
4490 chalk "^2.3.1" 4519 chalk "^2.3.1"
4491 commander "^2.14.1" 4520 commander "^2.14.1"
4492 cosmiconfig "^5.0.2" 4521 cosmiconfig "5.0.6"
4493 debug "^3.1.0" 4522 debug "^3.1.0"
4494 dedent "^0.7.0" 4523 dedent "^0.7.0"
4495 del "^3.0.0" 4524 del "^3.0.0"
@@ -4500,7 +4529,6 @@ lint-staged@^8.0.4:
4500 is-windows "^1.0.2" 4529 is-windows "^1.0.2"
4501 jest-validate "^23.5.0" 4530 jest-validate "^23.5.0"
4502 listr "^0.14.2" 4531 listr "^0.14.2"
4503 listr-update-renderer "https://github.com/okonet/listr-update-renderer/tarball/upgrade-log-update"
4504 lodash "^4.17.5" 4532 lodash "^4.17.5"
4505 log-symbols "^2.2.0" 4533 log-symbols "^2.2.0"
4506 micromatch "^3.1.8" 4534 micromatch "^3.1.8"
@@ -4518,9 +4546,10 @@ listr-silent-renderer@^1.1.1:
4518 resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" 4546 resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e"
4519 integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= 4547 integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=
4520 4548
4521listr-update-renderer@^0.4.0, "listr-update-renderer@https://github.com/okonet/listr-update-renderer/tarball/upgrade-log-update": 4549listr-update-renderer@^0.5.0:
4522 version "0.4.0" 4550 version "0.5.0"
4523 resolved "https://github.com/okonet/listr-update-renderer/tarball/upgrade-log-update#06073fa93166277607a7814f4e1f83960081414c" 4551 resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2"
4552 integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==
4524 dependencies: 4553 dependencies:
4525 chalk "^1.1.3" 4554 chalk "^1.1.3"
4526 cli-truncate "^0.2.1" 4555 cli-truncate "^0.2.1"
@@ -4531,30 +4560,30 @@ listr-update-renderer@^0.4.0, "listr-update-renderer@https://github.com/okonet/l
4531 log-update "^2.3.0" 4560 log-update "^2.3.0"
4532 strip-ansi "^3.0.1" 4561 strip-ansi "^3.0.1"
4533 4562
4534listr-verbose-renderer@^0.4.0: 4563listr-verbose-renderer@^0.5.0:
4535 version "0.4.1" 4564 version "0.5.0"
4536 resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#8206f4cf6d52ddc5827e5fd14989e0e965933a35" 4565 resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db"
4537 integrity sha1-ggb0z21S3cWCfl/RSYng6WWTOjU= 4566 integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==
4538 dependencies: 4567 dependencies:
4539 chalk "^1.1.3" 4568 chalk "^2.4.1"
4540 cli-cursor "^1.0.2" 4569 cli-cursor "^2.1.0"
4541 date-fns "^1.27.2" 4570 date-fns "^1.27.2"
4542 figures "^1.7.0" 4571 figures "^2.0.0"
4543 4572
4544listr@^0.14.2: 4573listr@^0.14.2:
4545 version "0.14.2" 4574 version "0.14.3"
4546 resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.2.tgz#cbe44b021100a15376addfc2d79349ee430bfe14" 4575 resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586"
4547 integrity sha512-vmaNJ1KlGuGWShHI35X/F8r9xxS0VTHh9GejVXwSN20fG5xpq3Jh4bJbnumoT6q5EDM/8/YP1z3YMtQbFmhuXw== 4576 integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==
4548 dependencies: 4577 dependencies:
4549 "@samverschueren/stream-to-observable" "^0.3.0" 4578 "@samverschueren/stream-to-observable" "^0.3.0"
4550 is-observable "^1.1.0" 4579 is-observable "^1.1.0"
4551 is-promise "^2.1.0" 4580 is-promise "^2.1.0"
4552 is-stream "^1.1.0" 4581 is-stream "^1.1.0"
4553 listr-silent-renderer "^1.1.1" 4582 listr-silent-renderer "^1.1.1"
4554 listr-update-renderer "^0.4.0" 4583 listr-update-renderer "^0.5.0"
4555 listr-verbose-renderer "^0.4.0" 4584 listr-verbose-renderer "^0.5.0"
4556 p-map "^1.1.1" 4585 p-map "^2.0.0"
4557 rxjs "^6.1.0" 4586 rxjs "^6.3.3"
4558 4587
4559load-ip-set@^2.1.0: 4588load-ip-set@^2.1.0:
4560 version "2.1.0" 4589 version "2.1.0"
@@ -4791,9 +4820,9 @@ lowercase-keys@^1.0.0:
4791 integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== 4820 integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
4792 4821
4793lru-cache@4.1.x, lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2, lru-cache@^4.1.3: 4822lru-cache@4.1.x, lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2, lru-cache@^4.1.3:
4794 version "4.1.3" 4823 version "4.1.5"
4795 resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" 4824 resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
4796 integrity sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA== 4825 integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
4797 dependencies: 4826 dependencies:
4798 pseudomap "^1.0.2" 4827 pseudomap "^1.0.2"
4799 yallist "^2.1.2" 4828 yallist "^2.1.2"
@@ -5054,9 +5083,9 @@ mime@^1.3.4, mime@^1.4.1:
5054 integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 5083 integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
5055 5084
5056mime@^2.2.0: 5085mime@^2.2.0:
5057 version "2.3.1" 5086 version "2.4.0"
5058 resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369" 5087 resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.0.tgz#e051fd881358585f3279df333fe694da0bcffdd6"
5059 integrity sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg== 5088 integrity sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==
5060 5089
5061mimelib@^0.3.0: 5090mimelib@^0.3.0:
5062 version "0.3.1" 5091 version "0.3.1"
@@ -5386,9 +5415,9 @@ node-abi@^2.2.0:
5386 semver "^5.4.1" 5415 semver "^5.4.1"
5387 5416
5388node-addon-api@^1.6.0: 5417node-addon-api@^1.6.0:
5389 version "1.6.1" 5418 version "1.6.2"
5390 resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.6.1.tgz#a9881c8dbc6400bac6ddedcb96eccf8051678536" 5419 resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.6.2.tgz#d8aad9781a5cfc4132cc2fecdbdd982534265217"
5391 integrity sha512-GcLOYrG5/enbqH4SMsqXt6GQUQGGnDnE3FLDZzXYkCgQHuZV5UDFR+EboeY8kpG0avroyOjpFQ2qLEBosFcRIA== 5420 integrity sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA==
5392 5421
5393node-fetch-npm@^2.0.2: 5422node-fetch-npm@^2.0.2:
5394 version "2.0.2" 5423 version "2.0.2"
@@ -5484,20 +5513,20 @@ nodemailer-shared@^1.1.0:
5484 nodemailer-fetch "1.6.0" 5513 nodemailer-fetch "1.6.0"
5485 5514
5486nodemailer@^4.4.2: 5515nodemailer@^4.4.2:
5487 version "4.6.8" 5516 version "4.7.0"
5488 resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-4.6.8.tgz#f82fb407828bf2e76d92acc34b823d83e774f89c" 5517 resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-4.7.0.tgz#4420e06abfffd77d0618f184ea49047db84f4ad8"
5489 integrity sha512-A3s7EM/426OBIZbLHXq2KkgvmKbn2Xga4m4G+ZUA4IaZvG8PcZXrFh+2E4VaS2o+emhuUVRnzKN2YmpkXQ9qwA== 5518 integrity sha512-IludxDypFpYw4xpzKdMAozBSkzKHmNBvGanUREjJItgJ2NYcK/s8+PggVhj7c2yGFQykKsnnmv1+Aqo0ZfjHmw==
5490 5519
5491nodemon@^1.18.6: 5520nodemon@^1.18.6:
5492 version "1.18.6" 5521 version "1.18.7"
5493 resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.18.6.tgz#89b1136634d6c0afc7de24cc932a760e999e2c76" 5522 resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.18.7.tgz#716b66bf3e89ac4fcfb38a9e61887a03fc82efbb"
5494 integrity sha512-4pHQNYEZun+IkIC2jCaXEhkZnfA7rQe73i8RkdRyDJls/K+WxR7IpI5uNUsAvQ0zWvYcCDNGD+XVtw2ZG86/uQ== 5523 integrity sha512-xuC1V0F5EcEyKQ1VhHYD13owznQbUw29JKvZ8bVH7TmuvVNHvvbp9pLgE4PjTMRJVe0pJ8fGRvwR2nMiosIsPQ==
5495 dependencies: 5524 dependencies:
5496 chokidar "^2.0.4" 5525 chokidar "^2.0.4"
5497 debug "^3.1.0" 5526 debug "^3.1.0"
5498 ignore-by-default "^1.0.1" 5527 ignore-by-default "^1.0.1"
5499 minimatch "^3.0.4" 5528 minimatch "^3.0.4"
5500 pstree.remy "^1.1.0" 5529 pstree.remy "^1.1.2"
5501 semver "^5.5.0" 5530 semver "^5.5.0"
5502 supports-color "^5.2.0" 5531 supports-color "^5.2.0"
5503 touch "^3.1.0" 5532 touch "^3.1.0"
@@ -6051,6 +6080,11 @@ p-map@^1.1.1:
6051 resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" 6080 resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b"
6052 integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== 6081 integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==
6053 6082
6083p-map@^2.0.0:
6084 version "2.0.0"
6085 resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.0.0.tgz#be18c5a5adeb8e156460651421aceca56c213a50"
6086 integrity sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w==
6087
6054p-try@^1.0.0: 6088p-try@^1.0.0:
6055 version "1.0.0" 6089 version "1.0.0"
6056 resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 6090 resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
@@ -6263,14 +6297,7 @@ pg-connection-string@0.1.3:
6263 resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz#da1847b20940e42ee1492beaf65d49d91b245df7" 6297 resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz#da1847b20940e42ee1492beaf65d49d91b245df7"
6264 integrity sha1-2hhHsglA5C7hSSvq9l1J2RskXfc= 6298 integrity sha1-2hhHsglA5C7hSSvq9l1J2RskXfc=
6265 6299
6266pg-hstore@^2.3.2: 6300pg-pool@^2.0.4:
6267 version "2.3.2"
6268 resolved "https://registry.yarnpkg.com/pg-hstore/-/pg-hstore-2.3.2.tgz#f7ef053e7b9b892ae986af2f7cbe86432dfcf24f"
6269 integrity sha1-9+8FPnubiSrphq8vfL6GQy388k8=
6270 dependencies:
6271 underscore "^1.7.0"
6272
6273pg-pool@~2.0.3:
6274 version "2.0.4" 6301 version "2.0.4"
6275 resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-2.0.4.tgz#05ad0f2d9437d89c94ccc4f4d0a44ac65ade865b" 6302 resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-2.0.4.tgz#05ad0f2d9437d89c94ccc4f4d0a44ac65ade865b"
6276 integrity sha512-Mi2AsmlFkVMpI28NreaDkz5DkfxLOG16C/HNwi091LDlOiDiQACtAroLxSd1vIS2imBqxdjjO9cQZg2CwsOPbw== 6303 integrity sha512-Mi2AsmlFkVMpI28NreaDkz5DkfxLOG16C/HNwi091LDlOiDiQACtAroLxSd1vIS2imBqxdjjO9cQZg2CwsOPbw==
@@ -6286,14 +6313,14 @@ pg-types@~1.12.1:
6286 postgres-interval "^1.1.0" 6313 postgres-interval "^1.1.0"
6287 6314
6288pg@^7.4.1: 6315pg@^7.4.1:
6289 version "7.6.1" 6316 version "7.7.1"
6290 resolved "https://registry.yarnpkg.com/pg/-/pg-7.6.1.tgz#42c68aed37bf38b813616e3d21f4338f350c1b79" 6317 resolved "https://registry.yarnpkg.com/pg/-/pg-7.7.1.tgz#546b192ff484322b69689391f885de3ba91a30d4"
6291 integrity sha512-rAItIkYrRaNGinZN/Hs8F9R5mQjQSPlnzxPF+eCimSl92qnuNGR42gkpOQKP1bnvTwkSjRTBL+VNC5EcFhtCuQ== 6318 integrity sha512-p3I0mXOmUvCoVlCMFW6iYSrnguPol6q8He15NGgSIdM3sPGjFc+8JGCeKclw8ZR4ETd+Jxy2KNiaPUcocHZeMw==
6292 dependencies: 6319 dependencies:
6293 buffer-writer "2.0.0" 6320 buffer-writer "2.0.0"
6294 packet-reader "0.3.1" 6321 packet-reader "0.3.1"
6295 pg-connection-string "0.1.3" 6322 pg-connection-string "0.1.3"
6296 pg-pool "~2.0.3" 6323 pg-pool "^2.0.4"
6297 pg-types "~1.12.1" 6324 pg-types "~1.12.1"
6298 pgpass "1.x" 6325 pgpass "1.x"
6299 semver "4.3.2" 6326 semver "4.3.2"
@@ -6396,12 +6423,12 @@ postgres-interval@^1.1.0:
6396 xtend "^4.0.0" 6423 xtend "^4.0.0"
6397 6424
6398prebuild-install@^5.2.0: 6425prebuild-install@^5.2.0:
6399 version "5.2.1" 6426 version "5.2.2"
6400 resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.2.1.tgz#87ba8cf17c65360a75eefeb3519e87973bf9791d" 6427 resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.2.2.tgz#237888f21bfda441d0ee5f5612484390bccd4046"
6401 integrity sha512-9DAccsInWHB48TBQi2eJkLPE049JuAI6FjIH0oIrij4bpDVEbX6JvlWRAcAAlUqBHhjgq0jNqA3m3bBXWm9v6w== 6428 integrity sha512-4e8VJnP3zJdZv/uP0eNWmr2r9urp4NECw7Mt1OSAi3rcLrbBRxGiAkfUFtre2MhQ5wfREAjRV+K1gubvs/GPsA==
6402 dependencies: 6429 dependencies:
6403 detect-libc "^1.0.3" 6430 detect-libc "^1.0.3"
6404 expand-template "^1.0.2" 6431 expand-template "^2.0.3"
6405 github-from-package "0.0.0" 6432 github-from-package "0.0.0"
6406 minimist "^1.2.0" 6433 minimist "^1.2.0"
6407 mkdirp "^0.5.1" 6434 mkdirp "^0.5.1"
@@ -6529,7 +6556,7 @@ psl@^1.1.24:
6529 resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67" 6556 resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67"
6530 integrity sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ== 6557 integrity sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==
6531 6558
6532pstree.remy@^1.1.0: 6559pstree.remy@^1.1.2:
6533 version "1.1.2" 6560 version "1.1.2"
6534 resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.2.tgz#4448bbeb4b2af1fed242afc8dc7416a6f504951a" 6561 resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.2.tgz#4448bbeb4b2af1fed242afc8dc7416a6f504951a"
6535 integrity sha512-vL6NLxNHzkNTjGJUpMm5PLC+94/0tTlC1vkP9bdU0pOHih+EujMjgMTwfZopZvHWRFbqJ5Y73OMoau50PewDDA== 6562 integrity sha512-vL6NLxNHzkNTjGJUpMm5PLC+94/0tTlC1vkP9bdU0pOHih+EujMjgMTwfZopZvHWRFbqJ5Y73OMoau50PewDDA==
@@ -6587,11 +6614,16 @@ qs@4.0.0:
6587 resolved "https://registry.yarnpkg.com/qs/-/qs-4.0.0.tgz#c31d9b74ec27df75e543a86c78728ed8d4623607" 6614 resolved "https://registry.yarnpkg.com/qs/-/qs-4.0.0.tgz#c31d9b74ec27df75e543a86c78728ed8d4623607"
6588 integrity sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc= 6615 integrity sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc=
6589 6616
6590qs@6.5.2, qs@^6.5.1, qs@~6.5.2: 6617qs@6.5.2, qs@~6.5.2:
6591 version "6.5.2" 6618 version "6.5.2"
6592 resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 6619 resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
6593 integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== 6620 integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
6594 6621
6622qs@^6.5.1:
6623 version "6.6.0"
6624 resolved "https://registry.yarnpkg.com/qs/-/qs-6.6.0.tgz#a99c0f69a8d26bf7ef012f871cdabb0aee4424c2"
6625 integrity sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA==
6626
6595query-string@^6.1.0: 6627query-string@^6.1.0:
6596 version "6.2.0" 6628 version "6.2.0"
6597 resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.2.0.tgz#468edeb542b7e0538f9f9b1aeb26f034f19c86e1" 6629 resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.2.0.tgz#468edeb542b7e0538f9f9b1aeb26f034f19c86e1"
@@ -6845,7 +6877,7 @@ referrer-policy@1.1.0:
6845 resolved "https://registry.yarnpkg.com/referrer-policy/-/referrer-policy-1.1.0.tgz#35774eb735bf50fb6c078e83334b472350207d79" 6877 resolved "https://registry.yarnpkg.com/referrer-policy/-/referrer-policy-1.1.0.tgz#35774eb735bf50fb6c078e83334b472350207d79"
6846 integrity sha1-NXdOtzW/UPtsB46DM0tHI1AgfXk= 6878 integrity sha1-NXdOtzW/UPtsB46DM0tHI1AgfXk=
6847 6879
6848reflect-metadata@^0.1.10: 6880reflect-metadata@^0.1.12:
6849 version "0.1.12" 6881 version "0.1.12"
6850 resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.12.tgz#311bf0c6b63cd782f228a81abe146a2bfa9c56f2" 6882 resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.12.tgz#311bf0c6b63cd782f228a81abe146a2bfa9c56f2"
6851 integrity sha512-n+IyV+nGz3+0q3/Yf1ra12KpCyi001bi4XFxSjbiWWjfqb52iTTtpGXmCCAOWWIAn9KEuFZKGqBERHmrtScZ3A== 6883 integrity sha512-n+IyV+nGz3+0q3/Yf1ra12KpCyi001bi4XFxSjbiWWjfqb52iTTtpGXmCCAOWWIAn9KEuFZKGqBERHmrtScZ3A==
@@ -7077,14 +7109,7 @@ rx-lite@^3.1.2:
7077 resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" 7109 resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
7078 integrity sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI= 7110 integrity sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=
7079 7111
7080rxjs@6.2.2: 7112rxjs@^6.3.3:
7081 version "6.2.2"
7082 resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.2.2.tgz#eb75fa3c186ff5289907d06483a77884586e1cf9"
7083 integrity sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==
7084 dependencies:
7085 tslib "^1.9.0"
7086
7087rxjs@^6.1.0:
7088 version "6.3.3" 7113 version "6.3.3"
7089 resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55" 7114 resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55"
7090 integrity sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw== 7115 integrity sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==
@@ -7425,6 +7450,15 @@ simple-websocket@^7.0.1:
7425 readable-stream "^2.0.5" 7450 readable-stream "^2.0.5"
7426 ws "^6.0.0" 7451 ws "^6.0.0"
7427 7452
7453sitemap@^2.1.0:
7454 version "2.1.0"
7455 resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-2.1.0.tgz#1633cb88c196d755ad94becfb1c1bcacc6d3425a"
7456 integrity sha512-AkfA7RDVCITQo+j5CpXsMJlZ/8ENO2NtgMHYIh+YMvex2Hao/oe3MQgNa03p0aWY6srCfUA1Q02OgiWCAiuccA==
7457 dependencies:
7458 lodash "^4.17.10"
7459 url-join "^4.0.0"
7460 xmlbuilder "^10.0.0"
7461
7428slash@^1.0.0: 7462slash@^1.0.0:
7429 version "1.0.0" 7463 version "1.0.0"
7430 resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 7464 resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
@@ -7869,10 +7903,10 @@ string2compact@^1.1.1, string2compact@^1.2.5:
7869 addr-to-ip-port "^1.0.1" 7903 addr-to-ip-port "^1.0.1"
7870 ipaddr.js "^1.0.1" 7904 ipaddr.js "^1.0.1"
7871 7905
7872string_decoder@^1.1.1, string_decoder@~1.1.1: 7906string_decoder@^1.1.1:
7873 version "1.1.1" 7907 version "1.2.0"
7874 resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 7908 resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d"
7875 integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 7909 integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==
7876 dependencies: 7910 dependencies:
7877 safe-buffer "~5.1.0" 7911 safe-buffer "~5.1.0"
7878 7912
@@ -7881,6 +7915,13 @@ string_decoder@~0.10.x:
7881 resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 7915 resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
7882 integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= 7916 integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
7883 7917
7918string_decoder@~1.1.1:
7919 version "1.1.1"
7920 resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
7921 integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
7922 dependencies:
7923 safe-buffer "~5.1.0"
7924
7884stringify-object@^3.2.2: 7925stringify-object@^3.2.2:
7885 version "3.3.0" 7926 version "3.3.0"
7886 resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" 7927 resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
@@ -8342,9 +8383,9 @@ tsutils@^2.27.2:
8342 tslib "^1.8.1" 8383 tslib "^1.8.1"
8343 8384
8344tsutils@^3.0.0: 8385tsutils@^3.0.0:
8345 version "3.5.0" 8386 version "3.5.2"
8346 resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.5.0.tgz#42602f7df241e753a2105cc3627a664abf11f745" 8387 resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.5.2.tgz#6fd3c2d5a731e83bb21b070a173ec0faf3a8f6d3"
8347 integrity sha512-/FZ+pEJQixWruFejFxNPRSwg+iF6aw7PYZVRqUscJ7EnzV3zieI8byfZziUR7QjCuJFulq8SEe9JcGflO4ze4Q== 8388 integrity sha512-qIlklNuI/1Dzfm+G+kJV5gg3gimZIX5haYtIVQe7qGyKd7eu8T1t1DY6pz4Sc2CGXAj9s1izycctm9Zfl9sRuQ==
8348 dependencies: 8389 dependencies:
8349 tslib "^1.8.1" 8390 tslib "^1.8.1"
8350 8391
@@ -8411,9 +8452,9 @@ typedarray@^0.0.6:
8411 integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= 8452 integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
8412 8453
8413typescript@^3.1.6: 8454typescript@^3.1.6:
8414 version "3.1.6" 8455 version "3.2.1"
8415 resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.6.tgz#b6543a83cfc8c2befb3f4c8fba6896f5b0c9be68" 8456 resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.1.tgz#0b7a04b8cf3868188de914d9568bd030f0c56192"
8416 integrity sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA== 8457 integrity sha512-jw7P2z/h6aPT4AENXDGjcfHTu5CSqzsbZc6YlUIebTyBAq8XaKp78x7VcSh30xwSCcsu5irZkYZUSFP1MrAMbg==
8417 8458
8418uid-number@0.0.6: 8459uid-number@0.0.6:
8419 version "0.0.6" 8460 version "0.0.6"
@@ -8451,7 +8492,7 @@ underscore-keypath@~0.0.22:
8451 dependencies: 8492 dependencies:
8452 underscore "*" 8493 underscore "*"
8453 8494
8454underscore@*, underscore@^1.7.0: 8495underscore@*:
8455 version "1.9.1" 8496 version "1.9.1"
8456 resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" 8497 resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961"
8457 integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== 8498 integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==
@@ -8553,6 +8594,11 @@ urix@^0.1.0:
8553 resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 8594 resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
8554 integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= 8595 integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
8555 8596
8597url-join@^4.0.0:
8598 version "4.0.0"
8599 resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.0.tgz#4d3340e807d3773bda9991f8305acdcc2a665d2a"
8600 integrity sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=
8601
8556url-parse-lax@^1.0.0: 8602url-parse-lax@^1.0.0:
8557 version "1.0.0" 8603 version "1.0.0"
8558 resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" 8604 resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
@@ -8720,9 +8766,9 @@ wcwidth@^1.0.0:
8720 defaults "^1.0.3" 8766 defaults "^1.0.3"
8721 8767
8722webfinger.js@^2.6.6: 8768webfinger.js@^2.6.6:
8723 version "2.6.6" 8769 version "2.7.0"
8724 resolved "https://registry.yarnpkg.com/webfinger.js/-/webfinger.js-2.6.6.tgz#52ebdc85da8c8fb6beb690e8e32594c99d2ff4ae" 8770 resolved "https://registry.yarnpkg.com/webfinger.js/-/webfinger.js-2.7.0.tgz#403354a14a65aeeba64c1408c18a387487cea106"
8725 integrity sha512-dQpuL01XtluQ9Ndgu62o3pEmIe/ssDoIE0CQsOyavGl04xyHal+Ge4gFerw5V0BFoLTQpD8ZZqaDzb43hG9atw== 8771 integrity sha512-l+UtsuV4zrBKyVAj9VCtwWgscTgadCsdGgL1OvbV102cvydWwJCGXlFIXauzWLzfheIDHfPNRWfgMuwyC6ZfIA==
8726 dependencies: 8772 dependencies:
8727 xhr2 "^0.1.4" 8773 xhr2 "^0.1.4"
8728 8774
@@ -8909,9 +8955,9 @@ ws@1.1.2:
8909 ultron "1.0.x" 8955 ultron "1.0.x"
8910 8956
8911ws@^6.0.0: 8957ws@^6.0.0:
8912 version "6.1.0" 8958 version "6.1.2"
8913 resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.0.tgz#119a9dbf92c54e190ec18d10e871d55c95cf9373" 8959 resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.2.tgz#3cc7462e98792f0ac679424148903ded3b9c3ad8"
8914 integrity sha512-H3dGVdGvW2H8bnYpIDc3u3LH8Wue3Qh+Zto6aXXFzvESkTVT6rAfKR6tR/+coaUvxs8yHtmNV0uioBF62ZGSTg== 8960 integrity sha512-rfUqzvz0WxmSXtJpPMX2EeASXabOrSMk1ruMOV3JBTBjo4ac2lDjGGsbQSyxj8Odhw5fBib8ZKEjDNvgouNKYw==
8915 dependencies: 8961 dependencies:
8916 async-limiter "~1.0.0" 8962 async-limiter "~1.0.0"
8917 8963
@@ -8936,16 +8982,16 @@ xhr2@^0.1.4:
8936 integrity sha1-f4dliEdxbbUCYyOBL4GMras4el8= 8982 integrity sha1-f4dliEdxbbUCYyOBL4GMras4el8=
8937 8983
8938xliff@^4.0.0: 8984xliff@^4.0.0:
8939 version "4.1.0" 8985 version "4.1.2"
8940 resolved "https://registry.yarnpkg.com/xliff/-/xliff-4.1.0.tgz#32ea268a6442c122e132e6abf874539b1fc9c6b3" 8986 resolved "https://registry.yarnpkg.com/xliff/-/xliff-4.1.2.tgz#eb6fae21346d82653febd44d478f5748ad79fbd2"
8941 integrity sha512-BlqCVTd16GLNx4TAll1Ebs1Gswh6g/Mx/9z6cXmbNTVqy7iqXAAwZjmhE2G1fX+++xoXy0IufPp+DOv8tJC/pA== 8987 integrity sha512-ru+ya+rz2cb+D3Or9sf5xrj0MCL+q+vZmWOJlqZehIWlG3hqeIXhbfLMDAW9A5BsnRfL+BdMBHaogaTUGHyMyA==
8942 dependencies: 8988 dependencies:
8943 xml-js "1.6.7" 8989 xml-js "1.6.8"
8944 8990
8945xml-js@1.6.7: 8991xml-js@1.6.8:
8946 version "1.6.7" 8992 version "1.6.8"
8947 resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.7.tgz#a99b40c18a16d3e06537b3ae026a27bd60ffe8ab" 8993 resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.8.tgz#e06419c54235f18f4c2cdda824cbd65a782330de"
8948 integrity sha512-1hn0xwwfMcWywnJxqiOXiv+pZaOJyf/YWcUeqJICF0BFb+IOkRFSkKyeA0V62WqTHXNdBxNuCFHhS/w2DtYpoA== 8994 integrity sha512-kUv/geyN80d+s1T68uBfjoz+PjNUjwwf5AWWRwKRqqQaGozpMVsFsKYnenPsxlbN/VL7f0ia8NfLLPCDwX+95Q==
8949 dependencies: 8995 dependencies:
8950 sax "^1.2.4" 8996 sax "^1.2.4"
8951 8997
@@ -8962,6 +9008,11 @@ xml@^1.0.1:
8962 resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" 9008 resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5"
8963 integrity sha1-eLpyAgApxbyHuKgaPPzXS0ovweU= 9009 integrity sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=
8964 9010
9011xmlbuilder@^10.0.0:
9012 version "10.1.1"
9013 resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-10.1.1.tgz#8cae6688cc9b38d850b7c8d3c0a4161dcaf475b0"
9014 integrity sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==
9015
8965xmlbuilder@~9.0.1: 9016xmlbuilder@~9.0.1:
8966 version "9.0.7" 9017 version "9.0.7"
8967 resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" 9018 resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
@@ -8977,11 +9028,6 @@ xmlhttprequest-ssl@1.5.3:
8977 resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d" 9028 resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
8978 integrity sha1-GFqIjATspGw+QHDZn3tJ3jUomS0= 9029 integrity sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=
8979 9030
8980xregexp@4.0.0:
8981 version "4.0.0"
8982 resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020"
8983 integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==
8984
8985"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: 9031"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
8986 version "4.0.1" 9032 version "4.0.1"
8987 resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 9033 resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
@@ -9003,16 +9049,17 @@ yallist@^2.1.2:
9003 integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= 9049 integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
9004 9050
9005yallist@^3.0.0, yallist@^3.0.2: 9051yallist@^3.0.0, yallist@^3.0.2:
9006 version "3.0.2" 9052 version "3.0.3"
9007 resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" 9053 resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
9008 integrity sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k= 9054 integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==
9009 9055
9010yargs-parser@^10.1.0: 9056yargs-parser@^11.1.1:
9011 version "10.1.0" 9057 version "11.1.1"
9012 resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" 9058 resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
9013 integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== 9059 integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==
9014 dependencies: 9060 dependencies:
9015 camelcase "^4.1.0" 9061 camelcase "^5.0.0"
9062 decamelize "^1.2.0"
9016 9063
9017yargs-parser@^8.0.0: 9064yargs-parser@^8.0.0:
9018 version "8.1.0" 9065 version "8.1.0"
@@ -9047,12 +9094,12 @@ yargs@^11.0.0:
9047 yargs-parser "^9.0.2" 9094 yargs-parser "^9.0.2"
9048 9095
9049yargs@^12.0.1, yargs@^12.0.2: 9096yargs@^12.0.1, yargs@^12.0.2:
9050 version "12.0.2" 9097 version "12.0.5"
9051 resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" 9098 resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
9052 integrity sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ== 9099 integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==
9053 dependencies: 9100 dependencies:
9054 cliui "^4.0.0" 9101 cliui "^4.0.0"
9055 decamelize "^2.0.0" 9102 decamelize "^1.2.0"
9056 find-up "^3.0.0" 9103 find-up "^3.0.0"
9057 get-caller-file "^1.0.1" 9104 get-caller-file "^1.0.1"
9058 os-locale "^3.0.0" 9105 os-locale "^3.0.0"
@@ -9062,7 +9109,7 @@ yargs@^12.0.1, yargs@^12.0.2:
9062 string-width "^2.0.0" 9109 string-width "^2.0.0"
9063 which-module "^2.0.0" 9110 which-module "^2.0.0"
9064 y18n "^3.2.1 || ^4.0.0" 9111 y18n "^3.2.1 || ^4.0.0"
9065 yargs-parser "^10.1.0" 9112 yargs-parser "^11.1.1"
9066 9113
9067yeast@0.1.2: 9114yeast@0.1.2:
9068 version "0.1.2" 9115 version "0.1.2"
@@ -9085,9 +9132,9 @@ youtube-dl@^1.12.2:
9085 streamify "^0.2.9" 9132 streamify "^0.2.9"
9086 9133
9087z-schema@^3.24.1: 9134z-schema@^3.24.1:
9088 version "3.24.1" 9135 version "3.24.2"
9089 resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-3.24.1.tgz#07a3643c8e061ec1af32e823c9f9e5e5e56e3c8d" 9136 resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-3.24.2.tgz#193560e718812d98fdc190c38871b634b92f2386"
9090 integrity sha512-2eR8eq/v1coNqyBc5HzswEcoLbw+S33RMnR326uiuOIr97ve5vwPNMDrKS1IRCB12bZ3a8BrfGxrRwuSXUyPvw== 9137 integrity sha512-Zb2YLJ9g72MexBXKPRzoypd4OZfVkFghdy10eVbcMNLl9YQsPXtyMpiK7a3sG7IIERg1lEDjEMrG9Km9DPbWLw==
9091 dependencies: 9138 dependencies:
9092 core-js "^2.5.7" 9139 core-js "^2.5.7"
9093 lodash.get "^4.0.0" 9140 lodash.get "^4.0.0"