From bded90179cbaa65dbf582efa20e93187e8d37952 Mon Sep 17 00:00:00 2001 From: netcon Date: Sat, 4 Sep 2021 18:24:52 +0800 Subject: [PATCH 01/13] chore: upgrade vscode to 1.60.0 --- docs/guide.md | 2 +- resources/index-dev-vscode.html | 21 +- resources/index-hash.html | 21 +- resources/index.html | 21 +- .../src/typescriptServiceClient.ts | 1050 ----------------- vscode-web-github1s/scripts/clone.sh | 2 +- vscode-web-github1s/scripts/sync-code.sh | 4 +- .../src/vs/base/common/platform.ts | 33 +- .../vs/code/browser/workbench/workbench.ts | 80 +- .../browser/controller/textAreaHandler.ts | 678 ----------- .../vs/editor/common/config/editorOptions.ts | 384 ++++-- vscode-web-github1s/src/vs/loader.js | 19 +- .../src/vs/platform/product/common/product.ts | 94 +- .../telemetry/common/telemetryService.ts | 26 +- .../api/worker/extHostExtensionService.ts | 13 +- .../parts/activitybar/activitybarActions.ts | 51 +- .../parts/activitybar/activitybarPart.ts | 69 +- .../browser/parts/titlebar/titlebarPart.ts | 28 +- .../src/vs/workbench/browser/web.main.ts | 71 +- .../browser/workbench.contribution.ts | 33 +- .../common/editor/resourceEditorInput.ts | 202 ++++ .../files/browser/views/explorerView.ts | 103 +- .../files/common/editors/fileEditorInput.ts | 406 ------- .../terminal/browser/terminalService.ts | 1027 ---------------- .../contrib/url/browser/trustedDomains.ts | 251 ---- .../contrib/webview/browser/pre/main.js | 743 ------------ .../page/browser/vs_code_welcome_page.ts | 67 -- .../welcome/page/browser/welcomePage.css | 287 ----- .../welcome/page/browser/welcomePage.ts | 899 -------------- .../worker/extensionHostWorkerMain.ts | 76 -- .../themes/browser/workbenchThemeService.ts | 68 +- .../themes/common/themeConfiguration.ts | 40 +- 32 files changed, 963 insertions(+), 5906 deletions(-) delete mode 100644 vscode-web-github1s/extensions/typescript-language-features/src/typescriptServiceClient.ts delete mode 100644 vscode-web-github1s/src/vs/editor/browser/controller/textAreaHandler.ts create mode 100644 vscode-web-github1s/src/vs/workbench/common/editor/resourceEditorInput.ts delete mode 100644 vscode-web-github1s/src/vs/workbench/contrib/files/common/editors/fileEditorInput.ts delete mode 100644 vscode-web-github1s/src/vs/workbench/contrib/terminal/browser/terminalService.ts delete mode 100644 vscode-web-github1s/src/vs/workbench/contrib/url/browser/trustedDomains.ts delete mode 100644 vscode-web-github1s/src/vs/workbench/contrib/webview/browser/pre/main.js delete mode 100644 vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/vs_code_welcome_page.ts delete mode 100644 vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/welcomePage.css delete mode 100644 vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/welcomePage.ts delete mode 100644 vscode-web-github1s/src/vs/workbench/services/extensions/worker/extensionHostWorkerMain.ts diff --git a/docs/guide.md b/docs/guide.md index 3c559620c..93591944d 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -1,6 +1,6 @@ # How it works -GitHub1s is based on [VS Code 1.55.0](https://github.com/microsoft/vscode/tree/1.52.1) now. VS Code can be built for a browser version officially. I also used the code and got inspired by [Code Server](https://github.com/cdr/code-server). +GitHub1s is based on [VS Code 1.60.0](https://github.com/microsoft/vscode/tree/1.60.1) now. VS Code can be built for a browser version officially. I also used the code and got inspired by [Code Server](https://github.com/cdr/code-server). Thanks to the very powerful and flexible extensibility of VS Code, we can easily implement a VS Code extension that provides the custom File IO ability using [FileSystemProvider API](https://code.visualstudio.com/api/references/vscode-api#FileSystemProvider). There is an official demo named [vscode-web-playground](https://github.com/microsoft/vscode-web-playground) which shows how it is used. diff --git a/resources/index-dev-vscode.html b/resources/index-dev-vscode.html index 7ad7e99ba..77633494f 100644 --- a/resources/index-dev-vscode.html +++ b/resources/index-dev-vscode.html @@ -11,6 +11,8 @@ + + @@ -28,14 +30,14 @@

You need to enable JavaScript to run this app.

self.require = { baseUrl: `${window.location.origin}/static/vscode`, recordStats: true, - trustedTypesPolicy: window.trustedTypes?.createPolicy('amdLoader', { + trustedTypesPolicy: window.trustedTypes ? window.trustedTypes.createPolicy('amdLoader', { createScriptURL(value) { if (value.startsWith(window.location.origin)) { return value; } throw new Error(`Invalid script url: ${value}`); }, - }), + }) : undefined, paths: { 'vscode-textmate': `${window.location.origin}/static/node_modules/vscode-textmate/release/main`, 'vscode-oniguruma': `${window.location.origin}/static/node_modules/vscode-oniguruma/release/main`, @@ -73,6 +75,21 @@

You need to enable JavaScript to run this app.

document .getElementById('vscode-workbench-builtin-extensions') .setAttribute('data-settings', extensionsJson); + document + .getElementById('vscode-product-configuration') + .setAttribute('data-settings', { + nameShort: 'GitHub1s', + nameLong: 'GitHub1s', + extensionsGallery: {serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery",cacheUrl:"https://vscode.blob.core.windows.net/gallery/index",itemUrl:"https://marketplace.visualstudio.com/items",resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",controlUrl:"https://az764295.vo.msecnd.net/extensions/marketplace.json",recommendationsUrl:"https://az764295.vo.msecnd.net/extensions/workspaceRecommendations.json.gz"}, + linkProtectionTrustedDomains: [ + '*.github.com', + '*.microsoft.com', + '*.github1s.com', + '*.vercel.com', + '*.sourcegraph.com', + '*.gitpod.io', + ] + }); require(['vs/code/browser/workbench/workbench'], function () {}); }); diff --git a/resources/index-hash.html b/resources/index-hash.html index 8bbeb9ebb..0ad07c2c9 100644 --- a/resources/index-hash.html +++ b/resources/index-hash.html @@ -11,6 +11,8 @@ + + @@ -138,14 +140,14 @@

You need to enable JavaScript to run this app.

self.require = { baseUrl: `${window.location.origin}/static/{STATIC_HASH_CODE}/vscode`, recordStats: true, - trustedTypesPolicy: window.trustedTypes?.createPolicy('amdLoader', { + trustedTypesPolicy: window.trustedTypes ? window.trustedTypes.createPolicy('amdLoader', { createScriptURL(value) { if (value.startsWith(window.location.origin)) { return value; } throw new Error(`Invalid script url: ${value}`); }, - }), + }) : undefined, paths: { 'vscode-textmate': `${window.location.origin}/static/{STATIC_HASH_CODE}/node_modules/vscode-textmate/release/main`, 'vscode-oniguruma': `${window.location.origin}/static/{STATIC_HASH_CODE}/node_modules/vscode-oniguruma/release/main`, @@ -184,6 +186,21 @@

You need to enable JavaScript to run this app.

document .getElementById('vscode-workbench-builtin-extensions') .setAttribute('data-settings', extensionsJson); + document + .getElementById('vscode-product-configuration') + .setAttribute('data-settings', { + nameShort: 'GitHub1s', + nameLong: 'GitHub1s', + extensionsGallery: {serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery",cacheUrl:"https://vscode.blob.core.windows.net/gallery/index",itemUrl:"https://marketplace.visualstudio.com/items",resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",controlUrl:"https://az764295.vo.msecnd.net/extensions/marketplace.json",recommendationsUrl:"https://az764295.vo.msecnd.net/extensions/workspaceRecommendations.json.gz"}, + linkProtectionTrustedDomains: [ + '*.github.com', + '*.microsoft.com', + '*.github1s.com', + '*.vercel.com', + '*.sourcegraph.com', + '*.gitpod.io', + ] + }); require(['vs/code/browser/workbench/workbench'], function () {}); }); diff --git a/resources/index.html b/resources/index.html index 253867c73..1e74332f1 100644 --- a/resources/index.html +++ b/resources/index.html @@ -11,6 +11,8 @@ + + @@ -138,14 +140,14 @@

You need to enable JavaScript to run this app.

self.require = { baseUrl: `${window.location.origin}/static/vscode`, recordStats: true, - trustedTypesPolicy: window.trustedTypes?.createPolicy('amdLoader', { + trustedTypesPolicy: window.trustedTypes ? window.trustedTypes.createPolicy('amdLoader', { createScriptURL(value) { if (value.startsWith(window.location.origin)) { return value; } throw new Error(`Invalid script url: ${value}`); }, - }), + }) : undefined, paths: { 'vscode-textmate': `${window.location.origin}/static/node_modules/vscode-textmate/release/main`, 'vscode-oniguruma': `${window.location.origin}/static/node_modules/vscode-oniguruma/release/main`, @@ -184,6 +186,21 @@

You need to enable JavaScript to run this app.

document .getElementById('vscode-workbench-builtin-extensions') .setAttribute('data-settings', extensionsJson); + document + .getElementById('vscode-product-configuration') + .setAttribute('data-settings', { + nameShort: 'GitHub1s', + nameLong: 'GitHub1s', + extensionsGallery: {serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery",cacheUrl:"https://vscode.blob.core.windows.net/gallery/index",itemUrl:"https://marketplace.visualstudio.com/items",resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",controlUrl:"https://az764295.vo.msecnd.net/extensions/marketplace.json",recommendationsUrl:"https://az764295.vo.msecnd.net/extensions/workspaceRecommendations.json.gz"}, + linkProtectionTrustedDomains: [ + '*.github.com', + '*.microsoft.com', + '*.github1s.com', + '*.vercel.com', + '*.sourcegraph.com', + '*.gitpod.io', + ] + }); require(['vs/code/browser/workbench/workbench'], function () {}); }); diff --git a/vscode-web-github1s/extensions/typescript-language-features/src/typescriptServiceClient.ts b/vscode-web-github1s/extensions/typescript-language-features/src/typescriptServiceClient.ts deleted file mode 100644 index c28ec016f..000000000 --- a/vscode-web-github1s/extensions/typescript-language-features/src/typescriptServiceClient.ts +++ /dev/null @@ -1,1050 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import * as path from 'path'; -import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; -import { DiagnosticKind, DiagnosticsManager } from './languageFeatures/diagnostics'; -import * as Proto from './protocol'; -import { EventName } from './protocol.const'; -import BufferSyncSupport from './tsServer/bufferSyncSupport'; -import { OngoingRequestCancellerFactory } from './tsServer/cancellation'; -import { ILogDirectoryProvider } from './tsServer/logDirectoryProvider'; -import { ITypeScriptServer, TsServerProcessFactory } from './tsServer/server'; -import { TypeScriptServerError } from './tsServer/serverError'; -import { TypeScriptServerSpawner } from './tsServer/spawner'; -import { TypeScriptVersionManager } from './tsServer/versionManager'; -import { ITypeScriptVersionProvider, TypeScriptVersion } from './tsServer/versionProvider'; -import { ClientCapabilities, ClientCapability, ExecConfig, ITypeScriptServiceClient, ServerResponse, TypeScriptRequests } from './typescriptService'; -import API from './utils/api'; -import { TsServerLogLevel, TypeScriptServiceConfiguration } from './utils/configuration'; -import { Disposable } from './utils/dispose'; -import * as fileSchemes from './utils/fileSchemes'; -import { Logger } from './utils/logger'; -import { isWeb } from './utils/platform'; -import { TypeScriptPluginPathsProvider } from './utils/pluginPathsProvider'; -import { PluginManager } from './utils/plugins'; -import { TelemetryProperties, TelemetryReporter, VSCodeTelemetryReporter } from './utils/telemetry'; -import Tracer from './utils/tracer'; -import { inferredProjectCompilerOptions, ProjectType } from './utils/tsconfig'; - -const localize = nls.loadMessageBundle(); - -export interface TsDiagnostics { - readonly kind: DiagnosticKind; - readonly resource: vscode.Uri; - readonly diagnostics: Proto.Diagnostic[]; -} - -interface ToCancelOnResourceChanged { - readonly resource: vscode.Uri; - cancel(): void; -} - -namespace ServerState { - export const enum Type { - None, - Running, - Errored - } - - export const None = { type: Type.None } as const; - - export class Running { - readonly type = Type.Running; - - constructor( - public readonly server: ITypeScriptServer, - - /** - * API version obtained from the version picker after checking the corresponding path exists. - */ - public readonly apiVersion: API, - - /** - * Version reported by currently-running tsserver. - */ - public tsserverVersion: string | undefined, - public languageServiceEnabled: boolean, - ) { } - - public readonly toCancelOnResourceChange = new Set(); - - updateTsserverVersion(tsserverVersion: string) { - this.tsserverVersion = tsserverVersion; - } - - updateLanguageServiceEnabled(enabled: boolean) { - this.languageServiceEnabled = enabled; - } - } - - export class Errored { - readonly type = Type.Errored; - constructor( - public readonly error: Error, - public readonly tsServerLogFile: string | undefined, - ) { } - } - - export type State = typeof None | Running | Errored; -} - -export default class TypeScriptServiceClient extends Disposable implements ITypeScriptServiceClient { - - private readonly pathSeparator: string; - private readonly inMemoryResourcePrefix = '^'; - - private readonly workspaceState: vscode.Memento; - - private _onReady?: { promise: Promise; resolve: () => void; reject: () => void; }; - private _configuration: TypeScriptServiceConfiguration; - private pluginPathsProvider: TypeScriptPluginPathsProvider; - private readonly _versionManager: TypeScriptVersionManager; - - private readonly logger = new Logger(); - private readonly tracer = new Tracer(this.logger); - - private readonly typescriptServerSpawner: TypeScriptServerSpawner; - private serverState: ServerState.State = ServerState.None; - private lastStart: number; - private numberRestarts: number; - private _isPromptingAfterCrash = false; - private isRestarting: boolean = false; - private hasServerFatallyCrashedTooManyTimes = false; - private readonly loadingIndicator = new ServerInitializingIndicator(); - - public readonly telemetryReporter: TelemetryReporter; - public readonly bufferSyncSupport: BufferSyncSupport; - public readonly diagnosticsManager: DiagnosticsManager; - public readonly pluginManager: PluginManager; - - private readonly logDirectoryProvider: ILogDirectoryProvider; - private readonly cancellerFactory: OngoingRequestCancellerFactory; - private readonly versionProvider: ITypeScriptVersionProvider; - private readonly processFactory: TsServerProcessFactory; - - constructor( - private readonly context: vscode.ExtensionContext, - onCaseInsenitiveFileSystem: boolean, - services: { - pluginManager: PluginManager, - logDirectoryProvider: ILogDirectoryProvider, - cancellerFactory: OngoingRequestCancellerFactory, - versionProvider: ITypeScriptVersionProvider, - processFactory: TsServerProcessFactory, - }, - allModeIds: readonly string[] - ) { - super(); - - this.workspaceState = context.workspaceState; - - this.pluginManager = services.pluginManager; - this.logDirectoryProvider = services.logDirectoryProvider; - this.cancellerFactory = services.cancellerFactory; - this.versionProvider = services.versionProvider; - this.processFactory = services.processFactory; - - this.pathSeparator = path.sep; - this.lastStart = Date.now(); - - let resolve: () => void; - let reject: () => void; - const p = new Promise((res, rej) => { - resolve = res; - reject = rej; - }); - this._onReady = { promise: p, resolve: resolve!, reject: reject! }; - - this.numberRestarts = 0; - - this._configuration = TypeScriptServiceConfiguration.loadFromWorkspace(); - this.versionProvider.updateConfiguration(this._configuration); - - this.pluginPathsProvider = new TypeScriptPluginPathsProvider(this._configuration); - this._versionManager = this._register(new TypeScriptVersionManager(this._configuration, this.versionProvider, this.workspaceState)); - this._register(this._versionManager.onDidPickNewVersion(() => { - this.restartTsServer(); - })); - - this.bufferSyncSupport = new BufferSyncSupport(this, allModeIds, onCaseInsenitiveFileSystem); - this.onReady(() => { this.bufferSyncSupport.listen(); }); - - this.diagnosticsManager = new DiagnosticsManager('typescript', onCaseInsenitiveFileSystem); - this.bufferSyncSupport.onDelete(resource => { - this.cancelInflightRequestsForResource(resource); - this.diagnosticsManager.delete(resource); - }, null, this._disposables); - - this.bufferSyncSupport.onWillChange(resource => { - this.cancelInflightRequestsForResource(resource); - }); - - vscode.workspace.onDidChangeConfiguration(() => { - const oldConfiguration = this._configuration; - this._configuration = TypeScriptServiceConfiguration.loadFromWorkspace(); - - this.versionProvider.updateConfiguration(this._configuration); - this._versionManager.updateConfiguration(this._configuration); - this.pluginPathsProvider.updateConfiguration(this._configuration); - this.tracer.updateConfiguration(); - - if (this.serverState.type === ServerState.Type.Running) { - if (!this._configuration.implictProjectConfiguration.isEqualTo(oldConfiguration.implictProjectConfiguration)) { - this.setCompilerOptionsForInferredProjects(this._configuration); - } - - if (!this._configuration.isEqualTo(oldConfiguration)) { - this.restartTsServer(); - } - } - }, this, this._disposables); - - this.telemetryReporter = this._register(new VSCodeTelemetryReporter(() => { - if (this.serverState.type === ServerState.Type.Running) { - if (this.serverState.tsserverVersion) { - return this.serverState.tsserverVersion; - } - } - return this.apiVersion.fullVersionString; - })); - - this.typescriptServerSpawner = new TypeScriptServerSpawner(this.versionProvider, this._versionManager, this.logDirectoryProvider, this.pluginPathsProvider, this.logger, this.telemetryReporter, this.tracer, this.processFactory); - - this._register(this.pluginManager.onDidUpdateConfig(update => { - this.configurePlugin(update.pluginId, update.config); - })); - - this._register(this.pluginManager.onDidChangePlugins(() => { - this.restartTsServer(); - })); - } - - public get capabilities() { - if (isWeb()) { - return new ClientCapabilities( - ClientCapability.Syntax, - ClientCapability.EnhancedSyntax); - } - - if (this.apiVersion.gte(API.v400)) { - return new ClientCapabilities( - ClientCapability.Syntax, - ClientCapability.EnhancedSyntax, - ClientCapability.Semantic); - } - - return new ClientCapabilities( - ClientCapability.Syntax, - ClientCapability.Semantic); - } - - private readonly _onDidChangeCapabilities = this._register(new vscode.EventEmitter()); - readonly onDidChangeCapabilities = this._onDidChangeCapabilities.event; - - private cancelInflightRequestsForResource(resource: vscode.Uri): void { - if (this.serverState.type !== ServerState.Type.Running) { - return; - } - - for (const request of this.serverState.toCancelOnResourceChange) { - if (request.resource.toString() === resource.toString()) { - request.cancel(); - } - } - } - - public get configuration() { - return this._configuration; - } - - public dispose() { - super.dispose(); - - this.bufferSyncSupport.dispose(); - - if (this.serverState.type === ServerState.Type.Running) { - this.serverState.server.kill(); - } - - this.loadingIndicator.reset(); - } - - public restartTsServer(): void { - if (this.serverState.type === ServerState.Type.Running) { - this.info('Killing TS Server'); - this.isRestarting = true; - this.serverState.server.kill(); - } - - this.serverState = this.startService(true); - } - - private readonly _onTsServerStarted = this._register(new vscode.EventEmitter<{ version: TypeScriptVersion, usedApiVersion: API }>()); - public readonly onTsServerStarted = this._onTsServerStarted.event; - - private readonly _onDiagnosticsReceived = this._register(new vscode.EventEmitter()); - public readonly onDiagnosticsReceived = this._onDiagnosticsReceived.event; - - private readonly _onConfigDiagnosticsReceived = this._register(new vscode.EventEmitter()); - public readonly onConfigDiagnosticsReceived = this._onConfigDiagnosticsReceived.event; - - private readonly _onResendModelsRequested = this._register(new vscode.EventEmitter()); - public readonly onResendModelsRequested = this._onResendModelsRequested.event; - - private readonly _onProjectLanguageServiceStateChanged = this._register(new vscode.EventEmitter()); - public readonly onProjectLanguageServiceStateChanged = this._onProjectLanguageServiceStateChanged.event; - - private readonly _onDidBeginInstallTypings = this._register(new vscode.EventEmitter()); - public readonly onDidBeginInstallTypings = this._onDidBeginInstallTypings.event; - - private readonly _onDidEndInstallTypings = this._register(new vscode.EventEmitter()); - public readonly onDidEndInstallTypings = this._onDidEndInstallTypings.event; - - private readonly _onTypesInstallerInitializationFailed = this._register(new vscode.EventEmitter()); - public readonly onTypesInstallerInitializationFailed = this._onTypesInstallerInitializationFailed.event; - - private readonly _onSurveyReady = this._register(new vscode.EventEmitter()); - public readonly onSurveyReady = this._onSurveyReady.event; - - public get apiVersion(): API { - if (this.serverState.type === ServerState.Type.Running) { - return this.serverState.apiVersion; - } - return API.defaultVersion; - } - - public onReady(f: () => void): Promise { - return this._onReady!.promise.then(f); - } - - private info(message: string, data?: any): void { - this.logger.info(message, data); - } - - private error(message: string, data?: any): void { - this.logger.error(message, data); - } - - private logTelemetry(eventName: string, properties?: TelemetryProperties) { - this.telemetryReporter.logTelemetry(eventName, properties); - } - - private service(): ServerState.Running { - if (this.serverState.type === ServerState.Type.Running) { - return this.serverState; - } - if (this.serverState.type === ServerState.Type.Errored) { - throw this.serverState.error; - } - const newState = this.startService(); - if (newState.type === ServerState.Type.Running) { - return newState; - } - throw new Error(`Could not create TS service. Service state:${JSON.stringify(newState)}`); - } - - public ensureServiceStarted() { - if (this.serverState.type !== ServerState.Type.Running) { - this.startService(); - } - } - - private token: number = 0; - private startService(resendModels: boolean = false): ServerState.State { - this.info(`Starting TS Server `); - - if (this.isDisposed) { - this.info(`Not starting server. Disposed `); - return ServerState.None; - } - - if (this.hasServerFatallyCrashedTooManyTimes) { - this.info(`Not starting server. Too many crashes.`); - return ServerState.None; - } - - let version = this._versionManager.currentVersion; - if (!version.isValid) { - vscode.window.showWarningMessage(localize('noServerFound', 'The path {0} doesn\'t point to a valid tsserver install. Falling back to bundled TypeScript version.', version.path)); - - this._versionManager.reset(); - version = this._versionManager.currentVersion; - } - - this.info(`Using tsserver from: ${version.path}`); - - const apiVersion = version.apiVersion || API.defaultVersion; - const mytoken = ++this.token; - const handle = this.typescriptServerSpawner.spawn(version, this.capabilities, this.configuration, this.pluginManager, this.cancellerFactory, { - onFatalError: (command, err) => this.fatalError(command, err), - }); - this.serverState = new ServerState.Running(handle, apiVersion, undefined, true); - this.lastStart = Date.now(); - - /* __GDPR__ - "tsserver.spawned" : { - "${include}": [ - "${TypeScriptCommonProperties}" - ], - "localTypeScriptVersion": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "typeScriptVersionSource": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ - this.logTelemetry('tsserver.spawned', { - localTypeScriptVersion: this.versionProvider.localVersion ? this.versionProvider.localVersion.displayName : '', - typeScriptVersionSource: version.source, - }); - - handle.onError((err: Error) => { - if (this.token !== mytoken) { - // this is coming from an old process - return; - } - - if (err) { - vscode.window.showErrorMessage(localize('serverExitedWithError', 'TypeScript language server exited with error. Error message is: {0}', err.message || err.name)); - } - - this.serverState = new ServerState.Errored(err, handle.tsServerLogFile); - this.error('TSServer errored with error.', err); - if (handle.tsServerLogFile) { - this.error(`TSServer log file: ${handle.tsServerLogFile}`); - } - - /* __GDPR__ - "tsserver.error" : { - "${include}": [ - "${TypeScriptCommonProperties}" - ] - } - */ - this.logTelemetry('tsserver.error'); - this.serviceExited(false); - }); - - handle.onExit((code: any) => { - if (this.token !== mytoken) { - // this is coming from an old process - return; - } - - if (code === null || typeof code === 'undefined') { - this.info('TSServer exited'); - } else { - // In practice, the exit code is an integer with no ties to any identity, - // so it can be classified as SystemMetaData, rather than CallstackOrException. - this.error(`TSServer exited with code: ${code}`); - /* __GDPR__ - "tsserver.exitWithCode" : { - "code" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "${include}": [ - "${TypeScriptCommonProperties}" - ] - } - */ - this.logTelemetry('tsserver.exitWithCode', { code: code }); - } - - if (handle.tsServerLogFile) { - this.info(`TSServer log file: ${handle.tsServerLogFile}`); - } - this.serviceExited(!this.isRestarting); - this.isRestarting = false; - }); - - handle.onEvent(event => this.dispatchEvent(event)); - - if (apiVersion.gte(API.v300) && this.capabilities.has(ClientCapability.Semantic)) { - this.loadingIndicator.startedLoadingProject(undefined /* projectName */); - } - - this.serviceStarted(resendModels); - - this._onReady!.resolve(); - this._onTsServerStarted.fire({ version: version, usedApiVersion: apiVersion }); - this._onDidChangeCapabilities.fire(); - return this.serverState; - } - - public async showVersionPicker(): Promise { - this._versionManager.promptUserForVersion(); - } - - public async openTsServerLogFile(): Promise { - if (this._configuration.tsServerLogLevel === TsServerLogLevel.Off) { - vscode.window.showErrorMessage( - localize( - 'typescript.openTsServerLog.loggingNotEnabled', - 'TS Server logging is off. Please set `typescript.tsserver.log` and restart the TS server to enable logging'), - { - title: localize( - 'typescript.openTsServerLog.enableAndReloadOption', - 'Enable logging and restart TS server'), - }) - .then(selection => { - if (selection) { - return vscode.workspace.getConfiguration().update('typescript.tsserver.log', 'verbose', true).then(() => { - this.restartTsServer(); - }); - } - return undefined; - }); - return false; - } - - if (this.serverState.type !== ServerState.Type.Running || !this.serverState.server.tsServerLogFile) { - vscode.window.showWarningMessage(localize( - 'typescript.openTsServerLog.noLogFile', - 'TS Server has not started logging.')); - return false; - } - - try { - const doc = await vscode.workspace.openTextDocument(vscode.Uri.file(this.serverState.server.tsServerLogFile)); - await vscode.window.showTextDocument(doc); - return true; - } catch { - // noop - } - - try { - await vscode.commands.executeCommand('revealFileInOS', vscode.Uri.file(this.serverState.server.tsServerLogFile)); - return true; - } catch { - vscode.window.showWarningMessage(localize( - 'openTsServerLog.openFileFailedFailed', - 'Could not open TS Server log file')); - return false; - } - } - - private serviceStarted(resendModels: boolean): void { - this.bufferSyncSupport.reset(); - - const watchOptions = this.apiVersion.gte(API.v380) - ? this.configuration.watchOptions - : undefined; - - const configureOptions: Proto.ConfigureRequestArguments = { - hostInfo: 'vscode', - preferences: { - providePrefixAndSuffixTextForRename: true, - allowRenameOfImportPath: true, - includePackageJsonAutoImports: this._configuration.includePackageJsonAutoImports, - }, - watchOptions - }; - this.executeWithoutWaitingForResponse('configure', configureOptions); - this.setCompilerOptionsForInferredProjects(this._configuration); - if (resendModels) { - this._onResendModelsRequested.fire(); - this.bufferSyncSupport.reinitialize(); - this.bufferSyncSupport.requestAllDiagnostics(); - } - - // Reconfigure any plugins - for (const [config, pluginName] of this.pluginManager.configurations()) { - this.configurePlugin(config, pluginName); - } - } - - private setCompilerOptionsForInferredProjects(configuration: TypeScriptServiceConfiguration): void { - const args: Proto.SetCompilerOptionsForInferredProjectsArgs = { - options: this.getCompilerOptionsForInferredProjects(configuration) - }; - this.executeWithoutWaitingForResponse('compilerOptionsForInferredProjects', args); - } - - private getCompilerOptionsForInferredProjects(configuration: TypeScriptServiceConfiguration): Proto.ExternalProjectCompilerOptions { - return { - ...inferredProjectCompilerOptions(ProjectType.TypeScript, configuration), - allowJs: true, - allowSyntheticDefaultImports: true, - allowNonTsExtensions: true, - resolveJsonModule: true, - }; - } - - private serviceExited(restart: boolean): void { - this.loadingIndicator.reset(); - - const previousState = this.serverState; - this.serverState = ServerState.None; - - if (restart) { - const diff = Date.now() - this.lastStart; - this.numberRestarts++; - let startService = true; - - const reportIssueItem: vscode.MessageItem = { - title: localize('serverDiedReportIssue', 'Report Issue'), - }; - let prompt: Thenable | undefined = undefined; - - if (this.numberRestarts > 5) { - this.numberRestarts = 0; - if (diff < 10 * 1000 /* 10 seconds */) { - this.lastStart = Date.now(); - startService = false; - this.hasServerFatallyCrashedTooManyTimes = true; - prompt = vscode.window.showErrorMessage( - localize('serverDiedAfterStart', 'The TypeScript language service died 5 times right after it got started. The service will not be restarted.'), - reportIssueItem); - - /* __GDPR__ - "serviceExited" : { - "${include}": [ - "${TypeScriptCommonProperties}" - ] - } - */ - this.logTelemetry('serviceExited'); - } else if (diff < 60 * 1000 * 5 /* 5 Minutes */) { - this.lastStart = Date.now(); - prompt = vscode.window.showWarningMessage( - localize('serverDied', 'The TypeScript language service died unexpectedly 5 times in the last 5 Minutes.'), - reportIssueItem); - } - } else if (['vscode-insiders', 'code-oss'].includes(vscode.env.uriScheme)) { - // Prompt after a single restart - if (!this._isPromptingAfterCrash && previousState.type === ServerState.Type.Errored && previousState.error instanceof TypeScriptServerError) { - this.numberRestarts = 0; - this._isPromptingAfterCrash = true; - prompt = vscode.window.showWarningMessage( - localize('serverDiedOnce', 'The TypeScript language service died unexpectedly.'), - reportIssueItem); - } - } - - prompt?.then(item => { - this._isPromptingAfterCrash = false; - - if (item === reportIssueItem) { - const args = previousState.type === ServerState.Type.Errored && previousState.error instanceof TypeScriptServerError - ? getReportIssueArgsForError(previousState.error, previousState.tsServerLogFile) - : undefined; - vscode.commands.executeCommand('workbench.action.openIssueReporter', args); - } - }); - - if (startService) { - this.startService(true); - } - } - } - - public normalizedPath(resource: vscode.Uri): string | undefined { - if (fileSchemes.disabledSchemes.has(resource.scheme)) { - return undefined; - } - - switch (resource.scheme) { - case fileSchemes.file: - { - let result = resource.fsPath; - if (!result) { - return undefined; - } - result = path.normalize(result); - - // Both \ and / must be escaped in regular expressions - return result.replace(new RegExp('\\' + this.pathSeparator, 'g'), '/'); - } - default: - { - return this.inMemoryResourcePrefix + resource.toString(true); - } - } - } - - public toPath(resource: vscode.Uri): string | undefined { - return this.normalizedPath(resource); - } - - public toOpenedFilePath(document: vscode.TextDocument, options: { suppressAlertOnFailure?: boolean } = {}): string | undefined { - if (!this.bufferSyncSupport.ensureHasBuffer(document.uri)) { - if (!options.suppressAlertOnFailure && !fileSchemes.disabledSchemes.has(document.uri.scheme)) { - console.error(`Unexpected resource ${document.uri}`); - } - return undefined; - } - return this.toPath(document.uri); - } - - public hasCapabilityForResource(resource: vscode.Uri, capability: ClientCapability): boolean { - switch (capability) { - case ClientCapability.Semantic: - { - return fileSchemes.semanticSupportedSchemes.includes(resource.scheme); - } - case ClientCapability.Syntax: - case ClientCapability.EnhancedSyntax: - { - return true; - } - } - } - - public toResource(filepath: string): vscode.Uri { - if (isWeb()) { - // On web, treat absolute paths as pointing to standard lib files - if (filepath.startsWith('/')) { - // below codes are changed by github1s - return vscode.Uri.joinPath(this.context.extensionUri, 'dist', 'browser', 'typescript', filepath.slice(1)); - // about codes are changed by github1s - } - } - - if (filepath.startsWith(this.inMemoryResourcePrefix)) { - const resource = vscode.Uri.parse(filepath.slice(1)); - return this.bufferSyncSupport.toVsCodeResource(resource); - } - return this.bufferSyncSupport.toResource(filepath); - } - - public getWorkspaceRootForResource(resource: vscode.Uri): string | undefined { - const roots = vscode.workspace.workspaceFolders ? Array.from(vscode.workspace.workspaceFolders) : undefined; - if (!roots || !roots.length) { - return undefined; - } - - if (resource.scheme === fileSchemes.file || resource.scheme === fileSchemes.untitled) { - for (const root of roots.sort((a, b) => a.uri.fsPath.length - b.uri.fsPath.length)) { - if (resource.fsPath.startsWith(root.uri.fsPath + path.sep)) { - return root.uri.fsPath; - } - } - return roots[0].uri.fsPath; - } - - return undefined; - } - - public execute(command: keyof TypeScriptRequests, args: any, token: vscode.CancellationToken, config?: ExecConfig): Promise> { - let execution: Promise>; - - if (config?.cancelOnResourceChange) { - const runningServerState = this.service(); - - const source = new vscode.CancellationTokenSource(); - token.onCancellationRequested(() => source.cancel()); - - const inFlight: ToCancelOnResourceChanged = { - resource: config.cancelOnResourceChange, - cancel: () => source.cancel(), - }; - runningServerState.toCancelOnResourceChange.add(inFlight); - - execution = this.executeImpl(command, args, { - isAsync: false, - token: source.token, - expectsResult: true, - ...config, - }).finally(() => { - runningServerState.toCancelOnResourceChange.delete(inFlight); - source.dispose(); - }); - } else { - execution = this.executeImpl(command, args, { - isAsync: false, - token, - expectsResult: true, - ...config, - }); - } - - if (config?.nonRecoverable) { - execution.catch(err => this.fatalError(command, err)); - } - - return execution; - } - - public executeWithoutWaitingForResponse(command: keyof TypeScriptRequests, args: any): void { - this.executeImpl(command, args, { - isAsync: false, - token: undefined, - expectsResult: false - }); - } - - public executeAsync(command: keyof TypeScriptRequests, args: Proto.GeterrRequestArgs, token: vscode.CancellationToken): Promise> { - return this.executeImpl(command, args, { - isAsync: true, - token, - expectsResult: true - }); - } - - private executeImpl(command: keyof TypeScriptRequests, args: any, executeInfo: { isAsync: boolean, token?: vscode.CancellationToken, expectsResult: false, lowPriority?: boolean, requireSemantic?: boolean }): undefined; - private executeImpl(command: keyof TypeScriptRequests, args: any, executeInfo: { isAsync: boolean, token?: vscode.CancellationToken, expectsResult: boolean, lowPriority?: boolean, requireSemantic?: boolean }): Promise>; - private executeImpl(command: keyof TypeScriptRequests, args: any, executeInfo: { isAsync: boolean, token?: vscode.CancellationToken, expectsResult: boolean, lowPriority?: boolean, requireSemantic?: boolean }): Promise> | undefined { - this.bufferSyncSupport.beforeCommand(command); - const runningServerState = this.service(); - return runningServerState.server.executeImpl(command, args, executeInfo); - } - - public interruptGetErr(f: () => R): R { - return this.bufferSyncSupport.interruptGetErr(f); - } - - private fatalError(command: string, error: unknown): void { - /* __GDPR__ - "fatalError" : { - "${include}": [ - "${TypeScriptCommonProperties}", - "${TypeScriptRequestErrorProperties}" - ], - "command" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ - this.logTelemetry('fatalError', { ...(error instanceof TypeScriptServerError ? error.telemetry : { command }) }); - console.error(`A non-recoverable error occured while executing tsserver command: ${command}`); - if (error instanceof TypeScriptServerError && error.serverErrorText) { - console.error(error.serverErrorText); - } - - if (this.serverState.type === ServerState.Type.Running) { - this.info('Killing TS Server'); - const logfile = this.serverState.server.tsServerLogFile; - this.serverState.server.kill(); - if (error instanceof TypeScriptServerError) { - this.serverState = new ServerState.Errored(error, logfile); - } - } - } - - private dispatchEvent(event: Proto.Event) { - switch (event.event) { - case EventName.syntaxDiag: - case EventName.semanticDiag: - case EventName.suggestionDiag: - // This event also roughly signals that projects have been loaded successfully (since the TS server is synchronous) - this.loadingIndicator.reset(); - - const diagnosticEvent = event as Proto.DiagnosticEvent; - if (diagnosticEvent.body && diagnosticEvent.body.diagnostics) { - this._onDiagnosticsReceived.fire({ - kind: getDignosticsKind(event), - resource: this.toResource(diagnosticEvent.body.file), - diagnostics: diagnosticEvent.body.diagnostics - }); - } - break; - - case EventName.configFileDiag: - this._onConfigDiagnosticsReceived.fire(event as Proto.ConfigFileDiagnosticEvent); - break; - - case EventName.telemetry: - { - const body = (event as Proto.TelemetryEvent).body; - this.dispatchTelemetryEvent(body); - break; - } - case EventName.projectLanguageServiceState: - { - const body = (event as Proto.ProjectLanguageServiceStateEvent).body!; - if (this.serverState.type === ServerState.Type.Running) { - this.serverState.updateLanguageServiceEnabled(body.languageServiceEnabled); - } - this._onProjectLanguageServiceStateChanged.fire(body); - break; - } - case EventName.projectsUpdatedInBackground: - this.loadingIndicator.reset(); - - const body = (event as Proto.ProjectsUpdatedInBackgroundEvent).body; - const resources = body.openFiles.map(file => this.toResource(file)); - this.bufferSyncSupport.getErr(resources); - break; - - case EventName.beginInstallTypes: - this._onDidBeginInstallTypings.fire((event as Proto.BeginInstallTypesEvent).body); - break; - - case EventName.endInstallTypes: - this._onDidEndInstallTypings.fire((event as Proto.EndInstallTypesEvent).body); - break; - - case EventName.typesInstallerInitializationFailed: - this._onTypesInstallerInitializationFailed.fire((event as Proto.TypesInstallerInitializationFailedEvent).body); - break; - - case EventName.surveyReady: - this._onSurveyReady.fire((event as Proto.SurveyReadyEvent).body); - break; - - case EventName.projectLoadingStart: - this.loadingIndicator.startedLoadingProject((event as Proto.ProjectLoadingStartEvent).body.projectName); - break; - - case EventName.projectLoadingFinish: - this.loadingIndicator.finishedLoadingProject((event as Proto.ProjectLoadingFinishEvent).body.projectName); - break; - } - } - - private dispatchTelemetryEvent(telemetryData: Proto.TelemetryEventBody): void { - const properties: { [key: string]: string } = Object.create(null); - switch (telemetryData.telemetryEventName) { - case 'typingsInstalled': - const typingsInstalledPayload: Proto.TypingsInstalledTelemetryEventPayload = (telemetryData.payload as Proto.TypingsInstalledTelemetryEventPayload); - properties['installedPackages'] = typingsInstalledPayload.installedPackages; - - if (typeof typingsInstalledPayload.installSuccess === 'boolean') { - properties['installSuccess'] = typingsInstalledPayload.installSuccess.toString(); - } - if (typeof typingsInstalledPayload.typingsInstallerVersion === 'string') { - properties['typingsInstallerVersion'] = typingsInstalledPayload.typingsInstallerVersion; - } - break; - - default: - const payload = telemetryData.payload; - if (payload) { - Object.keys(payload).forEach((key) => { - try { - if (payload.hasOwnProperty(key)) { - properties[key] = typeof payload[key] === 'string' ? payload[key] : JSON.stringify(payload[key]); - } - } catch (e) { - // noop - } - }); - } - break; - } - if (telemetryData.telemetryEventName === 'projectInfo') { - if (this.serverState.type === ServerState.Type.Running) { - this.serverState.updateTsserverVersion(properties['version']); - } - } - - /* __GDPR__ - "typingsInstalled" : { - "installedPackages" : { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "installSuccess": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "typingsInstallerVersion": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "${include}": [ - "${TypeScriptCommonProperties}" - ] - } - */ - // __GDPR__COMMENT__: Other events are defined by TypeScript. - this.logTelemetry(telemetryData.telemetryEventName, properties); - } - - private configurePlugin(pluginName: string, configuration: {}): any { - if (this.apiVersion.gte(API.v314)) { - this.executeWithoutWaitingForResponse('configurePlugin', { pluginName, configuration }); - } - } -} - -function getReportIssueArgsForError( - error: TypeScriptServerError, - logPath: string | undefined, -): { extensionId: string, issueTitle: string, issueBody: string } | undefined { - if (!error.serverStack || !error.serverMessage) { - return undefined; - } - - // Note these strings are intentionally not localized - // as we want users to file issues in english - - const sections = [ - `❗️❗️❗️ Please fill in the sections below to help us diagnose the issue ❗️❗️❗️`, - `**TypeScript Version:** ${error.version.apiVersion?.fullVersionString}`, - `**Steps to reproduce crash** - -1. -2. -3.`, - ]; - - if (logPath) { - sections.push(`**TS Server Log** - -❗️ Please review and upload this log file to help us diagnose this crash: - -\`${logPath}\` - -The log file may contain personal data, including full paths and source code from your workspace. You can scrub the log file to remove paths or other personal information. -`); - } else { - - sections.push(`**TS Server Log** - -❗️Server logging disabled. To help us fix crashes like this, please enable logging by setting: - -\`\`\`json -"typescript.tsserver.log": "verbose" -\`\`\` - -After enabling this setting, future crash reports will include the server log.`); - } - - sections.push(`**TS Server Error Stack** - -Server: \`${error.serverId}\` - -\`\`\` -${error.serverStack} -\`\`\``); - - return { - extensionId: 'vscode.typescript-language-features', - issueTitle: `TS Server fatal error: ${error.serverMessage}`, - - issueBody: sections.join('\n\n') - }; -} - -function getDignosticsKind(event: Proto.Event) { - switch (event.event) { - case 'syntaxDiag': return DiagnosticKind.Syntax; - case 'semanticDiag': return DiagnosticKind.Semantic; - case 'suggestionDiag': return DiagnosticKind.Suggestion; - } - throw new Error('Unknown dignostics kind'); -} - -class ServerInitializingIndicator extends Disposable { - private _task?: { project: string | undefined, resolve: () => void, reject: () => void }; - - public reset(): void { - if (this._task) { - this._task.reject(); - this._task = undefined; - } - } - - /** - * Signal that a project has started loading. - */ - public startedLoadingProject(projectName: string | undefined): void { - // TS projects are loaded sequentially. Cancel existing task because it should always be resolved before - // the incoming project loading task is. - this.reset(); - - vscode.window.withProgress({ - location: vscode.ProgressLocation.Window, - title: localize('serverLoading.progress', "Initializing JS/TS language features"), - }, () => new Promise((resolve, reject) => { - this._task = { project: projectName, resolve, reject }; - })); - } - - public finishedLoadingProject(projectName: string | undefined): void { - if (this._task && this._task.project === projectName) { - this._task.resolve(); - this._task = undefined; - } - } -} - diff --git a/vscode-web-github1s/scripts/clone.sh b/vscode-web-github1s/scripts/clone.sh index 0ed3cc009..8052472d9 100755 --- a/vscode-web-github1s/scripts/clone.sh +++ b/vscode-web-github1s/scripts/clone.sh @@ -13,7 +13,7 @@ function main() { fi mkdir -p lib cd lib - git clone --depth 1 -b 1.55.0 https://github.com/microsoft/vscode.git vscode + git clone --depth 1 -b 1.60.0 https://github.com/microsoft/vscode.git vscode cd vscode yarn --frozen-lockfile } diff --git a/vscode-web-github1s/scripts/sync-code.sh b/vscode-web-github1s/scripts/sync-code.sh index 23a393f13..990bc1898 100755 --- a/vscode-web-github1s/scripts/sync-code.sh +++ b/vscode-web-github1s/scripts/sync-code.sh @@ -9,7 +9,9 @@ echo $APP_ROOT function main() { cd ${APP_ROOT} rsync -a src/ lib/vscode/src - rsync -a extensions/ lib/vscode/extensions + if [ -e extensions ]; then + rsync -a extensions/ lib/vscode/extensions + fi } main "$@" diff --git a/vscode-web-github1s/src/vs/base/common/platform.ts b/vscode-web-github1s/src/vs/base/common/platform.ts index 9820e719b..055fffa17 100644 --- a/vscode-web-github1s/src/vs/base/common/platform.ts +++ b/vscode-web-github1s/src/vs/base/common/platform.ts @@ -28,7 +28,7 @@ interface NLSConfig { } export interface IProcessEnvironment { - [key: string]: string; + [key: string]: string | undefined; } /** @@ -40,6 +40,7 @@ export interface IProcessEnvironment { */ export interface INodeProcess { platform: string; + arch: string; env: IProcessEnvironment; nextTick?: (callback: (...args: any[]) => void) => void; versions?: { @@ -57,36 +58,16 @@ declare const self: unknown; export const globals: any = (typeof self === 'object' ? self : typeof global === 'object' ? global : {}); let nodeProcess: INodeProcess | undefined = undefined; -if (typeof process !== 'undefined') { - // Native environment (non-sandboxed) - nodeProcess = process; -} else if (typeof globals.vscode !== 'undefined') { +if (typeof globals.vscode !== 'undefined' && typeof globals.vscode.process !== 'undefined') { // Native environment (sandboxed) nodeProcess = globals.vscode.process; +} else if (typeof process !== 'undefined') { + // Native environment (non-sandboxed) + nodeProcess = process; } const isElectronRenderer = typeof nodeProcess?.versions?.electron === 'string' && nodeProcess.type === 'renderer'; export const isElectronSandboxed = isElectronRenderer && nodeProcess?.sandboxed; -export const browserCodeLoadingCacheStrategy: 'none' | 'code' | 'bypassHeatCheck' | 'bypassHeatCheckAndEagerCompile' | undefined = (() => { - - // Always enabled when sandbox is enabled - if (isElectronSandboxed) { - return 'bypassHeatCheck'; - } - - // Otherwise, only enabled conditionally - const env = nodeProcess?.env['ENABLE_VSCODE_BROWSER_CODE_LOADING']; - if (typeof env === 'string') { - if (env === 'none' || env === 'code' || env === 'bypassHeatCheck' || env === 'bypassHeatCheckAndEagerCompile') { - return env; - } - - return 'bypassHeatCheck'; - } - - return undefined; -})(); -export const isPreferringBrowserCodeLoad = typeof browserCodeLoadingCacheStrategy === 'string'; interface INavigator { userAgent: string; @@ -215,7 +196,7 @@ export namespace Language { export const locale = _locale; /** - * The translatios that are available through language packs. + * The translations that are available through language packs. */ export const translationsConfigFile = _translationsConfigFile; diff --git a/vscode-web-github1s/src/vs/code/browser/workbench/workbench.ts b/vscode-web-github1s/src/vs/code/browser/workbench/workbench.ts index 7cd7ff01f..023e12cb9 100644 --- a/vscode-web-github1s/src/vs/code/browser/workbench/workbench.ts +++ b/vscode-web-github1s/src/vs/code/browser/workbench/workbench.ts @@ -3,29 +3,25 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IWorkbenchConstructionOptions, create, ICredentialsProvider, IURLCallbackProvider, IWorkspaceProvider, IWorkspace, IWindowIndicator, IProductQualityChangeHandler, ISettingsSyncOptions } from 'vs/workbench/workbench.web.api'; -import { URI, UriComponents } from 'vs/base/common/uri'; -import { Event, Emitter } from 'vs/base/common/event'; -import { generateUuid } from 'vs/base/common/uuid'; -import { CancellationToken } from 'vs/base/common/cancellation'; +import { isStandalone } from 'vs/base/browser/browser'; import { streamToBuffer } from 'vs/base/common/buffer'; +import { CancellationToken } from 'vs/base/common/cancellation'; +import { Emitter, Event } from 'vs/base/common/event'; import { Disposable } from 'vs/base/common/lifecycle'; -import { request } from 'vs/base/parts/request/browser/request'; -import { isFolderToOpen, isWorkspaceToOpen } from 'vs/platform/windows/common/windows'; +import { Schemas } from 'vs/base/common/network'; import { isEqual } from 'vs/base/common/resources'; -import { isStandalone } from 'vs/base/browser/browser'; +import { URI, UriComponents } from 'vs/base/common/uri'; +import { generateUuid } from 'vs/base/common/uuid'; +import { request } from 'vs/base/parts/request/browser/request'; import { localize } from 'vs/nls'; -import { Schemas } from 'vs/base/common/network'; -import product from 'vs/platform/product/common/product'; import { parseLogLevel } from 'vs/platform/log/common/log'; +import product from 'vs/platform/product/common/product'; +import { isFolderToOpen, isWorkspaceToOpen } from 'vs/platform/windows/common/windows'; +import { create, ICredentialsProvider, IHomeIndicator, IProductQualityChangeHandler, ISettingsSyncOptions, IURLCallbackProvider, IWelcomeBanner, IWindowIndicator, IWorkbenchConstructionOptions, IWorkspace, IWorkspaceProvider } from 'vs/workbench/workbench.web.api'; // below codes are changed by github1s -// eslint-disable-next-line import { getBrowserUrl, replaceBrowserUrl } from 'vs/github1s/util'; -// eslint-disable-next-line import { renderNotification } from 'vs/github1s/notification'; -// eslint-disable-next-line import { getGitHubAccessToken } from 'vs/github1s/authorizing-github'; -// eslint-disable-next-line import { getGitHubAccessTokenWithOverlay, hideAuthorizingOverlay } from 'vs/github1s/authorizing-overlay'; // custom vs code commands defined by github1s @@ -300,27 +296,32 @@ class WorkspaceProvider implements IWorkspaceProvider { readonly trusted = true; constructor( - public readonly workspace: IWorkspace, - public readonly payload: object + readonly workspace: IWorkspace, + readonly payload: object ) { } - async open(workspace: IWorkspace, options?: { reuse?: boolean, payload?: object }): Promise { + async open(workspace: IWorkspace, options?: { reuse?: boolean, payload?: object }): Promise { if (options?.reuse && !options.payload && this.isSame(this.workspace, workspace)) { - return; // return early if workspace and environment is not changing and we are reusing window + return true; // return early if workspace and environment is not changing and we are reusing window } const targetHref = this.createTargetUrl(workspace, options); if (targetHref) { if (options?.reuse) { window.location.href = targetHref; + return true; } else { + let result; if (isStandalone) { - window.open(targetHref, '_blank', 'toolbar=no'); // ensures to open another 'standalone' window! + result = window.open(targetHref, '_blank', 'toolbar=no'); // ensures to open another 'standalone' window! } else { - window.open(targetHref); + result = window.open(targetHref); } + + return !!result; } } + return false; } private createTargetUrl(workspace: IWorkspace, options?: { reuse?: boolean, payload?: object }): string | undefined { @@ -400,6 +401,10 @@ class WindowIndicator implements IWindowIndicator { uri = workspace.workspaceUri; } + if (uri?.scheme === 'github' || uri?.scheme === 'codespace') { + [repositoryOwner, repositoryName] = uri.authority.split('+'); + } + // below codes are changed by github1s if (uri?.scheme === 'github1s') { [repositoryOwner = 'conwnet', repositoryName = 'github1s'] = URI.parse(getBrowserUrl()).path.split('/').filter(Boolean); @@ -436,13 +441,6 @@ class WindowIndicator implements IWindowIndicator { const config: IWorkbenchConstructionOptions & { folderUri?: UriComponents, workspaceUri?: UriComponents } = JSON.parse(configElementAttribute); - // Revive static extension locations - if (Array.isArray(config.staticExtensions)) { - config.staticExtensions.forEach(extension => { - extension.extensionLocation = URI.revive(extension.extensionLocation); - }); - } - // Find workspace to open and payload let foundWorkspace = false; let workspace: IWorkspace; @@ -511,6 +509,15 @@ class WindowIndicator implements IWindowIndicator { // }; // above codes are changed by github1s + // Welcome Banner + const welcomeBanner: IWelcomeBanner = { + message: localize('welcomeBannerMessage', "{0} Web. Browser based playground for testing.", product.nameShort), + actions: [{ + href: 'https://github.com/microsoft/vscode', + label: localize('learnMore', "Learn More") + }] + }; + // Window indicator (unless connected to a remote) let windowIndicator: WindowIndicator | undefined = undefined; if (!workspaceProvider.hasRemote()) { @@ -535,19 +542,6 @@ class WindowIndicator implements IWindowIndicator { // settings sync options const settingsSyncOptions: ISettingsSyncOptions | undefined = config.settingsSyncOptions ? { enabled: config.settingsSyncOptions.enabled, - enablementHandler: (enablement) => { - let queryString = `settingsSync=${enablement ? 'true' : 'false'}`; - - // Save all other query params we might have - const query = new URL(document.location.href).searchParams; - query.forEach((value, key) => { - if (key !== 'settingsSync') { - queryString += `&${key}=${value}`; - } - }); - - window.location.href = `${window.location.origin}?${queryString}`; - } } : undefined; // Finally create workbench @@ -556,12 +550,16 @@ class WindowIndicator implements IWindowIndicator { // below codes are changed by github1s commands: getGitHub1sCustomCommands(), // above codes are changed by github1s - logLevel: logLevel ? parseLogLevel(logLevel) : undefined, + developmentOptions: { + logLevel: logLevel ? parseLogLevel(logLevel) : undefined, + ...config.developmentOptions + }, settingsSyncOptions, // below codes are changed by github1s // homeIndicator, // above codes are changed by github1s windowIndicator, + welcomeBanner, productQualityChangeHandler, workspaceProvider, urlCallbackProvider: new PollingURLCallbackProvider(), diff --git a/vscode-web-github1s/src/vs/editor/browser/controller/textAreaHandler.ts b/vscode-web-github1s/src/vs/editor/browser/controller/textAreaHandler.ts deleted file mode 100644 index 78e2b3dba..000000000 --- a/vscode-web-github1s/src/vs/editor/browser/controller/textAreaHandler.ts +++ /dev/null @@ -1,678 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import 'vs/css!./textAreaHandler'; -import * as nls from 'vs/nls'; -import * as browser from 'vs/base/browser/browser'; -import { FastDomNode, createFastDomNode } from 'vs/base/browser/fastDomNode'; -import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent'; -import * as platform from 'vs/base/common/platform'; -import * as strings from 'vs/base/common/strings'; -import { Configuration } from 'vs/editor/browser/config/configuration'; -import { CopyOptions, ICompositionData, IPasteData, ITextAreaInputHost, TextAreaInput, ClipboardDataToCopy } from 'vs/editor/browser/controller/textAreaInput'; -import { ISimpleModel, ITypeData, PagedScreenReaderStrategy, TextAreaState, _debugComposition } from 'vs/editor/browser/controller/textAreaState'; -import { ViewController } from 'vs/editor/browser/view/viewController'; -import { PartFingerprint, PartFingerprints, ViewPart } from 'vs/editor/browser/view/viewPart'; -import { LineNumbersOverlay } from 'vs/editor/browser/viewParts/lineNumbers/lineNumbers'; -import { Margin } from 'vs/editor/browser/viewParts/margin/margin'; -import { RenderLineNumbersType, EditorOption, IComputedEditorOptions, EditorOptions } from 'vs/editor/common/config/editorOptions'; -import { BareFontInfo } from 'vs/editor/common/config/fontInfo'; -import { WordCharacterClass, getMapForWordSeparators } from 'vs/editor/common/controller/wordCharacterClassifier'; -import { Position } from 'vs/editor/common/core/position'; -import { Range } from 'vs/editor/common/core/range'; -import { Selection } from 'vs/editor/common/core/selection'; -import { ScrollType } from 'vs/editor/common/editorCommon'; -import { EndOfLinePreference } from 'vs/editor/common/model'; -import { RenderingContext, RestrictedRenderingContext, HorizontalPosition } from 'vs/editor/common/view/renderingContext'; -import { ViewContext } from 'vs/editor/common/view/viewContext'; -import * as viewEvents from 'vs/editor/common/view/viewEvents'; -import { AccessibilitySupport } from 'vs/platform/accessibility/common/accessibility'; -import { IEditorAriaOptions } from 'vs/editor/browser/editorBrowser'; -import { MOUSE_CURSOR_TEXT_CSS_CLASS_NAME } from 'vs/base/browser/ui/mouseCursor/mouseCursor'; - -export interface ITextAreaHandlerHelper { - visibleRangeForPositionRelativeToEditor(lineNumber: number, column: number): HorizontalPosition | null; -} - -class VisibleTextAreaData { - _visibleTextAreaBrand: void; - - public readonly top: number; - public readonly left: number; - public readonly width: number; - - constructor(top: number, left: number, width: number) { - this.top = top; - this.left = left; - this.width = width; - } - - public setWidth(width: number): VisibleTextAreaData { - return new VisibleTextAreaData(this.top, this.left, width); - } -} - -const canUseZeroSizeTextarea = (browser.isFirefox); - -export class TextAreaHandler extends ViewPart { - - private readonly _viewController: ViewController; - private readonly _viewHelper: ITextAreaHandlerHelper; - private _scrollLeft: number; - private _scrollTop: number; - - private _accessibilitySupport!: AccessibilitySupport; - private _accessibilityPageSize!: number; - private _contentLeft: number; - private _contentWidth: number; - private _contentHeight: number; - private _fontInfo: BareFontInfo; - private _lineHeight: number; - private _emptySelectionClipboard: boolean; - private _copyWithSyntaxHighlighting: boolean; - - /** - * Defined only when the text area is visible (composition case). - */ - private _visibleTextArea: VisibleTextAreaData | null; - private _selections: Selection[]; - private _modelSelections: Selection[]; - - /** - * The position at which the textarea was rendered. - * This is useful for hit-testing and determining the mouse position. - */ - private _lastRenderPosition: Position | null; - - public readonly textArea: FastDomNode; - public readonly textAreaCover: FastDomNode; - private readonly _textAreaInput: TextAreaInput; - - constructor(context: ViewContext, viewController: ViewController, viewHelper: ITextAreaHandlerHelper) { - super(context); - - this._viewController = viewController; - this._viewHelper = viewHelper; - this._scrollLeft = 0; - this._scrollTop = 0; - - const options = this._context.configuration.options; - const layoutInfo = options.get(EditorOption.layoutInfo); - - this._setAccessibilityOptions(options); - this._contentLeft = layoutInfo.contentLeft; - this._contentWidth = layoutInfo.contentWidth; - this._contentHeight = layoutInfo.height; - this._fontInfo = options.get(EditorOption.fontInfo); - this._lineHeight = options.get(EditorOption.lineHeight); - this._emptySelectionClipboard = options.get(EditorOption.emptySelectionClipboard); - this._copyWithSyntaxHighlighting = options.get(EditorOption.copyWithSyntaxHighlighting); - - this._visibleTextArea = null; - this._selections = [new Selection(1, 1, 1, 1)]; - this._modelSelections = [new Selection(1, 1, 1, 1)]; - this._lastRenderPosition = null; - - // Text Area (The focus will always be in the textarea when the cursor is blinking) - this.textArea = createFastDomNode(document.createElement('textarea')); - PartFingerprints.write(this.textArea, PartFingerprint.TextArea); - this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`); - this.textArea.setAttribute('wrap', 'off'); - this.textArea.setAttribute('autocorrect', 'off'); - this.textArea.setAttribute('autocapitalize', 'off'); - this.textArea.setAttribute('autocomplete', 'off'); - this.textArea.setAttribute('spellcheck', 'false'); - this.textArea.setAttribute('aria-label', this._getAriaLabel(options)); - this.textArea.setAttribute('tabindex', String(options.get(EditorOption.tabIndex))); - this.textArea.setAttribute('role', 'textbox'); - this.textArea.setAttribute('aria-roledescription', nls.localize('editor', "editor")); - this.textArea.setAttribute('aria-multiline', 'true'); - this.textArea.setAttribute('aria-haspopup', 'false'); - this.textArea.setAttribute('aria-autocomplete', 'both'); - - // below codes are changed by github1s - if (options.get(EditorOption.domReadOnly) && options.get(EditorOption.readOnly)) { - // above codes are changed by github1s - this.textArea.setAttribute('readonly', 'true'); - } - - this.textAreaCover = createFastDomNode(document.createElement('div')); - this.textAreaCover.setPosition('absolute'); - - const simpleModel: ISimpleModel = { - getLineCount: (): number => { - return this._context.model.getLineCount(); - }, - getLineMaxColumn: (lineNumber: number): number => { - return this._context.model.getLineMaxColumn(lineNumber); - }, - getValueInRange: (range: Range, eol: EndOfLinePreference): string => { - return this._context.model.getValueInRange(range, eol); - } - }; - - const textAreaInputHost: ITextAreaInputHost = { - getDataToCopy: (generateHTML: boolean): ClipboardDataToCopy => { - const rawTextToCopy = this._context.model.getPlainTextToCopy(this._modelSelections, this._emptySelectionClipboard, platform.isWindows); - const newLineCharacter = this._context.model.getEOL(); - - const isFromEmptySelection = (this._emptySelectionClipboard && this._modelSelections.length === 1 && this._modelSelections[0].isEmpty()); - const multicursorText = (Array.isArray(rawTextToCopy) ? rawTextToCopy : null); - const text = (Array.isArray(rawTextToCopy) ? rawTextToCopy.join(newLineCharacter) : rawTextToCopy); - - let html: string | null | undefined = undefined; - let mode: string | null = null; - if (generateHTML) { - if (CopyOptions.forceCopyWithSyntaxHighlighting || (this._copyWithSyntaxHighlighting && text.length < 65536)) { - const richText = this._context.model.getRichTextToCopy(this._modelSelections, this._emptySelectionClipboard); - if (richText) { - html = richText.html; - mode = richText.mode; - } - } - } - return { - isFromEmptySelection, - multicursorText, - text, - html, - mode - }; - }, - getScreenReaderContent: (currentState: TextAreaState): TextAreaState => { - if (this._accessibilitySupport === AccessibilitySupport.Disabled) { - // We know for a fact that a screen reader is not attached - // On OSX, we write the character before the cursor to allow for "long-press" composition - // Also on OSX, we write the word before the cursor to allow for the Accessibility Keyboard to give good hints - if (platform.isMacintosh) { - const selection = this._selections[0]; - if (selection.isEmpty()) { - const position = selection.getStartPosition(); - - let textBefore = this._getWordBeforePosition(position); - if (textBefore.length === 0) { - textBefore = this._getCharacterBeforePosition(position); - } - - if (textBefore.length > 0) { - return new TextAreaState(textBefore, textBefore.length, textBefore.length, position, position); - } - } - } - return TextAreaState.EMPTY; - } - - if (browser.isAndroid) { - // when tapping in the editor on a word, Android enters composition mode. - // in the `compositionstart` event we cannot clear the textarea, because - // it then forgets to ever send a `compositionend`. - // we therefore only write the current word in the textarea - const selection = this._selections[0]; - if (selection.isEmpty()) { - const position = selection.getStartPosition(); - const [wordAtPosition, positionOffsetInWord] = this._getAndroidWordAtPosition(position); - if (wordAtPosition.length > 0) { - return new TextAreaState(wordAtPosition, positionOffsetInWord, positionOffsetInWord, position, position); - } - } - return TextAreaState.EMPTY; - } - - return PagedScreenReaderStrategy.fromEditorSelection(currentState, simpleModel, this._selections[0], this._accessibilityPageSize, this._accessibilitySupport === AccessibilitySupport.Unknown); - }, - - deduceModelPosition: (viewAnchorPosition: Position, deltaOffset: number, lineFeedCnt: number): Position => { - return this._context.model.deduceModelPositionRelativeToViewPosition(viewAnchorPosition, deltaOffset, lineFeedCnt); - } - }; - - this._textAreaInput = this._register(new TextAreaInput(textAreaInputHost, this.textArea)); - - this._register(this._textAreaInput.onKeyDown((e: IKeyboardEvent) => { - this._viewController.emitKeyDown(e); - })); - - this._register(this._textAreaInput.onKeyUp((e: IKeyboardEvent) => { - this._viewController.emitKeyUp(e); - })); - - this._register(this._textAreaInput.onPaste((e: IPasteData) => { - let pasteOnNewLine = false; - let multicursorText: string[] | null = null; - let mode: string | null = null; - if (e.metadata) { - pasteOnNewLine = (this._emptySelectionClipboard && !!e.metadata.isFromEmptySelection); - multicursorText = (typeof e.metadata.multicursorText !== 'undefined' ? e.metadata.multicursorText : null); - mode = e.metadata.mode; - } - this._viewController.paste(e.text, pasteOnNewLine, multicursorText, mode); - })); - - this._register(this._textAreaInput.onCut(() => { - this._viewController.cut(); - })); - - this._register(this._textAreaInput.onType((e: ITypeData) => { - if (e.replacePrevCharCnt || e.replaceNextCharCnt || e.positionDelta) { - // must be handled through the new command - if (_debugComposition) { - console.log(` => compositionType: <<${e.text}>>, ${e.replacePrevCharCnt}, ${e.replaceNextCharCnt}, ${e.positionDelta}`); - } - this._viewController.compositionType(e.text, e.replacePrevCharCnt, e.replaceNextCharCnt, e.positionDelta); - } else { - if (_debugComposition) { - console.log(` => type: <<${e.text}>>`); - } - this._viewController.type(e.text); - } - })); - - this._register(this._textAreaInput.onSelectionChangeRequest((modelSelection: Selection) => { - this._viewController.setSelection(modelSelection); - })); - - this._register(this._textAreaInput.onCompositionStart((e) => { - const lineNumber = this._selections[0].startLineNumber; - const column = this._selections[0].startColumn + e.revealDeltaColumns; - - this._context.model.revealRange( - 'keyboard', - true, - new Range(lineNumber, column, lineNumber, column), - viewEvents.VerticalRevealType.Simple, - ScrollType.Immediate - ); - - // Find range pixel position - const visibleRange = this._viewHelper.visibleRangeForPositionRelativeToEditor(lineNumber, column); - - if (visibleRange) { - this._visibleTextArea = new VisibleTextAreaData( - this._context.viewLayout.getVerticalOffsetForLineNumber(lineNumber), - visibleRange.left, - canUseZeroSizeTextarea ? 0 : 1 - ); - this._render(); - } - - // Show the textarea - this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ime-input`); - - this._viewController.compositionStart(); - this._context.model.onCompositionStart(); - })); - - this._register(this._textAreaInput.onCompositionUpdate((e: ICompositionData) => { - if (!this._visibleTextArea) { - return; - } - // adjust width by its size - this._visibleTextArea = this._visibleTextArea.setWidth(measureText(e.data, this._fontInfo)); - this._render(); - })); - - this._register(this._textAreaInput.onCompositionEnd(() => { - - this._visibleTextArea = null; - this._render(); - - this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`); - this._viewController.compositionEnd(); - this._context.model.onCompositionEnd(); - })); - - this._register(this._textAreaInput.onFocus(() => { - this._context.model.setHasFocus(true); - })); - - this._register(this._textAreaInput.onBlur(() => { - this._context.model.setHasFocus(false); - })); - } - - public dispose(): void { - super.dispose(); - } - - private _getAndroidWordAtPosition(position: Position): [string, number] { - const ANDROID_WORD_SEPARATORS = '`~!@#$%^&*()-=+[{]}\\|;:",.<>/?'; - const lineContent = this._context.model.getLineContent(position.lineNumber); - const wordSeparators = getMapForWordSeparators(ANDROID_WORD_SEPARATORS); - - let goingLeft = true; - let startColumn = position.column; - let goingRight = true; - let endColumn = position.column; - let distance = 0; - while (distance < 50 && (goingLeft || goingRight)) { - if (goingLeft && startColumn <= 1) { - goingLeft = false; - } - if (goingLeft) { - const charCode = lineContent.charCodeAt(startColumn - 2); - const charClass = wordSeparators.get(charCode); - if (charClass !== WordCharacterClass.Regular) { - goingLeft = false; - } else { - startColumn--; - } - } - if (goingRight && endColumn > lineContent.length) { - goingRight = false; - } - if (goingRight) { - const charCode = lineContent.charCodeAt(endColumn - 1); - const charClass = wordSeparators.get(charCode); - if (charClass !== WordCharacterClass.Regular) { - goingRight = false; - } else { - endColumn++; - } - } - distance++; - } - - return [lineContent.substring(startColumn - 1, endColumn - 1), position.column - startColumn]; - } - - private _getWordBeforePosition(position: Position): string { - const lineContent = this._context.model.getLineContent(position.lineNumber); - const wordSeparators = getMapForWordSeparators(this._context.configuration.options.get(EditorOption.wordSeparators)); - - let column = position.column; - let distance = 0; - while (column > 1) { - const charCode = lineContent.charCodeAt(column - 2); - const charClass = wordSeparators.get(charCode); - if (charClass !== WordCharacterClass.Regular || distance > 50) { - return lineContent.substring(column - 1, position.column - 1); - } - distance++; - column--; - } - return lineContent.substring(0, position.column - 1); - } - - private _getCharacterBeforePosition(position: Position): string { - if (position.column > 1) { - const lineContent = this._context.model.getLineContent(position.lineNumber); - const charBefore = lineContent.charAt(position.column - 2); - if (!strings.isHighSurrogate(charBefore.charCodeAt(0))) { - return charBefore; - } - } - return ''; - } - - private _getAriaLabel(options: IComputedEditorOptions): string { - const accessibilitySupport = options.get(EditorOption.accessibilitySupport); - if (accessibilitySupport === AccessibilitySupport.Disabled) { - return nls.localize('accessibilityOffAriaLabel', "The editor is not accessible at this time. Press {0} for options.", platform.isLinux ? 'Shift+Alt+F1' : 'Alt+F1'); - } - return options.get(EditorOption.ariaLabel); - } - - private _setAccessibilityOptions(options: IComputedEditorOptions): void { - this._accessibilitySupport = options.get(EditorOption.accessibilitySupport); - const accessibilityPageSize = options.get(EditorOption.accessibilityPageSize); - if (this._accessibilitySupport === AccessibilitySupport.Enabled && accessibilityPageSize === EditorOptions.accessibilityPageSize.defaultValue) { - // If a screen reader is attached and the default value is not set we shuold automatically increase the page size to 1000 for a better experience - this._accessibilityPageSize = 1000; - } else { - this._accessibilityPageSize = accessibilityPageSize; - } - } - - // --- begin event handlers - - public onConfigurationChanged(e: viewEvents.ViewConfigurationChangedEvent): boolean { - const options = this._context.configuration.options; - const layoutInfo = options.get(EditorOption.layoutInfo); - - this._setAccessibilityOptions(options); - this._contentLeft = layoutInfo.contentLeft; - this._contentWidth = layoutInfo.contentWidth; - this._contentHeight = layoutInfo.height; - this._fontInfo = options.get(EditorOption.fontInfo); - this._lineHeight = options.get(EditorOption.lineHeight); - this._emptySelectionClipboard = options.get(EditorOption.emptySelectionClipboard); - this._copyWithSyntaxHighlighting = options.get(EditorOption.copyWithSyntaxHighlighting); - this.textArea.setAttribute('aria-label', this._getAriaLabel(options)); - this.textArea.setAttribute('tabindex', String(options.get(EditorOption.tabIndex))); - - // below codes are changed by github1s - if (e.hasChanged(EditorOption.domReadOnly) || e.hasChanged(EditorOption.readOnly)) { - if (options.get(EditorOption.domReadOnly) && options.get(EditorOption.readOnly)) { - // above codes are changed by github1s - this.textArea.setAttribute('readonly', 'true'); - } else { - this.textArea.removeAttribute('readonly'); - } - } - - if (e.hasChanged(EditorOption.accessibilitySupport)) { - this._textAreaInput.writeScreenReaderContent('strategy changed'); - } - - return true; - } - public onCursorStateChanged(e: viewEvents.ViewCursorStateChangedEvent): boolean { - this._selections = e.selections.slice(0); - this._modelSelections = e.modelSelections.slice(0); - this._textAreaInput.writeScreenReaderContent('selection changed'); - return true; - } - public onDecorationsChanged(e: viewEvents.ViewDecorationsChangedEvent): boolean { - // true for inline decorations that can end up relayouting text - return true; - } - public onFlushed(e: viewEvents.ViewFlushedEvent): boolean { - return true; - } - public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean { - return true; - } - public onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): boolean { - return true; - } - public onLinesInserted(e: viewEvents.ViewLinesInsertedEvent): boolean { - return true; - } - public onScrollChanged(e: viewEvents.ViewScrollChangedEvent): boolean { - this._scrollLeft = e.scrollLeft; - this._scrollTop = e.scrollTop; - return true; - } - public onZonesChanged(e: viewEvents.ViewZonesChangedEvent): boolean { - return true; - } - - // --- end event handlers - - // --- begin view API - - public isFocused(): boolean { - return this._textAreaInput.isFocused(); - } - - public focusTextArea(): void { - this._textAreaInput.focusTextArea(); - } - - public refreshFocusState() { - this._textAreaInput.refreshFocusState(); - } - - public getLastRenderData(): Position | null { - return this._lastRenderPosition; - } - - public setAriaOptions(options: IEditorAriaOptions): void { - if (options.activeDescendant) { - this.textArea.setAttribute('aria-haspopup', 'true'); - this.textArea.setAttribute('aria-autocomplete', 'list'); - this.textArea.setAttribute('aria-activedescendant', options.activeDescendant); - } else { - this.textArea.setAttribute('aria-haspopup', 'false'); - this.textArea.setAttribute('aria-autocomplete', 'both'); - this.textArea.removeAttribute('aria-activedescendant'); - } - if (options.role) { - this.textArea.setAttribute('role', options.role); - } - } - - // --- end view API - - private _primaryCursorPosition: Position = new Position(1, 1); - private _primaryCursorVisibleRange: HorizontalPosition | null = null; - - public prepareRender(ctx: RenderingContext): void { - this._primaryCursorPosition = new Position(this._selections[0].positionLineNumber, this._selections[0].positionColumn); - this._primaryCursorVisibleRange = ctx.visibleRangeForPosition(this._primaryCursorPosition); - } - - public render(ctx: RestrictedRenderingContext): void { - this._textAreaInput.writeScreenReaderContent('render'); - this._render(); - } - - private _render(): void { - if (this._visibleTextArea) { - // The text area is visible for composition reasons - this._renderInsideEditor( - null, - this._visibleTextArea.top - this._scrollTop, - this._contentLeft + this._visibleTextArea.left - this._scrollLeft, - this._visibleTextArea.width, - this._lineHeight - ); - return; - } - - if (!this._primaryCursorVisibleRange) { - // The primary cursor is outside the viewport => place textarea to the top left - this._renderAtTopLeft(); - return; - } - - const left = this._contentLeft + this._primaryCursorVisibleRange.left - this._scrollLeft; - if (left < this._contentLeft || left > this._contentLeft + this._contentWidth) { - // cursor is outside the viewport - this._renderAtTopLeft(); - return; - } - - const top = this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber) - this._scrollTop; - if (top < 0 || top > this._contentHeight) { - // cursor is outside the viewport - this._renderAtTopLeft(); - return; - } - - // The primary cursor is in the viewport (at least vertically) => place textarea on the cursor - - if (platform.isMacintosh) { - // For the popup emoji input, we will make the text area as high as the line height - // We will also make the fontSize and lineHeight the correct dimensions to help with the placement of these pickers - this._renderInsideEditor( - this._primaryCursorPosition, - top, left, - canUseZeroSizeTextarea ? 0 : 1, this._lineHeight - ); - return; - } - - this._renderInsideEditor( - this._primaryCursorPosition, - top, left, - canUseZeroSizeTextarea ? 0 : 1, canUseZeroSizeTextarea ? 0 : 1 - ); - } - - private _renderInsideEditor(renderedPosition: Position | null, top: number, left: number, width: number, height: number): void { - this._lastRenderPosition = renderedPosition; - const ta = this.textArea; - const tac = this.textAreaCover; - - Configuration.applyFontInfo(ta, this._fontInfo); - - ta.setTop(top); - ta.setLeft(left); - ta.setWidth(width); - ta.setHeight(height); - - tac.setTop(0); - tac.setLeft(0); - tac.setWidth(0); - tac.setHeight(0); - } - - private _renderAtTopLeft(): void { - this._lastRenderPosition = null; - const ta = this.textArea; - const tac = this.textAreaCover; - - Configuration.applyFontInfo(ta, this._fontInfo); - ta.setTop(0); - ta.setLeft(0); - tac.setTop(0); - tac.setLeft(0); - - if (canUseZeroSizeTextarea) { - ta.setWidth(0); - ta.setHeight(0); - tac.setWidth(0); - tac.setHeight(0); - return; - } - - // (in WebKit the textarea is 1px by 1px because it cannot handle input to a 0x0 textarea) - // specifically, when doing Korean IME, setting the textarea to 0x0 breaks IME badly. - - ta.setWidth(1); - ta.setHeight(1); - tac.setWidth(1); - tac.setHeight(1); - - const options = this._context.configuration.options; - - if (options.get(EditorOption.glyphMargin)) { - tac.setClassName('monaco-editor-background textAreaCover ' + Margin.OUTER_CLASS_NAME); - } else { - if (options.get(EditorOption.lineNumbers).renderType !== RenderLineNumbersType.Off) { - tac.setClassName('monaco-editor-background textAreaCover ' + LineNumbersOverlay.CLASS_NAME); - } else { - tac.setClassName('monaco-editor-background textAreaCover'); - } - } - } -} - -function measureText(text: string, fontInfo: BareFontInfo): number { - // adjust width by its size - const canvasElem = document.createElement('canvas'); - const context = canvasElem.getContext('2d')!; - context.font = createFontString(fontInfo); - const metrics = context.measureText(text); - - if (browser.isFirefox) { - return metrics.width + 2; // +2 for Japanese... - } else { - return metrics.width; - } -} - -function createFontString(bareFontInfo: BareFontInfo): string { - return doCreateFontString('normal', bareFontInfo.fontWeight, bareFontInfo.fontSize, bareFontInfo.lineHeight, bareFontInfo.fontFamily); -} - -function doCreateFontString(fontStyle: string, fontWeight: string, fontSize: number, lineHeight: number, fontFamily: string): string { - // The full font syntax is: - // style | variant | weight | stretch | size/line-height | fontFamily - // (https://developer.mozilla.org/en-US/docs/Web/CSS/font) - // But it appears Edge and IE11 cannot properly parse `stretch`. - return `${fontStyle} normal ${fontWeight} ${fontSize}px / ${lineHeight}px ${fontFamily}`; -} diff --git a/vscode-web-github1s/src/vs/editor/common/config/editorOptions.ts b/vscode-web-github1s/src/vs/editor/common/config/editorOptions.ts index 22d856573..857ff39fd 100644 --- a/vscode-web-github1s/src/vs/editor/common/config/editorOptions.ts +++ b/vscode-web-github1s/src/vs/editor/common/config/editorOptions.ts @@ -75,7 +75,7 @@ export interface IEditorOptions { /** * Control the rendering of line numbers. * If it is a function, it will be invoked when rendering a line number and the return value will be rendered. - * Otherwise, if it is a truey, line numbers will be rendered normally (equivalent of using an identity function). + * Otherwise, if it is a truthy, line numbers will be rendered normally (equivalent of using an identity function). * Otherwise, line numbers will not be rendered. * Defaults to `on`. */ @@ -382,8 +382,9 @@ export interface IEditorOptions { * Suggest options. */ suggest?: ISuggestOptions; + inlineSuggest?: IInlineSuggestOptions; /** - * Smart select opptions; + * Smart select options. */ smartSelect?: ISmartSelectOptions; /** @@ -547,6 +548,11 @@ export interface IEditorOptions { * Defaults to true. */ foldingHighlight?: boolean; + /** + * Auto fold imports folding regions. + * Defaults to true. + */ + foldingImportsByDefault?: boolean; /** * Controls whether the fold actions in the gutter stay always visible or hide unless the mouse is over the gutter. * Defaults to 'mouseover'. @@ -564,7 +570,7 @@ export interface IEditorOptions { matchBrackets?: 'never' | 'near' | 'always'; /** * Enable rendering of whitespace. - * Defaults to none. + * Defaults to 'selection'. */ renderWhitespace?: 'none' | 'boundary' | 'selection' | 'trailing' | 'all'; /** @@ -637,7 +643,11 @@ export interface IEditorOptions { /** * Control the behavior and rendering of the inline hints. */ - inlineHints?: IEditorInlineHintsOptions; + inlayHints?: IEditorInlayHintsOptions; + /** + * Control if the editor should use shadow DOM. + */ + useShadowDOM?: boolean; } /** @@ -704,7 +714,7 @@ export interface IDiffEditorOptions extends IEditorOptions { */ originalAriaLabel?: string; /** - * Aria label for modifed editor. + * Aria label for modified editor. */ modifiedAriaLabel?: string; } @@ -906,7 +916,7 @@ class EditorBooleanOption extends SimpleEditorOption extends SimpleEditorOption extends SimpleEditorOption extends SimpleEditorOption extends this._allowedValues = allowedValues; } - public validate(input: any): V { + public override validate(input: any): V { return stringSet(input, this.defaultValue, this._allowedValues); } } @@ -1112,7 +1122,7 @@ class EditorAccessibilitySupport extends BaseEditorOption constructor() { const defaults: EditorFindOptions = { cursorMoveOnType: true, - seedSearchStringFromSelection: true, + seedSearchStringFromSelection: 'always', autoFindInSelection: 'never', globalFindClipboard: false, addExtraSpaceOnTop: true, @@ -1393,8 +1403,14 @@ class EditorFind extends BaseEditorOption description: nls.localize('find.cursorMoveOnType', "Controls whether the cursor should jump to find matches while typing.") }, 'editor.find.seedSearchStringFromSelection': { - type: 'boolean', + type: 'string', + enum: ['never', 'always', 'selection'], default: defaults.seedSearchStringFromSelection, + enumDescriptions: [ + nls.localize('editor.find.seedSearchStringFromSelection.never', 'Never seed search string from the editor selection.'), + nls.localize('editor.find.seedSearchStringFromSelection.always', 'Always seed search string from the editor selection, including word at cursor position.'), + nls.localize('editor.find.seedSearchStringFromSelection.selection', 'Only seed search string from the editor selection.') + ], description: nls.localize('find.seedSearchStringFromSelection', "Controls whether the search string in the Find Widget is seeded from the editor selection.") }, 'editor.find.autoFindInSelection': { @@ -1402,11 +1418,11 @@ class EditorFind extends BaseEditorOption enum: ['never', 'always', 'multiline'], default: defaults.autoFindInSelection, enumDescriptions: [ - nls.localize('editor.find.autoFindInSelection.never', 'Never turn on Find in selection automatically (default).'), - nls.localize('editor.find.autoFindInSelection.always', 'Always turn on Find in selection automatically.'), - nls.localize('editor.find.autoFindInSelection.multiline', 'Turn on Find in selection automatically when multiple lines of content are selected.') + nls.localize('editor.find.autoFindInSelection.never', 'Never turn on Find in Selection automatically (default).'), + nls.localize('editor.find.autoFindInSelection.always', 'Always turn on Find in Selection automatically.'), + nls.localize('editor.find.autoFindInSelection.multiline', 'Turn on Find in Selection automatically when multiple lines of content are selected.') ], - description: nls.localize('find.autoFindInSelection', "Controls the condition for turning on find in selection automatically.") + description: nls.localize('find.autoFindInSelection', "Controls the condition for turning on Find in Selection automatically.") }, 'editor.find.globalFindClipboard': { type: 'boolean', @@ -1436,7 +1452,9 @@ class EditorFind extends BaseEditorOption const input = _input as IEditorFindOptions; return { cursorMoveOnType: boolean(input.cursorMoveOnType, this.defaultValue.cursorMoveOnType), - seedSearchStringFromSelection: boolean(input.seedSearchStringFromSelection, this.defaultValue.seedSearchStringFromSelection), + seedSearchStringFromSelection: typeof _input.seedSearchStringFromSelection === 'boolean' + ? (_input.seedSearchStringFromSelection ? 'always' : 'never') + : stringSet<'never' | 'always' | 'selection'>(input.seedSearchStringFromSelection, this.defaultValue.seedSearchStringFromSelection, ['never', 'always', 'selection']), autoFindInSelection: typeof _input.autoFindInSelection === 'boolean' ? (_input.autoFindInSelection ? 'always' : 'never') : stringSet<'never' | 'always' | 'multiline'>(input.autoFindInSelection, this.defaultValue.autoFindInSelection, ['never', 'always', 'multiline']), @@ -1533,14 +1551,14 @@ class EditorFontSize extends SimpleEditorOption { ); } - public validate(input: any): number { + public override validate(input: any): number { let r = EditorFloatOption.float(input, this.defaultValue); if (r === 0) { return EDITOR_FONT_DEFAULTS.fontSize; } return EditorFloatOption.clamp(r, 6, 100); } - public compute(env: IEnvironmentalOptions, options: IComputedEditorOptions, value: number): number { + public override compute(env: IEnvironmentalOptions, options: IComputedEditorOptions, value: number): number { // The final fontSize respects the editor zoom level. // So take the result from env.fontInfo return env.fontInfo.fontSize; @@ -1643,6 +1661,7 @@ class EditorGoToLocation extends BaseEditorOption minimapCanvasInnerHeight); - if (isViewportWrapping && fitBecomesFill) { - // remember for next time - memory.stableMinimapLayoutInput = input; - memory.stableFitRemainingWidth = remainingWidth; - } else { - memory.stableMinimapLayoutInput = null; - memory.stableFitRemainingWidth = 0; - } } } @@ -2138,14 +2154,28 @@ export class EditorLayoutInfoComputer extends ComputedEditorOption configuredMinimapScale) { minimapWidthMultiplier = Math.min(2, minimapScale / configuredMinimapScale); } minimapCharWidth = minimapScale / pixelRatio / minimapWidthMultiplier; minimapCanvasInnerHeight = Math.ceil((Math.max(typicalViewportLineCount, viewLineCount + extraLinesBeyondLastLine)) * minimapLineHeight); - if (isViewportWrapping && fitBecomesFill) { + if (isViewportWrapping) { + // remember for next time + memory.stableMinimapLayoutInput = input; + memory.stableFitRemainingWidth = remainingWidth; memory.stableFitMaxMinimapScale = minimapScale; + } else { + memory.stableMinimapLayoutInput = null; + memory.stableFitRemainingWidth = 0; } } } @@ -2390,12 +2420,12 @@ class EditorLightbulb extends BaseEditorOption>; +export type EditorInlayHintsOptions = Readonly>; -class EditorInlineHints extends BaseEditorOption { +class EditorInlayHints extends BaseEditorOption { constructor() { - const defaults: EditorInlineHintsOptions = { enabled: true, fontSize: 0, fontFamily: EDITOR_FONT_DEFAULTS.fontFamily }; + const defaults: EditorInlayHintsOptions = { enabled: true, fontSize: 0, fontFamily: '' }; super( - EditorOption.inlineHints, 'inlineHints', defaults, + EditorOption.inlayHints, 'inlayHints', defaults, { - 'editor.inlineHints.enabled': { + 'editor.inlayHints.enabled': { type: 'boolean', default: defaults.enabled, - description: nls.localize('inlineHints.enable', "Enables the inline hints in the editor.") + description: nls.localize('inlayHints.enable', "Enables the inlay hints in the editor.") }, - 'editor.inlineHints.fontSize': { + 'editor.inlayHints.fontSize': { type: 'number', default: defaults.fontSize, - description: nls.localize('inlineHints.fontSize', "Controls font size of inline hints in the editor. When set to `0`, the 90% of `#editor.fontSize#` is used.") + markdownDescription: nls.localize('inlayHints.fontSize', "Controls font size of inlay hints in the editor. When set to `0`, the 90% of `#editor.fontSize#` is used.") }, - 'editor.inlineHints.fontFamily': { + 'editor.inlayHints.fontFamily': { type: 'string', default: defaults.fontFamily, - description: nls.localize('inlineHints.fontFamily', "Controls font family of inline hints in the editor.") + description: nls.localize('inlayHints.fontFamily', "Controls font family of inlay hints in the editor. When set to empty, the `#editor.fontFamily#` is used.") }, } ); } - public validate(_input: any): EditorInlineHintsOptions { + public validate(_input: any): EditorInlayHintsOptions { if (!_input || typeof _input !== 'object') { return this.defaultValue; } - const input = _input as IEditorInlineHintsOptions; + const input = _input as IEditorInlayHintsOptions; return { enabled: boolean(input.enabled, this.defaultValue.enabled), fontSize: EditorIntOption.clampedInt(input.fontSize, this.defaultValue.fontSize, 0, 100), @@ -2460,17 +2490,18 @@ class EditorInlineHints extends BaseEditorOption { +class EditorLineHeight extends EditorFloatOption { constructor() { super( EditorOption.lineHeight, 'lineHeight', - EDITOR_FONT_DEFAULTS.lineHeight, 0, 150, - { description: nls.localize('lineHeight', "Controls the line height. Use 0 to compute the line height from the font size.") } + EDITOR_FONT_DEFAULTS.lineHeight, + x => EditorFloatOption.clamp(x, 0, 150), + { markdownDescription: nls.localize('lineHeight', "Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.") } ); } - public compute(env: IEnvironmentalOptions, options: IComputedEditorOptions, value: number): number { + public override compute(env: IEnvironmentalOptions, options: IComputedEditorOptions, value: number): number { // The lineHeight is computed from the fontSize if it is 0. // Moreover, the final lineHeight respects the editor zoom level. // So take the result from env.fontInfo @@ -2766,7 +2797,7 @@ export type ValidQuickSuggestionsOptions = boolean | Readonly { - public readonly defaultValue: Readonly>; + public override readonly defaultValue: Readonly>; constructor() { const defaults: ValidQuickSuggestionsOptions = { @@ -2989,6 +3020,7 @@ export interface IEditorScrollbarOptions { /** * The size of arrows (if displayed). * Defaults to 11. + * **NOTE**: This option cannot be updated using `updateOptions()` */ arrowSize?: number; /** @@ -3004,16 +3036,19 @@ export interface IEditorScrollbarOptions { /** * Cast horizontal and vertical shadows when the content is scrolled. * Defaults to true. + * **NOTE**: This option cannot be updated using `updateOptions()` */ useShadows?: boolean; /** * Render arrows at the top and bottom of the vertical scrollbar. * Defaults to false. + * **NOTE**: This option cannot be updated using `updateOptions()` */ verticalHasArrows?: boolean; /** * Render arrows at the left and right of the horizontal scrollbar. * Defaults to false. + * **NOTE**: This option cannot be updated using `updateOptions()` */ horizontalHasArrows?: boolean; /** @@ -3024,6 +3059,7 @@ export interface IEditorScrollbarOptions { /** * Always consume mouse wheel events (always call preventDefault() and stopPropagation() on the browser events). * Defaults to true. + * **NOTE**: This option cannot be updated using `updateOptions()` */ alwaysConsumeMouseWheel?: boolean; /** @@ -3039,11 +3075,13 @@ export interface IEditorScrollbarOptions { /** * Width in pixels for the vertical slider. * Defaults to `verticalScrollbarSize`. + * **NOTE**: This option cannot be updated using `updateOptions()` */ verticalSliderSize?: number; /** * Height in pixels for the horizontal slider. * Defaults to `horizontalScrollbarSize`. + * **NOTE**: This option cannot be updated using `updateOptions()` */ horizontalSliderSize?: number; /** @@ -3083,22 +3121,61 @@ function _scrollbarVisibilityFromString(visibility: string | undefined, defaultV class EditorScrollbar extends BaseEditorOption { constructor() { + const defaults: InternalEditorScrollbarOptions = { + vertical: ScrollbarVisibility.Auto, + horizontal: ScrollbarVisibility.Auto, + arrowSize: 11, + useShadows: true, + verticalHasArrows: false, + horizontalHasArrows: false, + horizontalScrollbarSize: 12, + horizontalSliderSize: 12, + verticalScrollbarSize: 14, + verticalSliderSize: 14, + handleMouseWheel: true, + alwaysConsumeMouseWheel: true, + scrollByPage: false + }; super( - EditorOption.scrollbar, 'scrollbar', + EditorOption.scrollbar, 'scrollbar', defaults, { - vertical: ScrollbarVisibility.Auto, - horizontal: ScrollbarVisibility.Auto, - arrowSize: 11, - useShadows: true, - verticalHasArrows: false, - horizontalHasArrows: false, - horizontalScrollbarSize: 12, - horizontalSliderSize: 12, - verticalScrollbarSize: 14, - verticalSliderSize: 14, - handleMouseWheel: true, - alwaysConsumeMouseWheel: true, - scrollByPage: false + 'editor.scrollbar.vertical': { + type: 'string', + enum: ['auto', 'visible', 'hidden'], + enumDescriptions: [ + nls.localize('scrollbar.vertical.auto', "The vertical scrollbar will be visible only when necessary."), + nls.localize('scrollbar.vertical.visible', "The vertical scrollbar will always be visible."), + nls.localize('scrollbar.vertical.fit', "The vertical scrollbar will always be hidden."), + ], + default: 'auto', + description: nls.localize('scrollbar.vertical', "Controls the visibility of the vertical scrollbar.") + }, + 'editor.scrollbar.horizontal': { + type: 'string', + enum: ['auto', 'visible', 'hidden'], + enumDescriptions: [ + nls.localize('scrollbar.horizontal.auto', "The horizontal scrollbar will be visible only when necessary."), + nls.localize('scrollbar.horizontal.visible', "The horizontal scrollbar will always be visible."), + nls.localize('scrollbar.horizontal.fit', "The horizontal scrollbar will always be hidden."), + ], + default: 'auto', + description: nls.localize('scrollbar.horizontal', "Controls the visibility of the horizontal scrollbar.") + }, + 'editor.scrollbar.verticalScrollbarSize': { + type: 'number', + default: defaults.verticalScrollbarSize, + description: nls.localize('scrollbar.verticalScrollbarSize', "The width of the vertical scrollbar.") + }, + 'editor.scrollbar.horizontalScrollbarSize': { + type: 'number', + default: defaults.horizontalScrollbarSize, + description: nls.localize('scrollbar.horizontalScrollbarSize', "The height of the horizontal scrollbar.") + }, + 'editor.scrollbar.scrollByPage': { + type: 'boolean', + default: defaults.scrollByPage, + description: nls.localize('scrollbar.scrollByPage', "Controls whether clicks scroll by page or jump to click position.") + } } ); } @@ -3130,6 +3207,118 @@ class EditorScrollbar extends BaseEditorOption>; + +/** + * Configuration options for inline suggestions + */ +class InlineEditorSuggest extends BaseEditorOption { + constructor() { + const defaults: InternalInlineSuggestOptions = { + enabled: true, + mode: 'subwordSmart' + }; + + super( + EditorOption.inlineSuggest, 'inlineSuggest', defaults, + { + 'editor.inlineSuggest.enabled': { + type: 'boolean', + default: defaults.enabled, + description: nls.localize('inlineSuggest.enabled', "Controls whether to automatically show inline suggestions in the editor.") + }, + 'editor.inlineSuggest.mode': { + type: 'string', + enum: ['prefix', 'subword', 'subwordSmart'], + enumDescriptions: [ + nls.localize('inlineSuggest.mode.prefix', "Only render an inline suggestion if the replace text is a prefix of the insert text."), + nls.localize('inlineSuggest.mode.subword', "Only render an inline suggestion if the replace text is a subword of the insert text."), + nls.localize('inlineSuggest.mode.subwordSmart', "Only render an inline suggestion if the replace text is a subword of the insert text, but the subword must start after the cursor."), + ], + default: defaults.mode, + description: nls.localize('inlineSuggest.mode', "Controls which mode to use for rendering inline suggestions.") + }, + } + ); + } + + public validate(_input: any): InternalInlineSuggestOptions { + if (!_input || typeof _input !== 'object') { + return this.defaultValue; + } + const input = _input as IInlineSuggestOptions; + return { + enabled: boolean(input.enabled, this.defaultValue.enabled), + mode: stringSet(input.mode, this.defaultValue.mode, ['prefix', 'subword', 'subwordSmart']), + }; + } +} + +//#endregion + +//#region bracketPairColorization + +export interface IBracketPairColorizationOptions { + /** + * Enable or disable bracket pair colorization. + */ + enabled?: boolean; +} + +export type InternalBracketPairColorizationOptions = Readonly>; + +/** + * Configuration options for inline suggestions + */ +class BracketPairColorization extends BaseEditorOption { + constructor() { + const defaults: InternalBracketPairColorizationOptions = { + enabled: EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions.enabled + }; + + super( + EditorOption.bracketPairColorization, 'bracketPairColorization', defaults, + { + 'editor.bracketPairColorization.enabled': { + type: 'boolean', + default: defaults.enabled, + description: nls.localize('bracketPairColorization.enabled', "Controls whether bracket pair colorization is enabled or not. Use 'workbench.colorCustomizations' to override the bracket highlight colors.") + } + } + ); + } + + public validate(_input: any): InternalBracketPairColorizationOptions { + if (!_input || typeof _input !== 'object') { + return this.defaultValue; + } + const input = _input as IBracketPairColorizationOptions; + return { + enabled: boolean(input.enabled, this.defaultValue.enabled) + }; + } +} + +//#endregion + //#region suggest /** @@ -3164,6 +3353,14 @@ export interface ISuggestOptions { * Enable or disable the suggest status bar. */ showStatusBar?: boolean; + /** + * Enable or disable the rendering of the suggestion preview. + */ + preview?: boolean; + /** + * Configures the mode of the preview. + */ + previewMode?: 'prefix' | 'subword' | 'subwordSmart'; /** * Show details inline with the label. Defaults to true. */ @@ -3180,6 +3377,10 @@ export interface ISuggestOptions { * Show constructor-suggestions. */ showConstructors?: boolean; + /** + * Show deprecated-suggestions. + */ + showDeprecated?: boolean; /** * Show field-suggestions. */ @@ -3291,10 +3492,13 @@ class EditorSuggest extends BaseEditorOptionINSERT_PRODUCT_CONFIGURATION*/ } as IProductConfiguration; - - // Running out of sources - if (Object.keys(product).length === 0) { - Object.assign(product, { - version: '1.55.0-dev', - // below codes are changed by github1s - nameShort: 'GitHub1s', - nameLong: 'GitHub1s', - // below codes are changed by github1s - applicationName: 'code-oss', - dataFolderName: '.vscode-oss', - urlProtocol: 'code-oss', - reportIssueUrl: 'https://github.com/microsoft/vscode/issues/new', - licenseName: 'MIT', - licenseUrl: 'https://github.com/microsoft/vscode/blob/main/LICENSE.txt', - extensionAllowedProposedApi: [ - 'ms-vscode.vscode-js-profile-flame', - 'ms-vscode.vscode-js-profile-table', - 'ms-vscode.github-browser', - 'ms-vscode.remotehub', - 'ms-vscode.remotehub-insiders' - ], - // below codes are changed by github1s - extensionsGallery: { - serviceUrl: 'https://marketplace.visualstudio.com/_apis/public/gallery', - cacheUrl: 'https://vscode.blob.core.windows.net/gallery/index', - itemUrl: 'https://marketplace.visualstudio.com/items', - controlUrl: 'https://az764295.vo.msecnd.net/extensions/marketplace.json', - recommendationsUrl: 'https://az764295.vo.msecnd.net/extensions/workspaceRecommendations.json.gz', - } - // below codes are changed by github1s - }); +// Native sandbox environment +if (typeof globals.vscode !== 'undefined' && typeof globals.vscode.context !== 'undefined') { + const configuration: ISandboxConfiguration | undefined = globals.vscode.context.configuration(); + if (configuration) { + product = configuration.product; + } else { + throw new Error('Sandbox: unable to resolve product configuration from preload script.'); } } -// Native (non-sandboxed) -else { +// Native node.js environment +else if (typeof require?.__$__nodeRequire === 'function') { // Obtain values from product.json and package.json const rootPath = dirname(FileAccess.asFileUri('', require)); @@ -74,4 +45,45 @@ else { }); } +// Web environment or unknown +else { + + // Built time configuration (do NOT modify) + product = { /*BUILD->INSERT_PRODUCT_CONFIGURATION*/ } as IProductConfiguration; + + // Running out of sources + if (Object.keys(product).length === 0) { + Object.assign(product, { + version: '1.60.0-dev', + nameShort: 'Code - OSS Dev', + nameLong: 'Code - OSS Dev', + applicationName: 'code-oss', + dataFolderName: '.vscode-oss', + urlProtocol: 'code-oss', + reportIssueUrl: 'https://github.com/microsoft/vscode/issues/new', + licenseName: 'MIT', + licenseUrl: 'https://github.com/microsoft/vscode/blob/main/LICENSE.txt', + extensionAllowedProposedApi: [ + 'ms-vscode.vscode-js-profile-flame', + 'ms-vscode.vscode-js-profile-table', + 'ms-vscode.remotehub', + 'ms-vscode.remotehub-insiders', + 'GitHub.remotehub', + 'GitHub.remotehub-insiders' + ], + }); + } + + // below codes are changed by github1s + const productConfElement = document.getElementById('vscode-product-configuration'); + const productConfAttribute = productConfElement ? productConfElement.getAttribute('data-settings') : undefined; + if (productConfAttribute) { + try { + const productConfiguration = JSON.parse(productConfAttribute); + product = Object.assign(product, productConfiguration); + } catch (e) { /* invalid productConfig, ignore it */ } + } + // above codes are changed by github1s +} + export default product; diff --git a/vscode-web-github1s/src/vs/platform/telemetry/common/telemetryService.ts b/vscode-web-github1s/src/vs/platform/telemetry/common/telemetryService.ts index 52a8eaa87..b8e7c83cb 100644 --- a/vscode-web-github1s/src/vs/platform/telemetry/common/telemetryService.ts +++ b/vscode-web-github1s/src/vs/platform/telemetry/common/telemetryService.ts @@ -3,18 +3,18 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import product from 'vs/platform/product/common/product'; -import { localize } from 'vs/nls'; -import { escapeRegExpCharacters } from 'vs/base/common/strings'; -import { ITelemetryService, ITelemetryInfo, ITelemetryData } from 'vs/platform/telemetry/common/telemetry'; -import { ITelemetryAppender } from 'vs/platform/telemetry/common/telemetryUtils'; -import { optional } from 'vs/platform/instantiation/common/instantiation'; -import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; -import { IConfigurationRegistry, Extensions } from 'vs/platform/configuration/common/configurationRegistry'; import { DisposableStore } from 'vs/base/common/lifecycle'; import { cloneAndChange, mixin } from 'vs/base/common/objects'; +import { escapeRegExpCharacters } from 'vs/base/common/strings'; +import { localize } from 'vs/nls'; +import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; +import { ConfigurationScope, Extensions, IConfigurationRegistry } from 'vs/platform/configuration/common/configurationRegistry'; +import { optional } from 'vs/platform/instantiation/common/instantiation'; +import product from 'vs/platform/product/common/product'; import { Registry } from 'vs/platform/registry/common/platform'; -import { ClassifiedEvent, StrictPropertyCheck, GDPRClassification } from 'vs/platform/telemetry/common/gdprTypings'; +import { ClassifiedEvent, GDPRClassification, StrictPropertyCheck } from 'vs/platform/telemetry/common/gdprTypings'; +import { ITelemetryData, ITelemetryInfo, ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; +import { ITelemetryAppender } from 'vs/platform/telemetry/common/telemetryUtils'; export interface ITelemetryServiceConfig { appender: ITelemetryAppender; @@ -220,13 +220,15 @@ Registry.as(Extensions.Configuration).registerConfigurat 'type': 'boolean', 'markdownDescription': !product.privacyStatementUrl ? - localize('telemetry.enableTelemetry', "Enable usage data and errors to be sent to a Microsoft online service.") : - localize('telemetry.enableTelemetryMd', "Enable usage data and errors to be sent to a Microsoft online service. Read our privacy statement [here]({0}).", product.privacyStatementUrl), + localize('telemetry.enableTelemetry', "Enable diagnostic data to be collected. This helps us to better understand how {0} is performing and where improvements need to be made.", product.nameLong) : + localize('telemetry.enableTelemetryMd', "Enable diagnostic data to be collected. This helps us to better understand how {0} is performing and where improvements need to be made. [Read more]({1}) about what we collect and our privacy statement.", product.nameLong, product.privacyStatementUrl), // below codes are changed by github1s // disable telemetry by default https://github.com/conwnet/github1s/issues/196 'default': false, // above codes are changed by github1s - 'tags': ['usesOnlineServices'] + 'restricted': true, + 'scope': ConfigurationScope.APPLICATION, + 'tags': ['usesOnlineServices', 'telemetry'] } } }); diff --git a/vscode-web-github1s/src/vs/workbench/api/worker/extHostExtensionService.ts b/vscode-web-github1s/src/vs/workbench/api/worker/extHostExtensionService.ts index c0c706364..391f037e3 100644 --- a/vscode-web-github1s/src/vs/workbench/api/worker/extHostExtensionService.ts +++ b/vscode-web-github1s/src/vs/workbench/api/worker/extHostExtensionService.ts @@ -12,6 +12,7 @@ import { ExtensionIdentifier, IExtensionDescription } from 'vs/platform/extensio import { ExtensionRuntime } from 'vs/workbench/api/common/extHostTypes'; import { timeout } from 'vs/base/common/async'; import { MainContext, MainThreadConsoleShape } from 'vs/workbench/api/common/extHost.protocol'; +import { FileAccess } from 'vs/base/common/network'; namespace TrustedFunction { @@ -73,7 +74,7 @@ export class ExtHostExtensionService extends AbstractExtHostExtensionService { protected async _beforeAlmostReadyToRunExtensions(): Promise { const mainThreadConsole = this._extHostContext.getProxy(MainContext.MainThreadConsole); - wrapConsoleMethods(mainThreadConsole); + wrapConsoleMethods(mainThreadConsole, this._initData.environment.isExtensionDevelopmentDebug); // initialize API and register actors const apiFactory = this._instaService.invokeFunction(createApiFactoryAndRegisterActors); @@ -94,7 +95,7 @@ export class ExtHostExtensionService extends AbstractExtHostExtensionService { if (extensionId) { performance.mark(`code/extHost/willFetchExtensionCode/${extensionId.value}`); } - const response = await fetch(module.toString(true)); + const response = await fetch(FileAccess.asBrowserUri(module).toString(true)); if (extensionId) { performance.mark(`code/extHost/didFetchExtensionCode/${extensionId.value}`); } @@ -155,7 +156,7 @@ export class ExtHostExtensionService extends AbstractExtHostExtensionService { } async $setRemoteEnvironment(_env: { [key: string]: string | null }): Promise { - throw new Error('Not supported'); + return; } private async _waitForDebuggerAttachment(waitTimeout = 5000) { @@ -176,15 +177,19 @@ function ensureSuffix(path: string, suffix: string): string { } // copied from bootstrap-fork.js -function wrapConsoleMethods(service: MainThreadConsoleShape) { +function wrapConsoleMethods(service: MainThreadConsoleShape, callToNative: boolean) { wrap('info', 'log'); wrap('log', 'log'); wrap('warn', 'warn'); wrap('error', 'error'); function wrap(method: 'error' | 'warn' | 'info' | 'log', severity: 'error' | 'warn' | 'log') { + const original = console[method]; console[method] = function () { service.$logExtensionHostMessage({ type: '__$console', severity, arguments: safeToArray(arguments) }); + if (callToNative) { + original.apply(console, arguments as any); + } }; } diff --git a/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts b/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts index 50285f582..3f7ea82cc 100644 --- a/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts +++ b/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts @@ -16,7 +16,7 @@ import { IContextMenuService } from 'vs/platform/contextview/browser/contextView import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { activeContrastBorder, focusBorder } from 'vs/platform/theme/common/colorRegistry'; import { IColorTheme, IThemeService, registerThemingParticipant } from 'vs/platform/theme/common/themeService'; -import { ActivityAction, ActivityActionViewItem, ICompositeBar, ICompositeBarColors, ToggleCompositePinnedAction } from 'vs/workbench/browser/parts/compositeBarActions'; +import { ActivityAction, ActivityActionViewItem, IActivityHoverOptions, ICompositeBar, ICompositeBarColors, ToggleCompositePinnedAction } from 'vs/workbench/browser/parts/compositeBarActions'; import { CATEGORIES } from 'vs/workbench/common/actions'; import { IActivity } from 'vs/workbench/common/activity'; import { ACTIVITY_BAR_FOREGROUND, ACTIVITY_BAR_ACTIVE_BORDER, ACTIVITY_BAR_ACTIVE_FOCUS_BORDER, ACTIVITY_BAR_ACTIVE_BACKGROUND } from 'vs/workbench/common/theme'; @@ -35,6 +35,8 @@ import { AnchorAlignment, AnchorAxisAlignment } from 'vs/base/browser/ui/context import { getTitleBarStyle } from 'vs/platform/windows/common/windows'; import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage'; +import { IHoverService } from 'vs/workbench/services/hover/browser/hover'; +import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; export class ViewContainerActivityAction extends ActivityAction { @@ -56,7 +58,7 @@ export class ViewContainerActivityAction extends ActivityAction { this.activity = activity; } - async run(event: unknown): Promise { + override async run(event: any | { preserveFocus: boolean }): Promise { if (event instanceof MouseEvent && event.button === 2) { return; // do not run on right click } @@ -72,11 +74,12 @@ export class ViewContainerActivityAction extends ActivityAction { const activeViewlet = this.viewletService.getActiveViewlet(); const focusBehavior = this.configurationService.getValue('workbench.activityBar.iconClickBehavior'); + const focus = (event && 'preserveFocus' in event) ? !event.preserveFocus : true; if (sideBarVisible && activeViewlet?.getId() === this.activity.id) { switch (focusBehavior) { case 'focus': this.logAction('refocus'); - this.viewletService.openViewlet(this.activity.id, true); + this.viewletService.openViewlet(this.activity.id, focus); break; case 'toggle': default: @@ -90,7 +93,7 @@ export class ViewContainerActivityAction extends ActivityAction { } this.logAction('show'); - await this.viewletService.openViewlet(this.activity.id, true); + await this.viewletService.openViewlet(this.activity.id, focus); return this.activate(); } @@ -111,17 +114,20 @@ class MenuActivityActionViewItem extends ActivityActionViewItem { action: ActivityAction, private contextMenuActionsProvider: () => IAction[], colors: (theme: IColorTheme) => ICompositeBarColors, + hoverOptions: IActivityHoverOptions, @IThemeService themeService: IThemeService, + @IHoverService hoverService: IHoverService, @IMenuService protected readonly menuService: IMenuService, @IContextMenuService protected readonly contextMenuService: IContextMenuService, @IContextKeyService protected readonly contextKeyService: IContextKeyService, - @IConfigurationService protected readonly configurationService: IConfigurationService, - @IWorkbenchEnvironmentService protected readonly environmentService: IWorkbenchEnvironmentService + @IConfigurationService configurationService: IConfigurationService, + @IWorkbenchEnvironmentService protected readonly environmentService: IWorkbenchEnvironmentService, + @IKeybindingService keybindingService: IKeybindingService, ) { - super(action, { draggable: false, colors, icon: true, hasPopup: true }, themeService); + super(action, { draggable: false, colors, icon: true, hasPopup: true, hoverOptions }, themeService, hoverService, configurationService, keybindingService); } - render(container: HTMLElement): void { + override render(container: HTMLElement): void { super.render(container); // Context menus are triggered on mouse down so that an item can be picked @@ -192,17 +198,20 @@ export class HomeActivityActionViewItem extends MenuActivityActionViewItem { action: ActivityAction, contextMenuActionsProvider: () => IAction[], colors: (theme: IColorTheme) => ICompositeBarColors, + activityHoverOptions: IActivityHoverOptions, @IThemeService themeService: IThemeService, - @IMenuService menuService: IMenuService, + @IHoverService hoverService: IHoverService, @IContextMenuService contextMenuService: IContextMenuService, + @IMenuService menuService: IMenuService, @IContextKeyService contextKeyService: IContextKeyService, - @IConfigurationService configurationService: IConfigurationService, @IWorkbenchEnvironmentService environmentService: IWorkbenchEnvironmentService, + @IConfigurationService configurationService: IConfigurationService, + @IKeybindingService keybindingService: IKeybindingService, ) { - super(MenuId.MenubarHomeMenu, action, contextMenuActionsProvider, colors, themeService, menuService, contextMenuService, contextKeyService, configurationService, environmentService); + super(MenuId.AccountsContext, action, contextMenuActionsProvider, colors, activityHoverOptions, themeService, hoverService, menuService, contextMenuService, contextKeyService, configurationService, environmentService, keybindingService); } - render(container: HTMLElement): void { + override render(container: HTMLElement): void { super.render(container); this._register(addDisposableListener(this.container, EventType.CLICK, (e: MouseEvent) => { @@ -240,7 +249,9 @@ export class AccountsActivityActionViewItem extends MenuActivityActionViewItem { action: ActivityAction, contextMenuActionsProvider: () => IAction[], colors: (theme: IColorTheme) => ICompositeBarColors, + activityHoverOptions: IActivityHoverOptions, @IThemeService themeService: IThemeService, + @IHoverService hoverService: IHoverService, @IContextMenuService contextMenuService: IContextMenuService, @IMenuService menuService: IMenuService, @IContextKeyService contextKeyService: IContextKeyService, @@ -248,12 +259,13 @@ export class AccountsActivityActionViewItem extends MenuActivityActionViewItem { @IWorkbenchEnvironmentService environmentService: IWorkbenchEnvironmentService, @IProductService private readonly productService: IProductService, @IConfigurationService configurationService: IConfigurationService, - @IStorageService private readonly storageService: IStorageService + @IStorageService private readonly storageService: IStorageService, + @IKeybindingService keybindingService: IKeybindingService, ) { - super(MenuId.AccountsContext, action, contextMenuActionsProvider, colors, themeService, menuService, contextMenuService, contextKeyService, configurationService, environmentService); + super(MenuId.AccountsContext, action, contextMenuActionsProvider, colors, activityHoverOptions, themeService, hoverService, menuService, contextMenuService, contextKeyService, configurationService, environmentService, keybindingService); } - protected async resolveMainMenuActions(accountsMenu: IMenu, disposables: DisposableStore): Promise { + protected override async resolveMainMenuActions(accountsMenu: IMenu, disposables: DisposableStore): Promise { await super.resolveMainMenuActions(accountsMenu, disposables); const otherCommands = accountsMenu.getActions(); @@ -329,7 +341,7 @@ export class AccountsActivityActionViewItem extends MenuActivityActionViewItem { return menus; } - protected async resolveContextMenuActions(disposables: DisposableStore): Promise { + protected override async resolveContextMenuActions(disposables: DisposableStore): Promise { const actions = await super.resolveContextMenuActions(disposables); actions.unshift(...[ @@ -347,14 +359,17 @@ export class GlobalActivityActionViewItem extends MenuActivityActionViewItem { action: ActivityAction, contextMenuActionsProvider: () => IAction[], colors: (theme: IColorTheme) => ICompositeBarColors, + activityHoverOptions: IActivityHoverOptions, @IThemeService themeService: IThemeService, + @IHoverService hoverService: IHoverService, @IMenuService menuService: IMenuService, @IContextMenuService contextMenuService: IContextMenuService, @IContextKeyService contextKeyService: IContextKeyService, @IConfigurationService configurationService: IConfigurationService, - @IWorkbenchEnvironmentService environmentService: IWorkbenchEnvironmentService + @IWorkbenchEnvironmentService environmentService: IWorkbenchEnvironmentService, + @IKeybindingService keybindingService: IKeybindingService, ) { - super(MenuId.GlobalActivity, action, contextMenuActionsProvider, colors, themeService, menuService, contextMenuService, contextKeyService, configurationService, environmentService); + super(MenuId.GlobalActivity, action, contextMenuActionsProvider, colors, activityHoverOptions, themeService, hoverService, menuService, contextMenuService, contextKeyService, configurationService, environmentService, keybindingService); } } diff --git a/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts b/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts index 5a92d971f..79e589232 100644 --- a/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts +++ b/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts @@ -12,7 +12,7 @@ import { Part } from 'vs/workbench/browser/part'; import { GlobalActivityActionViewItem, ViewContainerActivityAction, PlaceHolderToggleCompositePinnedAction, PlaceHolderViewContainerActivityAction, AccountsActivityActionViewItem, HomeActivityActionViewItem } from 'vs/workbench/browser/parts/activitybar/activitybarActions'; // above codes are changed by github1s import { IBadge, NumberBadge } from 'vs/workbench/services/activity/common/activity'; -import { IWorkbenchLayoutService, Parts } from 'vs/workbench/services/layout/browser/layoutService'; +import { IWorkbenchLayoutService, Parts, Position } from 'vs/workbench/services/layout/browser/layoutService'; import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; import { IDisposable, toDisposable, DisposableStore, Disposable } from 'vs/base/common/lifecycle'; import { ToggleActivityBarVisibilityAction, ToggleSidebarPositionAction } from 'vs/workbench/browser/actions/layoutActions'; @@ -24,7 +24,7 @@ import { Dimension, createCSSRule, asCSSUrl, addDisposableListener, EventType } import { IStorageService, StorageScope, IStorageValueChangeEvent, StorageTarget } from 'vs/platform/storage/common/storage'; import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions'; import { URI, UriComponents } from 'vs/base/common/uri'; -import { ToggleCompositePinnedAction, ICompositeBarColors, ActivityAction, ICompositeActivity } from 'vs/workbench/browser/parts/compositeBarActions'; +import { ToggleCompositePinnedAction, ICompositeBarColors, ActivityAction, ICompositeActivity, IActivityHoverOptions } from 'vs/workbench/browser/parts/compositeBarActions'; import { IViewDescriptorService, ViewContainer, IViewContainerModel, ViewContainerLocation, IViewsService, getEnabledViewContainerContextKey } from 'vs/workbench/common/views'; import { IContextKeyService, ContextKeyExpr, IContextKey } from 'vs/platform/contextkey/common/contextkey'; import { assertIsDefined, isString } from 'vs/base/common/types'; @@ -45,6 +45,7 @@ import { Action2, registerAction2 } from 'vs/platform/actions/common/actions'; import { CATEGORIES } from 'vs/workbench/common/actions'; import { registerIcon } from 'vs/platform/theme/common/iconRegistry'; import { StringSHA1 } from 'vs/base/common/hash'; +import { HoverPosition } from 'vs/base/browser/ui/hover/hoverWidget'; interface IPlaceholderViewContainer { readonly id: string; @@ -163,6 +164,7 @@ export class ActivitybarPart extends Part implements IActivityBarService { return this._register(this.instantiationService.createInstance(CompositeBar, cachedItems, { icon: true, orientation: ActionsOrientation.VERTICAL, + activityHoverOptions: this.getActivityHoverOptions(), preventLoopNavigation: true, openComposite: compositeId => this.viewsService.openViewContainer(compositeId, true), getActivityAction: compositeId => this.getCompositeActions(compositeId).activityAction, @@ -174,16 +176,7 @@ export class ActivitybarPart extends Part implements IActivityBarService { // Menu const menuBarVisibility = getMenuBarVisibility(this.configurationService); if (menuBarVisibility === 'compact' || menuBarVisibility === 'hidden' || menuBarVisibility === 'toggle') { - topActions.push({ - id: 'toggleMenuVisibility', - label: localize('menu', "Menu"), - class: undefined, - tooltip: localize('menu', "Menu"), - checked: menuBarVisibility === 'compact', - enabled: true, - run: async () => this.configurationService.updateValue('window.menuBarVisibility', menuBarVisibility === 'compact' ? 'toggle' : 'compact'), - dispose: () => { } - }); + topActions.push(toAction({ id: 'toggleMenuVisibility', label: localize('menu', "Menu"), checked: menuBarVisibility === 'compact', run: () => this.configurationService.updateValue('window.menuBarVisibility', menuBarVisibility === 'compact' ? 'toggle' : 'compact') })); } if (topActions.length) { @@ -192,26 +185,14 @@ export class ActivitybarPart extends Part implements IActivityBarService { // Accounts actions.push(new Separator()); - actions.push({ - id: 'toggleAccountsVisibility', - label: localize('accounts', "Accounts"), - class: undefined, - tooltip: localize('accounts', "Accounts"), - checked: this.accountsVisibilityPreference, - enabled: true, - run: async () => this.accountsVisibilityPreference = !this.accountsVisibilityPreference, - dispose: () => { } - }); - + actions.push(toAction({ id: 'toggleAccountsVisibility', label: localize('accounts', "Accounts"), checked: this.accountsVisibilityPreference, run: () => this.accountsVisibilityPreference = !this.accountsVisibilityPreference })); actions.push(new Separator()); // Toggle Sidebar - actions.push(this.instantiationService.createInstance(ToggleSidebarPositionAction, ToggleSidebarPositionAction.ID, ToggleSidebarPositionAction.getLabel(this.layoutService))); + actions.push(toAction({ id: ToggleSidebarPositionAction.ID, label: ToggleSidebarPositionAction.getLabel(this.layoutService), run: () => this.instantiationService.invokeFunction(accessor => new ToggleSidebarPositionAction().run(accessor)) })); // Toggle Activity Bar - // below codes are changed by github1s typo - actions.push(toAction({ id: ToggleActivityBarVisibilityAction.ID, label: localize('hideActivityBar', "Hide Activity Bar"), run: async () => this.instantiationService.invokeFunction(accessor => new ToggleActivityBarVisibilityAction().run(accessor)) })); - // above codes are changed by github1s + actions.push(toAction({ id: ToggleActivityBarVisibilityAction.ID, label: localize('hideActivitBar', "Hide Activity Bar"), run: () => this.instantiationService.invokeFunction(accessor => new ToggleActivityBarVisibilityAction().run(accessor)) })); }, getContextMenuActionsForComposite: compositeId => this.getContextMenuActionsForComposite(compositeId), getDefaultCompositeId: () => this.viewDescriptorService.getDefaultViewContainer(this.location)!.id, @@ -227,6 +208,12 @@ export class ActivitybarPart extends Part implements IActivityBarService { })); } + private getActivityHoverOptions(): IActivityHoverOptions { + return { + position: () => this.layoutService.getSideBarPosition() === Position.LEFT ? HoverPosition.RIGHT : HoverPosition.LEFT, + }; + } + private getContextMenuActionsForComposite(compositeId: string): IAction[] { const actions: IAction[] = []; @@ -278,7 +265,7 @@ export class ActivitybarPart extends Part implements IActivityBarService { })); } - private onDidChangeViewContainers(added: ReadonlyArray<{ container: ViewContainer, location: ViewContainerLocation; }>, removed: ReadonlyArray<{ container: ViewContainer, location: ViewContainerLocation; }>) { + private onDidChangeViewContainers(added: readonly { container: ViewContainer, location: ViewContainerLocation; }[], removed: readonly { container: ViewContainer, location: ViewContainerLocation; }[]) { removed.filter(({ location }) => location === ViewContainerLocation.Sidebar).forEach(({ container }) => this.onDidDeregisterViewContainer(container)); this.onDidRegisterViewContainers(added.filter(({ location }) => location === ViewContainerLocation.Sidebar).map(({ container }) => container)); } @@ -462,7 +449,7 @@ export class ActivitybarPart extends Part implements IActivityBarService { this.registerKeyboardNavigationListeners(); } - createContentArea(parent: HTMLElement): HTMLElement { + override createContentArea(parent: HTMLElement): HTMLElement { this.element = parent; this.content = document.createElement('div'); @@ -545,7 +532,7 @@ export class ActivitybarPart extends Part implements IActivityBarService { this.homeBarContainer.classList.add('home-bar'); this.homeBar = this._register(new ActionBar(this.homeBarContainer, { - actionViewItemProvider: action => this.instantiationService.createInstance(HomeActivityActionViewItem, action as ActivityAction, () => this.compositeBar.getContextMenuActions(), (theme: IColorTheme) => this.getActivitybarItemColors(theme)), + actionViewItemProvider: action => this.instantiationService.createInstance(HomeActivityActionViewItem, action as ActivityAction, () => this.compositeBar.getContextMenuActions(), (theme: IColorTheme) => this.getActivitybarItemColors(theme), this.getActivityHoverOptions()), orientation: ActionsOrientation.VERTICAL, ariaLabel: localize('home', "Open on GitHub"), animated: false, @@ -571,11 +558,11 @@ export class ActivitybarPart extends Part implements IActivityBarService { this.globalActivityActionBar = this._register(new ActionBar(container, { actionViewItemProvider: action => { if (action.id === 'workbench.actions.manage') { - return this.instantiationService.createInstance(GlobalActivityActionViewItem, action as ActivityAction, () => this.compositeBar.getContextMenuActions(), (theme: IColorTheme) => this.getActivitybarItemColors(theme)); + return this.instantiationService.createInstance(GlobalActivityActionViewItem, action as ActivityAction, () => this.compositeBar.getContextMenuActions(), (theme: IColorTheme) => this.getActivitybarItemColors(theme), this.getActivityHoverOptions()); } if (action.id === 'workbench.actions.accounts') { - return this.instantiationService.createInstance(AccountsActivityActionViewItem, action as ActivityAction, () => this.compositeBar.getContextMenuActions(), (theme: IColorTheme) => this.getActivitybarItemColors(theme)); + return this.instantiationService.createInstance(AccountsActivityActionViewItem, action as ActivityAction, () => this.compositeBar.getContextMenuActions(), (theme: IColorTheme) => this.getActivitybarItemColors(theme), this.getActivityHoverOptions()); } throw new Error(`No view item for action '${action.id}'`); @@ -647,7 +634,7 @@ export class ActivitybarPart extends Part implements IActivityBarService { return compositeActions; } - private onDidRegisterViewContainers(viewContainers: ReadonlyArray): void { + private onDidRegisterViewContainers(viewContainers: readonly ViewContainer[]): void { for (const viewContainer of viewContainers) { this.addComposite(viewContainer); @@ -814,7 +801,7 @@ export class ActivitybarPart extends Part implements IActivityBarService { this.compositeBar.focus(); } - updateStyles(): void { + override updateStyles(): void { super.updateStyles(); const container = assertIsDefined(this.getContainer()); @@ -839,7 +826,7 @@ export class ActivitybarPart extends Part implements IActivityBarService { }; } - layout(width: number, height: number): void { + override layout(width: number, height: number): void { if (!this.layoutService.isVisible(Parts.ACTIVITYBAR_PART)) { return; } @@ -863,7 +850,7 @@ export class ActivitybarPart extends Part implements IActivityBarService { return viewContainer && this.viewDescriptorService.getViewContainerLocation(viewContainer) === this.location ? viewContainer : undefined; } - private getViewContainers(): ReadonlyArray { + private getViewContainers(): readonly ViewContainer[] { return this.viewDescriptorService.getViewContainersByLocation(this.location); } @@ -1017,14 +1004,12 @@ export class ActivitybarPart extends Part implements IActivityBarService { return this._placeholderViewContainersValue; } - // below codes are changed by github1s typo - private set placeholderViewContainersValue(placeholderViewContainsValue: string) { - if (this.placeholderViewContainersValue !== placeholderViewContainsValue) { - this._placeholderViewContainersValue = placeholderViewContainsValue; - this.setStoredPlaceholderViewContainersValue(placeholderViewContainsValue); + private set placeholderViewContainersValue(placeholderViewContainesValue: string) { + if (this.placeholderViewContainersValue !== placeholderViewContainesValue) { + this._placeholderViewContainersValue = placeholderViewContainesValue; + this.setStoredPlaceholderViewContainersValue(placeholderViewContainesValue); } } - // above codes are changed by github1s private getStoredPlaceholderViewContainersValue(): string { return this.storageService.get(ActivitybarPart.PLACEHOLDER_VIEW_CONTAINERS, StorageScope.GLOBAL, '[]'); diff --git a/vscode-web-github1s/src/vs/workbench/browser/parts/titlebar/titlebarPart.ts b/vscode-web-github1s/src/vs/workbench/browser/parts/titlebar/titlebarPart.ts index bf60c532b..488135954 100644 --- a/vscode-web-github1s/src/vs/workbench/browser/parts/titlebar/titlebarPart.ts +++ b/vscode-web-github1s/src/vs/workbench/browser/parts/titlebar/titlebarPart.ts @@ -42,6 +42,7 @@ import { IProductService } from 'vs/platform/product/common/productService'; import { Schemas } from 'vs/base/common/network'; import { withNullAsUndefined } from 'vs/base/common/types'; import { Codicon, iconRegistry } from 'vs/base/common/codicons'; +import { getVirtualWorkspaceLocation } from 'vs/platform/remote/common/remoteHosts'; export class TitlebarPart extends Part implements ITitleService { @@ -165,6 +166,7 @@ export class TitlebarPart extends Part implements ITitleService { if (activeEditor) { this.activeEditorListeners.add(activeEditor.onDidChangeDirty(() => this.titleUpdater.schedule())); this.activeEditorListeners.add(activeEditor.onDidChangeLabel(() => this.titleUpdater.schedule())); + this.activeEditorListeners.add(activeEditor.onDidChangeCapabilities(() => this.titleUpdater.schedule())); } } @@ -278,6 +280,19 @@ export class TitlebarPart extends Part implements ITitleService { folder = withNullAsUndefined(this.contextService.getWorkspaceFolder(editorResource)); } + // Compute remote + // vscode-remtoe: use as is + // otherwise figure out if we have a virtual folder opened + let remoteName: string | undefined = undefined; + if (this.environmentService.remoteAuthority) { + remoteName = this.labelService.getHostLabel(Schemas.vscodeRemote, this.environmentService.remoteAuthority); + } else { + const virtualWorkspaceLocation = getVirtualWorkspaceLocation(workspace); + if (virtualWorkspaceLocation) { + remoteName = this.labelService.getHostLabel(virtualWorkspaceLocation.scheme, virtualWorkspaceLocation.authority); + } + } + // Variables const activeEditorShort = editor ? editor.getTitle(Verbosity.SHORT) : ''; const activeEditorMedium = editor ? editor.getTitle(Verbosity.MEDIUM) : activeEditorShort; @@ -291,10 +306,9 @@ export class TitlebarPart extends Part implements ITitleService { const folderPath = folder ? this.labelService.getUriLabel(folder.uri) : ''; const dirty = editor?.isDirty() && !editor.isSaving() ? TitlebarPart.TITLE_DIRTY : ''; const appName = this.productService.nameLong; - const remoteName = this.labelService.getHostLabel(Schemas.vscodeRemote, this.environmentService.remoteAuthority); const separator = this.configurationService.getValue('window.titleSeparator'); const titleTemplate = this.configurationService.getValue('window.title'); - // below codes are changed by github1s + // below codes are changed by github1s TEMP!! const [owner = 'conwnet', repo = 'github1s'] = URI.parse(window.location.href).path.split('/').filter(Boolean); // above codes are changed by github1s @@ -348,7 +362,7 @@ export class TitlebarPart extends Part implements ITitleService { this._register(this.customMenubar.onVisibilityChange(e => this.onMenubarVisibilityChanged(e))); } - createContentArea(parent: HTMLElement): HTMLElement { + override createContentArea(parent: HTMLElement): HTMLElement { this.element = parent; // App Icon (Native Windows/Linux and Web) @@ -420,7 +434,7 @@ export class TitlebarPart extends Part implements ITitleService { return this.element; } - updateStyles(): void { + override updateStyles(): void { super.updateStyles(); // Part container @@ -507,9 +521,9 @@ export class TitlebarPart extends Part implements ITitleService { if (getTitleBarStyle(this.configurationService) === 'custom') { // Only prevent zooming behavior on macOS or when the menubar is not visible if ((!isWeb && isMacintosh) || this.currentMenubarVisibility === 'hidden') { - this.title.style.zoom = `${1 / getZoomFactor()}`; + (this.title.style as any).zoom = `${1 / getZoomFactor()}`; } else { - this.title.style.zoom = ''; + (this.title.style as any).zoom = ''; } runAtThisOrScheduleAtNextAnimationFrame(() => this.adjustTitleMarginToCenter()); @@ -521,7 +535,7 @@ export class TitlebarPart extends Part implements ITitleService { } } - layout(width: number, height: number): void { + override layout(width: number, height: number): void { this.updateLayout(new Dimension(width, height)); super.layoutContents(width, height); diff --git a/vscode-web-github1s/src/vs/workbench/browser/web.main.ts b/vscode-web-github1s/src/vs/workbench/browser/web.main.ts index 624857b32..1bce19949 100644 --- a/vscode-web-github1s/src/vs/workbench/browser/web.main.ts +++ b/vscode-web-github1s/src/vs/workbench/browser/web.main.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { mark } from 'vs/base/common/performance'; -import { domContentLoaded, detectFullscreen, getCookieValue } from 'vs/base/browser/dom'; +import { domContentLoaded, detectFullscreen, getCookieValue, WebFileSystemAccess } from 'vs/base/browser/dom'; import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; import { ILogService, ConsoleLogger, MultiplexLogService, getLogLevel } from 'vs/platform/log/common/log'; import { ConsoleLogInAutomationLogger } from 'vs/platform/log/browser/log'; @@ -60,6 +60,11 @@ import { IUriIdentityService } from 'vs/workbench/services/uriIdentity/common/ur import { UriIdentityService } from 'vs/workbench/services/uriIdentity/common/uriIdentityService'; import { BrowserWindow } from 'vs/workbench/browser/window'; import { ITimerService } from 'vs/workbench/services/timer/browser/timerService'; +import { WorkspaceTrustEnablementService, WorkspaceTrustManagementService } from 'vs/workbench/services/workspaces/common/workspaceTrust'; +import { IWorkspaceTrustEnablementService, IWorkspaceTrustManagementService } from 'vs/platform/workspace/common/workspaceTrust'; +import { HTMLFileSystemProvider } from 'vs/platform/files/browser/htmlFileSystemProvider'; +import { IOpenerService } from 'vs/platform/opener/common/opener'; +import { safeStringify } from 'vs/base/common/objects'; class BrowserMain extends Disposable { @@ -79,10 +84,9 @@ class BrowserMain extends Disposable { } async open(): Promise { - const services = await this.initServices(); - await domContentLoaded(); - mark('code/willStartWorkbench'); + // Init services and wait for DOM to be ready in parallel + const [services] = await Promise.all([this.initServices(), domContentLoaded()]); // Create Workbench const workbench = new Workbench(this.domElement, services.serviceCollection, services.logService); @@ -97,23 +101,29 @@ class BrowserMain extends Disposable { this._register(instantiationService.createInstance(BrowserWindow)); // Logging - services.logService.trace('workbench configuration', JSON.stringify(this.configuration)); + services.logService.trace('workbench configuration', safeStringify(this.configuration)); // Return API Facade return instantiationService.invokeFunction(accessor => { const commandService = accessor.get(ICommandService); const lifecycleService = accessor.get(ILifecycleService); const timerService = accessor.get(ITimerService); + const openerService = accessor.get(IOpenerService); + const productService = accessor.get(IProductService); return { commands: { executeCommand: (command, ...args) => commandService.executeCommand(command, ...args) }, env: { + uriScheme: productService.urlProtocol, async retrievePerformanceMarks() { await timerService.whenReady(); return timerService.getPerformanceMarks(); + }, + async openUri(uri: URI): Promise { + return openerService.open(uri, {}); } }, shutdown: () => lifecycleService.shutdown() @@ -130,7 +140,7 @@ class BrowserMain extends Disposable { } })); this._register(workbench.onWillShutdown(() => storageService.close())); - this._register(workbench.onShutdown(() => this.dispose())); + this._register(workbench.onDidShutdown(() => this.dispose())); } private async initServices(): Promise<{ serviceCollection: ServiceCollection, configurationService: IWorkbenchConfigurationService, logService: ILogService, storageService: BrowserStorageService }> { @@ -174,7 +184,7 @@ class BrowserMain extends Disposable { serviceCollection.set(IFileService, fileService); await this.registerFileSystemProviders(environmentService, fileService, remoteAgentService, logService, logsPath); - // IURIIdentityService + // URI Identity const uriIdentityService = new UriIdentityService(fileService); serviceCollection.set(IUriIdentityService, uriIdentityService); @@ -191,7 +201,7 @@ class BrowserMain extends Disposable { return service; }), - this.createStorageService(payload, environmentService, fileService, logService).then(service => { + this.createStorageService(payload, logService).then(service => { // Storage serviceCollection.set(IStorageService, service); @@ -200,6 +210,17 @@ class BrowserMain extends Disposable { }) ]); + // Workspace Trust Service + const workspaceTrustEnablementService = new WorkspaceTrustEnablementService(configurationService, environmentService); + serviceCollection.set(IWorkspaceTrustEnablementService, workspaceTrustEnablementService); + + const workspaceTrustManagementService = new WorkspaceTrustManagementService(configurationService, remoteAuthorityResolverService, storageService, uriIdentityService, environmentService, configurationService, workspaceTrustEnablementService); + serviceCollection.set(IWorkspaceTrustManagementService, workspaceTrustManagementService); + + // Update workspace trust so that configuration is updated accordingly + configurationService.updateWorkspaceTrust(workspaceTrustManagementService.isWorkspaceTrusted()); + this._register(workspaceTrustManagementService.onDidChangeTrust(() => configurationService.updateWorkspaceTrust(workspaceTrustManagementService.isWorkspaceTrusted()))); + // Request Service const requestService = new BrowserRequestService(remoteAgentService, configurationService, logService); serviceCollection.set(IRequestService, requestService); @@ -219,9 +240,7 @@ class BrowserMain extends Disposable { await userDataInitializationService.initializeRequiredResources(); // Important: Reload only local user configuration after initializing - // below codes are changed by github1s typo - // Reloading complete configuration blocks workbench until remote configuration is loaded. - // above codes are changed by github1s + // Reloading complete configuraiton blocks workbench until remote configuration is loaded. await configurationService.reloadLocalUserConfiguration(); mark('code/didInitRequiredUserData'); @@ -237,7 +256,7 @@ class BrowserMain extends Disposable { (async () => { let indexedDBLogProvider: IFileSystemProvider | null = null; try { - indexedDBLogProvider = await indexedDB.createFileSystemProvider(logsPath.scheme, INDEXEDDB_LOGS_OBJECT_STORE); + indexedDBLogProvider = await indexedDB.createFileSystemProvider(logsPath.scheme, INDEXEDDB_LOGS_OBJECT_STORE, false); } catch (error) { onUnexpectedError(error); } @@ -250,7 +269,7 @@ class BrowserMain extends Disposable { logService.logger = new MultiplexLogService(coalesce([ new ConsoleLogger(logService.getLevel()), - new FileLogger('window', environmentService.logFile, logService.getLevel(), fileService), + new FileLogger('window', environmentService.logFile, logService.getLevel(), false, fileService), // Extension development test CLI: forward everything to test runner environmentService.isExtensionDevelopment && !!environmentService.extensionTestsLocationURI ? new ConsoleLogInAutomationLogger(logService.getLevel()) : undefined ])); @@ -267,11 +286,20 @@ class BrowserMain extends Disposable { // User data let indexedDBUserDataProvider: IIndexedDBFileSystemProvider | null = null; try { - indexedDBUserDataProvider = await indexedDB.createFileSystemProvider(Schemas.userData, INDEXEDDB_USERDATA_OBJECT_STORE); + indexedDBUserDataProvider = await indexedDB.createFileSystemProvider(Schemas.userData, INDEXEDDB_USERDATA_OBJECT_STORE, true); } catch (error) { onUnexpectedError(error); } - fileService.registerProvider(Schemas.userData, indexedDBUserDataProvider || new InMemoryFileSystemProvider()); + + let userDataProvider: IFileSystemProvider | undefined; + if (indexedDBUserDataProvider) { + userDataProvider = indexedDBUserDataProvider; + } else { + logService.info('using in-memory user data provider'); + userDataProvider = new InMemoryFileSystemProvider(); + } + + fileService.registerProvider(Schemas.userData, userDataProvider); if (indexedDBUserDataProvider) { registerAction2(class ResetUserDataAction extends Action2 { @@ -289,22 +317,31 @@ class BrowserMain extends Disposable { async run(accessor: ServicesAccessor): Promise { const dialogService = accessor.get(IDialogService); const hostService = accessor.get(IHostService); + const storageService = accessor.get(IStorageService); const result = await dialogService.confirm({ message: localize('reset user data message', "Would you like to reset your data (settings, keybindings, extensions, snippets and UI State) and reload?") }); if (result.confirmed) { await indexedDBUserDataProvider?.reset(); + if (storageService instanceof BrowserStorageService) { + await storageService.clear(); + } } hostService.reload(); } }); } + + if (WebFileSystemAccess.supported(window)) { + fileService.registerProvider(Schemas.file, new HTMLFileSystemProvider()); + } + fileService.registerProvider(Schemas.tmp, new InMemoryFileSystemProvider()); } - private async createStorageService(payload: IWorkspaceInitializationPayload, environmentService: IWorkbenchEnvironmentService, fileService: IFileService, logService: ILogService): Promise { - const storageService = new BrowserStorageService(payload, environmentService, fileService); + private async createStorageService(payload: IWorkspaceInitializationPayload, logService: ILogService): Promise { + const storageService = new BrowserStorageService(payload, logService); try { await storageService.initialize(); diff --git a/vscode-web-github1s/src/vs/workbench/browser/workbench.contribution.ts b/vscode-web-github1s/src/vs/workbench/browser/workbench.contribution.ts index 8d60f334c..25a8eb81e 100644 --- a/vscode-web-github1s/src/vs/workbench/browser/workbench.contribution.ts +++ b/vscode-web-github1s/src/vs/workbench/browser/workbench.contribution.ts @@ -10,9 +10,10 @@ import { isMacintosh, isWindows, isLinux, isWeb, isNative } from 'vs/base/common import { workbenchConfigurationNodeBase } from 'vs/workbench/common/configuration'; import { isStandalone } from 'vs/base/browser/browser'; +const registry = Registry.as(ConfigurationExtensions.Configuration); + // Configuration (function registerConfiguration(): void { - const registry = Registry.as(ConfigurationExtensions.Configuration); // Workbench registry.registerConfiguration({ @@ -88,10 +89,16 @@ import { isStandalone } from 'vs/base/browser/browser'; }, 'workbench.editor.untitled.hint': { 'type': 'string', - 'enum': ['text', 'button', 'hidden', 'default'], - 'default': 'default', + 'enum': ['text', 'hidden'], + 'default': 'text', 'markdownDescription': localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'untitledHint' }, "Controls if the untitled hint should be inline text in the editor or a floating button or hidden.") }, + 'workbench.editor.languageDetection': { + type: 'boolean', + default: true, + description: localize('workbench.editor.languageDetection', "Controls whether the language in a text editor is automatically detected unless the language has been explicitly set by the language picker. This can also be scoped by language so you can specify which languages you do not want to be switched off of. This is useful for languages like Markdown that often contain other languages that might trick language detection into thinking it's the embedded language and not Markdown."), + scope: ConfigurationScope.LANGUAGE_OVERRIDABLE + }, 'workbench.editor.tabCloseButton': { 'type': 'string', 'enum': ['left', 'right', 'off'], @@ -181,6 +188,19 @@ import { isStandalone } from 'vs/base/browser/browser'; 'description': localize('closeEmptyGroups', "Controls the behavior of empty editor groups when the last tab in the group is closed. When enabled, empty groups will automatically close. When disabled, empty groups will remain part of the grid."), 'default': true }, + 'workbench.editor.experimentalAutoLockGroups': { + 'type': 'object', + 'description': localize('workbench.editor.experimentalAutoLockGroups', "Experimental: If an editor matching one of the listed types is opened as the first in an editor group and more than one group is open, the group is automatically locked. Locked groups will only be used for opening editors when explicitly chosen by user gesture (e.g. drag and drop), but not by default. Consequently the active editor in a locked group is less likely to be replaced accidentally with a different editor."), + 'default': { + 'terminalEditor': true, + 'mainThreadWebview-markdown.preview': false, + 'default': false + }, + 'additionalProperties': { + 'type': 'boolean', + 'enum': [true, false] + }, + }, 'workbench.editor.revealIfOpen': { 'type': 'boolean', 'description': localize('revealIfOpen', "Controls whether an editor is revealed in any of the visible groups if opened. If disabled, an editor will prefer to open in the currently active editor group. If enabled, an already opened editor will be revealed instead of opened again in the currently active editor group. Note that there are some cases where this setting is ignored, e.g. when forcing an editor to open in a specific group or to the side of the currently active group."), @@ -193,10 +213,15 @@ import { isStandalone } from 'vs/base/browser/browser'; }, 'workbench.editor.restoreViewState': { 'type': 'boolean', - 'description': localize('restoreViewState', "Restores the last view state (e.g. scroll position) when re-opening textual editors after they have been closed."), + 'markdownDescription': localize('restoreViewState', "Restores the last editor view state (e.g. scroll position) when re-opening editors after they have been closed. Editor view state is stored per editor group and discarded when a group closes. Use the `#workbench.editor.sharedViewState#` setting to use the last known view state across all editor groups in case no previous view state was found for a editor group."), 'default': true, 'scope': ConfigurationScope.LANGUAGE_OVERRIDABLE }, + 'workbench.editor.sharedViewState': { + 'type': 'boolean', + 'description': localize('sharedViewState', "Preserves the most recent editor view state (e.g. scroll position) across all editor groups and restores that if no specific editor view state is found for the editor group."), + 'default': false + }, 'workbench.editor.centeredLayoutAutoResize': { 'type': 'boolean', 'default': true, diff --git a/vscode-web-github1s/src/vs/workbench/common/editor/resourceEditorInput.ts b/vscode-web-github1s/src/vs/workbench/common/editor/resourceEditorInput.ts new file mode 100644 index 000000000..cc1dcbf4c --- /dev/null +++ b/vscode-web-github1s/src/vs/workbench/common/editor/resourceEditorInput.ts @@ -0,0 +1,202 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { localize } from 'vs/nls'; +import { Verbosity, IEditorInputWithPreferredResource, EditorInputCapabilities } from 'vs/workbench/common/editor'; +import { EditorInput } from 'vs/workbench/common/editor/editorInput'; +import { URI } from 'vs/base/common/uri'; +import { IFileService, FileSystemProviderCapabilities } from 'vs/platform/files/common/files'; +import { ILabelService } from 'vs/platform/label/common/label'; +import { dirname, isEqual } from 'vs/base/common/resources'; + +/** + * The base class for all editor inputs that open resources. + */ +export abstract class AbstractResourceEditorInput extends EditorInput implements IEditorInputWithPreferredResource { + + override get capabilities(): EditorInputCapabilities { + let capabilities = EditorInputCapabilities.None; + + if (this.fileService.canHandleResource(this.resource)) { + if (this.fileService.hasCapability(this.resource, FileSystemProviderCapabilities.Readonly)) { + capabilities |= EditorInputCapabilities.Readonly; + } + } else { + capabilities |= EditorInputCapabilities.Untitled; + } + + return capabilities; + } + + private _preferredResource: URI; + get preferredResource(): URI { return this._preferredResource; } + + constructor( + readonly resource: URI, + preferredResource: URI | undefined, + @ILabelService protected readonly labelService: ILabelService, + @IFileService protected readonly fileService: IFileService + ) { + super(); + + this._preferredResource = preferredResource || resource; + + this.registerListeners(); + } + + private registerListeners(): void { + + // Clear our labels on certain label related events + this._register(this.labelService.onDidChangeFormatters(e => this.onLabelEvent(e.scheme))); + this._register(this.fileService.onDidChangeFileSystemProviderRegistrations(e => this.onLabelEvent(e.scheme))); + this._register(this.fileService.onDidChangeFileSystemProviderCapabilities(e => this.onLabelEvent(e.scheme))); + } + + private onLabelEvent(scheme: string): void { + if (scheme === this._preferredResource.scheme) { + this.updateLabel(); + } + } + + private updateLabel(): void { + + // Clear any cached labels from before + this._name = undefined; + this._shortDescription = undefined; + this._mediumDescription = undefined; + this._longDescription = undefined; + this._shortTitle = undefined; + this._mediumTitle = undefined; + this._longTitle = undefined; + + // Trigger recompute of label + this._onDidChangeLabel.fire(); + } + + setPreferredResource(preferredResource: URI): void { + if (!isEqual(preferredResource, this._preferredResource)) { + this._preferredResource = preferredResource; + + this.updateLabel(); + } + } + + private _name: string | undefined = undefined; + override getName(skipDecorate?: boolean): string { + if (typeof this._name !== 'string') { + this._name = this.labelService.getUriBasenameLabel(this._preferredResource); + } + + return skipDecorate ? this._name : this.decorateLabel(this._name); + } + + override getDescription(verbosity = Verbosity.MEDIUM): string | undefined { + switch (verbosity) { + case Verbosity.SHORT: + return this.shortDescription; + case Verbosity.LONG: + return this.longDescription; + case Verbosity.MEDIUM: + default: + return this.mediumDescription; + } + } + + private _shortDescription: string | undefined = undefined; + private get shortDescription(): string { + if (typeof this._shortDescription !== 'string') { + this._shortDescription = this.labelService.getUriBasenameLabel(dirname(this._preferredResource)); + } + + return this._shortDescription; + } + + private _mediumDescription: string | undefined = undefined; + private get mediumDescription(): string { + if (typeof this._mediumDescription !== 'string') { + this._mediumDescription = this.labelService.getUriLabel(dirname(this._preferredResource), { relative: true }); + } + + return this._mediumDescription; + } + + private _longDescription: string | undefined = undefined; + private get longDescription(): string { + if (typeof this._longDescription !== 'string') { + this._longDescription = this.labelService.getUriLabel(dirname(this._preferredResource)); + } + + return this._longDescription; + } + + private _shortTitle: string | undefined = undefined; + private get shortTitle(): string { + if (typeof this._shortTitle !== 'string') { + this._shortTitle = this.getName(true /* skip decorations */); + } + + return this._shortTitle; + } + + private _mediumTitle: string | undefined = undefined; + private get mediumTitle(): string { + if (typeof this._mediumTitle !== 'string') { + this._mediumTitle = this.labelService.getUriLabel(this._preferredResource, { relative: true }); + } + + return this._mediumTitle; + } + + private _longTitle: string | undefined = undefined; + private get longTitle(): string { + if (typeof this._longTitle !== 'string') { + this._longTitle = this.labelService.getUriLabel(this._preferredResource); + } + + return this._longTitle; + } + + override getTitle(verbosity?: Verbosity): string { + switch (verbosity) { + case Verbosity.SHORT: + return this.decorateLabel(this.shortTitle); + case Verbosity.LONG: + return this.decorateLabel(this.longTitle); + default: + case Verbosity.MEDIUM: + return this.decorateLabel(this.mediumTitle); + } + } + + private decorateLabel(label: string): string { + const readonly = this.hasCapability(EditorInputCapabilities.Readonly); + const orphaned = this.isOrphaned(); + + // below codes are changed by github1s + // remove read-only tips + return decorateFileEditorLabel(label, { orphaned, readonly: false }); + // above codes are changed by github1s + } + + isOrphaned(): boolean { + return false; + } +} + +export function decorateFileEditorLabel(label: string, state: { orphaned: boolean, readonly: boolean }): string { + if (state.orphaned && state.readonly) { + return localize('orphanedReadonlyFile', "{0} (deleted, read-only)", label); + } + + if (state.orphaned) { + return localize('orphanedFile', "{0} (deleted)", label); + } + + if (state.readonly) { + return localize('readonlyFile', "{0} (read-only)", label); + } + + return label; +} diff --git a/vscode-web-github1s/src/vs/workbench/contrib/files/browser/views/explorerView.ts b/vscode-web-github1s/src/vs/workbench/contrib/files/browser/views/explorerView.ts index 369ad5e5a..0e4cbe2e0 100644 --- a/vscode-web-github1s/src/vs/workbench/contrib/files/browser/views/explorerView.ts +++ b/vscode-web-github1s/src/vs/workbench/contrib/files/browser/views/explorerView.ts @@ -8,7 +8,7 @@ import { URI } from 'vs/base/common/uri'; import * as perf from 'vs/base/common/performance'; import { IAction, WorkbenchActionExecutedEvent, WorkbenchActionExecutedClassification } from 'vs/base/common/actions'; import { memoize } from 'vs/base/common/decorators'; -import { IFilesConfiguration, ExplorerFolderContext, FilesExplorerFocusedContext, ExplorerFocusedContext, ExplorerRootContext, ExplorerResourceReadonlyContext, ExplorerResourceCut, ExplorerResourceMoveableToTrash, ExplorerCompressedFocusContext, ExplorerCompressedFirstFocusContext, ExplorerCompressedLastFocusContext, ExplorerResourceAvailableEditorIdsContext, VIEW_ID, VIEWLET_ID } from 'vs/workbench/contrib/files/common/files'; +import { IFilesConfiguration, ExplorerFolderContext, FilesExplorerFocusedContext, ExplorerFocusedContext, ExplorerRootContext, ExplorerResourceReadonlyContext, ExplorerResourceCut, ExplorerResourceMoveableToTrash, ExplorerCompressedFocusContext, ExplorerCompressedFirstFocusContext, ExplorerCompressedLastFocusContext, ExplorerResourceAvailableEditorIdsContext, VIEW_ID, VIEWLET_ID, ExplorerResourceNotReadonlyContext } from 'vs/workbench/contrib/files/common/files'; import { FileCopiedContext, NEW_FILE_COMMAND_ID, NEW_FOLDER_COMMAND_ID } from 'vs/workbench/contrib/files/browser/fileActions'; import * as DOM from 'vs/base/browser/dom'; import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; @@ -19,7 +19,7 @@ import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; import { IProgressService, ProgressLocation } from 'vs/platform/progress/common/progress'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; -import { IContextKeyService, IContextKey, ContextKeyEqualsExpr } from 'vs/platform/contextkey/common/contextkey'; +import { IContextKeyService, IContextKey, ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; import { ResourceContextKey } from 'vs/workbench/common/resources'; import { IDecorationsService } from 'vs/workbench/services/decorations/browser/decorations'; import { WorkbenchCompressibleAsyncDataTree } from 'vs/platform/list/browser/listService'; @@ -55,6 +55,7 @@ import { IExplorerService } from 'vs/workbench/contrib/files/browser/files'; import { Codicon } from 'vs/base/common/codicons'; import { ICommandService } from 'vs/platform/commands/common/commands'; import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet'; +import { IEditorResolverService } from 'vs/workbench/services/editor/common/editorResolverService'; interface IExplorerViewColors extends IColorMapping { listDropBackground?: ColorValue | undefined; @@ -130,6 +131,11 @@ export function getContext(focus: ExplorerItem[], selection: ExplorerItem[], res return [focusedStat]; } +export interface IExplorerViewContainerDelegate { + willOpenElement(event?: UIEvent): void; + didOpenElement(event?: UIEvent): void; +} + export class ExplorerView extends ViewPane { static readonly TREE_VIEW_STATE_STORAGE_KEY: string = 'workbench.explorer.treeViewState'; @@ -155,27 +161,27 @@ export class ExplorerView extends ViewPane { private horizontalScrolling: boolean | undefined; - // Refresh is needed on the initial explorer open - private shouldRefresh = true; private dragHandler!: DelayedDragHandler; private autoReveal: boolean | 'focusNoScroll' = false; private decorationsProvider: ExplorerDecorationsProvider | undefined; constructor( options: IViewPaneOptions, + private readonly delegate: IExplorerViewContainerDelegate, @IContextMenuService contextMenuService: IContextMenuService, @IViewDescriptorService viewDescriptorService: IViewDescriptorService, @IInstantiationService instantiationService: IInstantiationService, @IWorkspaceContextService private readonly contextService: IWorkspaceContextService, @IProgressService private readonly progressService: IProgressService, @IEditorService private readonly editorService: IEditorService, + @IEditorResolverService private readonly editorResolverService: IEditorResolverService, @IWorkbenchLayoutService private readonly layoutService: IWorkbenchLayoutService, @IKeybindingService keybindingService: IKeybindingService, @IContextKeyService contextKeyService: IContextKeyService, @IConfigurationService configurationService: IConfigurationService, @IDecorationsService private readonly decorationService: IDecorationsService, @ILabelService private readonly labelService: ILabelService, - @IThemeService protected themeService: IWorkbenchThemeService, + @IThemeService themeService: IWorkbenchThemeService, @IMenuService private readonly menuService: IMenuService, @ITelemetryService telemetryService: ITelemetryService, @IExplorerService private readonly explorerService: IExplorerService, @@ -207,11 +213,11 @@ export class ExplorerView extends ViewPane { return this.labelService.getWorkspaceLabel(this.contextService.getWorkspace()); } - get title(): string { + override get title(): string { return this.name; } - set title(_: string) { + override set title(_: string) { // noop } @@ -232,7 +238,7 @@ export class ExplorerView extends ViewPane { // Split view methods - protected renderHeader(container: HTMLElement): void { + protected override renderHeader(container: HTMLElement): void { super.renderHeader(container); // Expand on drag over @@ -259,12 +265,12 @@ export class ExplorerView extends ViewPane { setHeader(); } - protected layoutBody(height: number, width: number): void { + protected override layoutBody(height: number, width: number): void { super.layoutBody(height, width); this.tree.layout(height, width); } - renderBody(container: HTMLElement): void { + override renderBody(container: HTMLElement): void { super.renderBody(container); this.container = container; @@ -293,18 +299,15 @@ export class ExplorerView extends ViewPane { this._register(this.onDidChangeBodyVisibility(async visible => { if (visible) { - // If a refresh was requested and we are now visible, run it - if (this.shouldRefresh) { - this.shouldRefresh = false; - await this.setTreeInput(); - } + // Always refresh explorer when it becomes visible to compensate for missing file events #126817 + await this.setTreeInput(); // Find resource to focus from active editor input if set this.selectActiveFile(true); } })); } - focus(): void { + override focus(): void { this.tree.domFocus(); const focused = this.tree.getFocus(); @@ -444,7 +447,12 @@ export class ExplorerView extends ViewPane { return; } this.telemetryService.publicLog2('workbenchActionExecuted', { id: 'workbench.files.openFile', from: 'explorer' }); - await this.editorService.openEditor({ resource: element.resource, options: { preserveFocus: e.editorOptions.preserveFocus, pinned: e.editorOptions.pinned } }, e.sideBySide ? SIDE_GROUP : ACTIVE_GROUP); + try { + this.delegate.willOpenElement(e.browserEvent); + await this.editorService.openEditor({ resource: element.resource, options: { preserveFocus: e.editorOptions.preserveFocus, pinned: e.editorOptions.pinned } }, e.sideBySide ? SIDE_GROUP : ACTIVE_GROUP); + } finally { + this.delegate.didOpenElement(); + } } })); @@ -492,16 +500,17 @@ export class ExplorerView extends ViewPane { } private setContextKeys(stat: ExplorerItem | null | undefined): void { - const isSingleFolder = this.contextService.getWorkbenchState() === WorkbenchState.FOLDER; - const resource = stat ? stat.resource : isSingleFolder ? this.contextService.getWorkspace().folders[0].uri : null; + const folders = this.contextService.getWorkspace().folders; + const resource = stat ? stat.resource : folders[folders.length - 1].uri; + stat = stat || this.explorerService.findClosest(resource); this.resourceContext.set(resource); - this.folderContext.set((isSingleFolder && !stat) || !!stat && stat.isDirectory); + this.folderContext.set(!!stat && stat.isDirectory); this.readonlyContext.set(!!stat && stat.isReadonly); - this.rootContext.set(!stat || (stat && stat.isRoot)); + this.rootContext.set(!!stat && stat.isRoot); if (resource) { - const overrides = resource ? this.editorService.getEditorOverrides(resource, undefined, undefined) : []; - this.availableEditorIdsContext.set(overrides.map(([, entry]) => entry.id).join(',')); + const overrides = resource ? this.editorResolverService.getEditorIds(resource) : []; + this.availableEditorIdsContext.set(overrides.join(',')); } else { this.availableEditorIdsContext.reset(); } @@ -589,8 +598,7 @@ export class ExplorerView extends ViewPane { */ refresh(recursive: boolean, item?: ExplorerItem, cancelEditing: boolean = true): Promise { if (!this.tree || !this.isBodyVisible() || (item && !this.tree.hasNode(item))) { - // Tree node doesn't exist yet - this.shouldRefresh = true; + // Tree node doesn't exist yet, when it becomes visible we will refresh return Promise.resolve(undefined); } @@ -604,31 +612,7 @@ export class ExplorerView extends ViewPane { }); } - focusNeighbourIfItemFocused(item: ExplorerItem): void { - const focus = this.tree.getFocus(); - if (focus.length !== 1) { - return; - } - const compressedController = this.renderer.getCompressedNavigationController(focus[0]) || this.renderer.getCompressedNavigationController(item); - const indexOfItem = compressedController?.items.indexOf(item) || -1; - const itemsCompressedTogether = compressedController && (compressedController.items.indexOf(focus[0]) >= 0) && (indexOfItem >= 0); - - if (focus[0] === item || itemsCompressedTogether) { - if (itemsCompressedTogether && indexOfItem > 0 && item.parent) { - // In case of compact items just focus the parent if it is part of the compact item. So the focus stays - this.tree.setFocus([item.parent]); - } else { - this.tree.focusNext(); - const newFocus = this.tree.getFocus(); - if (newFocus.length === 1 && newFocus[0] === item) { - // There was no next item to focus, focus the previous one - this.tree.focusPrevious(); - } - } - } - } - - getOptimalWidth(): number { + override getOptimalWidth(): number { const parentNode = this.tree.getHTMLElement(); const childNodes = ([] as HTMLElement[]).slice.call(parentNode.querySelectorAll('.explorer-item .label-name')); // select all file labels @@ -637,7 +621,6 @@ export class ExplorerView extends ViewPane { async setTreeInput(): Promise { if (!this.isBodyVisible()) { - this.shouldRefresh = true; return Promise.resolve(undefined); } @@ -689,7 +672,7 @@ export class ExplorerView extends ViewPane { this.progressService.withProgress({ location: ProgressLocation.Explorer, - delay: this.layoutService.isRestored() ? 800 : 1200 // less ugly initial startup + delay: this.layoutService.isRestored() ? 800 : 1500 // reduce progress visibility when still restoring }, _progress => promise); await promise; @@ -700,9 +683,7 @@ export class ExplorerView extends ViewPane { } public async selectResource(resource: URI | undefined, reveal = this.autoReveal, retry = 0): Promise { - // below codes are changed by github1s typo - // do no retry more than once to prevent infinite loops in cases of inconsistent model - // above codes are changed by github1s + // do no retry more than once to prevent inifinite loops in cases of inconsistent model if (retry === 2) { return; } @@ -844,7 +825,7 @@ export class ExplorerView extends ViewPane { } } - dispose(): void { + override dispose(): void { if (this.dragHandler) { this.dragHandler.dispose(); } @@ -872,10 +853,11 @@ registerAction2(class extends Action2 { title: nls.localize('createNewFile', "New File"), f1: false, icon: Codicon.newFile, + precondition: ExplorerResourceNotReadonlyContext, menu: { id: MenuId.ViewTitle, group: 'navigation', - when: ContextKeyEqualsExpr.create('view', VIEW_ID), + when: ContextKeyExpr.equals('view', VIEW_ID), order: 10 } }); @@ -894,10 +876,11 @@ registerAction2(class extends Action2 { title: nls.localize('createNewFolder', "New Folder"), f1: false, icon: Codicon.newFolder, + precondition: ExplorerResourceNotReadonlyContext, menu: { id: MenuId.ViewTitle, group: 'navigation', - when: ContextKeyEqualsExpr.create('view', VIEW_ID), + when: ContextKeyExpr.equals('view', VIEW_ID), order: 20 } }); @@ -919,7 +902,7 @@ registerAction2(class extends Action2 { menu: { id: MenuId.ViewTitle, group: 'navigation', - when: ContextKeyEqualsExpr.create('view', VIEW_ID), + when: ContextKeyExpr.equals('view', VIEW_ID), order: 30 } }); @@ -943,7 +926,7 @@ registerAction2(class extends Action2 { menu: { id: MenuId.ViewTitle, group: 'navigation', - when: ContextKeyEqualsExpr.create('view', VIEW_ID), + when: ContextKeyExpr.equals('view', VIEW_ID), order: 40 } }); diff --git a/vscode-web-github1s/src/vs/workbench/contrib/files/common/editors/fileEditorInput.ts b/vscode-web-github1s/src/vs/workbench/contrib/files/common/editors/fileEditorInput.ts deleted file mode 100644 index cf912d9fb..000000000 --- a/vscode-web-github1s/src/vs/workbench/contrib/files/common/editors/fileEditorInput.ts +++ /dev/null @@ -1,406 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { localize } from 'vs/nls'; -import { URI } from 'vs/base/common/uri'; -import { EncodingMode, IFileEditorInput, Verbosity, GroupIdentifier, IMoveResult, isTextEditorPane } from 'vs/workbench/common/editor'; -import { AbstractTextResourceEditorInput } from 'vs/workbench/common/editor/textResourceEditorInput'; -import { BinaryEditorModel } from 'vs/workbench/common/editor/binaryEditorModel'; -import { FileOperationError, FileOperationResult, IFileService } from 'vs/platform/files/common/files'; -import { ITextFileService, TextFileEditorModelState, TextFileLoadReason, TextFileOperationError, TextFileOperationResult, ITextFileEditorModel } from 'vs/workbench/services/textfile/common/textfiles'; -import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { IReference, dispose, DisposableStore } from 'vs/base/common/lifecycle'; -import { ITextModelService } from 'vs/editor/common/services/resolverService'; -import { FILE_EDITOR_INPUT_ID, TEXT_FILE_EDITOR_ID, BINARY_FILE_EDITOR_ID } from 'vs/workbench/contrib/files/common/files'; -import { ILabelService } from 'vs/platform/label/common/label'; -import { IFilesConfigurationService } from 'vs/workbench/services/filesConfiguration/common/filesConfigurationService'; -import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; -import { IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService'; -import { isEqual } from 'vs/base/common/resources'; -import { Event } from 'vs/base/common/event'; -import { IEditorViewState } from 'vs/editor/common/editorCommon'; -import { Schemas } from 'vs/base/common/network'; - -const enum ForceOpenAs { - None, - Text, - Binary -} - -/** - * A file editor input is the input type for the file editor of file system resources. - */ -export class FileEditorInput extends AbstractTextResourceEditorInput implements IFileEditorInput { - - private preferredName: string | undefined; - private preferredDescription: string | undefined; - private preferredEncoding: string | undefined; - private preferredMode: string | undefined; - - private forceOpenAs: ForceOpenAs = ForceOpenAs.None; - - private model: ITextFileEditorModel | undefined = undefined; - private cachedTextFileModelReference: IReference | undefined = undefined; - - private readonly modelListeners = this._register(new DisposableStore()); - - constructor( - resource: URI, - preferredResource: URI | undefined, - preferredName: string | undefined, - preferredDescription: string | undefined, - preferredEncoding: string | undefined, - preferredMode: string | undefined, - @IInstantiationService private readonly instantiationService: IInstantiationService, - @ITextFileService textFileService: ITextFileService, - @ITextModelService private readonly textModelResolverService: ITextModelService, - @ILabelService labelService: ILabelService, - @IFileService fileService: IFileService, - @IFilesConfigurationService filesConfigurationService: IFilesConfigurationService, - @IEditorService editorService: IEditorService, - @IEditorGroupsService editorGroupService: IEditorGroupsService - ) { - super(resource, preferredResource, editorService, editorGroupService, textFileService, labelService, fileService, filesConfigurationService); - - this.model = this.textFileService.files.get(resource); - - if (preferredName) { - this.setPreferredName(preferredName); - } - - if (preferredDescription) { - this.setPreferredDescription(preferredDescription); - } - - if (preferredEncoding) { - this.setPreferredEncoding(preferredEncoding); - } - - if (preferredMode) { - this.setPreferredMode(preferredMode); - } - - // If a file model already exists, make sure to wire it in - if (this.model) { - this.registerModelListeners(this.model); - } - } - - protected registerListeners(): void { - super.registerListeners(); - - // Attach to model that matches our resource once created - this._register(this.textFileService.files.onDidCreate(model => this.onDidCreateTextFileModel(model))); - } - - private onDidCreateTextFileModel(model: ITextFileEditorModel): void { - - // Once the text file model is created, we keep it inside - // the input to be able to implement some methods properly - if (isEqual(model.resource, this.resource)) { - this.model = model; - - this.registerModelListeners(model); - } - } - - private registerModelListeners(model: ITextFileEditorModel): void { - - // Clear any old - this.modelListeners.clear(); - - // re-emit some events from the model - this.modelListeners.add(model.onDidChangeDirty(() => this._onDidChangeDirty.fire())); - this.modelListeners.add(model.onDidChangeOrphaned(() => this._onDidChangeLabel.fire())); - - // important: treat save errors as potential dirty change because - // a file that is in save conflict or error will report dirty even - // if auto save is turned on. - this.modelListeners.add(model.onDidSaveError(() => this._onDidChangeDirty.fire())); - - // remove model association once it gets disposed - this.modelListeners.add(Event.once(model.onDispose)(() => { - this.modelListeners.clear(); - this.model = undefined; - })); - } - - getTypeId(): string { - return FILE_EDITOR_INPUT_ID; - } - - getName(): string { - return this.preferredName || this.decorateLabel(super.getName()); - } - - setPreferredName(name: string): void { - if (!this.allowLabelOverride()) { - return; // block for specific schemes we own - } - - if (this.preferredName !== name) { - this.preferredName = name; - - this._onDidChangeLabel.fire(); - } - } - - private allowLabelOverride(): boolean { - return this.resource.scheme !== Schemas.file && this.resource.scheme !== Schemas.vscodeRemote && this.resource.scheme !== Schemas.userData; - } - - getPreferredName(): string | undefined { - return this.preferredName; - } - - getDescription(verbosity?: Verbosity): string | undefined { - return this.preferredDescription || super.getDescription(verbosity); - } - - setPreferredDescription(description: string): void { - if (!this.allowLabelOverride()) { - return; // block for specific schemes we own - } - - if (this.preferredDescription !== description) { - this.preferredDescription = description; - - this._onDidChangeLabel.fire(); - } - } - - getPreferredDescription(): string | undefined { - return this.preferredDescription; - } - - getTitle(verbosity: Verbosity): string { - switch (verbosity) { - case Verbosity.SHORT: - return this.decorateLabel(super.getName()); - case Verbosity.MEDIUM: - case Verbosity.LONG: - return this.decorateLabel(super.getTitle(verbosity)); - } - } - - private decorateLabel(label: string): string { - // below codes are changed by github1s - // remove read-only tips - return label; - // above codes are changed by github1s - } - - getEncoding(): string | undefined { - if (this.model) { - return this.model.getEncoding(); - } - - return this.preferredEncoding; - } - - getPreferredEncoding(): string | undefined { - return this.preferredEncoding; - } - - setEncoding(encoding: string, mode: EncodingMode): void { - this.setPreferredEncoding(encoding); - - this.model?.setEncoding(encoding, mode); - } - - setPreferredEncoding(encoding: string): void { - this.preferredEncoding = encoding; - - // encoding is a good hint to open the file as text - this.setForceOpenAsText(); - } - - getPreferredMode(): string | undefined { - return this.preferredMode; - } - - setMode(mode: string): void { - this.setPreferredMode(mode); - - this.model?.setMode(mode); - } - - setPreferredMode(mode: string): void { - this.preferredMode = mode; - - // mode is a good hint to open the file as text - this.setForceOpenAsText(); - } - - setForceOpenAsText(): void { - this.forceOpenAs = ForceOpenAs.Text; - } - - setForceOpenAsBinary(): void { - this.forceOpenAs = ForceOpenAs.Binary; - } - - isDirty(): boolean { - return !!(this.model?.isDirty()); - } - - isReadonly(): boolean { - if (this.model) { - return this.model.isReadonly(); - } - - return super.isReadonly(); - } - - isSaving(): boolean { - if (this.model?.hasState(TextFileEditorModelState.SAVED) || this.model?.hasState(TextFileEditorModelState.CONFLICT) || this.model?.hasState(TextFileEditorModelState.ERROR)) { - return false; // require the model to be dirty and not in conflict or error state - } - - // Note: currently not checking for ModelState.PENDING_SAVE for a reason - // because we currently miss an event for this state change on editors - // and it could result in bad UX where an editor can be closed even though - // it shows up as dirty and has not finished saving yet. - - return super.isSaving(); - } - - getPreferredEditorId(candidates: string[]): string { - return this.forceOpenAs === ForceOpenAs.Binary ? BINARY_FILE_EDITOR_ID : TEXT_FILE_EDITOR_ID; - } - - resolve(): Promise { - - // Resolve as binary - if (this.forceOpenAs === ForceOpenAs.Binary) { - return this.doResolveAsBinary(); - } - - // Resolve as text - return this.doResolveAsText(); - } - - private async doResolveAsText(): Promise { - try { - - // Resolve resource via text file service and only allow - // to open binary files if we are instructed so - await this.textFileService.files.resolve(this.resource, { - mode: this.preferredMode, - encoding: this.preferredEncoding, - reload: { async: true }, // trigger a reload of the model if it exists already but do not wait to show the model - allowBinary: this.forceOpenAs === ForceOpenAs.Text, - reason: TextFileLoadReason.EDITOR - }); - - // This is a bit ugly, because we first resolve the model and then resolve a model reference. the reason being that binary - // or very large files do not resolve to a text file model but should be opened as binary files without text. First calling into - // resolve() ensures we are not creating model references for these kind of resources. - // In addition we have a bit of payload to take into account (encoding, reload) that the text resolver does not handle yet. - if (!this.cachedTextFileModelReference) { - this.cachedTextFileModelReference = await this.textModelResolverService.createModelReference(this.resource) as IReference; - } - - const model = this.cachedTextFileModelReference.object; - - // It is possible that this input was disposed before the model - // finished resolving. As such, we need to make sure to dispose - // the model reference to not leak it. - if (this.isDisposed()) { - this.disposeModelReference(); - } - - return model; - } catch (error) { - - // In case of an error that indicates that the file is binary or too large, just return with the binary editor model - if ( - (error).textFileOperationResult === TextFileOperationResult.FILE_IS_BINARY || - (error).fileOperationResult === FileOperationResult.FILE_TOO_LARGE - ) { - return this.doResolveAsBinary(); - } - - // Bubble any other error up - throw error; - } - } - - private async doResolveAsBinary(): Promise { - return this.instantiationService.createInstance(BinaryEditorModel, this.preferredResource, this.getName()).load(); - } - - isResolved(): boolean { - return !!this.model; - } - - rename(group: GroupIdentifier, target: URI): IMoveResult { - return { - editor: { - resource: target, - encoding: this.getEncoding(), - options: { - viewState: this.getViewStateFor(group) - } - } - }; - } - - private getViewStateFor(group: GroupIdentifier): IEditorViewState | undefined { - for (const editorPane of this.editorService.visibleEditorPanes) { - if (editorPane.group.id === group && isEqual(editorPane.input.resource, this.resource)) { - if (isTextEditorPane(editorPane)) { - return editorPane.getViewState(); - } - } - } - - return undefined; - } - - matches(otherInput: unknown): boolean { - if (otherInput === this) { - return true; - } - - if (otherInput instanceof FileEditorInput) { - return isEqual(otherInput.resource, this.resource); - } - - return false; - } - - dispose(): void { - - // Model - this.model = undefined; - - // Model reference - this.disposeModelReference(); - - super.dispose(); - } - - private disposeModelReference(): void { - dispose(this.cachedTextFileModelReference); - this.cachedTextFileModelReference = undefined; - } -} - -export function decorateFileEditorLabel(label: string, state: { orphaned: boolean, readonly: boolean }): string { - if (state.orphaned && state.readonly) { - return localize('orphanedReadonlyFile', "{0} (deleted, read-only)", label); - } - - if (state.orphaned) { - return localize('orphanedFile', "{0} (deleted)", label); - } - - if (state.readonly) { - return localize('readonlyFile', "{0} (read-only)", label); - } - - return label; -} diff --git a/vscode-web-github1s/src/vs/workbench/contrib/terminal/browser/terminalService.ts b/vscode-web-github1s/src/vs/workbench/contrib/terminal/browser/terminalService.ts deleted file mode 100644 index 4e1c12cee..000000000 --- a/vscode-web-github1s/src/vs/workbench/contrib/terminal/browser/terminalService.ts +++ /dev/null @@ -1,1027 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { timeout } from 'vs/base/common/async'; -import { debounce, throttle } from 'vs/base/common/decorators'; -import { Emitter, Event } from 'vs/base/common/event'; -import { IDisposable } from 'vs/base/common/lifecycle'; -import { basename } from 'vs/base/common/path'; -import { isMacintosh, isWeb, isWindows, OperatingSystem } from 'vs/base/common/platform'; -import { FindReplaceState } from 'vs/editor/contrib/find/findState'; -import * as nls from 'vs/nls'; -import { ConfigurationTarget, IConfigurationService } from 'vs/platform/configuration/common/configuration'; -import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; -import { IDialogService } from 'vs/platform/dialogs/common/dialogs'; -import { IInstantiationService, optional } from 'vs/platform/instantiation/common/instantiation'; -import { IPickOptions, IQuickInputButton, IQuickInputService, IQuickPickItem, IQuickPickSeparator } from 'vs/platform/quickinput/common/quickInput'; -import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import { ILocalTerminalService, IShellLaunchConfig, ITerminalLaunchError, ITerminalsLayoutInfo, ITerminalsLayoutInfoById, TerminalShellType, WindowsShellType } from 'vs/platform/terminal/common/terminal'; -import { ThemeIcon } from 'vs/platform/theme/common/themeService'; -import { IViewDescriptorService, IViewsService, ViewContainerLocation } from 'vs/workbench/common/views'; -import { IRemoteTerminalService, ITerminalExternalLinkProvider, ITerminalInstance, ITerminalService, ITerminalTab, TerminalConnectionState } from 'vs/workbench/contrib/terminal/browser/terminal'; -import { TerminalConfigHelper } from 'vs/workbench/contrib/terminal/browser/terminalConfigHelper'; -import { TerminalInstance } from 'vs/workbench/contrib/terminal/browser/terminalInstance'; -import { TerminalTab } from 'vs/workbench/contrib/terminal/browser/terminalTab'; -import { TerminalViewPane } from 'vs/workbench/contrib/terminal/browser/terminalView'; -import { IAvailableProfilesRequest, IRemoteTerminalAttachTarget, ITerminalProfile, IStartExtensionTerminalRequest, ITerminalConfigHelper, ITerminalNativeWindowsDelegate, ITerminalProcessExtHostProxy, KEYBINDING_CONTEXT_TERMINAL_ALT_BUFFER_ACTIVE, KEYBINDING_CONTEXT_TERMINAL_FIND_VISIBLE, KEYBINDING_CONTEXT_TERMINAL_FOCUS, KEYBINDING_CONTEXT_TERMINAL_IS_OPEN, KEYBINDING_CONTEXT_TERMINAL_PROCESS_SUPPORTED, KEYBINDING_CONTEXT_TERMINAL_SHELL_TYPE, LinuxDistro, TERMINAL_VIEW_ID, ITerminalProfileObject, ITerminalExecutable, ITerminalProfileSource } from 'vs/workbench/contrib/terminal/common/terminal'; -import { escapeNonWindowsPath } from 'vs/workbench/contrib/terminal/common/terminalEnvironment'; -import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService'; -import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions'; -import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; -import { ILifecycleService, ShutdownReason, WillShutdownEvent } from 'vs/workbench/services/lifecycle/common/lifecycle'; -import { IRemoteAgentService } from 'vs/workbench/services/remote/common/remoteAgentService'; -import { configureTerminalProfileIcon } from 'vs/workbench/contrib/terminal/browser/terminalIcons'; -import { equals } from 'vs/base/common/objects'; - -interface IExtHostReadyEntry { - promise: Promise; - resolve: () => void; -} - -export class TerminalService implements ITerminalService { - public _serviceBrand: undefined; - - private _isShuttingDown: boolean; - private _terminalFocusContextKey: IContextKey; - private _terminalShellTypeContextKey: IContextKey; - private _terminalAltBufferActiveContextKey: IContextKey; - private _findWidgetVisible: IContextKey; - private _terminalTabs: ITerminalTab[] = []; - private _backgroundedTerminalInstances: ITerminalInstance[] = []; - private get _terminalInstances(): ITerminalInstance[] { - return this._terminalTabs.reduce((p, c) => p.concat(c.terminalInstances), []); - } - private _findState: FindReplaceState; - private _extHostsReady: { [authority: string]: IExtHostReadyEntry | undefined } = {}; - private _activeTabIndex: number; - private _linkProviders: Set = new Set(); - private _linkProviderDisposables: Map = new Map(); - private _processSupportContextKey: IContextKey; - - public get activeTabIndex(): number { return this._activeTabIndex; } - public get terminalInstances(): ITerminalInstance[] { return this._terminalInstances; } - public get terminalTabs(): ITerminalTab[] { return this._terminalTabs; } - public get isProcessSupportRegistered(): boolean { return !!this._processSupportContextKey.get(); } - - private _configHelper: TerminalConfigHelper; - private _terminalContainer: HTMLElement | undefined; - private _nativeWindowsDelegate: ITerminalNativeWindowsDelegate | undefined; - private _remoteTerminalsInitPromise: Promise | undefined; - private _localTerminalsInitPromise: Promise | undefined; - private _connectionState: TerminalConnectionState; - - private _availableProfiles: ITerminalProfile[] | undefined; - - public get configHelper(): ITerminalConfigHelper { return this._configHelper; } - - private readonly _onActiveTabChanged = new Emitter(); - public get onActiveTabChanged(): Event { return this._onActiveTabChanged.event; } - private readonly _onInstanceCreated = new Emitter(); - public get onInstanceCreated(): Event { return this._onInstanceCreated.event; } - private readonly _onInstanceDisposed = new Emitter(); - public get onInstanceDisposed(): Event { return this._onInstanceDisposed.event; } - private readonly _onInstanceProcessIdReady = new Emitter(); - public get onInstanceProcessIdReady(): Event { return this._onInstanceProcessIdReady.event; } - private readonly _onInstanceLinksReady = new Emitter(); - public get onInstanceLinksReady(): Event { return this._onInstanceLinksReady.event; } - private readonly _onInstanceRequestStartExtensionTerminal = new Emitter(); - public get onInstanceRequestStartExtensionTerminal(): Event { return this._onInstanceRequestStartExtensionTerminal.event; } - private readonly _onInstanceDimensionsChanged = new Emitter(); - public get onInstanceDimensionsChanged(): Event { return this._onInstanceDimensionsChanged.event; } - private readonly _onInstanceMaximumDimensionsChanged = new Emitter(); - public get onInstanceMaximumDimensionsChanged(): Event { return this._onInstanceMaximumDimensionsChanged.event; } - private readonly _onInstancesChanged = new Emitter(); - public get onInstancesChanged(): Event { return this._onInstancesChanged.event; } - private readonly _onInstanceTitleChanged = new Emitter(); - public get onInstanceTitleChanged(): Event { return this._onInstanceTitleChanged.event; } - private readonly _onActiveInstanceChanged = new Emitter(); - public get onActiveInstanceChanged(): Event { return this._onActiveInstanceChanged.event; } - private readonly _onTabDisposed = new Emitter(); - public get onTabDisposed(): Event { return this._onTabDisposed.event; } - private readonly _onRequestAvailableProfiles = new Emitter(); - public get onRequestAvailableProfiles(): Event { return this._onRequestAvailableProfiles.event; } - private readonly _onDidRegisterProcessSupport = new Emitter(); - public get onDidRegisterProcessSupport(): Event { return this._onDidRegisterProcessSupport.event; } - private readonly _onDidChangeConnectionState = new Emitter(); - public get onDidChangeConnectionState(): Event { return this._onDidChangeConnectionState.event; } - public get connectionState(): TerminalConnectionState { return this._connectionState; } - private readonly _onProfilesConfigChanged = new Emitter(); - public get onProfilesConfigChanged(): Event { return this._onProfilesConfigChanged.event; } - private readonly _localTerminalService?: ILocalTerminalService; - - constructor( - @IContextKeyService private _contextKeyService: IContextKeyService, - @IWorkbenchLayoutService private _layoutService: IWorkbenchLayoutService, - @ILifecycleService lifecycleService: ILifecycleService, - @IDialogService private _dialogService: IDialogService, - @IInstantiationService private _instantiationService: IInstantiationService, - @IRemoteAgentService private _remoteAgentService: IRemoteAgentService, - @IQuickInputService private _quickInputService: IQuickInputService, - @IConfigurationService private _configurationService: IConfigurationService, - @IViewsService private _viewsService: IViewsService, - @IViewDescriptorService private readonly _viewDescriptorService: IViewDescriptorService, - @IWorkbenchEnvironmentService private readonly _environmentService: IWorkbenchEnvironmentService, - @IRemoteTerminalService private readonly _remoteTerminalService: IRemoteTerminalService, - @ITelemetryService private readonly _telemetryService: ITelemetryService, - @IExtensionService private readonly _extensionService: IExtensionService, - @optional(ILocalTerminalService) localTerminalService: ILocalTerminalService - ) { - this._localTerminalService = localTerminalService; - - this._activeTabIndex = 0; - this._isShuttingDown = false; - this._findState = new FindReplaceState(); - lifecycleService.onBeforeShutdown(async e => e.veto(this._onBeforeShutdown(e.reason), 'veto.terminal')); - lifecycleService.onWillShutdown(e => this._onWillShutdown(e)); - this._terminalFocusContextKey = KEYBINDING_CONTEXT_TERMINAL_FOCUS.bindTo(this._contextKeyService); - this._terminalShellTypeContextKey = KEYBINDING_CONTEXT_TERMINAL_SHELL_TYPE.bindTo(this._contextKeyService); - this._terminalAltBufferActiveContextKey = KEYBINDING_CONTEXT_TERMINAL_ALT_BUFFER_ACTIVE.bindTo(this._contextKeyService); - this._findWidgetVisible = KEYBINDING_CONTEXT_TERMINAL_FIND_VISIBLE.bindTo(this._contextKeyService); - this._configHelper = this._instantiationService.createInstance(TerminalConfigHelper); - this.onTabDisposed(tab => this._removeTab(tab)); - this.onActiveTabChanged(() => { - const instance = this.getActiveInstance(); - this._onActiveInstanceChanged.fire(instance ? instance : undefined); - }); - this.onInstanceLinksReady(instance => this._setInstanceLinkProviders(instance)); - this._handleInstanceContextKeys(); - this._processSupportContextKey = KEYBINDING_CONTEXT_TERMINAL_PROCESS_SUPPORTED.bindTo(this._contextKeyService); - this._processSupportContextKey.set(!isWeb || this._remoteAgentService.getConnection() !== null); - - this._configurationService.onDidChangeConfiguration(async e => { - if (e.affectsConfiguration('terminal.integrated.profiles.windows') || - e.affectsConfiguration('terminal.integrated.profiles.osx') || - e.affectsConfiguration('terminal.integrated.profiles.linux') || - e.affectsConfiguration('terminal.integrated.useWslProfiles')) { - this._updateAvailableProfilesNow(); - } - }); - - const enableTerminalReconnection = this.configHelper.config.enablePersistentSessions; - - const conn = this._remoteAgentService.getConnection(); - const remoteAuthority = conn ? conn.remoteAuthority : 'null'; - this._whenExtHostReady(remoteAuthority).then(() => { - this._updateAvailableProfiles(); - }); - - // Connect to the extension host if it's there, set the connection state to connected when - // it's done. This should happen even when there is no extension host. - this._connectionState = TerminalConnectionState.Connecting; - let initPromise: Promise; - if (!!this._environmentService.remoteAuthority && enableTerminalReconnection) { - initPromise = this._remoteTerminalsInitPromise = this._reconnectToRemoteTerminals(); - } else if (enableTerminalReconnection) { - initPromise = this._localTerminalsInitPromise = this._reconnectToLocalTerminals(); - } else { - initPromise = Promise.resolve(); - } - initPromise.then(() => this._setConnected()); - } - - private _setConnected() { - this._connectionState = TerminalConnectionState.Connected; - this._onDidChangeConnectionState.fire(); - } - - private async _reconnectToRemoteTerminals(): Promise { - // Reattach to all remote terminals - const layoutInfo = await this._remoteTerminalService.getTerminalLayoutInfo(); - const reconnectCounter = this._recreateTerminalTabs(layoutInfo); - /* __GDPR__ - "terminalReconnection" : { - "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true } - } - */ - const data = { - count: reconnectCounter - }; - this._telemetryService.publicLog('terminalReconnection', data); - // now that terminals have been restored, - // attach listeners to update remote when terminals are changed - this.attachProcessLayoutListeners(true); - } - - private async _reconnectToLocalTerminals(): Promise { - if (!this._localTerminalService) { - return; - } - // Reattach to all local terminals - const layoutInfo = await this._localTerminalService.getTerminalLayoutInfo(); - if (layoutInfo && layoutInfo.tabs.length > 0) { - this._recreateTerminalTabs(layoutInfo); - } - // now that terminals have been restored, - // attach listeners to update local state when terminals are changed - this.attachProcessLayoutListeners(false); - } - - private _recreateTerminalTabs(layoutInfo?: ITerminalsLayoutInfo): number { - let reconnectCounter = 0; - let activeTab: ITerminalTab | undefined; - if (layoutInfo) { - layoutInfo.tabs.forEach(tabLayout => { - const terminalLayouts = tabLayout.terminals.filter(t => t.terminal && t.terminal.isOrphan); - if (terminalLayouts.length) { - reconnectCounter += terminalLayouts.length; - let terminalInstance: ITerminalInstance | undefined; - let tab: ITerminalTab | undefined; - terminalLayouts.forEach((terminalLayout) => { - if (!terminalInstance) { - // create tab and terminal - terminalInstance = this.createTerminal({ attachPersistentProcess: terminalLayout.terminal! }); - tab = this._getTabForInstance(terminalInstance); - if (tabLayout.isActive) { - activeTab = tab; - } - } else { - // add split terminals to this tab - this.splitInstance(terminalInstance, { attachPersistentProcess: terminalLayout.terminal! }); - } - }); - const activeInstance = this.terminalInstances.find(t => { - return t.shellLaunchConfig.attachPersistentProcess?.id === tabLayout.activePersistentProcessId; - }); - if (activeInstance) { - this.setActiveInstance(activeInstance); - } - tab?.resizePanes(tabLayout.terminals.map(terminal => terminal.relativeSize)); - } - }); - if (layoutInfo.tabs.length) { - this.setActiveTabByIndex(activeTab ? this.terminalTabs.indexOf(activeTab) : 0); - } - } - return reconnectCounter; - } - - private attachProcessLayoutListeners(isRemote: boolean): void { - this.onActiveTabChanged(() => isRemote ? this._updateRemoteState() : this._updateLocalState()); - this.onActiveInstanceChanged(() => isRemote ? this._updateRemoteState() : this._updateLocalState()); - this.onInstancesChanged(() => isRemote ? this._updateRemoteState() : this._updateLocalState()); - // The state must be updated when the terminal is relaunched, otherwise the persistent - // terminal ID will be stale and the process will be leaked. - this.onInstanceProcessIdReady(() => isRemote ? this._updateRemoteState() : this._updateLocalState()); - } - - public setNativeWindowsDelegate(delegate: ITerminalNativeWindowsDelegate): void { - this._nativeWindowsDelegate = delegate; - } - - public setLinuxDistro(linuxDistro: LinuxDistro): void { - this._configHelper.setLinuxDistro(linuxDistro); - } - - private _handleInstanceContextKeys(): void { - const terminalIsOpenContext = KEYBINDING_CONTEXT_TERMINAL_IS_OPEN.bindTo(this._contextKeyService); - const updateTerminalContextKeys = () => { - terminalIsOpenContext.set(this.terminalInstances.length > 0); - }; - this.onInstancesChanged(() => updateTerminalContextKeys()); - } - - public getActiveOrCreateInstance(): ITerminalInstance { - const activeInstance = this.getActiveInstance(); - return activeInstance ? activeInstance : this.createTerminal(undefined); - } - - public requestStartExtensionTerminal(proxy: ITerminalProcessExtHostProxy, cols: number, rows: number): Promise { - // The initial request came from the extension host, no need to wait for it - return new Promise(callback => { - this._onInstanceRequestStartExtensionTerminal.fire({ proxy, cols, rows, callback }); - }); - } - - public async extHostReady(remoteAuthority: string): Promise { - this._createExtHostReadyEntry(remoteAuthority); - this._extHostsReady[remoteAuthority]!.resolve(); - } - - public getAvailableProfiles(): ITerminalProfile[] { - this._updateAvailableProfiles(); - return this._availableProfiles || []; - } - - private async _getWorkspaceProfilePermissions(profile: ITerminalProfile): Promise { - const platformKey = await this._getPlatformKey(); - const profiles = this._configurationService.inspect<{ [key: string]: ITerminalProfileObject }>(`terminal.integrated.profiles.${platformKey}`); - if (!profiles || !profiles.workspaceValue || !profiles.defaultValue) { - return false; - } - const workspaceProfile = Object.entries(profiles.workspaceValue).find(p => p[0] === profile.profileName); - const defaultProfile = Object.entries(profiles.defaultValue).find(p => p[0] === profile.profileName); - if (workspaceProfile && defaultProfile && workspaceProfile[0] === defaultProfile[0]) { - let result = !this._terminalProfileObjectEqual(workspaceProfile[1], defaultProfile[1]); - return result; - } else if (!workspaceProfile && !defaultProfile) { - // user profile - return false; - } else { - // this key is missing from either default or the workspace config - return true; - } - } - - private _terminalProfileObjectEqual(one?: ITerminalProfileObject, two?: ITerminalProfileObject): boolean { - if (one === null && two === null) { - return true; - } else if ((one as ITerminalExecutable).path && (two as ITerminalExecutable).path) { - const oneExec = (one as ITerminalExecutable); - const twoExec = (two as ITerminalExecutable); - return ((Array.isArray(oneExec.path) && Array.isArray(twoExec.path) && oneExec.path.length === twoExec.path.length && oneExec.path.every((p, index) => p === twoExec.path[index])) || - (oneExec.path === twoExec.path) - ) && ((Array.isArray(oneExec.args) && Array.isArray(twoExec.args) && oneExec.args?.every((a, index) => a === twoExec.args?.[index])) || - (oneExec.args === twoExec.args) - ); - } else if ((one as ITerminalProfileSource).source && (two as ITerminalProfileSource).source) { - const oneSource = (one as ITerminalProfileSource); - const twoSource = (two as ITerminalProfileSource); - return oneSource.source === twoSource.source - && ((Array.isArray(oneSource.args) && Array.isArray(twoSource.args) && oneSource.args?.every((a, index) => a === twoSource.args?.[index])) || - (oneSource.args === twoSource.args) - ); - } - return false; - } - - // when relevant config changes, update without debouncing - private async _updateAvailableProfilesNow(): Promise { - const result = await this._detectProfiles(true); - for (const p of result) { - p.isWorkspaceProfile = await this._getWorkspaceProfilePermissions(p); - } - if (!equals(result, this._availableProfiles)) { - this._availableProfiles = result; - this._onProfilesConfigChanged.fire(); - } - } - - // avoid checking this very often, every ten seconds shoulds suffice - @throttle(10000) - private _updateAvailableProfiles(): Promise { - return this._updateAvailableProfilesNow(); - } - - private async _detectProfiles(quickLaunchOnly: boolean): Promise { - await this._extensionService.whenInstalledExtensionsRegistered(); - // Wait for the remoteAuthority to be ready (and listening for events) before firing - // the event to spawn the ext host process - const conn = this._remoteAgentService.getConnection(); - const remoteAuthority = conn ? conn.remoteAuthority : 'null'; - await this._whenExtHostReady(remoteAuthority); - return new Promise(r => this._onRequestAvailableProfiles.fire({ callback: r, quickLaunchOnly: quickLaunchOnly })); - } - - private async _whenExtHostReady(remoteAuthority: string): Promise { - this._createExtHostReadyEntry(remoteAuthority); - return this._extHostsReady[remoteAuthority]!.promise; - } - - private _createExtHostReadyEntry(remoteAuthority: string): void { - if (this._extHostsReady[remoteAuthority]) { - return; - } - - let resolve!: () => void; - const promise = new Promise(r => resolve = r); - this._extHostsReady[remoteAuthority] = { promise, resolve }; - } - - private _onBeforeShutdown(reason: ShutdownReason): boolean | Promise { - if (this.terminalInstances.length === 0) { - // No terminal instances, don't veto - return false; - } - - const shouldPersistTerminals = this._configHelper.config.enablePersistentSessions && reason === ShutdownReason.RELOAD; - if (this.configHelper.config.confirmOnExit && !shouldPersistTerminals) { - return this._onBeforeShutdownAsync(); - } - - this._isShuttingDown = true; - - return false; - } - - private async _onBeforeShutdownAsync(): Promise { - // veto if configured to show confirmation and the user chose not to exit - const veto = await this._showTerminalCloseConfirmation(); - if (!veto) { - this._isShuttingDown = true; - } - return veto; - } - - private _onWillShutdown(e: WillShutdownEvent): void { - // Don't touch processes if the shutdown was a result of reload as they will be reattached - const shouldPersistTerminals = this._configHelper.config.enablePersistentSessions && e.reason === ShutdownReason.RELOAD; - if (shouldPersistTerminals) { - this.terminalInstances.forEach(instance => instance.detachFromProcess()); - return; - } - - // Force dispose of all terminal instances, don't force immediate disposal of the terminal - // processes on Windows as an additional mitigation for https://github.com/microsoft/vscode/issues/71966 - // which causes the pty host to become unresponsive, disconnecting all terminals across all - // windows - this.terminalInstances.forEach(instance => instance.dispose(!isWindows)); - - // below codes are changed by github1s - // the _localTerminalService may not exists in github1s - this._localTerminalService?.setTerminalLayoutInfo(undefined); - // above codes are changed by github1s - } - - public getTabLabels(): string[] { - return this._terminalTabs.filter(tab => tab.terminalInstances.length > 0).map((tab, index) => { - return `${index + 1}: ${tab.title ? tab.title : ''}`; - }); - } - - public getFindState(): FindReplaceState { - return this._findState; - } - - @debounce(500) - private _updateRemoteState(): void { - if (!!this._environmentService.remoteAuthority) { - const state: ITerminalsLayoutInfoById = { - tabs: this.terminalTabs.map(t => t.getLayoutInfo(t === this.getActiveTab())) - }; - this._remoteTerminalService.setTerminalLayoutInfo(state); - } - } - - @debounce(500) - private _updateLocalState(): void { - const state: ITerminalsLayoutInfoById = { - tabs: this.terminalTabs.map(t => t.getLayoutInfo(t === this.getActiveTab())) - }; - this._localTerminalService!.setTerminalLayoutInfo(state); - } - - private _removeTab(tab: ITerminalTab): void { - // Get the index of the tab and remove it from the list - const index = this._terminalTabs.indexOf(tab); - const activeTab = this.getActiveTab(); - const activeTabIndex = activeTab ? this._terminalTabs.indexOf(activeTab) : -1; - const wasActiveTab = tab === activeTab; - if (index !== -1) { - this._terminalTabs.splice(index, 1); - } - - // Adjust focus if the tab was active - if (wasActiveTab && this._terminalTabs.length > 0) { - // TODO: Only focus the new tab if the removed tab had focus? - // const hasFocusOnExit = tab.activeInstance.hadFocusOnExit; - const newIndex = index < this._terminalTabs.length ? index : this._terminalTabs.length - 1; - this.setActiveTabByIndex(newIndex); - const activeInstance = this.getActiveInstance(); - if (activeInstance) { - activeInstance.focus(true); - } - } else if (activeTabIndex >= this._terminalTabs.length) { - const newIndex = this._terminalTabs.length - 1; - this.setActiveTabByIndex(newIndex); - } - - // Hide the panel if there are no more instances, provided that VS Code is not shutting - // down. When shutting down the panel is locked in place so that it is restored upon next - // launch. - if (this._terminalTabs.length === 0 && !this._isShuttingDown) { - this.hidePanel(); - this._onActiveInstanceChanged.fire(undefined); - } - - // Fire events - this._onInstancesChanged.fire(); - if (wasActiveTab) { - this._onActiveTabChanged.fire(); - } - } - - public refreshActiveTab(): void { - // Fire active instances changed - this._onActiveTabChanged.fire(); - } - - public getActiveTab(): ITerminalTab | null { - if (this._activeTabIndex < 0 || this._activeTabIndex >= this._terminalTabs.length) { - return null; - } - return this._terminalTabs[this._activeTabIndex]; - } - - public getActiveInstance(): ITerminalInstance | null { - const tab = this.getActiveTab(); - if (!tab) { - return null; - } - return tab.activeInstance; - } - - public doWithActiveInstance(callback: (terminal: ITerminalInstance) => T): T | void { - const instance = this.getActiveInstance(); - if (instance) { - return callback(instance); - } - } - - public getInstanceFromId(terminalId: number): ITerminalInstance | undefined { - let bgIndex = -1; - this._backgroundedTerminalInstances.forEach((terminalInstance, i) => { - if (terminalInstance.instanceId === terminalId) { - bgIndex = i; - } - }); - if (bgIndex !== -1) { - return this._backgroundedTerminalInstances[bgIndex]; - } - try { - return this.terminalInstances[this._getIndexFromId(terminalId)]; - } catch { - return undefined; - } - } - - public getInstanceFromIndex(terminalIndex: number): ITerminalInstance { - return this.terminalInstances[terminalIndex]; - } - - public setActiveInstance(terminalInstance: ITerminalInstance): void { - // If this was a hideFromUser terminal created by the API this was triggered by show, - // in which case we need to create the terminal tab - if (terminalInstance.shellLaunchConfig.hideFromUser) { - this._showBackgroundTerminal(terminalInstance); - } - this.setActiveInstanceByIndex(this._getIndexFromId(terminalInstance.instanceId)); - } - - public setActiveTabByIndex(tabIndex: number): void { - if (tabIndex >= this._terminalTabs.length) { - return; - } - - const didTabChange = this._activeTabIndex !== tabIndex; - this._activeTabIndex = tabIndex; - - this._terminalTabs.forEach((t, i) => t.setVisible(i === this._activeTabIndex)); - if (didTabChange) { - this._onActiveTabChanged.fire(); - } - } - - public isAttachedToTerminal(remoteTerm: IRemoteTerminalAttachTarget): boolean { - return this.terminalInstances.some(term => term.processId === remoteTerm.pid); - } - - public async initializeTerminals(): Promise { - if (this._remoteTerminalsInitPromise) { - await this._remoteTerminalsInitPromise; - } else if (this._localTerminalsInitPromise) { - await this._localTerminalsInitPromise; - } - if (this.terminalTabs.length === 0 && this.isProcessSupportRegistered) { - this.createTerminal(); - } - } - - private _getInstanceFromGlobalInstanceIndex(index: number): { tab: ITerminalTab, tabIndex: number, instance: ITerminalInstance, localInstanceIndex: number } | null { - let currentTabIndex = 0; - while (index >= 0 && currentTabIndex < this._terminalTabs.length) { - const tab = this._terminalTabs[currentTabIndex]; - const count = tab.terminalInstances.length; - if (index < count) { - return { - tab, - tabIndex: currentTabIndex, - instance: tab.terminalInstances[index], - localInstanceIndex: index - }; - } - index -= count; - currentTabIndex++; - } - return null; - } - - public setActiveInstanceByIndex(terminalIndex: number): void { - const query = this._getInstanceFromGlobalInstanceIndex(terminalIndex); - if (!query) { - return; - } - - query.tab.setActiveInstanceByIndex(query.localInstanceIndex); - const didTabChange = this._activeTabIndex !== query.tabIndex; - this._activeTabIndex = query.tabIndex; - this._terminalTabs.forEach((t, i) => t.setVisible(i === query.tabIndex)); - - // Only fire the event if there was a change - if (didTabChange) { - this._onActiveTabChanged.fire(); - } - } - - public setActiveTabToNext(): void { - if (this._terminalTabs.length <= 1) { - return; - } - let newIndex = this._activeTabIndex + 1; - if (newIndex >= this._terminalTabs.length) { - newIndex = 0; - } - this.setActiveTabByIndex(newIndex); - } - - public setActiveTabToPrevious(): void { - if (this._terminalTabs.length <= 1) { - return; - } - let newIndex = this._activeTabIndex - 1; - if (newIndex < 0) { - newIndex = this._terminalTabs.length - 1; - } - this.setActiveTabByIndex(newIndex); - } - - public splitInstance(instanceToSplit: ITerminalInstance, shellLaunchConfig: IShellLaunchConfig = {}): ITerminalInstance | null { - const tab = this._getTabForInstance(instanceToSplit); - if (!tab) { - return null; - } - - const instance = tab.split(shellLaunchConfig); - - this._initInstanceListeners(instance); - this._onInstancesChanged.fire(); - - this._terminalTabs.forEach((t, i) => t.setVisible(i === this._activeTabIndex)); - return instance; - } - - protected _initInstanceListeners(instance: ITerminalInstance): void { - instance.addDisposable(instance.onDisposed(this._onInstanceDisposed.fire, this._onInstanceDisposed)); - instance.addDisposable(instance.onTitleChanged(this._onInstanceTitleChanged.fire, this._onInstanceTitleChanged)); - instance.addDisposable(instance.onProcessIdReady(this._onInstanceProcessIdReady.fire, this._onInstanceProcessIdReady)); - instance.addDisposable(instance.onLinksReady(this._onInstanceLinksReady.fire, this._onInstanceLinksReady)); - instance.addDisposable(instance.onDimensionsChanged(() => { - this._onInstanceDimensionsChanged.fire(instance); - if (this.configHelper.config.enablePersistentSessions && this.isProcessSupportRegistered) { - !!this._environmentService.remoteAuthority ? this._updateRemoteState() : this._updateLocalState(); - } - })); - instance.addDisposable(instance.onMaximumDimensionsChanged(() => this._onInstanceMaximumDimensionsChanged.fire(instance))); - instance.addDisposable(instance.onFocus(this._onActiveInstanceChanged.fire, this._onActiveInstanceChanged)); - } - - public registerProcessSupport(isSupported: boolean): void { - if (!isSupported) { - return; - } - this._processSupportContextKey.set(isSupported); - this._onDidRegisterProcessSupport.fire(); - } - - public registerLinkProvider(linkProvider: ITerminalExternalLinkProvider): IDisposable { - const disposables: IDisposable[] = []; - this._linkProviders.add(linkProvider); - for (const instance of this.terminalInstances) { - if (instance.areLinksReady) { - disposables.push(instance.registerLinkProvider(linkProvider)); - } - } - this._linkProviderDisposables.set(linkProvider, disposables); - return { - dispose: () => { - const disposables = this._linkProviderDisposables.get(linkProvider) || []; - for (const disposable of disposables) { - disposable.dispose(); - } - this._linkProviders.delete(linkProvider); - } - }; - } - - private _setInstanceLinkProviders(instance: ITerminalInstance): void { - for (const linkProvider of this._linkProviders) { - const disposables = this._linkProviderDisposables.get(linkProvider); - const provider = instance.registerLinkProvider(linkProvider); - disposables?.push(provider); - } - } - - private _getTabForInstance(instance: ITerminalInstance): ITerminalTab | undefined { - return this._terminalTabs.find(tab => tab.terminalInstances.indexOf(instance) !== -1); - } - - public async showPanel(focus?: boolean): Promise { - const pane = this._viewsService.getActiveViewWithId(TERMINAL_VIEW_ID) as TerminalViewPane; - if (!pane) { - await this._viewsService.openView(TERMINAL_VIEW_ID, focus); - } - if (focus) { - // Do the focus call asynchronously as going through the - // command palette will force editor focus - await timeout(0); - const instance = this.getActiveInstance(); - if (instance) { - await instance.focusWhenReady(true); - } - } - } - - private _getIndexFromId(terminalId: number): number { - let terminalIndex = -1; - this.terminalInstances.forEach((terminalInstance, i) => { - if (terminalInstance.instanceId === terminalId) { - terminalIndex = i; - } - }); - if (terminalIndex === -1) { - throw new Error(`Terminal with ID ${terminalId} does not exist (has it already been disposed?)`); - } - return terminalIndex; - } - - public async manageWorkspaceShellPermissions(): Promise { - const allowItem: IQuickPickItem = { label: nls.localize('workbench.action.terminal.allowWorkspaceShell', "Allow Workspace Shell Configuration") }; - const disallowItem: IQuickPickItem = { label: nls.localize('workbench.action.terminal.disallowWorkspaceShell', "Disallow Workspace Shell Configuration") }; - const value = await this._quickInputService.pick([allowItem, disallowItem], { canPickMany: false }); - if (!value) { - return; - } - this.configHelper.setWorkspaceShellAllowed(value === allowItem); - } - - protected async _showTerminalCloseConfirmation(): Promise { - let message: string; - if (this.terminalInstances.length === 1) { - message = nls.localize('terminalService.terminalCloseConfirmationSingular', "There is an active terminal session, do you want to kill it?"); - } else { - message = nls.localize('terminalService.terminalCloseConfirmationPlural', "There are {0} active terminal sessions, do you want to kill them?", this.terminalInstances.length); - } - const res = await this._dialogService.confirm({ - message, - type: 'warning', - }); - return !res.confirmed; - } - - public preparePathForTerminalAsync(originalPath: string, executable: string, title: string, shellType: TerminalShellType): Promise { - return new Promise(c => { - if (!executable) { - c(originalPath); - return; - } - - const hasSpace = originalPath.indexOf(' ') !== -1; - const hasParens = originalPath.indexOf('(') !== -1 || originalPath.indexOf(')') !== -1; - - const pathBasename = basename(executable, '.exe'); - const isPowerShell = pathBasename === 'pwsh' || - title === 'pwsh' || - pathBasename === 'powershell' || - title === 'powershell'; - - if (isPowerShell && (hasSpace || originalPath.indexOf('\'') !== -1)) { - c(`& '${originalPath.replace(/'/g, '\'\'')}'`); - return; - } - - if (hasParens && isPowerShell) { - c(`& '${originalPath}'`); - return; - } - - if (isWindows) { - // 17063 is the build number where wsl path was introduced. - // Update Windows uriPath to be executed in WSL. - if (shellType !== undefined) { - if (shellType === WindowsShellType.GitBash) { - c(originalPath.replace(/\\/g, '/')); - return; - } - else if (shellType === WindowsShellType.Wsl) { - if (this._nativeWindowsDelegate && this._nativeWindowsDelegate.getWindowsBuildNumber() >= 17063) { - c(this._nativeWindowsDelegate.getWslPath(originalPath)); - } else { - c(originalPath.replace(/\\/g, '/')); - } - return; - } - - if (hasSpace) { - c('"' + originalPath + '"'); - } else { - c(originalPath); - } - } else { - const lowerExecutable = executable.toLowerCase(); - if (this._nativeWindowsDelegate && this._nativeWindowsDelegate.getWindowsBuildNumber() >= 17063 && - (lowerExecutable.indexOf('wsl') !== -1 || (lowerExecutable.indexOf('bash.exe') !== -1 && lowerExecutable.toLowerCase().indexOf('git') === -1))) { - c(this._nativeWindowsDelegate.getWslPath(originalPath)); - return; - } else if (hasSpace) { - c('"' + originalPath + '"'); - } else { - c(originalPath); - } - } - - return; - } - - c(escapeNonWindowsPath(originalPath)); - }); - } - - private async _getPlatformKey(): Promise { - const env = await this._remoteAgentService.getEnvironment(); - if (env) { - return env.os === OperatingSystem.Windows ? 'windows' : (env.os === OperatingSystem.Macintosh ? 'osx' : 'linux'); - } - return isWindows ? 'windows' : (isMacintosh ? 'osx' : 'linux'); - } - - public async selectDefaultProfile(): Promise { - const profiles = await this._detectProfiles(false); - const platformKey = await this._getPlatformKey(); - - const options: IPickOptions = { - placeHolder: nls.localize('terminal.integrated.chooseWindowsShell', "Select your default terminal profile"), - onDidTriggerItemButton: async (context) => { - const configKey = `terminal.integrated.profiles.${platformKey}`; - const configProfiles = this._configurationService.inspect<{ [key: string]: ITerminalProfileObject }>(configKey); - const existingProfiles = configProfiles.userValue ? Object.keys(configProfiles.userValue) : []; - const name = await this._quickInputService.input({ - prompt: nls.localize('enterTerminalProfileName', "Enter terminal profile name"), - value: context.item.profile.profileName, - validateInput: async input => { - if (existingProfiles.includes(input)) { - return nls.localize('terminalProfileAlreadyExists', "A terminal profile already exists with that name"); - } - return undefined; - } - }); - if (!name) { - return; - } - const newConfigValue: { [key: string]: ITerminalProfileObject } = { ...configProfiles.userValue } ?? {}; - newConfigValue[name] = { - path: context.item.profile.path, - args: context.item.profile.args - }; - await this._configurationService.updateValue(configKey, newConfigValue, ConfigurationTarget.USER); - } - }; - - // Build quick pick items - const quickPickItems: (IProfileQuickPickItem | IQuickPickSeparator)[] = []; - const configProfiles = profiles.filter(e => !e.isAutoDetected); - const autoDetectedProfiles = profiles.filter(e => e.isAutoDetected); - if (configProfiles.length > 0) { - quickPickItems.push({ type: 'separator', label: nls.localize('terminalProfiles', "profiles") }); - quickPickItems.push(...configProfiles.map(e => this._createProfileQuickPickItem(e))); - } - if (configProfiles.length > 0) { - quickPickItems.push({ type: 'separator', label: nls.localize('terminalProfiles.detected', "detected") }); - quickPickItems.push(...autoDetectedProfiles.map(e => this._createProfileQuickPickItem(e))); - } - - const value = await this._quickInputService.pick(quickPickItems, options); - if (!value) { - return; - } - await this._configurationService.updateValue(`terminal.integrated.shell.${platformKey}`, value.profile.path, ConfigurationTarget.USER); - await this._configurationService.updateValue(`terminal.integrated.shellArgs.${platformKey}`, value.profile.args, ConfigurationTarget.USER); - } - - private _createProfileQuickPickItem(profile: ITerminalProfile): IProfileQuickPickItem { - const buttons: IQuickInputButton[] = [{ - iconClass: ThemeIcon.asClassName(configureTerminalProfileIcon), - tooltip: nls.localize('createQuickLaunchProfile', "Configure Terminal Profile") - }]; - if (profile.args) { - if (typeof profile.args === 'string') { - return { label: profile.profileName, description: `${profile.path} ${profile.args}`, profile, buttons }; - } - const argsString = profile.args.map(e => { - if (e.includes(' ')) { - return `"${e.replace('/"/g', '\\"')}"`; - } - return e; - }).join(' '); - return { label: profile.profileName, description: `${profile.path} ${argsString}`, profile, buttons }; - } - return { label: profile.profileName, description: profile.path, profile, buttons }; - } - - public createInstance(container: HTMLElement | undefined, shellLaunchConfig: IShellLaunchConfig): ITerminalInstance { - const instance = this._instantiationService.createInstance(TerminalInstance, - this._terminalFocusContextKey, - this._terminalShellTypeContextKey, - this._terminalAltBufferActiveContextKey, - this._configHelper, - container, - shellLaunchConfig - ); - this._onInstanceCreated.fire(instance); - return instance; - } - - public createTerminal(shell: IShellLaunchConfig = {}): ITerminalInstance { - if (!shell.isExtensionCustomPtyTerminal && !this.isProcessSupportRegistered) { - throw new Error('Could not create terminal when process support is not registered'); - } - if (shell.hideFromUser) { - const instance = this.createInstance(undefined, shell); - this._backgroundedTerminalInstances.push(instance); - this._initInstanceListeners(instance); - return instance; - } - - const terminalTab = this._instantiationService.createInstance(TerminalTab, this._terminalContainer, shell); - this._terminalTabs.push(terminalTab); - - const instance = terminalTab.terminalInstances[0]; - - terminalTab.addDisposable(terminalTab.onDisposed(this._onTabDisposed.fire, this._onTabDisposed)); - terminalTab.addDisposable(terminalTab.onInstancesChanged(this._onInstancesChanged.fire, this._onInstancesChanged)); - this._initInstanceListeners(instance); - if (this.terminalInstances.length === 1) { - // It's the first instance so it should be made active automatically - this.setActiveInstanceByIndex(0); - } - this._onInstancesChanged.fire(); - return instance; - } - - protected _showBackgroundTerminal(instance: ITerminalInstance): void { - this._backgroundedTerminalInstances.splice(this._backgroundedTerminalInstances.indexOf(instance), 1); - instance.shellLaunchConfig.hideFromUser = false; - const terminalTab = this._instantiationService.createInstance(TerminalTab, this._terminalContainer, instance); - this._terminalTabs.push(terminalTab); - terminalTab.addDisposable(terminalTab.onDisposed(this._onTabDisposed.fire, this._onTabDisposed)); - terminalTab.addDisposable(terminalTab.onInstancesChanged(this._onInstancesChanged.fire, this._onInstancesChanged)); - if (this.terminalInstances.length === 1) { - // It's the first instance so it should be made active automatically - this.setActiveInstanceByIndex(0); - } - this._onInstancesChanged.fire(); - } - - public async focusFindWidget(): Promise { - await this.showPanel(false); - const pane = this._viewsService.getActiveViewWithId(TERMINAL_VIEW_ID) as TerminalViewPane; - pane.focusFindWidget(); - this._findWidgetVisible.set(true); - } - - public hideFindWidget(): void { - const pane = this._viewsService.getActiveViewWithId(TERMINAL_VIEW_ID) as TerminalViewPane; - if (pane) { - pane.hideFindWidget(); - this._findWidgetVisible.reset(); - pane.focus(); - } - } - - public findNext(): void { - const pane = this._viewsService.getActiveViewWithId(TERMINAL_VIEW_ID) as TerminalViewPane; - if (pane) { - pane.showFindWidget(); - pane.getFindWidget().find(false); - } - } - - public findPrevious(): void { - const pane = this._viewsService.getActiveViewWithId(TERMINAL_VIEW_ID) as TerminalViewPane; - if (pane) { - pane.showFindWidget(); - pane.getFindWidget().find(true); - } - } - - public async setContainers(panelContainer: HTMLElement, terminalContainer: HTMLElement): Promise { - this._configHelper.panelContainer = panelContainer; - this._terminalContainer = terminalContainer; - this._terminalTabs.forEach(tab => tab.attachToElement(terminalContainer)); - } - - public hidePanel(): void { - // Hide the panel if the terminal is in the panel and it has no sibling views - const location = this._viewDescriptorService.getViewLocationById(TERMINAL_VIEW_ID); - if (location === ViewContainerLocation.Panel) { - const panel = this._viewDescriptorService.getViewContainerByViewId(TERMINAL_VIEW_ID); - if (panel && this._viewDescriptorService.getViewContainerModel(panel).activeViewDescriptors.length === 1) { - this._layoutService.setPanelHidden(true); - } - } - } -} - -interface IProfileQuickPickItem extends IQuickPickItem { - profile: ITerminalProfile; -} diff --git a/vscode-web-github1s/src/vs/workbench/contrib/url/browser/trustedDomains.ts b/vscode-web-github1s/src/vs/workbench/contrib/url/browser/trustedDomains.ts deleted file mode 100644 index 275fcf903..000000000 --- a/vscode-web-github1s/src/vs/workbench/contrib/url/browser/trustedDomains.ts +++ /dev/null @@ -1,251 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { URI } from 'vs/base/common/uri'; -import { localize } from 'vs/nls'; -import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; -import { IProductService } from 'vs/platform/product/common/productService'; -import { IQuickInputService, IQuickPickItem } from 'vs/platform/quickinput/common/quickInput'; -import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage'; -import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; -import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import { IAuthenticationService } from 'vs/workbench/services/authentication/browser/authenticationService'; -import { IFileService } from 'vs/platform/files/common/files'; -import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles'; -import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; -import { INotificationService, Severity } from 'vs/platform/notification/common/notification'; -import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; - -const TRUSTED_DOMAINS_URI = URI.parse('trustedDomains:/Trusted Domains'); - -export const TRUSTED_DOMAINS_STORAGE_KEY = 'http.linkProtectionTrustedDomains'; -export const TRUSTED_DOMAINS_CONTENT_STORAGE_KEY = 'http.linkProtectionTrustedDomainsContent'; - -export const manageTrustedDomainSettingsCommand = { - id: 'workbench.action.manageTrustedDomain', - description: { - description: localize('trustedDomain.manageTrustedDomain', 'Manage Trusted Domains'), - args: [] - }, - handler: async (accessor: ServicesAccessor) => { - const editorService = accessor.get(IEditorService); - editorService.openEditor({ resource: TRUSTED_DOMAINS_URI, mode: 'jsonc', options: { pinned: true } }); - return; - } -}; - -type ConfigureTrustedDomainsQuickPickItem = IQuickPickItem & ({ id: 'manage'; } | { id: 'trust'; toTrust: string }); - -type ConfigureTrustedDomainsChoiceClassification = { - choice: { classification: 'SystemMetaData', purpose: 'FeatureInsight' }; -}; - -export async function configureOpenerTrustedDomainsHandler( - trustedDomains: string[], - domainToConfigure: string, - resource: URI, - quickInputService: IQuickInputService, - storageService: IStorageService, - editorService: IEditorService, - telemetryService: ITelemetryService, - notificationService: INotificationService, - clipboardService: IClipboardService, -) { - const parsedDomainToConfigure = URI.parse(domainToConfigure); - // below codes are changed by github1s typo - const toplevelDomainSegments = parsedDomainToConfigure.authority.split('.'); - const domainEnd = toplevelDomainSegments.slice(toplevelDomainSegments.length - 2).join('.'); - // above codes are changed by github1s - const topLevelDomain = '*.' + domainEnd; - const options: ConfigureTrustedDomainsQuickPickItem[] = []; - - options.push({ - type: 'item', - label: localize('trustedDomain.trustDomain', 'Trust {0}', domainToConfigure), - id: 'trust', - toTrust: domainToConfigure, - picked: true - }); - - const isIP = - // below codes are changed by github1s typo - toplevelDomainSegments.length === 4 && - toplevelDomainSegments.every(segment => - // above codes are changed by github1s - Number.isInteger(+segment) || Number.isInteger(+segment.split(':')[0])); - - if (isIP) { - if (parsedDomainToConfigure.authority.includes(':')) { - const base = parsedDomainToConfigure.authority.split(':')[0]; - options.push({ - type: 'item', - label: localize('trustedDomain.trustAllPorts', 'Trust {0} on all ports', base), - toTrust: base + ':*', - id: 'trust' - }); - } - } else { - options.push({ - type: 'item', - label: localize('trustedDomain.trustSubDomain', 'Trust {0} and all its subdomains', domainEnd), - toTrust: topLevelDomain, - id: 'trust' - }); - } - - options.push({ - type: 'item', - label: localize('trustedDomain.trustAllDomains', 'Trust all domains (disables link protection)'), - toTrust: '*', - id: 'trust' - }); - options.push({ - type: 'item', - label: localize('trustedDomain.manageTrustedDomains', 'Manage Trusted Domains'), - id: 'manage' - }); - - const pickedResult = await quickInputService.pick( - options, { activeItem: options[0] } - ); - - if (pickedResult && pickedResult.id) { - telemetryService.publicLog2<{ choice: string }, ConfigureTrustedDomainsChoiceClassification>( - 'trustedDomains.configureTrustedDomainsQuickPickChoice', - { choice: pickedResult.id } - ); - - switch (pickedResult.id) { - case 'manage': - await editorService.openEditor({ - resource: TRUSTED_DOMAINS_URI, - mode: 'jsonc', - options: { pinned: true } - }); - notificationService.prompt(Severity.Info, localize('configuringURL', "Configuring trust for: {0}", resource.toString()), - [{ label: 'Copy', run: () => clipboardService.writeText(resource.toString()) }]); - return trustedDomains; - case 'trust': - const itemToTrust = pickedResult.toTrust; - if (trustedDomains.indexOf(itemToTrust) === -1) { - storageService.remove(TRUSTED_DOMAINS_CONTENT_STORAGE_KEY, StorageScope.GLOBAL); - storageService.store( - TRUSTED_DOMAINS_STORAGE_KEY, - JSON.stringify([...trustedDomains, itemToTrust]), - StorageScope.GLOBAL, - StorageTarget.USER - ); - - return [...trustedDomains, itemToTrust]; - } - } - } - - return []; -} - -// Exported for testing. -export function extractGitHubRemotesFromGitConfig(gitConfig: string): string[] { - const domains = new Set(); - let match: RegExpExecArray | null; - - const RemoteMatcher = /^\s*url\s*=\s*(?:git@|https:\/\/)github\.com(?::|\/)(\S*)\s*$/mg; - while (match = RemoteMatcher.exec(gitConfig)) { - const repo = match[1].replace(/\.git$/, ''); - if (repo) { - domains.add(`https://github.com/${repo}/`); - } - } - return [...domains]; -} - -async function getRemotes(fileService: IFileService, textFileService: ITextFileService, contextService: IWorkspaceContextService): Promise { - const workspaceUris = contextService.getWorkspace().folders.map(folder => folder.uri); - const domains = await Promise.race([ - new Promise(resolve => setTimeout(() => resolve([]), 2000)), - Promise.all(workspaceUris.map(async workspaceUri => { - const path = workspaceUri.path; - const uri = workspaceUri.with({ path: `${path !== '/' ? path : ''}/.git/config` }); - const exists = await fileService.exists(uri); - if (!exists) { - return []; - } - const gitConfig = (await (textFileService.read(uri, { acceptTextOnly: true }).catch(() => ({ value: '' })))).value; - return extractGitHubRemotesFromGitConfig(gitConfig); - }))]); - - const set = domains.reduce((set, list) => list.reduce((set, item) => set.add(item), set), new Set()); - return [...set]; -} - -export interface IStaticTrustedDomains { - readonly defaultTrustedDomains: string[]; - readonly trustedDomains: string[]; -} - -export interface ITrustedDomains extends IStaticTrustedDomains { - readonly userDomains: string[]; - readonly workspaceDomains: string[]; -} - -export async function readTrustedDomains(accessor: ServicesAccessor): Promise { - const { defaultTrustedDomains, trustedDomains } = readStaticTrustedDomains(accessor); - const [workspaceDomains, userDomains] = await Promise.all([readWorkspaceTrustedDomains(accessor), readAuthenticationTrustedDomains(accessor)]); - return { - workspaceDomains, - userDomains, - defaultTrustedDomains, - trustedDomains, - }; -} - -export async function readWorkspaceTrustedDomains(accessor: ServicesAccessor): Promise { - const fileService = accessor.get(IFileService); - const textFileService = accessor.get(ITextFileService); - const workspaceContextService = accessor.get(IWorkspaceContextService); - return getRemotes(fileService, textFileService, workspaceContextService); -} - -export async function readAuthenticationTrustedDomains(accessor: ServicesAccessor): Promise { - const authenticationService = accessor.get(IAuthenticationService); - return authenticationService.isAuthenticationProviderRegistered('github') && ((await authenticationService.getSessions('github')) ?? []).length > 0 - ? [`https://github.com`] - : []; -} - -// below codes are changed by github1s -const github1sDefaultTrustedDomains = [ - '*.github.com', - '*.microsoft.com', - '*.github1s.com', - '*.vercel.com', - '*.sourcegraph.com', - '*.gitpod.io', -]; -// above codes are changed by github1s - -export function readStaticTrustedDomains(accessor: ServicesAccessor): IStaticTrustedDomains { - const storageService = accessor.get(IStorageService); - const productService = accessor.get(IProductService); - - // below codes are changed by github1s - const defaultTrustedDomains: string[] = productService.linkProtectionTrustedDomains - ? [...productService.linkProtectionTrustedDomains, ...github1sDefaultTrustedDomains] - : [...github1sDefaultTrustedDomains]; - // above codes are changed by github1s - - let trustedDomains: string[] = []; - try { - const trustedDomainsSrc = storageService.get(TRUSTED_DOMAINS_STORAGE_KEY, StorageScope.GLOBAL); - if (trustedDomainsSrc) { - trustedDomains = JSON.parse(trustedDomainsSrc); - } - } catch (err) { } - - return { - defaultTrustedDomains, - trustedDomains, - }; -} diff --git a/vscode-web-github1s/src/vs/workbench/contrib/webview/browser/pre/main.js b/vscode-web-github1s/src/vs/workbench/contrib/webview/browser/pre/main.js deleted file mode 100644 index 8da52f898..000000000 --- a/vscode-web-github1s/src/vs/workbench/contrib/webview/browser/pre/main.js +++ /dev/null @@ -1,743 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -// @ts-check - -/** - * @typedef {{ - * postMessage: (channel: string, data?: any) => void, - * onMessage: (channel: string, handler: any) => void, - * focusIframeOnCreate?: boolean, - * ready?: Promise, - * onIframeLoaded?: (iframe: HTMLIFrameElement) => void, - * fakeLoad?: boolean, - * rewriteCSP: (existingCSP: string, endpoint?: string) => string, - * onElectron?: boolean, - * useParentPostMessage: boolean, - * }} WebviewHost - */ - -(function () { - 'use strict'; - - const isSafari = navigator.vendor && navigator.vendor.indexOf('Apple') > -1 && - navigator.userAgent && - navigator.userAgent.indexOf('CriOS') === -1 && - navigator.userAgent.indexOf('FxiOS') === -1; - - /** - * Use polling to track focus of main webview and iframes within the webview - * - * @param {Object} handlers - * @param {() => void} handlers.onFocus - * @param {() => void} handlers.onBlur - */ - const trackFocus = ({ onFocus, onBlur }) => { - const interval = 50; - let isFocused = document.hasFocus(); - setInterval(() => { - const isCurrentlyFocused = document.hasFocus(); - if (isCurrentlyFocused === isFocused) { - return; - } - isFocused = isCurrentlyFocused; - if (isCurrentlyFocused) { - onFocus(); - } else { - onBlur(); - } - }, interval); - }; - - const getActiveFrame = () => { - return /** @type {HTMLIFrameElement} */ (document.getElementById('active-frame')); - }; - - const getPendingFrame = () => { - return /** @type {HTMLIFrameElement} */ (document.getElementById('pending-frame')); - }; - - const vscodePostMessageFuncName = '__vscode_post_message__'; - - const defaultCssRules = ` - html { - scrollbar-color: var(--vscode-scrollbarSlider-background) var(--vscode-editor-background); - } - - body { - background-color: transparent; - color: var(--vscode-editor-foreground); - font-family: var(--vscode-font-family); - font-weight: var(--vscode-font-weight); - font-size: var(--vscode-font-size); - margin: 0; - padding: 0 20px; - } - - img { - max-width: 100%; - max-height: 100%; - } - - a { - color: var(--vscode-textLink-foreground); - } - - a:hover { - color: var(--vscode-textLink-activeForeground); - } - - a:focus, - input:focus, - select:focus, - textarea:focus { - outline: 1px solid -webkit-focus-ring-color; - outline-offset: -1px; - } - - code { - color: var(--vscode-textPreformat-foreground); - } - - blockquote { - background: var(--vscode-textBlockQuote-background); - border-color: var(--vscode-textBlockQuote-border); - } - - kbd { - color: var(--vscode-editor-foreground); - border-radius: 3px; - vertical-align: middle; - padding: 1px 3px; - - background-color: hsla(0,0%,50%,.17); - border: 1px solid rgba(71,71,71,.4); - border-bottom-color: rgba(88,88,88,.4); - box-shadow: inset 0 -1px 0 rgba(88,88,88,.4); - } - .vscode-light kbd { - background-color: hsla(0,0%,87%,.5); - border: 1px solid hsla(0,0%,80%,.7); - border-bottom-color: hsla(0,0%,73%,.7); - box-shadow: inset 0 -1px 0 hsla(0,0%,73%,.7); - } - - ::-webkit-scrollbar { - width: 10px; - height: 10px; - } - - ::-webkit-scrollbar-corner { - background-color: var(--vscode-editor-background); - } - - ::-webkit-scrollbar-thumb { - background-color: var(--vscode-scrollbarSlider-background); - } - ::-webkit-scrollbar-thumb:hover { - background-color: var(--vscode-scrollbarSlider-hoverBackground); - } - ::-webkit-scrollbar-thumb:active { - background-color: var(--vscode-scrollbarSlider-activeBackground); - }`; - - /** - * @param {boolean} allowMultipleAPIAcquire - * @param {boolean} useParentPostMessage - * @param {*} [state] - * @return {string} - */ - function getVsCodeApiScript(allowMultipleAPIAcquire, useParentPostMessage, state) { - const encodedState = state ? encodeURIComponent(state) : undefined; - return ` - globalThis.acquireVsCodeApi = (function() { - const originalPostMessage = window.parent['${useParentPostMessage ? 'postMessage' : vscodePostMessageFuncName}'].bind(window.parent); - const doPostMessage = (channel, data) => { - ${useParentPostMessage - ? `originalPostMessage({ command: channel, data: data }, '*');` - : `originalPostMessage(channel, data);` - } - }; - - let acquired = false; - - let state = ${state ? `JSON.parse(decodeURIComponent("${encodedState}"))` : undefined}; - - return () => { - if (acquired && !${allowMultipleAPIAcquire}) { - throw new Error('An instance of the VS Code API has already been acquired'); - } - acquired = true; - return Object.freeze({ - postMessage: function(msg) { - doPostMessage('onmessage', msg); - }, - setState: function(newState) { - state = newState; - doPostMessage('do-update-state', JSON.stringify(newState)); - return newState; - }, - getState: function() { - return state; - } - }); - }; - })(); - delete window.parent; - delete window.top; - delete window.frameElement; - `; - } - - /** - * @param {WebviewHost} host - */ - function createWebviewManager(host) { - // state - let firstLoad = true; - let loadTimeout; - let pendingMessages = []; - - const initData = { - initialScrollProgress: undefined, - }; - - /** - * @param {HTMLDocument?} document - * @param {HTMLElement?} body - */ - const applyStyles = (document, body) => { - if (!document) { - return; - } - - if (body) { - body.classList.remove('vscode-light', 'vscode-dark', 'vscode-high-contrast'); - body.classList.add(initData.activeTheme); - - body.dataset.vscodeThemeKind = initData.activeTheme; - body.dataset.vscodeThemeName = initData.themeName || ''; - } - - if (initData.styles) { - const documentStyle = document.documentElement.style; - - // Remove stale properties - for (let i = documentStyle.length - 1; i >= 0; i--) { - const property = documentStyle[i]; - - // Don't remove properties that the webview might have added separately - if (property && property.startsWith('--vscode-')) { - documentStyle.removeProperty(property); - } - } - - // Re-add new properties - for (const variable of Object.keys(initData.styles)) { - documentStyle.setProperty(`--${variable}`, initData.styles[variable]); - } - } - }; - - /** - * @param {MouseEvent} event - */ - const handleInnerClick = (event) => { - if (!event || !event.view || !event.view.document) { - return; - } - - let baseElement = event.view.document.getElementsByTagName('base')[0]; - /** @type {any} */ - let node = event.target; - while (node) { - if (node.tagName && node.tagName.toLowerCase() === 'a' && node.href) { - if (node.getAttribute('href') === '#') { - event.view.scrollTo(0, 0); - } else if (node.hash && (node.getAttribute('href') === node.hash || (baseElement && node.href.indexOf(baseElement.href) >= 0))) { - let scrollTarget = event.view.document.getElementById(node.hash.substr(1, node.hash.length - 1)); - if (scrollTarget) { - scrollTarget.scrollIntoView(); - } - } else { - host.postMessage('did-click-link', node.href.baseVal || node.href); - } - event.preventDefault(); - break; - } - node = node.parentNode; - } - }; - - /** - * @param {MouseEvent} event - */ - const handleAuxClick = - (event) => { - // Prevent middle clicks opening a broken link in the browser - if (!event.view || !event.view.document) { - return; - } - - if (event.button === 1) { - let node = /** @type {any} */ (event.target); - while (node) { - if (node.tagName && node.tagName.toLowerCase() === 'a' && node.href) { - event.preventDefault(); - break; - } - node = node.parentNode; - } - } - }; - - /** - * @param {KeyboardEvent} e - */ - const handleInnerKeydown = (e) => { - // below codes are changed by github1s - // If the keypress would trigger a browser event, such as copy or paste or fuzzy, - // make sure we block the browser from dispatching it. Instead VS Code - // handles these events and will dispatch a copy/paste/fuzzy back to the webview - // if needed - if (isUndoRedo(e) || isFuzzySearch(e)) { - // above codes are changed by github1s - e.preventDefault(); - } else if (isCopyPasteOrCut(e)) { - if (host.onElectron) { - e.preventDefault(); - } else { - return; // let the browser handle this - } - } - - host.postMessage('did-keydown', { - key: e.key, - keyCode: e.keyCode, - code: e.code, - shiftKey: e.shiftKey, - altKey: e.altKey, - ctrlKey: e.ctrlKey, - metaKey: e.metaKey, - repeat: e.repeat - }); - }; - /** - * @param {KeyboardEvent} e - */ - const handleInnerUp = (e) => { - host.postMessage('did-keyup', { - key: e.key, - keyCode: e.keyCode, - code: e.code, - shiftKey: e.shiftKey, - altKey: e.altKey, - ctrlKey: e.ctrlKey, - metaKey: e.metaKey, - repeat: e.repeat - }); - }; - - /** - * @param {KeyboardEvent} e - * @return {boolean} - */ - function isCopyPasteOrCut(e) { - const hasMeta = e.ctrlKey || e.metaKey; - const shiftInsert = e.shiftKey && e.key.toLowerCase() === 'insert'; - return (hasMeta && ['c', 'v', 'x'].includes(e.key.toLowerCase())) || shiftInsert; - } - - /** - * @param {KeyboardEvent} e - * @return {boolean} - */ - function isUndoRedo(e) { - const hasMeta = e.ctrlKey || e.metaKey; - return hasMeta && ['z', 'y'].includes(e.key.toLowerCase()); - } - - // below codes are changed by github1s - /** - * @param {KeyboardEvent} e - * @return {boolean} - * modify-by-github1s, preventDefault when press ctrl/cmd+p - */ - function isFuzzySearch(e) { - const hasMeta = e.ctrlKey || e.metaKey; - return hasMeta && ['p'].includes(e.key); - } - // above codes are changed by github1s - - let isHandlingScroll = false; - - const handleWheel = (event) => { - if (isHandlingScroll) { - return; - } - - host.postMessage('did-scroll-wheel', { - deltaMode: event.deltaMode, - deltaX: event.deltaX, - deltaY: event.deltaY, - deltaZ: event.deltaZ, - detail: event.detail, - type: event.type - }); - }; - - const handleInnerScroll = (event) => { - if (!event.target || !event.target.body) { - return; - } - if (isHandlingScroll) { - return; - } - - const progress = event.currentTarget.scrollY / event.target.body.clientHeight; - if (isNaN(progress)) { - return; - } - - isHandlingScroll = true; - window.requestAnimationFrame(() => { - try { - host.postMessage('did-scroll', progress); - } catch (e) { - // noop - } - isHandlingScroll = false; - }); - }; - - /** - * @return {string} - */ - function toContentHtml(data) { - const options = data.options; - const text = data.contents; - const newDocument = new DOMParser().parseFromString(text, 'text/html'); - - newDocument.querySelectorAll('a').forEach(a => { - if (!a.title) { - a.title = a.getAttribute('href'); - } - }); - - // apply default script - if (options.allowScripts) { - const defaultScript = newDocument.createElement('script'); - defaultScript.id = '_vscodeApiScript'; - defaultScript.textContent = getVsCodeApiScript(options.allowMultipleAPIAcquire, host.useParentPostMessage, data.state); - newDocument.head.prepend(defaultScript); - } - - // apply default styles - const defaultStyles = newDocument.createElement('style'); - defaultStyles.id = '_defaultStyles'; - defaultStyles.textContent = defaultCssRules; - newDocument.head.prepend(defaultStyles); - - applyStyles(newDocument, newDocument.body); - - // Check for CSP - const csp = newDocument.querySelector('meta[http-equiv="Content-Security-Policy"]'); - if (!csp) { - host.postMessage('no-csp-found'); - } else { - try { - csp.setAttribute('content', host.rewriteCSP(csp.getAttribute('content'), data.endpoint)); - } catch (e) { - console.error(`Could not rewrite csp: ${e}`); - } - } - - // set DOCTYPE for newDocument explicitly as DOMParser.parseFromString strips it off - // and DOCTYPE is needed in the iframe to ensure that the user agent stylesheet is correctly overridden - return '\n' + newDocument.documentElement.outerHTML; - } - - document.addEventListener('DOMContentLoaded', () => { - const idMatch = document.location.search.match(/\bid=([\w-]+)/); - const ID = idMatch ? idMatch[1] : undefined; - if (!document.body) { - return; - } - - host.onMessage('styles', (_event, data) => { - initData.styles = data.styles; - initData.activeTheme = data.activeTheme; - initData.themeName = data.themeName; - - const target = getActiveFrame(); - if (!target) { - return; - } - - if (target.contentDocument) { - applyStyles(target.contentDocument, target.contentDocument.body); - } - }); - - // propagate focus - host.onMessage('focus', () => { - const activeFrame = getActiveFrame(); - if (!activeFrame || !activeFrame.contentWindow) { - // Focus the top level webview instead - window.focus(); - return; - } - - if (document.activeElement === activeFrame) { - // We are already focused on the iframe (or one of its children) so no need - // to refocus. - return; - } - - activeFrame.contentWindow.focus(); - }); - - // update iframe-contents - let updateId = 0; - host.onMessage('content', async (_event, data) => { - const currentUpdateId = ++updateId; - await host.ready; - if (currentUpdateId !== updateId) { - return; - } - - const options = data.options; - const newDocument = toContentHtml(data); - - const frame = getActiveFrame(); - const wasFirstLoad = firstLoad; - // keep current scrollY around and use later - let setInitialScrollPosition; - if (firstLoad) { - firstLoad = false; - setInitialScrollPosition = (body, window) => { - if (!isNaN(initData.initialScrollProgress)) { - if (window.scrollY === 0) { - window.scroll(0, body.clientHeight * initData.initialScrollProgress); - } - } - }; - } else { - const scrollY = frame && frame.contentDocument && frame.contentDocument.body ? frame.contentWindow.scrollY : 0; - setInitialScrollPosition = (body, window) => { - if (window.scrollY === 0) { - window.scroll(0, scrollY); - } - }; - } - - // Clean up old pending frames and set current one as new one - const previousPendingFrame = getPendingFrame(); - if (previousPendingFrame) { - previousPendingFrame.setAttribute('id', ''); - document.body.removeChild(previousPendingFrame); - } - if (!wasFirstLoad) { - pendingMessages = []; - } - - const newFrame = document.createElement('iframe'); - newFrame.setAttribute('id', 'pending-frame'); - newFrame.setAttribute('frameborder', '0'); - newFrame.setAttribute('sandbox', options.allowScripts ? 'allow-scripts allow-forms allow-same-origin allow-pointer-lock allow-downloads' : 'allow-same-origin allow-pointer-lock'); - newFrame.setAttribute('allow', options.allowScripts ? 'clipboard-read; clipboard-write;' : ''); - if (host.fakeLoad) { - // We should just be able to use srcdoc, but I wasn't - // seeing the service worker applying properly. - // Fake load an empty on the correct origin and then write real html - // into it to get around this. - newFrame.src = `./fake.html?id=${ID}`; - } else { - newFrame.src = `about:blank?webviewFrame`; - } - newFrame.style.cssText = 'display: block; margin: 0; overflow: hidden; position: absolute; width: 100%; height: 100%; visibility: hidden'; - document.body.appendChild(newFrame); - - if (!host.fakeLoad) { - // write new content onto iframe - newFrame.contentDocument.open(); - } - - /** - * @param {Document} contentDocument - */ - function onFrameLoaded(contentDocument) { - // Workaround for https://bugs.chromium.org/p/chromium/issues/detail?id=978325 - setTimeout(() => { - if (host.fakeLoad) { - contentDocument.open(); - contentDocument.write(newDocument); - contentDocument.close(); - hookupOnLoadHandlers(newFrame); - } - if (contentDocument) { - applyStyles(contentDocument, contentDocument.body); - } - }, 0); - } - - if (host.fakeLoad && !options.allowScripts && isSafari) { - // On Safari for iframes with scripts disabled, the `DOMContentLoaded` never seems to be fired. - // Use polling instead. - const interval = setInterval(() => { - // If the frame is no longer mounted, loading has stopped - if (!newFrame.parentElement) { - clearInterval(interval); - return; - } - - if (newFrame.contentDocument.readyState !== 'loading') { - clearInterval(interval); - onFrameLoaded(newFrame.contentDocument); - } - }, 10); - } else { - newFrame.contentWindow.addEventListener('DOMContentLoaded', e => { - const contentDocument = e.target ? (/** @type {HTMLDocument} */ (e.target)) : undefined; - onFrameLoaded(contentDocument); - }); - } - - /** - * @param {Document} contentDocument - * @param {Window} contentWindow - */ - const onLoad = (contentDocument, contentWindow) => { - if (contentDocument && contentDocument.body) { - // Workaround for https://github.com/microsoft/vscode/issues/12865 - // check new scrollY and reset if necessary - setInitialScrollPosition(contentDocument.body, contentWindow); - } - - const newFrame = getPendingFrame(); - if (newFrame && newFrame.contentDocument && newFrame.contentDocument === contentDocument) { - const oldActiveFrame = getActiveFrame(); - if (oldActiveFrame) { - document.body.removeChild(oldActiveFrame); - } - // Styles may have changed since we created the element. Make sure we re-style - applyStyles(newFrame.contentDocument, newFrame.contentDocument.body); - newFrame.setAttribute('id', 'active-frame'); - newFrame.style.visibility = 'visible'; - if (host.focusIframeOnCreate) { - newFrame.contentWindow.focus(); - } - - contentWindow.addEventListener('scroll', handleInnerScroll); - contentWindow.addEventListener('wheel', handleWheel); - - if (document.hasFocus()) { - contentWindow.focus(); - } - - pendingMessages.forEach((data) => { - contentWindow.postMessage(data, '*'); - }); - pendingMessages = []; - } - - host.postMessage('did-load'); - }; - - /** - * @param {HTMLIFrameElement} newFrame - */ - function hookupOnLoadHandlers(newFrame) { - clearTimeout(loadTimeout); - loadTimeout = undefined; - loadTimeout = setTimeout(() => { - clearTimeout(loadTimeout); - loadTimeout = undefined; - onLoad(newFrame.contentDocument, newFrame.contentWindow); - }, 200); - - newFrame.contentWindow.addEventListener('load', function (e) { - const contentDocument = /** @type {Document} */ (e.target); - - if (loadTimeout) { - clearTimeout(loadTimeout); - loadTimeout = undefined; - onLoad(contentDocument, this); - } - }); - - // Bubble out various events - newFrame.contentWindow.addEventListener('click', handleInnerClick); - newFrame.contentWindow.addEventListener('auxclick', handleAuxClick); - newFrame.contentWindow.addEventListener('keydown', handleInnerKeydown); - newFrame.contentWindow.addEventListener('keyup', handleInnerUp); - newFrame.contentWindow.addEventListener('contextmenu', e => e.preventDefault()); - - if (host.onIframeLoaded) { - host.onIframeLoaded(newFrame); - } - } - - if (!host.fakeLoad) { - hookupOnLoadHandlers(newFrame); - } - - if (!host.fakeLoad) { - newFrame.contentDocument.write(newDocument); - newFrame.contentDocument.close(); - } - - host.postMessage('did-set-content', undefined); - }); - - // Forward message to the embedded iframe - host.onMessage('message', (_event, data) => { - const pending = getPendingFrame(); - if (!pending) { - const target = getActiveFrame(); - if (target) { - target.contentWindow.postMessage(data, '*'); - return; - } - } - pendingMessages.push(data); - }); - - host.onMessage('initial-scroll-position', (_event, progress) => { - initData.initialScrollProgress = progress; - }); - - host.onMessage('execCommand', (_event, data) => { - const target = getActiveFrame(); - if (!target) { - return; - } - target.contentDocument.execCommand(data); - }); - - trackFocus({ - onFocus: () => host.postMessage('did-focus'), - onBlur: () => host.postMessage('did-blur') - }); - - (/** @type {any} */ (window))[vscodePostMessageFuncName] = (command, data) => { - switch (command) { - case 'onmessage': - case 'do-update-state': - host.postMessage(command, data); - break; - } - }; - - // signal ready - host.postMessage('webview-ready', {}); - }); - } - - if (typeof module !== 'undefined') { - module.exports = createWebviewManager; - } else { - (/** @type {any} */ (window)).createWebviewManager = createWebviewManager; - } -}()); diff --git a/vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/vs_code_welcome_page.ts b/vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/vs_code_welcome_page.ts deleted file mode 100644 index 4d2cb2ba7..000000000 --- a/vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/vs_code_welcome_page.ts +++ /dev/null @@ -1,67 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { escape } from 'vs/base/common/strings'; -import { localize } from 'vs/nls'; - -// below codes are changed by github1s -export default () => ` -
-
-
-

${escape(localize('welcomePage.vscode', "Visual Studio Code"))}

-

- One second to read GitHub code with VS Code -

-
-
-
-
-

Rate limit Info:

-
    -
  • ------------------------------
  • -
  • X-RateLimit-Limit:
  • -
  • X-RateLimit-Remaining:
  • -
  • X-RateLimit-Reset:
  • -
  • ------------------------------
  • -
  • Current rate limit window will reset after s
  • -
  • GitHub Rate limiting Documentation
  • -
-
-
-

${escape(localize('welcomePage.help', "Help"))}

- -
-

-
-
-
-

Authentication

-
-
-
-
-
-
-
-

${escape(localize('welcomePage.learn', "Learn"))}

-
-
-
-
-
-
-
-
-
-`; -// above codes are changed by github1s diff --git a/vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/welcomePage.css b/vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/welcomePage.css deleted file mode 100644 index 6fdce82c9..000000000 --- a/vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/welcomePage.css +++ /dev/null @@ -1,287 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -.monaco-workbench .part.editor > .content .welcomePageContainer { - align-items: center; - display: flex; - justify-content: center; - min-width: 100%; - min-height: 100%; -} - -.monaco-workbench .part.editor > .content .welcomePage { - width: 90%; - max-width: 1200px; - font-size: 10px; -} - -/* below codes are changed by github1s */ -.monaco-workbench .part.editor > .content .welcomePage .text-warning { - color: #cca700; -} - -.monaco-workbench .part.editor > .content .welcomePage .text-error { - color: #f48771; -} - -.monaco-workbench .part.editor > .content .welcomePage .text-success { - color: #89d185; -} - -.monaco-workbench .part.editor > .content .welcomePage .refresh-button { - vertical-align: bottom; - cursor: pointer; -} - -.monaco-workbench .part.editor > .content .welcomePage .refresh-button:hover { - color: #3794ff; -} - -.monaco-workbench .part.editor > .content .welcomePage .refresh-button:hover { - color: #3794ff; -} - -.monaco-workbench .part.editor > .content .welcomePage .refresh-button:active { - color: #094771; -} -/* above codes are changed by github1s */ - -.monaco-workbench .part.editor > .content .welcomePage .row { - display: flex; - flex-flow: row; -} - -.monaco-workbench .part.editor > .content .welcomePage .row .section { - overflow: hidden; -} - -.monaco-workbench .part.editor > .content .welcomePage .row .splash { - overflow: hidden; -} - -.monaco-workbench .part.editor > .content .welcomePage .row .commands { - overflow: hidden; -} - -.monaco-workbench .part.editor > .content .welcomePage .row .commands .list { - overflow: hidden; -} - -.monaco-workbench .part.editor > .content .welcomePage p { - font-size: 1.3em; -} - -.monaco-workbench .part.editor > .content .welcomePage .keyboard { - font-family: "Lucida Grande", sans-serif;/* Keyboard shortcuts */ -} - -.monaco-workbench .part.editor > .content .welcomePage a { - text-decoration: none; -} - -.monaco-workbench .part.editor > .content .welcomePage a:focus { - outline: 1px solid -webkit-focus-ring-color; - outline-offset: -1px; -} - -.monaco-workbench .part.editor > .content .welcomePage h1 { - padding: 0; - margin: 0; - border: none; - font-weight: normal; - font-size: 3.6em; - white-space: nowrap; -} - -.monaco-workbench .part.editor > .content .welcomePage .title { - margin-top: 1em; - margin-bottom: 1em; - flex: 1 100%; -} - -.monaco-workbench .part.editor > .content .welcomePage .subtitle { - margin-top: .8em; - font-size: 2.6em; - display: block; -} - -.monaco-workbench.hc-black .part.editor > .content .welcomePage .subtitle { - font-weight: 200; -} - -.monaco-workbench .part.editor > .content .welcomePage .splash, -.monaco-workbench .part.editor > .content .welcomePage .commands { - flex: 1 1 0; -} - -.monaco-workbench .part.editor > .content .welcomePage h2 { - font-weight: 200; - margin-top: 17px; - margin-bottom: 5px; - font-size: 1.9em; - line-height: initial; -} - -.monaco-workbench .part.editor > .content .welcomePage .splash .section { - margin-bottom: 5em; -} - -.monaco-workbench .part.editor > .content .welcomePage .splash ul { - margin: 0; - font-size: 1.3em; - list-style: none; - padding: 0; -} - -.monaco-workbench .part.editor > .content .welcomePage .splash li { - min-width: 0; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.monaco-workbench .part.editor > .content .welcomePage .splash .recent { - min-height: 160px; -} - -.monaco-workbench .part.editor > .content .welcomePageContainer.max-height-685px .splash .recent { - min-height: unset; -} - -.monaco-workbench .part.editor > .content .welcomePage.emptyRecent .splash .recent .list { - display: none; -} -.monaco-workbench .part.editor > .content .welcomePage .splash .recent .none { - display: none; -} -.monaco-workbench .part.editor > .content .welcomePage.emptyRecent .splash .recent .none { - display: initial; -} - -.monaco-workbench .part.editor > .content .welcomePage .splash .recent li.moreRecent { - margin-top: 5px; -} - -.monaco-workbench .part.editor > .content .welcomePage .splash .recent .path { - padding-left: 1em; -} - -.monaco-workbench .part.editor > .content .welcomePage .splash .title, -.monaco-workbench .part.editor > .content .welcomePage .splash .showOnStartup { - min-width: 0; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.monaco-workbench .part.editor > .content .welcomePage .splash .showOnStartup > .checkbox { - vertical-align: bottom; -} - -.monaco-workbench .part.editor > .content .welcomePage .commands .list { - list-style: none; - padding: 0; -} -.monaco-workbench .part.editor > .content .welcomePage .commands .item { - margin: 7px 0px; -} -.monaco-workbench .part.editor > .content .welcomePage .commands .item button { - margin: 1px; - padding: 12px 10px; - width: calc(100% - 2px); - height: 5em; - font-size: 1.3em; - text-align: left; - cursor: pointer; - white-space: nowrap; - font-family: inherit; -} - -.monaco-workbench .part.editor > .content .welcomePage .commands .item button > span { - display: inline-block; - width:100%; - min-width: 0; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.monaco-workbench .part.editor > .content .welcomePage .commands .item button h3 { - font-weight: normal; - font-size: 1em; - margin: 0; - margin-bottom: .25em; - min-width: 0; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.monaco-workbench .part.editor > .content .welcomePage .commands .item button { - border: none; -} - -.monaco-workbench.hc-black .part.editor > .content .welcomePage .commands .item button > h3 { - font-weight: bold; -} - -.monaco-workbench .part.editor > .content .welcomePage .commands .item button:focus { - outline-style: solid; - outline-width: 1px; -} - -.monaco-workbench.hc-black .part.editor > .content .welcomePage .commands .item button { - border-width: 1px; - border-style: solid; -} - -.monaco-workbench.hc-black .part.editor > .content .welcomePage .commands .item button:hover { - outline-width: 1px; - outline-style: dashed; - outline-offset: -5px; -} - -.monaco-workbench .part.editor > .content .welcomePage .commands .item button .enabledExtension { - display: none; -} -.monaco-workbench .part.editor > .content .welcomePage .commands .item button .installExtension.installed { - display: none; -} -.monaco-workbench .part.editor > .content .welcomePage .commands .item button .enabledExtension.installed { - display: inline; -} - -.monaco-workbench .part.editor > .content .welcomePageContainer.max-height-685px .title { - display: none; -} - -.file-icons-enabled .show-file-icons .vs_code_welcome_page-name-file-icon.file-icon::before { - content: ' '; - background-image: url('../../../../browser/media/code-icon.svg'); -} - -.monaco-workbench .part.editor > .content .welcomePage .mac-only, -.monaco-workbench .part.editor > .content .welcomePage .windows-only, -.monaco-workbench .part.editor > .content .welcomePage .linux-only { - display: none; -} -.monaco-workbench.mac .part.editor > .content .welcomePage .mac-only { - display: initial; -} -.monaco-workbench.windows .part.editor > .content .welcomePage .windows-only { - display: initial; -} -.monaco-workbench.linux .part.editor > .content .welcomePage .linux-only { - display: initial; -} -.monaco-workbench.mac .part.editor > .content .welcomePage li.mac-only { - display: list-item; -} -.monaco-workbench.windows .part.editor > .content .welcomePage li.windows-only { - display: list-item; -} -.monaco-workbench.linux .part.editor > .content .welcomePage li.linux-only { - display: list-item; -} diff --git a/vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/welcomePage.ts b/vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/welcomePage.ts deleted file mode 100644 index 1d5d2624a..000000000 --- a/vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/welcomePage.ts +++ /dev/null @@ -1,899 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import 'vs/css!./welcomePage'; -import 'vs/workbench/contrib/welcome/page/browser/vs_code_welcome_page'; -import { URI } from 'vs/base/common/uri'; -import { CommandsRegistry, ICommandService } from 'vs/platform/commands/common/commands'; -import * as arrays from 'vs/base/common/arrays'; -import { WalkThroughInput } from 'vs/workbench/contrib/welcome/walkThrough/browser/walkThroughInput'; -import { IWorkbenchContribution } from 'vs/workbench/common/contributions'; -import { IInstantiationService, optional } from 'vs/platform/instantiation/common/instantiation'; -import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; -import { onUnexpectedError, isPromiseCanceledError } from 'vs/base/common/errors'; -import { IWindowOpenable } from 'vs/platform/windows/common/windows'; -import { IWorkspaceContextService, WorkbenchState } from 'vs/platform/workspace/common/workspace'; -import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; -import { localize } from 'vs/nls'; -import { Action, WorkbenchActionExecutedEvent, WorkbenchActionExecutedClassification } from 'vs/base/common/actions'; -import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import { FileAccess, Schemas } from 'vs/base/common/network'; -import { IBackupFileService } from 'vs/workbench/services/backup/common/backup'; -import { getInstalledExtensions, IExtensionStatus, onExtensionChanged, isKeymapExtension } from 'vs/workbench/contrib/extensions/common/extensionsUtils'; -import { IExtensionManagementService, IExtensionGalleryService, ILocalExtension } from 'vs/platform/extensionManagement/common/extensionManagement'; -import { IWorkbenchExtensionEnablementService, EnablementState } from 'vs/workbench/services/extensionManagement/common/extensionManagement'; -import { IExtensionRecommendationsService } from 'vs/workbench/services/extensionRecommendations/common/extensionRecommendations'; -import { ILifecycleService, StartupKind } from 'vs/workbench/services/lifecycle/common/lifecycle'; -import { Disposable } from 'vs/base/common/lifecycle'; -import { splitName } from 'vs/base/common/labels'; -import { registerThemingParticipant } from 'vs/platform/theme/common/themeService'; -import { focusBorder, textLinkForeground, textLinkActiveForeground, foreground, descriptionForeground, contrastBorder, activeContrastBorder } from 'vs/platform/theme/common/colorRegistry'; -import { getExtraColor } from 'vs/workbench/contrib/welcome/walkThrough/common/walkThroughUtils'; -import { IExtensionsViewPaneContainer, IExtensionsWorkbenchService, VIEWLET_ID } from 'vs/workbench/contrib/extensions/common/extensions'; -import { IEditorInputFactory, EditorInput } from 'vs/workbench/common/editor'; -import { INotificationService, Severity } from 'vs/platform/notification/common/notification'; -import { TimeoutTimer } from 'vs/base/common/async'; -import { areSameExtensions } from 'vs/platform/extensionManagement/common/extensionManagementUtil'; -import { ILabelService } from 'vs/platform/label/common/label'; -import { IFileService } from 'vs/platform/files/common/files'; -import { joinPath } from 'vs/base/common/resources'; -import { IRecentlyOpened, isRecentWorkspace, IRecentWorkspace, IRecentFolder, isRecentFolder, IWorkspacesService } from 'vs/platform/workspaces/common/workspaces'; -import { CancellationToken } from 'vs/base/common/cancellation'; -import { IHostService } from 'vs/workbench/services/host/browser/host'; -import { IProductService } from 'vs/platform/product/common/productService'; -import { IEditorOptions } from 'vs/platform/editor/common/editor'; -import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; -import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet'; -import { GettingStartedInput, gettingStartedInputTypeId } from 'vs/workbench/contrib/welcome/gettingStarted/browser/gettingStartedInput'; -import { welcomeButtonBackground, welcomeButtonHoverBackground, welcomePageBackground } from 'vs/workbench/contrib/welcome/page/browser/welcomePageColors'; -import { ITASExperimentService } from 'vs/workbench/services/experiment/common/experimentService'; -import { Registry } from 'vs/platform/registry/common/platform'; -import { IConfigurationRegistry, Extensions as ConfigurationExtensions, IConfigurationNode, ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry'; -import { workbenchConfigurationNodeBase } from 'vs/workbench/common/configuration'; -import { ILogService } from 'vs/platform/log/common/log'; -import { IGettingStartedService } from 'vs/workbench/contrib/welcome/gettingStarted/browser/gettingStartedService'; - - -export const DEFAULT_STARTUP_EDITOR_CONFIG: IConfigurationNode = { - ...workbenchConfigurationNodeBase, - 'properties': { - 'workbench.startupEditor': { - 'scope': ConfigurationScope.RESOURCE, - 'type': 'string', - 'enum': ['none', 'welcomePage', 'readme', 'newUntitledFile', 'welcomePageInEmptyWorkbench', 'gettingStarted'], - 'enumDescriptions': [...[ - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.none' }, "Start without an editor."), - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePage' }, "Open the Welcome page."), - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.readme' }, "Open the README when opening a folder that contains one, fallback to 'welcomePage' otherwise."), - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.newUntitledFile' }, "Open a new untitled file (only applies when opening an empty window)."), - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePageInEmptyWorkbench' }, "Open the Welcome page when opening an empty workbench."), - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.gettingStarted' }, "Open the Getting Started page.")] - ], - 'default': 'welcomePage', - 'description': localize('workbench.startupEditor', "Controls which editor is shown at startup, if none are restored from the previous session.") - }, - } -}; - -export const EXPERIMENTAL_GETTING_STARTED_STARTUP_EDITOR_CONFIG: IConfigurationNode = { - ...workbenchConfigurationNodeBase, - 'properties': { - 'workbench.startupEditor': { - 'scope': ConfigurationScope.RESOURCE, - 'type': 'string', - 'enum': ['none', 'welcomePage', 'readme', 'newUntitledFile', 'welcomePageInEmptyWorkbench', 'gettingStarted'], - 'enumDescriptions': [...[ - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.none' }, "Start without an editor."), - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePage' }, "Open the Welcome page."), - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.readme' }, "Open the README when opening a folder that contains one, fallback to 'welcomePage' otherwise."), - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.newUntitledFile' }, "Open a new untitled file (only applies when opening an empty window)."), - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePageInEmptyWorkbench' }, "Open the Welcome page when opening an empty workbench."), - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.gettingStarted' }, "Open the Getting Started page.")] - ], - 'default': 'gettingStarted', - 'description': localize('workbench.startupEditor', "Controls which editor is shown at startup, if none are restored from the previous session.") - }, - } -}; - -const configurationKey = 'workbench.startupEditor'; -const oldConfigurationKey = 'workbench.welcome.enabled'; -const telemetryFrom = 'welcomePage'; - -export class WelcomePageContribution implements IWorkbenchContribution { - private experimentManagementComplete: Promise; - private tasExperimentService: ITASExperimentService | undefined; - - constructor( - @IInstantiationService private readonly instantiationService: IInstantiationService, - @IConfigurationService private readonly configurationService: IConfigurationService, - @IEditorService private readonly editorService: IEditorService, - @IBackupFileService private readonly backupFileService: IBackupFileService, - @IFileService private readonly fileService: IFileService, - @IWorkspaceContextService private readonly contextService: IWorkspaceContextService, - @ILifecycleService private readonly lifecycleService: ILifecycleService, - @IWorkbenchLayoutService private readonly layoutService: IWorkbenchLayoutService, - @ICommandService private readonly commandService: ICommandService, - @ITelemetryService private readonly telemetryService: ITelemetryService, - @ILogService private readonly logService: ILogService, - @IGettingStartedService _gettingStartedService: IGettingStartedService, // initializes event listeners - @optional(ITASExperimentService) tasExperimentService: ITASExperimentService, - ) { - this.tasExperimentService = tasExperimentService; - - // Run immediately to minimize time spent waiting for exp service. - this.experimentManagementComplete = this.manageDefaultValuesForGettingStartedExperiment().catch(onUnexpectedError); - this.run().then(undefined, onUnexpectedError); - } - - private async manageDefaultValuesForGettingStartedExperiment() { - const config = this.configurationService.inspect(configurationKey); - - if (this.lifecycleService.startupKind === StartupKind.ReloadedWindow || config.value !== config.defaultValue) { - return; - } - - if (this.configurationService.getValue('workbench.gettingStartedTreatmentOverride')) { - await new Promise(resolve => setTimeout(resolve, 1000)); - Registry.as(ConfigurationExtensions.Configuration).deregisterConfigurations([DEFAULT_STARTUP_EDITOR_CONFIG]); - Registry.as(ConfigurationExtensions.Configuration).registerConfiguration(EXPERIMENTAL_GETTING_STARTED_STARTUP_EDITOR_CONFIG); - } - - let someValueReturned = false; - type GettingStartedTreatmentData = { value: string; }; - type GettingStartedTreatmentClassification = { value: { classification: 'SystemMetaData', purpose: 'PerformanceAndHealth' }; }; - - const tasUseGettingStartedAsDefault = this.tasExperimentService?.getTreatment('StartupGettingStarted') - .then(result => { - this.logService.trace('StartupGettingStarted:', result); - this.telemetryService.publicLog2('gettingStartedTreatmentValue', { value: '' + !!result }); - someValueReturned = true; - return result; - }) - .catch(error => { - this.logService.error('Recieved error when consulting experiment service for getting started experiment', error); - this.telemetryService.publicLog2('gettingStartedTreatmentValue', { value: 'err' }); - someValueReturned = true; - return false; - }); - - const fallback = new Promise(c => setTimeout(() => c(false), 2000)).then( - () => { - if (!someValueReturned) { this.logService.trace('Unable to read getting started treatment data in time, falling back to welcome'); } - someValueReturned = true; - } - ); - - const useGettingStartedAsDefault = !!await Promise.race([tasUseGettingStartedAsDefault, fallback]); - if (useGettingStartedAsDefault) { - Registry.as(ConfigurationExtensions.Configuration).deregisterConfigurations([DEFAULT_STARTUP_EDITOR_CONFIG]); - Registry.as(ConfigurationExtensions.Configuration).registerConfiguration(EXPERIMENTAL_GETTING_STARTED_STARTUP_EDITOR_CONFIG); - } - } - - private async run() { - const enabled = isWelcomePageEnabled(this.configurationService, this.contextService); - if (enabled && this.lifecycleService.startupKind !== StartupKind.ReloadedWindow) { - const hasBackups = await this.backupFileService.hasBackups(); - if (hasBackups) { return; } - - // Open the welcome even if we opened a set of default editors - if (!this.editorService.activeEditor || this.layoutService.openedDefaultEditors) { - const startupEditorSetting = this.configurationService.inspect(configurationKey); - - // 'readme' should not be set in workspace settings to prevent tracking, - // but it can be set as a default (as in codespaces) or a user setting - // below codes are changed by github1s - // we should try to open readme first - const openWithReadme = true || startupEditorSetting.value === 'readme' && - (startupEditorSetting.userValue === 'readme' || startupEditorSetting.defaultValue === 'readme'); - // above codes are changed by github1s - - if (openWithReadme) { - await this.openReadme(); - } else { - await this.openWelcome(); - } - } - } - } - - private async openReadme() { - const readmes = arrays.coalesce( - await Promise.all(this.contextService.getWorkspace().folders.map( - async folder => { - const folderUri = folder.uri; - const folderStat = await this.fileService.resolve(folderUri).catch(onUnexpectedError); - const files = folderStat?.children ? folderStat.children.map(child => child.name).sort() : []; - const file = files.find(file => file.toLowerCase() === 'readme.md') || files.find(file => file.toLowerCase().startsWith('readme')); - if (file) { return joinPath(folderUri, file); } - else { return undefined; } - }))); - - if (!this.editorService.activeEditor) { - if (readmes.length) { - const isMarkDown = (readme: URI) => readme.path.toLowerCase().endsWith('.md'); - await Promise.all([ - this.commandService.executeCommand('markdown.showPreview', null, readmes.filter(isMarkDown), { locked: true }), - this.editorService.openEditors(readmes.filter(readme => !isMarkDown(readme)).map(readme => ({ resource: readme }))), - ]); - } else { - await this.openWelcome(); - } - } - } - - private async openWelcome() { - await this.experimentManagementComplete; - - const startupEditorSetting = this.configurationService.getValue(configurationKey); - const startupEditorTypeID = startupEditorSetting === 'gettingStarted' ? gettingStartedInputTypeId : welcomeInputTypeId; - const editor = this.editorService.activeEditor; - - // Ensure that the welcome editor won't get opened more than once - if (editor?.getTypeId() === startupEditorTypeID || this.editorService.editors.some(e => e.getTypeId() === startupEditorTypeID)) { - return; - } - const options: IEditorOptions = editor ? { pinned: false, index: 0 } : { pinned: false }; - if (startupEditorTypeID === gettingStartedInputTypeId) { - this.editorService.openEditor(this.instantiationService.createInstance(GettingStartedInput, {}), options); - } else { - this.instantiationService.createInstance(WelcomePage).openEditor(options); - } - } -} - -function isWelcomePageEnabled(configurationService: IConfigurationService, contextService: IWorkspaceContextService) { - const startupEditor = configurationService.inspect(configurationKey); - if (!startupEditor.userValue && !startupEditor.workspaceValue) { - const welcomeEnabled = configurationService.inspect(oldConfigurationKey); - if (welcomeEnabled.value !== undefined && welcomeEnabled.value !== null) { - return welcomeEnabled.value; - } - } - if (startupEditor.value === 'readme' && startupEditor.userValue !== 'readme') { - console.error('Warning: `workbench.startupEditor: readme` setting ignored due to being set somewhere other than user settings'); - } - return startupEditor.value === 'welcomePage' || startupEditor.value === 'gettingStarted' || startupEditor.userValue === 'readme' || startupEditor.value === 'welcomePageInEmptyWorkbench' && contextService.getWorkbenchState() === WorkbenchState.EMPTY; -} - -export class WelcomePageAction extends Action { - - public static readonly ID = 'workbench.action.showWelcomePage'; - public static readonly LABEL = localize('welcomePage', "Welcome"); - - constructor( - id: string, - label: string, - @IInstantiationService private readonly instantiationService: IInstantiationService - ) { - super(id, label); - } - - public run(): Promise { - return this.instantiationService.createInstance(WelcomePage) - .openEditor() - .then(() => undefined); - } -} - -interface ExtensionSuggestion { - name: string; - title?: string; - id: string; - isKeymap?: boolean; - isCommand?: boolean; -} - -const extensionPacks: ExtensionSuggestion[] = [ - { name: localize('welcomePage.javaScript', "JavaScript"), id: 'dbaeumer.vscode-eslint' }, - { name: localize('welcomePage.python', "Python"), id: 'ms-python.python' }, - { name: localize('welcomePage.java', "Java"), id: 'vscjava.vscode-java-pack' }, - { name: localize('welcomePage.php', "PHP"), id: 'felixfbecker.php-pack' }, - { name: localize('welcomePage.azure', "Azure"), title: localize('welcomePage.showAzureExtensions', "Show Azure extensions"), id: 'workbench.extensions.action.showAzureExtensions', isCommand: true }, - { name: localize('welcomePage.docker', "Docker"), id: 'ms-azuretools.vscode-docker' }, -]; - -const keymapExtensions: ExtensionSuggestion[] = [ - { name: localize('welcomePage.vim', "Vim"), id: 'vscodevim.vim', isKeymap: true }, - { name: localize('welcomePage.sublime', "Sublime"), id: 'ms-vscode.sublime-keybindings', isKeymap: true }, - { name: localize('welcomePage.atom', "Atom"), id: 'ms-vscode.atom-keybindings', isKeymap: true }, -]; - -interface Strings { - installEvent: string; - installedEvent: string; - detailsEvent: string; - - alreadyInstalled: string; - reloadAfterInstall: string; - installing: string; - extensionNotFound: string; -} - -/* __GDPR__ - "installExtension" : { - "${include}": [ - "${WelcomePageInstall-1}" - ] - } -*/ -/* __GDPR__ - "installedExtension" : { - "${include}": [ - "${WelcomePageInstalled-1}", - "${WelcomePageInstalled-2}", - "${WelcomePageInstalled-3}", - "${WelcomePageInstalled-4}", - "${WelcomePageInstalled-6}" - ] - } -*/ -/* __GDPR__ - "detailsExtension" : { - "${include}": [ - "${WelcomePageDetails-1}" - ] - } -*/ -const extensionPackStrings: Strings = { - installEvent: 'installExtension', - installedEvent: 'installedExtension', - detailsEvent: 'detailsExtension', - - alreadyInstalled: localize('welcomePage.extensionPackAlreadyInstalled', "Support for {0} is already installed."), - reloadAfterInstall: localize('welcomePage.willReloadAfterInstallingExtensionPack', "The window will reload after installing additional support for {0}."), - installing: localize('welcomePage.installingExtensionPack', "Installing additional support for {0}..."), - extensionNotFound: localize('welcomePage.extensionPackNotFound', "Support for {0} with id {1} could not be found."), -}; - -CommandsRegistry.registerCommand('workbench.extensions.action.showAzureExtensions', accessor => { - const viewletService = accessor.get(IViewletService); - return viewletService.openViewlet(VIEWLET_ID, true) - .then(viewlet => viewlet?.getViewPaneContainer() as IExtensionsViewPaneContainer) - .then(viewlet => { - viewlet.search('@sort:installs azure '); - viewlet.focus(); - }); -}); - -/* __GDPR__ - "installKeymap" : { - "${include}": [ - "${WelcomePageInstall-1}" - ] - } -*/ -/* __GDPR__ - "installedKeymap" : { - "${include}": [ - "${WelcomePageInstalled-1}", - "${WelcomePageInstalled-2}", - "${WelcomePageInstalled-3}", - "${WelcomePageInstalled-4}", - "${WelcomePageInstalled-6}" - ] - } -*/ -/* __GDPR__ - "detailsKeymap" : { - "${include}": [ - "${WelcomePageDetails-1}" - ] - } -*/ -const keymapStrings: Strings = { - installEvent: 'installKeymap', - installedEvent: 'installedKeymap', - detailsEvent: 'detailsKeymap', - - alreadyInstalled: localize('welcomePage.keymapAlreadyInstalled', "The {0} keyboard shortcuts are already installed."), - reloadAfterInstall: localize('welcomePage.willReloadAfterInstallingKeymap', "The window will reload after installing the {0} keyboard shortcuts."), - installing: localize('welcomePage.installingKeymap', "Installing the {0} keyboard shortcuts..."), - extensionNotFound: localize('welcomePage.keymapNotFound', "The {0} keyboard shortcuts with id {1} could not be found."), -}; - -const welcomeInputTypeId = 'workbench.editors.welcomePageInput'; - -class WelcomePage extends Disposable { - - readonly editorInput: WalkThroughInput; - - constructor( - @IEditorService private readonly editorService: IEditorService, - @IInstantiationService private readonly instantiationService: IInstantiationService, - @IWorkspacesService private readonly workspacesService: IWorkspacesService, - @IWorkspaceContextService private readonly contextService: IWorkspaceContextService, - @IConfigurationService private readonly configurationService: IConfigurationService, - @ILabelService private readonly labelService: ILabelService, - @INotificationService private readonly notificationService: INotificationService, - @IWorkbenchExtensionEnablementService private readonly extensionEnablementService: IWorkbenchExtensionEnablementService, - @IExtensionGalleryService private readonly extensionGalleryService: IExtensionGalleryService, - @IExtensionManagementService private readonly extensionManagementService: IExtensionManagementService, - @IExtensionRecommendationsService private readonly tipsService: IExtensionRecommendationsService, - @IExtensionsWorkbenchService private readonly extensionsWorkbenchService: IExtensionsWorkbenchService, - @ILifecycleService lifecycleService: ILifecycleService, - @ITelemetryService private readonly telemetryService: ITelemetryService, - @IHostService private readonly hostService: IHostService, - @IProductService private readonly productService: IProductService, - // below codes are changed by github1s - @ICommandService private readonly commandService: ICommandService, - // above codes are changed by github1s - ) { - super(); - this._register(lifecycleService.onShutdown(() => this.dispose())); - - // below codes are changed by github1s - const gitHubTokenStatus = this.getGitHubTokenStatus(); - // above codes are changed by github1s - const recentlyOpened = this.workspacesService.getRecentlyOpened(); - const installedExtensions = this.instantiationService.invokeFunction(getInstalledExtensions); - const resource = FileAccess.asBrowserUri('./vs_code_welcome_page', require) - .with({ - scheme: Schemas.walkThrough, - query: JSON.stringify({ moduleId: 'vs/workbench/contrib/welcome/page/browser/vs_code_welcome_page' }) - }); - this.editorInput = this.instantiationService.createInstance(WalkThroughInput, { - typeId: welcomeInputTypeId, - name: localize('welcome.title', "Welcome"), - resource, - telemetryFrom, - // below codes are changed by github1s - onReady: (container: HTMLElement) => this.onReady(container, recentlyOpened, installedExtensions, gitHubTokenStatus) - // above codes are changed by github1s - }); - } - - public openEditor(options: IEditorOptions = { pinned: false }) { - return this.editorService.openEditor(this.editorInput, options); - } - - // below codes are changed by github1s - private onReady(container: HTMLElement, recentlyOpened: Promise, installedExtensions: Promise, gitHubTokenStatus: Promise): void { - // above codes are changed by github1s - const enabled = this.configurationService.getValue(configurationKey) === 'welcomePage'; - const showOnStartup = container.querySelector('#showOnStartup'); - if (enabled) { - showOnStartup.setAttribute('checked', 'checked'); - } - showOnStartup.addEventListener('click', e => { - this.configurationService.updateValue(configurationKey, showOnStartup.checked ? 'welcomePage' : 'newUntitledFile'); - }); - - const prodName = container.querySelector('.welcomePage .title .caption') as HTMLElement; - if (prodName) { - prodName.textContent = this.productService.nameLong; - } - - // below codes are changed by github1s - gitHubTokenStatus.then(tokenStatus => this.doUpdateGitHubTokenStatus(container, tokenStatus)); - this.registerGitHub1sListeners(container); - // above codes are changed by github1s - recentlyOpened.then(({ workspaces }) => { - // Filter out the current workspace - workspaces = workspaces.filter(recent => !this.contextService.isCurrentWorkspace(isRecentWorkspace(recent) ? recent.workspace : recent.folderUri)); - if (!workspaces.length) { - const recent = container.querySelector('.welcomePage') as HTMLElement; - recent.classList.add('emptyRecent'); - return; - } - const ul = container.querySelector('.recent ul'); - if (!ul) { - return; - } - const moreRecent = ul.querySelector('.moreRecent')!; - const workspacesToShow = workspaces.slice(0, 5); - const updateEntries = () => { - const listEntries = this.createListEntries(workspacesToShow); - while (ul.firstChild) { - ul.removeChild(ul.firstChild); - } - ul.append(...listEntries, moreRecent); - }; - updateEntries(); - this._register(this.labelService.onDidChangeFormatters(updateEntries)); - }).then(undefined, onUnexpectedError); - - this.addExtensionList(container, '.extensionPackList', extensionPacks, extensionPackStrings); - this.addExtensionList(container, '.keymapList', keymapExtensions, keymapStrings); - - this.updateInstalledExtensions(container, installedExtensions); - this._register(this.instantiationService.invokeFunction(onExtensionChanged)(ids => { - for (const id of ids) { - if (container.querySelector(`.installExtension[data-extension="${id.id}"], .enabledExtension[data-extension="${id.id}"]`)) { - const installedExtensions = this.instantiationService.invokeFunction(getInstalledExtensions); - this.updateInstalledExtensions(container, installedExtensions); - break; - } - } - })); - } - - // below codes are changed by github1s - registerGitHub1sListeners(container: HTMLElement) { - container.querySelector('.refresh-button')?.addEventListener('click', () => this.refreshGitHubTokenStatus(container)); - container.querySelector('.create-new-token')?.addEventListener('click', () => window?.open('https://github.com/settings/tokens/new?scopes=repo&description=GitHub1s')); - container.querySelector('.update-oauth-token')?.addEventListener('click', () => this.commandService.executeCommand('github1s.authorizing-github-with-overlay').then(() => this.refreshGitHubTokenStatus(container))); - container.querySelector('.clear-oauth-token')?.addEventListener('click', () => this.commandService.executeCommand('github1s.clear-token').then(() => this.refreshGitHubTokenStatus(container))); - } - - updateElementText(element: HTMLElement, text: string | number, type?: 'SUCCESS' | 'WARNING' | 'ERROR') { - if (!element) { - return; - } - element.innerText = `${text}`; - element.classList.remove('text-warning', 'text-error', 'text-success'); - if (type === 'SUCCESS') { - element.classList.add('text-success'); - } else if (type === 'WARNING') { - element.classList.add('text-warning'); - } else if (type === 'ERROR') { - element.classList.add('text-error'); - } - } - - getGitHubTokenStatus() { - return this.commandService.executeCommand('github1s.validate-token', '', true); - } - - refreshGitHubTokenStatus(container: HTMLElement) { - const statusElement = container.querySelector('.rate-limit-status'); - this.updateElementText(statusElement, ''); - this.getGitHubTokenStatus().then(tokenStatus => { - this.doUpdateGitHubTokenStatus(container, tokenStatus); - }); - } - - doUpdateGitHubTokenStatus(container: HTMLElement, tokenStatus?: any) { - const statusElement = container.querySelector('.rate-limit-status'); - const limitElement = container.querySelector('.x-rate-limit-limit'); - const remainingElement = container.querySelector('.x-rate-limit-remaining'); - const resetElement = container.querySelector('.x-rate-limit-reset'); - const timerElement = container.querySelector('.rate-limit-reset-seconds'); - - if (!tokenStatus) { - this.updateElementText(statusElement, 'Unknown', 'WARNING'); - this.updateElementText(limitElement, 'Unknown', 'WARNING'); - this.updateElementText(remainingElement, 'Unknown', 'WARNING'); - this.updateElementText(resetElement, 'Unknown'); - this.updateElementText(timerElement, 'Unknown', 'WARNING'); - return; - } - - const textType = (value: number) => { - if (value <= 0) { - return 'ERROR'; - } - if (value > 99) { - return 'SUCCESS'; - } - return 'WARNING'; - }; - this.updateElementText(limitElement, tokenStatus.limit, textType(+tokenStatus.limit)); - this.updateElementText(remainingElement, tokenStatus.remaining, textType(+tokenStatus.remaining)); - this.updateElementText(resetElement, tokenStatus.reset); - this.updateElementText(timerElement, Math.max(tokenStatus.reset - Math.ceil(Date.now() / 1000), 0)); - - if (!tokenStatus.token) { - this.updateElementText(statusElement, 'Unauthorized', 'WARNING'); - return; - } - if (tokenStatus.valid) { - this.updateElementText(statusElement, 'Authorized', 'SUCCESS'); - return; - } - this.updateElementText(statusElement, 'Invalid Token', 'ERROR'); - } - // above codes are changed by github1s - - private createListEntries(recents: (IRecentWorkspace | IRecentFolder)[]) { - return recents.map(recent => { - let fullPath: string; - let windowOpenable: IWindowOpenable; - if (isRecentFolder(recent)) { - windowOpenable = { folderUri: recent.folderUri }; - fullPath = recent.label || this.labelService.getWorkspaceLabel(recent.folderUri, { verbose: true }); - } else { - fullPath = recent.label || this.labelService.getWorkspaceLabel(recent.workspace, { verbose: true }); - windowOpenable = { workspaceUri: recent.workspace.configPath }; - } - - const { name, parentPath } = splitName(fullPath); - - const li = document.createElement('li'); - const a = document.createElement('a'); - - a.innerText = name; - a.title = fullPath; - a.setAttribute('aria-label', localize('welcomePage.openFolderWithPath', "Open folder {0} with path {1}", name, parentPath)); - a.href = 'javascript:void(0)'; - a.addEventListener('click', e => { - this.telemetryService.publicLog2('workbenchActionExecuted', { - id: 'openRecentFolder', - from: telemetryFrom - }); - this.hostService.openWindow([windowOpenable], { forceNewWindow: e.ctrlKey || e.metaKey, remoteAuthority: recent.remoteAuthority }); - e.preventDefault(); - e.stopPropagation(); - }); - li.appendChild(a); - - const span = document.createElement('span'); - span.classList.add('path'); - span.classList.add('detail'); - span.innerText = parentPath; - span.title = fullPath; - li.appendChild(span); - - return li; - }); - } - - private addExtensionList(container: HTMLElement, listSelector: string, suggestions: ExtensionSuggestion[], strings: Strings) { - const list = container.querySelector(listSelector); - if (list) { - suggestions.forEach((extension, i) => { - if (i) { - list.appendChild(document.createTextNode(localize('welcomePage.extensionListSeparator', ", "))); - } - - const a = document.createElement('a'); - a.innerText = extension.name; - a.title = extension.title || (extension.isKeymap ? localize('welcomePage.installKeymap', "Install {0} keymap", extension.name) : localize('welcomePage.installExtensionPack', "Install additional support for {0}", extension.name)); - if (extension.isCommand) { - a.href = `command:${extension.id}`; - list.appendChild(a); - } else { - a.classList.add('installExtension'); - a.setAttribute('data-extension', extension.id); - a.href = 'javascript:void(0)'; - a.addEventListener('click', e => { - this.installExtension(extension, strings); - e.preventDefault(); - e.stopPropagation(); - }); - list.appendChild(a); - - const span = document.createElement('span'); - span.innerText = extension.name; - span.title = extension.isKeymap ? localize('welcomePage.installedKeymap', "{0} keymap is already installed", extension.name) : localize('welcomePage.installedExtensionPack', "{0} support is already installed", extension.name); - span.classList.add('enabledExtension'); - span.setAttribute('data-extension', extension.id); - list.appendChild(span); - } - }); - } - } - - private installExtension(extensionSuggestion: ExtensionSuggestion, strings: Strings): void { - /* __GDPR__FRAGMENT__ - "WelcomePageInstall-1" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ - this.telemetryService.publicLog(strings.installEvent, { - from: telemetryFrom, - extensionId: extensionSuggestion.id, - }); - this.instantiationService.invokeFunction(getInstalledExtensions).then(extensions => { - const installedExtension = extensions.find(extension => areSameExtensions(extension.identifier, { id: extensionSuggestion.id })); - if (installedExtension && installedExtension.globallyEnabled) { - /* __GDPR__FRAGMENT__ - "WelcomePageInstalled-1" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ - this.telemetryService.publicLog(strings.installedEvent, { - from: telemetryFrom, - extensionId: extensionSuggestion.id, - outcome: 'already_enabled', - }); - this.notificationService.info(strings.alreadyInstalled.replace('{0}', extensionSuggestion.name)); - return; - } - const foundAndInstalled = installedExtension ? Promise.resolve(installedExtension.local) : this.extensionGalleryService.query({ names: [extensionSuggestion.id], source: telemetryFrom }, CancellationToken.None) - .then((result): null | Promise => { - const [extension] = result.firstPage; - if (!extension) { - return null; - } - return this.extensionManagementService.installFromGallery(extension) - .then(() => this.extensionManagementService.getInstalled()) - .then(installed => { - const local = installed.filter(i => areSameExtensions(extension.identifier, i.identifier))[0]; - // TODO: Do this as part of the install to avoid multiple events. - return this.extensionEnablementService.setEnablement([local], EnablementState.DisabledGlobally).then(() => local); - }); - }); - - this.notificationService.prompt( - Severity.Info, - strings.reloadAfterInstall.replace('{0}', extensionSuggestion.name), - [{ - label: localize('ok', "OK"), - run: () => { - const messageDelay = new TimeoutTimer(); - messageDelay.cancelAndSet(() => { - this.notificationService.info(strings.installing.replace('{0}', extensionSuggestion.name)); - }, 300); - const extensionsToDisable = extensions.filter(extension => isKeymapExtension(this.tipsService, extension) && extension.globallyEnabled).map(extension => extension.local); - extensionsToDisable.length ? this.extensionEnablementService.setEnablement(extensionsToDisable, EnablementState.DisabledGlobally) : Promise.resolve() - .then(() => { - return foundAndInstalled.then(foundExtension => { - messageDelay.cancel(); - if (foundExtension) { - return this.extensionEnablementService.setEnablement([foundExtension], EnablementState.EnabledGlobally) - .then(() => { - /* __GDPR__FRAGMENT__ - "WelcomePageInstalled-2" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ - this.telemetryService.publicLog(strings.installedEvent, { - from: telemetryFrom, - extensionId: extensionSuggestion.id, - outcome: installedExtension ? 'enabled' : 'installed', - }); - return this.hostService.reload(); - }); - } else { - /* __GDPR__FRAGMENT__ - "WelcomePageInstalled-3" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ - this.telemetryService.publicLog(strings.installedEvent, { - from: telemetryFrom, - extensionId: extensionSuggestion.id, - outcome: 'not_found', - }); - this.notificationService.error(strings.extensionNotFound.replace('{0}', extensionSuggestion.name).replace('{1}', extensionSuggestion.id)); - return undefined; - } - }); - }).then(undefined, err => { - /* __GDPR__FRAGMENT__ - "WelcomePageInstalled-4" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ - this.telemetryService.publicLog(strings.installedEvent, { - from: telemetryFrom, - extensionId: extensionSuggestion.id, - outcome: isPromiseCanceledError(err) ? 'canceled' : 'error', - }); - this.notificationService.error(err); - }); - } - }, { - label: localize('details', "Details"), - run: () => { - /* __GDPR__FRAGMENT__ - "WelcomePageDetails-1" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ - this.telemetryService.publicLog(strings.detailsEvent, { - from: telemetryFrom, - extensionId: extensionSuggestion.id, - }); - this.extensionsWorkbenchService.queryGallery({ names: [extensionSuggestion.id] }, CancellationToken.None) - .then(result => this.extensionsWorkbenchService.open(result.firstPage[0])) - .then(undefined, onUnexpectedError); - } - }] - ); - }).then(undefined, err => { - /* __GDPR__FRAGMENT__ - "WelcomePageInstalled-6" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ - this.telemetryService.publicLog(strings.installedEvent, { - from: telemetryFrom, - extensionId: extensionSuggestion.id, - outcome: isPromiseCanceledError(err) ? 'canceled' : 'error', - }); - this.notificationService.error(err); - }); - } - - private updateInstalledExtensions(container: HTMLElement, installedExtensions: Promise) { - installedExtensions.then(extensions => { - const elements = container.querySelectorAll('.installExtension, .enabledExtension'); - for (let i = 0; i < elements.length; i++) { - elements[i].classList.remove('installed'); - } - extensions.filter(ext => ext.globallyEnabled) - .map(ext => ext.identifier.id) - .forEach(id => { - const install = container.querySelectorAll(`.installExtension[data-extension="${id}"]`); - for (let i = 0; i < install.length; i++) { - install[i].classList.add('installed'); - } - const enabled = container.querySelectorAll(`.enabledExtension[data-extension="${id}"]`); - for (let i = 0; i < enabled.length; i++) { - enabled[i].classList.add('installed'); - } - }); - }).then(undefined, onUnexpectedError); - } -} - -export class WelcomeInputFactory implements IEditorInputFactory { - - static readonly ID = welcomeInputTypeId; - - public canSerialize(editorInput: EditorInput): boolean { - return true; - } - - public serialize(editorInput: EditorInput): string { - return '{}'; - } - - public deserialize(instantiationService: IInstantiationService, serializedEditorInput: string): WalkThroughInput { - return instantiationService.createInstance(WelcomePage) - .editorInput; - } -} - -// theming - -registerThemingParticipant((theme, collector) => { - const backgroundColor = theme.getColor(welcomePageBackground); - if (backgroundColor) { - collector.addRule(`.monaco-workbench .part.editor > .content .welcomePageContainer { background-color: ${backgroundColor}; }`); - } - const foregroundColor = theme.getColor(foreground); - if (foregroundColor) { - collector.addRule(`.monaco-workbench .part.editor > .content .welcomePage .caption { color: ${foregroundColor}; }`); - } - const descriptionColor = theme.getColor(descriptionForeground); - if (descriptionColor) { - collector.addRule(`.monaco-workbench .part.editor > .content .welcomePage .detail { color: ${descriptionColor}; }`); - } - const buttonColor = getExtraColor(theme, welcomeButtonBackground, { dark: 'rgba(0, 0, 0, .2)', extra_dark: 'rgba(200, 235, 255, .042)', light: 'rgba(0,0,0,.04)', hc: 'black' }); - if (buttonColor) { - collector.addRule(`.monaco-workbench .part.editor > .content .welcomePage .commands .item button { background: ${buttonColor}; }`); - } - const buttonHoverColor = getExtraColor(theme, welcomeButtonHoverBackground, { dark: 'rgba(200, 235, 255, .072)', extra_dark: 'rgba(200, 235, 255, .072)', light: 'rgba(0,0,0,.10)', hc: null }); - if (buttonHoverColor) { - collector.addRule(`.monaco-workbench .part.editor > .content .welcomePage .commands .item button:hover { background: ${buttonHoverColor}; }`); - } - const link = theme.getColor(textLinkForeground); - if (link) { - collector.addRule(`.monaco-workbench .part.editor > .content .welcomePage a { color: ${link}; }`); - } - const activeLink = theme.getColor(textLinkActiveForeground); - if (activeLink) { - collector.addRule(`.monaco-workbench .part.editor > .content .welcomePage a:hover, - .monaco-workbench .part.editor > .content .welcomePage a:active { color: ${activeLink}; }`); - } - const focusColor = theme.getColor(focusBorder); - if (focusColor) { - collector.addRule(`.monaco-workbench .part.editor > .content .welcomePage a:focus { outline-color: ${focusColor}; }`); - } - const border = theme.getColor(contrastBorder); - if (border) { - collector.addRule(`.monaco-workbench .part.editor > .content .welcomePage .commands .item button { border-color: ${border}; }`); - } - const activeBorder = theme.getColor(activeContrastBorder); - if (activeBorder) { - collector.addRule(`.monaco-workbench .part.editor > .content .welcomePage .commands .item button:hover { outline-color: ${activeBorder}; }`); - } -}); diff --git a/vscode-web-github1s/src/vs/workbench/services/extensions/worker/extensionHostWorkerMain.ts b/vscode-web-github1s/src/vs/workbench/services/extensions/worker/extensionHostWorkerMain.ts deleted file mode 100644 index 4e05f9355..000000000 --- a/vscode-web-github1s/src/vs/workbench/services/extensions/worker/extensionHostWorkerMain.ts +++ /dev/null @@ -1,76 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -(function () { - - const MonacoEnvironment = (self).MonacoEnvironment; - const monacoBaseUrl = MonacoEnvironment && MonacoEnvironment.baseUrl ? MonacoEnvironment.baseUrl : '../../../../../'; - - const trustedTypesPolicy = ( - typeof self.trustedTypes?.createPolicy === 'function' - ? self.trustedTypes?.createPolicy('amdLoader', { - createScriptURL: value => value, - createScript: (_, ...args: string[]) => { - // workaround a chrome issue not allowing to create new functions - // see https://github.com/w3c/webappsec-trusted-types/wiki/Trusted-Types-for-function-constructor - const fnArgs = args.slice(0, -1).join(','); - const fnBody = args.pop()!.toString(); - const body = `(function anonymous(${fnArgs}) {\n${fnBody}\n})`; - return body; - } - }) - : undefined - ); - - function loadAMDLoader() { - return new Promise((resolve, reject) => { - if (typeof (self).define === 'function' && (self).define.amd) { - return resolve(); - } - const loaderSrc: string | TrustedScriptURL = monacoBaseUrl + 'vs/loader.js'; - - const isCrossOrigin = (/^((http:)|(https:)|(file:))/.test(loaderSrc) && loaderSrc.substring(0, self.origin.length) !== self.origin); - if (!isCrossOrigin) { - // use `fetch` if possible because `importScripts` - // is synchronous and can lead to deadlocks on Safari - fetch(loaderSrc).then((response) => { - if (response.status !== 200) { - throw new Error(response.statusText); - } - return response.text(); - }).then((text) => { - text = `${text}\n//# sourceURL=${loaderSrc}`; - const func = ( - trustedTypesPolicy - // below codes are changed by github1s - // fix error in webworker for old browsers - ? self.eval(trustedTypesPolicy.createScript('', text).toString()) - // above codes are changed by github1s - : new Function(text) - ); - func.call(self); - resolve(); - }).then(undefined, reject); - return; - } - - if (trustedTypesPolicy) { - importScripts(trustedTypesPolicy.createScriptURL(loaderSrc) as unknown as string); - } else { - importScripts(loaderSrc as string); - } - resolve(); - }); - } - - loadAMDLoader().then(() => { - require.config({ - baseUrl: monacoBaseUrl, - catchError: true, - trustedTypesPolicy - }); - require(['vs/workbench/services/extensions/worker/extensionHostWorker'], () => { }, err => console.error(err)); - }).then(undefined, (err) => console.error(err)); -})(); diff --git a/vscode-web-github1s/src/vs/workbench/services/themes/browser/workbenchThemeService.ts b/vscode-web-github1s/src/vs/workbench/services/themes/browser/workbenchThemeService.ts index 531e55ebf..33e5caa23 100644 --- a/vscode-web-github1s/src/vs/workbench/services/themes/browser/workbenchThemeService.ts +++ b/vscode-web-github1s/src/vs/workbench/services/themes/browser/workbenchThemeService.ts @@ -33,10 +33,7 @@ import { updateColorThemeConfigurationSchemas, updateFileIconThemeConfigurationS import { ProductIconThemeData, DEFAULT_PRODUCT_ICON_THEME_ID } from 'vs/workbench/services/themes/browser/productIconThemeData'; import { registerProductIconThemeSchemas } from 'vs/workbench/services/themes/common/productIconThemeSchema'; import { ILogService } from 'vs/platform/log/common/log'; -// below codes are changed by github1s -// change the default workbench theme to dark -// import { isWeb } from 'vs/base/common/platform'; -// above codes are changed by github1s +import { isWeb } from 'vs/base/common/platform'; import { ColorScheme } from 'vs/platform/theme/common/theme'; import { IHostColorSchemeService } from 'vs/workbench/services/themes/common/hostColorSchemeService'; import { RunOnceScheduler, Sequencer } from 'vs/base/common/async'; @@ -277,8 +274,8 @@ export class WorkbenchThemeService implements IWorkbenchThemeService { this.currentColorTheme.setCustomTokenColors(this.settings.tokenColorCustomizations); hasColorChanges = true; } - if (e.affectsConfiguration(ThemeSettings.SEMANTIC_TOKEN_COLOR_CUSTOMIZATIONS) || e.affectsConfiguration(ThemeSettings.TOKEN_COLOR_CUSTOMIZATIONS_EXPERIMENTAL)) { - this.currentColorTheme.setCustomSemanticTokenColors(this.settings.semanticTokenColorCustomizations, this.settings.experimentalSemanticTokenColorCustomizations); + if (e.affectsConfiguration(ThemeSettings.SEMANTIC_TOKEN_COLOR_CUSTOMIZATIONS)) { + this.currentColorTheme.setCustomSemanticTokenColors(this.settings.semanticTokenColorCustomizations); hasColorChanges = true; } if (hasColorChanges) { @@ -386,10 +383,10 @@ export class WorkbenchThemeService implements IWorkbenchThemeService { } private getPreferredColorScheme(): ColorScheme | undefined { - if (this.configurationService.getValue(ThemeSettings.DETECT_HC) && this.hostColorService.highContrast) { + if (this.configurationService.getValue(ThemeSettings.DETECT_HC) && this.hostColorService.highContrast) { return ColorScheme.HIGH_CONTRAST; } - if (this.configurationService.getValue(ThemeSettings.DETECT_COLOR_SCHEME)) { + if (this.configurationService.getValue(ThemeSettings.DETECT_COLOR_SCHEME)) { return this.hostColorService.dark ? ColorScheme.DARK : ColorScheme.LIGHT; } return undefined; @@ -397,8 +394,8 @@ export class WorkbenchThemeService implements IWorkbenchThemeService { private async applyPreferredColorTheme(type: ColorScheme): Promise { const settingId = type === ColorScheme.DARK ? ThemeSettings.PREFERRED_DARK_THEME : type === ColorScheme.LIGHT ? ThemeSettings.PREFERRED_LIGHT_THEME : ThemeSettings.PREFERRED_HC_THEME; - const themeSettingId = this.configurationService.getValue(settingId); - if (themeSettingId) { + const themeSettingId = this.configurationService.getValue(settingId); + if (themeSettingId && typeof themeSettingId === 'string') { const theme = this.colorThemeRegistry.findThemeBySettingsId(themeSettingId, undefined); if (theme) { const configurationTarget = this.settings.findAutoConfigurationTarget(settingId); @@ -426,6 +423,9 @@ export class WorkbenchThemeService implements IWorkbenchThemeService { return Promise.resolve(null); } if (themeId === this.currentColorTheme.id && this.currentColorTheme.isLoaded) { + if (settingsTarget !== 'preview') { + this.currentColorTheme.toStorage(this.storageService); + } return this.settings.setColorTheme(this.currentColorTheme, settingsTarget); } @@ -509,7 +509,7 @@ export class WorkbenchThemeService implements IWorkbenchThemeService { this.onColorThemeChange.fire(this.currentColorTheme); // remember theme data for a quick restore - if (newTheme.isLoaded) { + if (newTheme.isLoaded && settingsTarget !== 'preview') { newTheme.toStorage(this.storageService); } @@ -564,23 +564,23 @@ export class WorkbenchThemeService implements IWorkbenchThemeService { public async setFileIconTheme(iconTheme: string | undefined, settingsTarget: ThemeSettingTarget): Promise { return this.fileIconThemeSequencer.queue(async () => { iconTheme = iconTheme || ''; - if (iconTheme === this.currentFileIconTheme.id && this.currentFileIconTheme.isLoaded) { - await this.settings.setFileIconTheme(this.currentFileIconTheme, settingsTarget); - return this.currentFileIconTheme; - } + if (iconTheme !== this.currentFileIconTheme.id || !this.currentFileIconTheme.isLoaded) { - const newThemeData = this.fileIconThemeRegistry.findThemeById(iconTheme) || FileIconThemeData.noIconTheme; - await newThemeData.ensureLoaded(this.fileService); + const newThemeData = this.fileIconThemeRegistry.findThemeById(iconTheme) || FileIconThemeData.noIconTheme; + await newThemeData.ensureLoaded(this.fileService); + + this.applyAndSetFileIconTheme(newThemeData); // updates this.currentFileIconTheme + } - this.applyAndSetFileIconTheme(newThemeData); + const themeData = this.currentFileIconTheme; // remember theme data for a quick restore - if (newThemeData.isLoaded && (!newThemeData.location || !getRemoteAuthority(newThemeData.location))) { - newThemeData.toStorage(this.storageService); + if (themeData.isLoaded && settingsTarget !== 'preview' && (!themeData.location || !getRemoteAuthority(themeData.location))) { + themeData.toStorage(this.storageService); } await this.settings.setFileIconTheme(this.currentFileIconTheme, settingsTarget); - return newThemeData; + return themeData; }); } @@ -640,23 +640,21 @@ export class WorkbenchThemeService implements IWorkbenchThemeService { public async setProductIconTheme(iconTheme: string | undefined, settingsTarget: ThemeSettingTarget): Promise { return this.productIconThemeSequencer.queue(async () => { iconTheme = iconTheme || ''; - if (iconTheme === this.currentProductIconTheme.id && this.currentProductIconTheme.isLoaded) { - await this.settings.setProductIconTheme(this.currentProductIconTheme, settingsTarget); - return this.currentProductIconTheme; - } - - const newThemeData = this.productIconThemeRegistry.findThemeById(iconTheme) || ProductIconThemeData.defaultTheme; - await newThemeData.ensureLoaded(this.fileService, this.logService); + if (iconTheme !== this.currentProductIconTheme.id || !this.currentProductIconTheme.isLoaded) { + const newThemeData = this.productIconThemeRegistry.findThemeById(iconTheme) || ProductIconThemeData.defaultTheme; + await newThemeData.ensureLoaded(this.fileService, this.logService); - this.applyAndSetProductIconTheme(newThemeData); + this.applyAndSetProductIconTheme(newThemeData); // updates this.currentProductIconTheme + } + const themeData = this.currentProductIconTheme; // remember theme data for a quick restore - if (newThemeData.isLoaded && (!newThemeData.location || !getRemoteAuthority(newThemeData.location))) { - newThemeData.toStorage(this.storageService); + if (themeData.isLoaded && settingsTarget !== 'preview' && (!themeData.location || !getRemoteAuthority(themeData.location))) { + themeData.toStorage(this.storageService); } await this.settings.setProductIconTheme(this.currentProductIconTheme, settingsTarget); - return newThemeData; + return themeData; }); } @@ -698,19 +696,17 @@ export class WorkbenchThemeService implements IWorkbenchThemeService { class ThemeFileWatcher { - private inExtensionDevelopment: boolean; private watchedLocation: URI | undefined; private watcherDisposable: IDisposable | undefined; private fileChangeListener: IDisposable | undefined; - constructor(private fileService: IFileService, environmentService: IWorkbenchEnvironmentService, private onUpdate: () => void) { - this.inExtensionDevelopment = !!environmentService.extensionDevelopmentLocationURI; + constructor(private fileService: IFileService, private environmentService: IWorkbenchEnvironmentService, private onUpdate: () => void) { } update(theme: { location?: URI, watch?: boolean; }) { if (!resources.isEqual(theme.location, this.watchedLocation)) { this.dispose(); - if (theme.location && (theme.watch || this.inExtensionDevelopment)) { + if (theme.location && (theme.watch || this.environmentService.isExtensionDevelopment)) { this.watchedLocation = theme.location; this.watcherDisposable = this.fileService.watch(theme.location); this.fileService.onDidFilesChange(e => { diff --git a/vscode-web-github1s/src/vs/workbench/services/themes/common/themeConfiguration.ts b/vscode-web-github1s/src/vs/workbench/services/themes/common/themeConfiguration.ts index b309d5041..ed8585a49 100644 --- a/vscode-web-github1s/src/vs/workbench/services/themes/common/themeConfiguration.ts +++ b/vscode-web-github1s/src/vs/workbench/services/themes/common/themeConfiguration.ts @@ -12,12 +12,9 @@ import { IJSONSchema } from 'vs/base/common/jsonSchema'; import { textmateColorsSchemaId, textmateColorGroupSchemaId } from 'vs/workbench/services/themes/common/colorThemeSchema'; import { workbenchColorsSchemaId } from 'vs/platform/theme/common/colorRegistry'; import { tokenStylingSchemaId } from 'vs/platform/theme/common/tokenClassificationRegistry'; -import { ThemeSettings, IWorkbenchColorTheme, IWorkbenchFileIconTheme, IColorCustomizations, ITokenColorCustomizations, IWorkbenchProductIconTheme, ISemanticTokenColorCustomizations, IExperimentalSemanticTokenColorCustomizations, ThemeSettingTarget } from 'vs/workbench/services/themes/common/workbenchThemeService'; +import { ThemeSettings, IWorkbenchColorTheme, IWorkbenchFileIconTheme, IColorCustomizations, ITokenColorCustomizations, IWorkbenchProductIconTheme, ISemanticTokenColorCustomizations, ThemeSettingTarget } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { IConfigurationService, ConfigurationTarget } from 'vs/platform/configuration/common/configuration'; -// below codes are changed by github1s -// set dark theme by default -import { isMacintosh, isWindows } from 'vs/base/common/platform'; -// above codes are changed by github1s +import { isMacintosh, isWeb, isWindows } from 'vs/base/common/platform'; const DEFAULT_THEME_DARK_SETTING_VALUE = 'Default Dark+'; const DEFAULT_THEME_LIGHT_SETTING_VALUE = 'Default Light+'; @@ -76,7 +73,7 @@ const preferredHCThemeSettingSchema: IConfigurationPropertySchema = { }; const detectColorSchemeSettingSchema: IConfigurationPropertySchema = { type: 'boolean', - description: nls.localize('detectColorScheme', 'If set, automatically switch to the preferred color theme based on the OS appearance.'), + markdownDescription: nls.localize('detectColorScheme', 'If set, automatically switch to the preferred color theme based on the OS appearance. If the OS appearance is dark, the theme specified at `#{0}#` is used, for light `#{1}#`.', ThemeSettings.PREFERRED_DARK_THEME, ThemeSettings.PREFERRED_LIGHT_THEME), default: false }; @@ -112,7 +109,7 @@ const productIconThemeSettingSchema: IConfigurationPropertySchema = { const detectHCSchemeSettingSchema: IConfigurationPropertySchema = { type: 'boolean', default: true, - description: nls.localize('autoDetectHighContrast', "If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme."), + markdownDescription: nls.localize('autoDetectHighContrast', "If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme. The high contrast theme to use is specified by `#{0}#`", ThemeSettings.PREFERRED_HC_THEME), scope: ConfigurationScope.APPLICATION }; @@ -150,7 +147,10 @@ function tokenGroupSettings(description: string): IJSONSchema { }; } +const themeSpecificSettingKey = '^\\[[^\\]]*(\\]\\s*\\[[^\\]]*)*\\]$'; + const tokenColorSchema: IJSONSchema = { + type: 'object', properties: { comments: tokenGroupSettings(nls.localize('editorColors.comments', "Sets the colors and styles for comments")), strings: tokenGroupSettings(nls.localize('editorColors.strings', "Sets the colors and styles for strings literals.")), @@ -169,13 +169,14 @@ const tokenColorSchema: IJSONSchema = { markdownDeprecationMessage: nls.localize('editorColors.semanticHighlighting.deprecationMessageMarkdown', 'Use `enabled` in `#editor.semanticTokenColorCustomizations#` setting instead.'), type: 'boolean' } - } + }, + additionalProperties: false }; const tokenColorCustomizationSchema: IConfigurationPropertySchema = { description: nls.localize('editorColors', "Overrides editor syntax colors and font style from the currently selected color theme."), default: {}, - allOf: [tokenColorSchema] + allOf: [{ ...tokenColorSchema, patternProperties: { '^\\[': {} } }] }; const semanticTokenColorSchema: IJSONSchema = { @@ -201,20 +202,13 @@ const semanticTokenColorCustomizationSchema: IConfigurationPropertySchema = { allOf: [{ ...semanticTokenColorSchema, patternProperties: { '^\\[': {} } }] }; -const experimentalTokenStylingCustomizationSchema: IConfigurationPropertySchema = { - deprecationMessage: nls.localize('editorColors.experimentalTokenStyling.deprecationMessage', 'Use `editor.semanticTokenColorCustomizations` instead.'), - markdownDeprecationMessage: nls.localize('editorColors.experimentalTokenStyling.deprecationMessageMarkdown', 'Use `#editor.semanticTokenColorCustomizations#` instead.'), - default: {}, - allOf: [{ $ref: tokenStylingSchemaId }], -}; const tokenColorCustomizationConfiguration: IConfigurationNode = { id: 'editor', order: 7.2, type: 'object', properties: { [ThemeSettings.TOKEN_COLOR_CUSTOMIZATIONS]: tokenColorCustomizationSchema, - [ThemeSettings.SEMANTIC_TOKEN_COLOR_CUSTOMIZATIONS]: semanticTokenColorCustomizationSchema, - [ThemeSettings.TOKEN_COLOR_CUSTOMIZATIONS_EXPERIMENTAL]: experimentalTokenStylingCustomizationSchema + [ThemeSettings.SEMANTIC_TOKEN_COLOR_CUSTOMIZATIONS]: semanticTokenColorCustomizationSchema } }; @@ -229,7 +223,6 @@ export function updateColorThemeConfigurationSchemas(themes: IWorkbenchColorThem const themeSpecificWorkbenchColors: IJSONSchema = { properties: {} }; const themeSpecificTokenColors: IJSONSchema = { properties: {} }; const themeSpecificSemanticTokenColors: IJSONSchema = { properties: {} }; - const experimentalThemeSpecificSemanticTokenColors: IJSONSchema = { properties: {} }; const workbenchColors = { $ref: workbenchColorsSchemaId, additionalProperties: false }; const tokenColors = { properties: tokenColorSchema.properties, additionalProperties: false }; @@ -239,13 +232,14 @@ export function updateColorThemeConfigurationSchemas(themes: IWorkbenchColorThem themeSpecificWorkbenchColors.properties![themeId] = workbenchColors; themeSpecificTokenColors.properties![themeId] = tokenColors; themeSpecificSemanticTokenColors.properties![themeId] = semanticTokenColorSchema; - experimentalThemeSpecificSemanticTokenColors.properties![themeId] = { $ref: tokenStylingSchemaId, additionalProperties: false }; } + themeSpecificWorkbenchColors.patternProperties = { [themeSpecificSettingKey]: workbenchColors }; + themeSpecificTokenColors.patternProperties = { [themeSpecificSettingKey]: tokenColors }; + themeSpecificSemanticTokenColors.patternProperties = { [themeSpecificSettingKey]: semanticTokenColorSchema }; colorCustomizationsSchema.allOf![1] = themeSpecificWorkbenchColors; tokenColorCustomizationSchema.allOf![1] = themeSpecificTokenColors; semanticTokenColorCustomizationSchema.allOf![1] = themeSpecificSemanticTokenColors; - experimentalTokenStylingCustomizationSchema.allOf![1] = experimentalThemeSpecificSemanticTokenColors; configurationRegistry.notifyConfigurationSchemaUpdated(themeSettingsConfiguration, tokenColorCustomizationConfiguration); } @@ -295,10 +289,6 @@ export class ThemeConfiguration { return this.configurationService.getValue(ThemeSettings.SEMANTIC_TOKEN_COLOR_CUSTOMIZATIONS); } - public get experimentalSemanticTokenColorCustomizations(): IExperimentalSemanticTokenColorCustomizations | undefined { - return this.configurationService.getValue(ThemeSettings.TOKEN_COLOR_CUSTOMIZATIONS_EXPERIMENTAL); - } - public async setColorTheme(theme: IWorkbenchColorTheme, settingsTarget: ThemeSettingTarget): Promise { await this.writeConfiguration(ThemeSettings.COLOR_THEME, theme.settingsId, settingsTarget); return theme; @@ -332,7 +322,7 @@ export class ThemeConfiguration { } private async writeConfiguration(key: string, value: any, settingsTarget: ThemeSettingTarget): Promise { - if (settingsTarget === undefined) { + if (settingsTarget === undefined || settingsTarget === 'preview') { return; } From 1ed004e626fb3c0e61fd579f4c3713c1fef7421a Mon Sep 17 00:00:00 2001 From: netcon Date: Sat, 4 Sep 2021 19:12:02 +0800 Subject: [PATCH 02/13] chore: upgrade vscode to 1.60.0 --- extensions/dart-web/LICENSE | 21 - extensions/dart-web/README.md | 31 - extensions/dart-web/media/dart.png | Bin 26796 -> 0 bytes extensions/dart-web/package.json | 96 -- extensions/dart-web/snippets/dart.json | 81 -- extensions/dart-web/snippets/flutter.json | 71 - .../syntaxes/dart-language-configuration.json | 53 - extensions/dart-web/syntaxes/dart.json | 436 ------ .../dart-web/syntaxes/dart.json.licence | 30 - extensions/kotlin-web/LICENSE | 201 --- extensions/kotlin-web/README.md | 36 - extensions/kotlin-web/artwork/icon.png | Bin 4870 -> 0 bytes .../kotlin-web/kotlin.configuration.json | 35 - extensions/kotlin-web/package.json | 91 -- extensions/kotlin-web/snippets/kotlin.json | 64 - .../kotlin-web/syntaxes/Kotlin.tmLanguage | 1067 -------------- extensions/kotlin-web/syntaxes/LICENSE | 202 --- extensions/kotlin-web/syntaxes/codeblock.json | 22 - extensions/scala-web/LICENSE | 9 - extensions/scala-web/README.md | 39 - extensions/scala-web/images/smooth-spiral.png | Bin 12997 -> 0 bytes .../scala-web/language-configuration.json | 33 - extensions/scala-web/package.json | 65 - .../scala-web/syntaxes/Scala.tmLanguage.json | 756 ---------- extensions/svelte-web/LICENSE | 7 - extensions/svelte-web/README.md | 29 - extensions/svelte-web/icons/logo-nightly.png | Bin 45799 -> 0 bytes extensions/svelte-web/icons/logo.png | Bin 7153 -> 0 bytes .../svelte-web/icons/preview-right-dark.svg | 4 - .../svelte-web/icons/preview-right-light.svg | 4 - .../svelte-web/language-configuration.json | 78 -- extensions/svelte-web/package.json | 126 -- extensions/svelte-web/scripts/.eslintrc.js | 6 - .../svelte-web/syntaxes/markdown-svelte.json | 45 - .../syntaxes/pug-svelte-dotblock.json | 55 - .../svelte-web/syntaxes/pug-svelte-tags.json | 201 --- .../svelte-web/syntaxes/pug-svelte.json | 293 ---- .../syntaxes/svelte.tmLanguage.json | 1015 -------------- .../syntaxes/svelte.tmLanguage.src.yaml | 695 --------- extensions/vetur-web/LICENSE | 21 - extensions/vetur-web/README.md | 69 - extensions/vetur-web/ThirdPartyNotices.txt | 88 -- extensions/vetur-web/asset/vue.png | Bin 11460 -> 0 bytes .../vue-html-language-configuration.json | 26 - .../languages/vue-language-configuration.json | 39 - .../vue-postcss-language-configuration.json | 28 - .../vue-pug-language-configuration.json | 27 - extensions/vetur-web/package.json | 130 -- .../vetur-web/syntaxes/markdown-vue.json | 45 - .../vetur-web/syntaxes/pug/directives.YAML | 5 - .../syntaxes/pug/directives.tmLanguage.json | 9 - .../syntaxes/pug/interpolations.YAML | 5 - .../pug/interpolations.tmLanguage.json | 9 - .../vetur-web/syntaxes/vue-generated.json | 1242 ----------------- extensions/vetur-web/syntaxes/vue-html.YAML | 259 ---- .../syntaxes/vue-html.tmLanguage.json | 558 -------- .../vetur-web/syntaxes/vue-postcss.json | 374 ----- .../vetur-web/syntaxes/vue.tmLanguage.json | 1113 --------------- extensions/vetur-web/syntaxes/vue.yaml | 528 ------- resources/index-dev-vscode.html | 4 +- resources/index-hash.html | 4 +- resources/index.html | 4 +- .../common/editor/resourceEditorInput.ts | 5 +- .../themes/browser/workbenchThemeService.ts | 4 +- .../themes/common/themeConfiguration.ts | 4 +- 65 files changed, 13 insertions(+), 10584 deletions(-) delete mode 100644 extensions/dart-web/LICENSE delete mode 100644 extensions/dart-web/README.md delete mode 100755 extensions/dart-web/media/dart.png delete mode 100644 extensions/dart-web/package.json delete mode 100644 extensions/dart-web/snippets/dart.json delete mode 100644 extensions/dart-web/snippets/flutter.json delete mode 100644 extensions/dart-web/syntaxes/dart-language-configuration.json delete mode 100644 extensions/dart-web/syntaxes/dart.json delete mode 100644 extensions/dart-web/syntaxes/dart.json.licence delete mode 100644 extensions/kotlin-web/LICENSE delete mode 100644 extensions/kotlin-web/README.md delete mode 100644 extensions/kotlin-web/artwork/icon.png delete mode 100644 extensions/kotlin-web/kotlin.configuration.json delete mode 100644 extensions/kotlin-web/package.json delete mode 100644 extensions/kotlin-web/snippets/kotlin.json delete mode 100644 extensions/kotlin-web/syntaxes/Kotlin.tmLanguage delete mode 100644 extensions/kotlin-web/syntaxes/LICENSE delete mode 100644 extensions/kotlin-web/syntaxes/codeblock.json delete mode 100644 extensions/scala-web/LICENSE delete mode 100644 extensions/scala-web/README.md delete mode 100644 extensions/scala-web/images/smooth-spiral.png delete mode 100644 extensions/scala-web/language-configuration.json delete mode 100644 extensions/scala-web/package.json delete mode 100644 extensions/scala-web/syntaxes/Scala.tmLanguage.json delete mode 100644 extensions/svelte-web/LICENSE delete mode 100644 extensions/svelte-web/README.md delete mode 100644 extensions/svelte-web/icons/logo-nightly.png delete mode 100644 extensions/svelte-web/icons/logo.png delete mode 100644 extensions/svelte-web/icons/preview-right-dark.svg delete mode 100644 extensions/svelte-web/icons/preview-right-light.svg delete mode 100644 extensions/svelte-web/language-configuration.json delete mode 100644 extensions/svelte-web/package.json delete mode 100644 extensions/svelte-web/scripts/.eslintrc.js delete mode 100644 extensions/svelte-web/syntaxes/markdown-svelte.json delete mode 100644 extensions/svelte-web/syntaxes/pug-svelte-dotblock.json delete mode 100644 extensions/svelte-web/syntaxes/pug-svelte-tags.json delete mode 100644 extensions/svelte-web/syntaxes/pug-svelte.json delete mode 100644 extensions/svelte-web/syntaxes/svelte.tmLanguage.json delete mode 100644 extensions/svelte-web/syntaxes/svelte.tmLanguage.src.yaml delete mode 100644 extensions/vetur-web/LICENSE delete mode 100644 extensions/vetur-web/README.md delete mode 100644 extensions/vetur-web/ThirdPartyNotices.txt delete mode 100644 extensions/vetur-web/asset/vue.png delete mode 100644 extensions/vetur-web/languages/vue-html-language-configuration.json delete mode 100644 extensions/vetur-web/languages/vue-language-configuration.json delete mode 100644 extensions/vetur-web/languages/vue-postcss-language-configuration.json delete mode 100644 extensions/vetur-web/languages/vue-pug-language-configuration.json delete mode 100644 extensions/vetur-web/package.json delete mode 100644 extensions/vetur-web/syntaxes/markdown-vue.json delete mode 100644 extensions/vetur-web/syntaxes/pug/directives.YAML delete mode 100644 extensions/vetur-web/syntaxes/pug/directives.tmLanguage.json delete mode 100644 extensions/vetur-web/syntaxes/pug/interpolations.YAML delete mode 100644 extensions/vetur-web/syntaxes/pug/interpolations.tmLanguage.json delete mode 100644 extensions/vetur-web/syntaxes/vue-generated.json delete mode 100644 extensions/vetur-web/syntaxes/vue-html.YAML delete mode 100644 extensions/vetur-web/syntaxes/vue-html.tmLanguage.json delete mode 100644 extensions/vetur-web/syntaxes/vue-postcss.json delete mode 100644 extensions/vetur-web/syntaxes/vue.tmLanguage.json delete mode 100644 extensions/vetur-web/syntaxes/vue.yaml diff --git a/extensions/dart-web/LICENSE b/extensions/dart-web/LICENSE deleted file mode 100644 index 1a4f6b68c..000000000 --- a/extensions/dart-web/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2016 Danny Tuppeny - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/extensions/dart-web/README.md b/extensions/dart-web/README.md deleted file mode 100644 index ee961bf05..000000000 --- a/extensions/dart-web/README.md +++ /dev/null @@ -1,31 +0,0 @@ -[![Discord Chat](https://img.shields.io/badge/chat-discord-blue.svg)](https://discord.gg/xSTPEqm) -[![Gitter Chat](https://img.shields.io/badge/chat-gitter-blue.svg)](https://gitter.im/dart-code/Dart-Code) -[![Follow on Twitter](https://img.shields.io/badge/twitter-dartcode-blue.svg)](https://twitter.com/DartCode) -[![Contribute to Dart Code](https://img.shields.io/badge/help-contribute-551A8B.svg)](https://github.com/Dart-Code/Dart-Code/blob/master/CONTRIBUTING.md) - -# This extension is a fork from [Dart-Code](https://github.com/Dart-Code/Dart-Code) for github1s. - -# At present only languages features is reserved - -# I have deleted some files and only reserved the necessary code - -## Introduction - -Dart Code extends [VS Code](https://code.visualstudio.com/) with support for the -[Dart](https://www.dartlang.org/) programming language and for [Flutter](https://flutter.dev/) -mobile apps, and [AngularDart](https://angulardart.org) web apps. - -## Installation - -Dart Code can be [installed from the Visual Studio Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Dart-Code.dart-code) or by [searching within VS Code](https://code.visualstudio.com/docs/editor/extension-gallery#_search-for-an-extension). - -## Features - -- Syntax highlighting -- Workspace symbol search -- Document symbol search -- Snippets - -## Release Notes - -For full release notes, see [the changelog](https://dartcode.org/releases/). diff --git a/extensions/dart-web/media/dart.png b/extensions/dart-web/media/dart.png deleted file mode 100755 index d091c28f04211f6ea515ecdd907ecf6e16ed0d85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26796 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 Z@<4cGMpbux>MpeOE=xO$Y;(6u{|}bGKMw!^ diff --git a/extensions/dart-web/package.json b/extensions/dart-web/package.json deleted file mode 100644 index e0dc7cca3..000000000 --- a/extensions/dart-web/package.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "name": "dart-code", - "displayName": "Dart", - "description": "Dart language support and debugger for Visual Studio Code.", - "version": "3.20.0-dev", - "publisher": "Dart-Code", - "engines": { - "vscode": "^1.52.0" - }, - "license": "SEE LICENSE IN LICENSE", - "bugs": { - "url": "https://github.com/Dart-Code/Dart-Code/issues" - }, - "homepage": "https://dartcode.org/", - "repository": { - "type": "git", - "url": "https://github.com/Dart-Code/Dart-Code.git" - }, - "categories": [ - "Programming Languages", - "Snippets", - "Linters", - "Formatters", - "Debuggers" - ], - "keywords": [ - "dart", - "flutter", - "fuchsia", - "multi-root ready" - ], - "icon": "media/dart.png", - "activationEvents": [ - "onLanguage:dart" - ], - "contributes": { - "languages": [ - { - "id": "dart", - "extensions": [ - ".dart" - ], - "aliases": [ - "Dart" - ], - "configuration": "./syntaxes/dart-language-configuration.json" - } - ], - "grammars": [ - { - "language": "dart", - "scopeName": "source.dart", - "path": "./syntaxes/dart.json" - } - ], - "colors": [ - { - "id": "dart.closingLabels", - "description": "The color of the 'closing label' annotations shown against constructor, method invocations and lists that span multiple lines. If not supplied, the color for 'tab.inactiveForeground' will be used.", - "defaults": { - "dark": "tab.inactiveForeground", - "light": "tab.inactiveForeground", - "highContrast": "tab.inactiveForeground" - } - } - ], - "semanticTokenScopes": [ - { - "language": "dart", - "scopes": { - "keyword": [ - "keyword" - ], - "keyword.control": [ - "keyword.control" - ], - "property.declaration": [ - "entity.name.function.member" - ] - } - } - ], - "configurationDefaults": { - "[dart]": { - "editor.tabSize": 2, - "editor.insertSpaces": true, - "editor.detectIndentation": false, - "editor.suggest.insertMode": "replace" - } - } - }, - "scripts": { - "compile": "echo done", - "watch": "echo done" - } -} diff --git a/extensions/dart-web/snippets/dart.json b/extensions/dart-web/snippets/dart.json deleted file mode 100644 index 7e2541e3c..000000000 --- a/extensions/dart-web/snippets/dart.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - ".source.dart": { - "main": { - "prefix": "main", - "description": "Insert a main function, used as an entry point.", - "body": ["main(List args) {", " $0", "}"] - }, - "try": { - "prefix": "try", - "description": "Insert a try/catch block.", - "body": ["try {", " $0", "} catch (${1:e}) {", "}"] - }, - "if": { - "prefix": "if", - "description": "Insert an if statement.", - "body": ["if ($1) {", " $0", "}"] - }, - "if else": { - "prefix": "ife", - "description": "Insert an if statement with an else block.", - "body": ["if ($1) {", " $0", "} else {", "}"] - }, - "switch case": { - "prefix": "switch", - "description": "Insert a switch statement.", - "body": [ - "switch ($1) {", - " case $2:", - " $0", - " break;", - " default:", - "}" - ] - }, - "for": { - "prefix": "for", - "description": "Insert a for loop.", - "body": ["for (var i = 0; i < ${1:count}; i++) {", " $0", "}"] - }, - "for in": { - "prefix": "fori", - "description": "Insert a for-in loop.", - "body": ["for (var ${1:item} in ${2:items}) {", " $0", "}"] - }, - "while": { - "prefix": "while", - "description": "Insert a while loop.", - "body": ["while ($1) {", " $0", "}"] - }, - "do while": { - "prefix": "do", - "description": "Insert a do-while loop.", - "body": ["do {", " $0", "} while ($1);"] - }, - "fun": { - "prefix": "fun", - "description": "Insert a function definition.", - "body": ["${3:void} ${1:name}(${2:args}) {", " $0", "}"] - }, - "class": { - "prefix": "class", - "description": "Insert a class definition.", - "body": ["class ${1:Name} {", " $0", "}"] - }, - "typedef": { - "prefix": "typedef", - "description": "Insert a typedef.", - "body": "typedef ${1:Type} ${2:Name}(${3:params});" - }, - "test": { - "prefix": "test", - "description": "Insert a test block.", - "body": ["test('$1', () {", " $0", "});"] - }, - "group": { - "prefix": "group", - "description": "Insert a test group block.", - "body": ["group('$1', () {", " $0", "});"] - } - } -} diff --git a/extensions/dart-web/snippets/flutter.json b/extensions/dart-web/snippets/flutter.json deleted file mode 100644 index 3c09049c3..000000000 --- a/extensions/dart-web/snippets/flutter.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - ".source.dart": { - "Flutter stateless widget": { - "prefix": "stless", - "description": "Insert a StatelessWidget", - "body": [ - "class $1 extends StatelessWidget {", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " $2", - " );", - " }", - "}" - ] - }, - "Flutter stateful widget": { - "prefix": "stful", - "description": "Insert a StatefulWidget", - "body": [ - "class $1 extends StatefulWidget {", - " @override", - " _$1State createState() => _$1State();", - "}", - "", - "class _$1State extends State<$1> {", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " $2", - " );", - " }", - "}" - ] - }, - "Flutter widget with AnimationController": { - "prefix": "stanim", - "description": "Insert a StatefulWidget with an AnimationController", - "body": [ - "class $1 extends StatefulWidget {", - " @override", - " _$1State createState() => _$1State();", - "}", - "", - "class _$1State extends State<$1>", - " with SingleTickerProviderStateMixin {", - " AnimationController _controller;", - "", - " @override", - " void initState() {", - " super.initState();", - " _controller = AnimationController(vsync: this);", - " }", - "", - " @override", - " void dispose() {", - " super.dispose();", - " _controller.dispose();", - " }", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " $2", - " );", - " }", - "}" - ] - } - } -} diff --git a/extensions/dart-web/syntaxes/dart-language-configuration.json b/extensions/dart-web/syntaxes/dart-language-configuration.json deleted file mode 100644 index 171fa5beb..000000000 --- a/extensions/dart-web/syntaxes/dart-language-configuration.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "comments": { - "lineComment": "//", - "blockComment": ["/*", "*/"] - }, - "brackets": [ - ["{", "}"], - ["[", "]"], - ["(", ")"] - ], - "autoClosingPairs": [{ - "open": "{", - "close": "}" - }, - { - "open": "[", - "close": "]" - }, - { - "open": "(", - "close": ")" - }, - { - "open": "'", - "close": "'", - "notIn": ["string", "comment"] - }, - { - "open": "\"", - "close": "\"", - "notIn": ["string"] - }, - { - "open": "`", - "close": "`", - "notIn": ["string", "comment"] - }, - { - "open": "/**", - "close": " */", - "notIn": ["string"] - } - ], - "surroundingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["<", ">"], - ["'", "'"], - ["\"", "\""], - ["`", "`"] - ] -} \ No newline at end of file diff --git a/extensions/dart-web/syntaxes/dart.json b/extensions/dart-web/syntaxes/dart.json deleted file mode 100644 index d8b255cd1..000000000 --- a/extensions/dart-web/syntaxes/dart.json +++ /dev/null @@ -1,436 +0,0 @@ -{ - "fileTypes": ["dart"], - "foldingStartMarker": "\\{\\s*$", - "foldingStopMarker": "^\\s*\\}", - "name": "Dart", - "patterns": [ - { - "match": "^(#!.*)$", - "name": "meta.preprocessor.script.dart" - }, - { - "begin": "^\\w*\\b(library|import|part of|part|export)\\b", - "beginCaptures": { - "0": { - "name": "keyword.other.import.dart" - } - }, - "end": ";", - "endCaptures": { - "0": { - "name": "punctuation.terminator.dart" - } - }, - "name": "meta.declaration.dart", - "patterns": [ - { - "include": "#strings" - }, - { - "include": "#comments" - }, - { - "match": "\\b(as|show|hide)\\b", - "name": "keyword.other.import.dart" - } - ] - }, - { - "include": "#comments" - }, - { - "include": "#punctuation" - }, - { - "include": "#annotations" - }, - { - "include": "#keywords" - }, - { - "include": "#constants-and-special-vars" - }, - { - "include": "#strings" - } - ], - "repository": { - "dartdoc": { - "patterns": [ - { - "match": "(\\[.*?\\])", - "captures": { - "0": { - "name": "variable.name.source.dart" - } - } - }, - { - "match": "^ {4,}(?![ \\*]).*", - "captures": { - "0": { - "name": "variable.name.source.dart" - } - } - }, - { - "begin": "```.*?$", - "end": "```", - "contentName": "variable.other.source.dart" - }, - { - "match": "(`.*?`)", - "captures": { - "0": { - "name": "variable.other.source.dart" - } - } - }, - { - "match": "(`.*?`)", - "captures": { - "0": { - "name": "variable.other.source.dart" - } - } - }, - { - "match": "(\\* (( ).*))$", - "captures": { - "2": { - "name": "variable.other.source.dart" - } - } - }, - { - "match": "(\\* .*)$" - } - ] - }, - "comments": { - "patterns": [ - { - "captures": { - "0": { - "name": "punctuation.definition.comment.dart" - } - }, - "match": "/\\*\\*/", - "name": "comment.block.empty.dart" - }, - { - "include": "#comments-doc-oldschool" - }, - { - "include": "#comments-doc" - }, - { - "include": "#comments-inline" - } - ] - }, - "comments-doc-oldschool": { - "patterns": [ - { - "begin": "/\\*\\*", - "end": "\\*/", - "name": "comment.block.documentation.dart", - "patterns": [ - { - "include": "#comments-doc-oldschool" - }, - { - "include": "#comments-block" - }, - { - "include": "#dartdoc" - } - ] - } - ] - }, - "comments-doc": { - "patterns": [ - { - "begin": "///", - "while": "^\\s*///", - "patterns": [ - { - "include": "#dartdoc" - } - ], - "name": "comment.block.documentation.dart" - } - ] - }, - "comments-inline": { - "patterns": [ - { - "include": "#comments-block" - }, - { - "captures": { - "1": { - "name": "comment.line.double-slash.dart" - } - }, - "match": "((//).*)$" - } - ] - }, - "comments-block": { - "patterns": [ - { - "begin": "/\\*", - "end": "\\*/", - "name": "comment.block.dart", - "patterns": [ - { - "include": "#comments-block" - } - ] - } - ] - }, - "annotations": { - "patterns": [ - { - "match": "@[a-zA-Z]+", - "name": "storage.type.annotation.dart" - } - ] - }, - "constants-and-special-vars": { - "patterns": [ - { - "match": "(?)", - "captures": { - "1": { - "name": "entity.name.function.dart" - } - } - } - ] - }, - "keywords": { - "patterns": [ - { - "match": "(?>>?|~|\\^|\\||&)", - "name": "keyword.operator.bitwise.dart" - }, - { - "match": "((&|\\^|\\||<<|>>>?)=)", - "name": "keyword.operator.assignment.bitwise.dart" - }, - { - "match": "(=>)", - "name": "keyword.operator.closure.dart" - }, - { - "match": "(==|!=|<=?|>=?)", - "name": "keyword.operator.comparison.dart" - }, - { - "match": "(([+*/%-]|\\~)=)", - "name": "keyword.operator.assignment.arithmetic.dart" - }, - { - "match": "(=)", - "name": "keyword.operator.assignment.dart" - }, - { - "match": "(\\-\\-|\\+\\+)", - "name": "keyword.operator.increment-decrement.dart" - }, - { - "match": "(\\-|\\+|\\*|\\/|\\~\\/|%)", - "name": "keyword.operator.arithmetic.dart" - }, - { - "match": "(!|&&|\\|\\|)", - "name": "keyword.operator.logical.dart" - }, - { - "match": "(? Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. - -## Credits - -- [Visual Studio Code](https://code.visualstudio.com/) -- [vscode-docs on GitHub](https://github.com/Microsoft/vscode-docs) -- [Kotlin.org](https://kotlinlang.org/) -- [Sublime Text - Kotlin Package](https://github.com/vkostyukov/kotlin-sublime-package) diff --git a/extensions/kotlin-web/artwork/icon.png b/extensions/kotlin-web/artwork/icon.png deleted file mode 100644 index 9698eb4f3ec4978d84fe24e67c9dbdb4f827de94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4870 zcmaJ_3pkT~8&@hKXHtYYiN^&2ZuL82&FeUq-Y_hZ9+&P zbigayFrkdGyeKl?<9*-yzVG^azg^d}=l|Thf4|>--~ao+>$;!RQ;yaGd{TT|TwDTh z8%t;4zP^3&?gYMhGG6@x+zw)_JTWfFU<@`O8o^~2gglD?!6O1f5YC8zptz`)2q+g9 zw@Rq1C&tsk9ukO*&}#23kio19fzCK!!$IItIt|bPbMxbhUL1z}iM&9c@i*9f*!L zL{}U1_eTLxiw+8gI9s0hTMKxCDV)P#P!KQ}i^XbT^|X-DAz&RNBO|c3E?8Gr6Y$VP z$3rK;V&ROh9BH0&WRY09dp_LxUg| z=6Xku>RaerSZG`7=vWz;8JswJ?1Yik2_t=7OAB4g?^sJ@U`zxe67wA!^lz-eKVrAr zAp!*`TOy)EV-Z0oqLC4xKhuVU{&Ot4|H$_@Ht3&Y(fda%7zhTuy}AFf+22h-2W>BZ zv@Y=Qqxlh$K*vV|t$lHWw}p#KC>CyM=8AhiPuq(TU)j;k-s)oo*EPSeI$m~PYGu3R@kxGox-Ph8%R)1@rG_Ew$ z99nk0^bkSCXnE!W{_SU-(>Fx;rTD=v=4GIkJ$Vj98-u!V{)NsUd;~0~`eT2si&qJs z7*W&E|NM#gP2XZBjjt-1tTlZE)hsbyehrCv&zniyH{1^U1*2-7deT7|TQ*+cy#=dE z#=raMXrH^RPS3Gid?B0T=dp`9K`(7KPGry`apVT$} zV9zG|aB;-3lHM@imh>T?3Rh7(Xy&lytJ_$1>wE(RKeTK{HBX&=M;dBg)=0oLuD~A5 zT&hY}D)wg{Ld`mz_Z!iKJuH9dW887AO&;pRGEs94g;|2m#5>PZ<48YLN_LTp;qYy&LJH@Zj<#TDUxp><5VAy^Bb6H`Dww%Xmi7>B9@f< z!_BjFZwC7P7uhTp{E=yu?<1a9Ex3!->1{9$LofTKXZP=akmTU!T%0=7BYcHfZ1FpV zHYzH=4m|pLqUGM;4mI->Njm8mbxM&wl~)m8-muIXKKj{0!jd9W#oyIZ)`b@>t%Rea zPcHKMdK_RMtj!!z}E84)R>eJwa2 zFUcHycvr7w{E@oHAzkV#4NA2A-_je4Vgj1GPkp=57enY>=5Ca*RKI|e_LeNb+jpKk zx8X!@?|N_2J=ma-(pVAG-fZad&0^G_>baUd<1tW(XE)SqnXIArCnCpS_iQ)~aI$6VMWR2{o$2l~lcU zGL=j9a#e=EBi_+RWz@Hx6=IC*EkU3)={o231E=yu6`m^2}hv^WGVAO4yQp z$av~+`&gve!&xH)X`Vd7p|S!XM?sd#@NBQo)!cC1z@8f1$VA00g52)2D8oO(pLw*Z z`&HaKoP-OJ1rlrLj$z2^?7ja)zYC}C=cD<_8_t#Jfn{#afgtz+|11Wel>5=Y>N1CLivStVk z=OWKw^b?W~v@*o5*eA!JGQ)A+3+Yy9nRnr*XWh>~yZ&kKX7^5wCg~nKV?E->vbM>g z@*X4cMOj_VyIYFa`B+!t%hZ?GDDzHp3Qq^~!`Q65F2KK>B3b`34=ay3AlDiGt4$M-Z&dBHw+mE~GKCqF_>KY0M6e0R%&3m}6izr4JWAM~zxpZC3; zDOjP~^RisPj#pWfQ0BWEqaUbuBtoYBDfo{{YZrLT#Ha!Y@^o2Qn6a#B>6V7^B17z| z4pXR2xk=g<4gY$T&h(Bu-l5<3n3|4uZ^45tS(i- zqK~q?fJ)!ObwAVQ`tG{~Qmb+l*n~~87UQ7{WdI;$JAR5WK7T%A-AA;WAx12^ehjtm zND^6IC7x9POHRWME_u8}f$8Xu51k3EyDd?f^Kqmt$&H4CYet_nO+L+Z(^`;M%>nbl z?u#O1Q=PHd7Z1ODD5?O?LXmz)49fNOe$(SF<>yn0s*cKw>^{0-hd*VuV>mG-(FPhn z@W|n!;`9^lF$JNQdR~<$|4gi(BH6k)0zChb0p{3MZ?b^ZGTe;!r|Z58IV@10#llhCB=j2KCl@54P+RCxnMR zA z_y{P>>K4>c05W7x!RF$daH(&|fLG#)pPPhEL_iB_9&gM19_cPp_lT1S7nNowUd547 z`9`8AE2lbE_0nzYlBxm~Ii6Oq&an_y|J7}G6g`J*TlZ@f5LFQr+erG$CPwb5y)XVs ziqYQk5{+f1g-oqKrye8=248t>4s9|_v@VtCs*557vYrroboc!RfCFn3-*_`do1RX7 ztMr%c)7~Kf>_WOsmb=J6!zhY#<3fzfAdtYTn|+=(6!Tk)F}Enor{ZlQzIB1|%~ZVi z4*!d)dU?Xc{s4#rHA)+{6LYJ}L$=Z%BE;Bzr|(HE?(z$!u_e)kfMI2^9LKL$J3OCG*81hOo5UQR!NeRStlC&gj1Vg)xeM+en5z zZh;!SkYu#OWOEAKg$JsLUq?5`GD{B-&>+sM%M$fN!UMFRD>l{2e)S2j31dAjCGVm^ zPv?*Oa(1T7Mq-4Te6oFewezt`1qYq&w}1YlRd`@3NQJen;YLeb^NOnt&H^gj zjnx&iX3sTomdU2oHp4qE13~9t4;OD2nDOSdPjAk>T^4{_sIHhQd%opUnjMQOb+bbl z$Yi*%?@1F-1U|6z3LN2Va{#D}hGVezDd>jRXy6A^jcjq5FsH7OA!k(MQeapBdp_+U zn2fMPoDo!{e0kO-5i+ONiDIu<@HVfZxhh_bx^qn)-hr{MSW3QNDZX@Nz#lfyMY5lnn7nW*-b^SMr43qq}94k66nr(Rx3{rW>jU9Bjtmr_ys))Wn)Cc!)>hgefJB=@=U?weO(P5mTf~2Kd!lY70 zm|AoXax}b5rW3sk-!-dJd|UG)3`N^(IA*C+auL_UBH(|S2NhSGR5%H}4-{`U1SoOm9NaXRbg$E{!3-0VE z3V*tm&@x;cYt@sC8%v*!8t5DCbQxM73VU!mtrD8j*obpn>${mA!f&_dkJG->f3&6v z3$dTg7i8UACED3NYB}qcYw_Ca;+Nnw|GGca+}dDTnbmAYL52sIb${leYe7%`w`&ot)9nywX2-e;tUqE-TX$kq<`Z;&Uxg7o^dQ4T#AoL zq?9HQiery1$(r4DMsdejo#8H_xuEP;(|RuoBr)NgR`1Ivi-y1-S^1WyZMg?ah%dCR zKk?`7=oyTjV7-&pj{MDp^ig1+ zRqU!W>eJ{TiMziYJTJqL_fuj4?YP@hy9ym3aP2110@|70=_^4zg=k;OKn|Ybcxh$n3^%)4J)yh8ZT^NL+tIOlTk&O!JQGNxB+8T= zlX4Xo)nxb_0))#;l|}+F7UNkCwSw$nQB(Df!u!9QUZ=GZc}7(aZteO%!z3^n{$&3A zK1>1w>i^E4KZePj*#GeR$@0HPQT~<09ecP;4>#&dQMc}HznOwtIa)q4Ka=z?o4yz; diff --git a/extensions/kotlin-web/kotlin.configuration.json b/extensions/kotlin-web/kotlin.configuration.json deleted file mode 100644 index 7ca2cfc02..000000000 --- a/extensions/kotlin-web/kotlin.configuration.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "comments": { - "lineComment": "//", - "blockComment": ["/*", "*/"] - }, - "brackets": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["<", ">"] - ], - "autoClosingPairs": [ - { "open": "{", "close": "}" }, - { "open": "[", "close": "]" }, - { "open": "(", "close": ")" }, - { "open": "'", "close": "'", "notIn": ["string", "comment"] }, - { "open": "\"", "close": "\"", "notIn": ["string"] }, - { "open": "/*", "close": " */", "notIn": ["string"] } - ], - "surroundingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["<", ">"], - ["'", "'"], - ["\"", "\""] - ], - "folding": { - "offSide": true, - "markers": { - "start": "^\\s*//\\s*#region", - "end": "^\\s*//\\s*#endregion" - } - } -} diff --git a/extensions/kotlin-web/package.json b/extensions/kotlin-web/package.json deleted file mode 100644 index 78bf6c067..000000000 --- a/extensions/kotlin-web/package.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "name": "Kotlin", - "displayName": "Kotlin Language", - "description": "Kotlin language support for VS Code, this file is modified by github1s", - "version": "1.7.1", - "publisher": "mathiasfrohlich", - "license": "Apache-2.0", - "scripts": { - "compile": "echo done", - "watch": "echo done" - }, - "engines": { - "vscode": "^1.8.0" - }, - "icon": "artwork/icon.png", - "categories": [ - "Programming Languages" - ], - "bugs": { - "url": "https://github.com/mathiasfrohlich/vscode-kotlin/issues" - }, - "homepage": "https://github.com/mathiasfrohlich/vscode-kotlin", - "repository": { - "type": "git", - "url": "https://github.com/mathiasfrohlich/vscode-kotlin.git" - }, - "keywords": [ - "Kotlin", - "kotlin", - "kt", - "kts" - ], - "contributes": { - "languages": [ - { - "id": "kotlin", - "aliases": [ - "Kotlin", - "kotlin" - ], - "extensions": [ - ".kt" - ], - "configuration": "./kotlin.configuration.json" - }, - { - "id": "kotlinscript", - "aliases": [ - "Kotlinscript", - "kotlinscript" - ], - "extensions": [ - ".kts" - ], - "configuration": "./kotlin.configuration.json" - } - ], - "grammars": [ - { - "language": "kotlin", - "scopeName": "source.kotlin", - "path": "./syntaxes/Kotlin.tmLanguage" - }, - { - "language": "kotlinscript", - "scopeName": "source.kotlin", - "path": "./syntaxes/Kotlin.tmLanguage" - }, - { - "scopeName": "markdown.kotlin.codeblock", - "path": "./syntaxes/codeblock.json", - "injectTo": [ - "text.html.markdown" - ], - "embeddedLanguages": { - "meta.embedded.block.kotlin": "kotlin" - } - } - ], - "snippets": [ - { - "language": "kotlin", - "path": "./snippets/kotlin.json" - }, - { - "language": "kotlinscript", - "path": "./snippets/kotlin.json" - } - ] - } -} diff --git a/extensions/kotlin-web/snippets/kotlin.json b/extensions/kotlin-web/snippets/kotlin.json deleted file mode 100644 index 5418bf129..000000000 --- a/extensions/kotlin-web/snippets/kotlin.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "fun": { - "prefix": "fun", - "body": ["fun ${1:foo}() = ${0}"], - "description": "One line fucntion" - }, - "fun2": { - "prefix": "fun", - "body": [ - "fun ${1:foo}(${2:bar}: ${3:Any}, ${4:baz}: ${5:Any}): ${6:Unit} {", - "\t${0}", - "}" - ], - "description": "Function with 2 parameters" - }, - "fun1": { - "prefix": "fun", - "body": ["fun ${1:foo}(${2:bar}: ${3:Any}): ${4:Unit} {", "\t${0}", "}"], - "description": "Function with 1 parameter" - }, - "fun0": { - "prefix": "fun", - "body": ["fun ${1:foo}(): Unit {", "\t${0}", "}"], - "description": "Function with 0 parameters" - }, - "void": { - "prefix": "void", - "body": ["fun ${1:foo}() {", "\t${0}", "}"], - "description": "Function that returns nothing" - }, - "main": { - "prefix": "main", - "body": ["fun main(args: Array) {", "\t${0}", "}"], - "description": "main() function" - }, - "for": { - "prefix": "for", - "body": ["for (${1:i} in ${2:iterable}) {", "\t${0}", "}"] - }, - "try": { - "prefix": "try", - "body": ["try {", "\t${0}", "}", "catch(Exception e) {", "\t${0}", "}"] - }, - "class": { - "prefix": "class", - "body": ["class ${1:foo} {", "\t${0}", "}"], - "description": "Class without contructor" - }, - "class1": { - "prefix": "class", - "body": ["class ${1:foo}(${2:bar}) {", "\t${0}", "}"], - "description": "Class with constructor" - }, - "data": { - "prefix": "class", - "body": ["data class ${1:foo}(${0})"], - "description": "Empty data class" - }, - "singleton": { - "prefix": "singleton", - "body": ["object ${1:foo} {", "\t${0}", "}"], - "description": "Empty singleton" - } -} diff --git a/extensions/kotlin-web/syntaxes/Kotlin.tmLanguage b/extensions/kotlin-web/syntaxes/Kotlin.tmLanguage deleted file mode 100644 index 32959825b..000000000 --- a/extensions/kotlin-web/syntaxes/Kotlin.tmLanguage +++ /dev/null @@ -1,1067 +0,0 @@ - - - - - fileTypes - - kt - kts - - foldingStartMarker - (\{\s*(//.*)?$|^\s*// \{\{\{) - foldingStopMarker - ^\s*(\}|// \}\}\}$) - name - Kotlin - patterns - - - include - #comments - - - captures - - 1 - - name - keyword.other.kotlin - - 2 - - name - entity.name.package.kotlin - - - match - ^\s*(package)\b(?:\s*([^ ;$]+)\s*)? - - - captures - - 1 - - name - keyword.other.import.kotlin - - 2 - - name - storage.modifier.import.java - - 3 - - name - keyword.other.kotlin - - 4 - - name - entity.name.type - - - match - ^\s*(import)\s+([^ $.]+(?:\.(?:[`][^$`]+[`]|[^` $.]+))+)(?:\s+(as)\s+([`][^$`]+[`]|[^` $.]+))? - name - meta.import.kotlin - - - include - #code - - - repository - - annotations - - patterns - - - begin - (@[^ (]+)(\()? - beginCaptures - - 1 - - name - storage.type.annotation.kotlin - - 2 - - name - punctuation.definition.annotation-arguments.begin.kotlin - - - end - (\)|\s|$) - endCaptures - - 1 - - name - punctuation.definition.annotation-arguments.end.kotlin - - - name - meta.declaration.annotation.kotlin - patterns - - - captures - - 1 - - name - constant.other.key.kotlin - - 2 - - name - keyword.operator.assignment.kotlin - - - match - (\w*)\s*(=) - - - include - #code - - - match - , - name - punctuation.seperator.property.kotlin - - - - - match - @\w* - name - storage.type.annotation.kotlin - - - - builtin-functions - - patterns - - - match - \b(apply|also|let|takeIf|run|takeUnless|with|print|println)\b\s*(?={|\() - captures - - 1 - - name - support.function.kotlin - - - - - match - \b(mutableListOf|listOf|mutableMapOf|mapOf|mutableSetOf|setOf)\b\s*(?={|\() - captures - - 1 - - name - support.function.kotlin - - - - - - comments - - patterns - - - captures - - 0 - - name - punctuation.definition.comment.kotlin - - - match - /\*\*/ - name - comment.block.empty.kotlin - - - include - #comments-inline - - - - comments-inline - - patterns - - - begin - /\* - captures - - 0 - - name - punctuation.definition.comment.kotlin - - - end - \*/ - name - comment.block.kotlin - - - captures - - 1 - - name - comment.line.double-slash.kotlin - - 2 - - name - punctuation.definition.comment.kotlin - - - match - \s*((//).*$\n?) - - - - class-literal - - begin - (?=\b(?:class|interface|object)\s+\w+)\b - end - (?=\}|$) - name - meta.class.kotlin - patterns - - - include - #keyword-literal - - - begin - \b(class|object|interface)\b\s+(\w+) - beginCaptures - - 1 - - name - storage.modifier.kotlin - - 2 - - name - entity.name.class.kotlin - - - end - (?=\{|\(|:|$) - patterns - - - include - #keyword-literal - - - include - #annotations - - - include - #types - - - - - begin - (:)\s*(\w+) - beginCaptures - - 1 - - name - keyword.operator.declaration.kotlin - - 2 - - name - entity.other.inherited-class.kotlin - - - end - (?={|=|$) - patterns - - - include - #types - - - - - include - #braces - - - include - #parens - - - - literal-functions - - begin - (?=\b(?:fun)\b) - end - (?=$|=|\}) - patterns - - - begin - \b(fun)\b - beginCaptures - - 1 - - name - keyword.other.kotlin - - - end - (?=\() - patterns - - - captures - - 2 - - name - entity.name.function.kotlin - - - match - ([\.<\?>\w]+\.)?(\w+|(`[^`]*`)) - - - include - #types - - - - - begin - (:) - beginCaptures - - 1 - - name - keyword.operator.declaration.kotlin - - - end - (?={|=|$) - patterns - - - include - #types - - - - - include - #parens - - - include - #braces - - - - parameters - - patterns - - - begin - (:) - beginCaptures - - 1 - - name - keyword.operator.declaration.kotlin - - - end - (?=,|=|\)) - patterns - - - include - #types - - - - - match - \w+(?=:) - name - variable.parameter.function.kotlin - - - include - #keyword-literal - - - - keyword-literal - - patterns - - - match - (\!in|\!is|as\?) - name - keyword.operator.kotlin - - - match - \b(in|is|as|assert)\b - name - keyword.operator.kotlin - - - match - \b(const)\b - name - storage.modifier.kotlin - - - match - \b(val|var)\b - name - storage.type.kotlin - - - match - \b(\_)\b - name - punctuation.definition.variable.kotlin - - - match - \b(data|inline|tailrec|operator|infix|typealias|reified)\b - name - storage.type.kotlin - - - match - \b(external|public|private|protected|internal|abstract|final|sealed|enum|open|annotation|override|vararg|typealias|expect|actual|suspend|yield|out|in)\b - name - storage.modifier.kotlin - - - match - \b(try|catch|finally|throw)\b - name - keyword.control.catch-exception.kotlin - - - match - \b(if|else|when)\b - name - keyword.control.conditional.kotlin - - - match - \b(while|for|do|return|break|continue)\b - name - keyword.control.kotlin - - - match - \b(constructor|init)\b - name - entity.name.function.constructor - - - match - \b(companion|object)\b - name - storage.type.kotlin - - - - keyword-operator - - patterns - - - match - \b(and|or|not|inv)\b - name - keyword.operator.bitwise.kotlin - - - match - (==|!=|===|!==|<=|>=|<|>) - name - keyword.operator.comparison.kotlin - - - match - (=) - name - keyword.operator.assignment.kotlin - - - match - (:(?!:)) - name - keyword.operator.declaration.kotlin - - - match - (\?:) - name - keyword.operator.elvis.kotlin - - - match - (\-\-|\+\+) - name - keyword.operator.increment-decrement.kotlin - - - match - (\-|\+|\*|\/|%) - name - keyword.operator.arithmetic.kotlin - - - match - (\+\=|\-\=|\*\=|\/\=) - name - keyword.operator.arithmetic.assign.kotlin - - - match - (\!|\&\&|\|\|) - name - keyword.operator.logical.kotlin - - - match - (\.\.) - name - keyword.operator.range.kotlin - - - - keyword-punctuation - - patterns - - - match - (::) - name - punctuation.accessor.reference.kotlin - - - match - (\?\.) - name - punctuation.accessor.dot.safe.kotlin - - - match - (\.) - name - punctuation.accessor.dot.kotlin - - - match - (\,) - name - punctuation.seperator.kotlin - - - match - (\;) - name - punctuation.terminator.kotlin - - - - keyword-constant - - patterns - - - match - \b(true|false|null|class)\b - name - constant.language.kotlin - - - match - \b(this|super)\b - name - variable.language.kotlin - - - match - \b(0(x|X)[0-9A-Fa-f_]*)[L]?\b - name - constant.numeric.hex.kotlin - - - match - \b(0(b|B)[0-1_]*)[L]?\b - name - constant.numeric.binary.kotlin - - - match - \b([0-9][0-9_]*\.[0-9][0-9_]*[fFL]?)\b - name - constant.numeric.float.kotlin - - - match - \b([0-9][0-9_]*[fFL]?)\b - name - constant.numeric.integer.kotlin - - - - literal-string - - patterns - - - begin - " - beginCaptures - - 0 - - name - punctuation.definition.string.begin.kotlin - - - end - " - endCaptures - - 0 - - name - punctuation.definition.string.end.kotlin - - - name - string.quoted.double.kotlin - patterns - - - include - #string-content - - - - - - literal-raw-string - - patterns - - - begin - """ - beginCaptures - - 0 - - name - punctuation.definition.string.begin.kotlin - - - end - """ - endCaptures - - 0 - - name - punctuation.definition.string.end.kotlin - - - name - string.quoted.triple.kotlin - patterns - - - include - #string-content - - - - - - string-content - - patterns - - - name - constant.character.escape.newline.kotlin - match - \\\s*\n - - - name - constant.character.escape.kotlin - match - \\(x[\da-fA-F]{2}|u[\da-fA-F]{4}|.) - - - begin - (\$)(\{) - beginCaptures - - 1 - - name - punctuation.definition.keyword.kotlin - - 2 - - name - punctuation.section.block.begin.kotlin - - - end - \} - endCaptures - - 0 - - name - punctuation.section.block.end.kotlin - - - name - entity.string.template.element.kotlin - patterns - - - include - #code - - - - - - types - - patterns - - - match - \b(Nothing|Any|Unit|String|CharSequence|Int|Boolean|Char|Long|Double|Float|Short|Byte|Array|List|Map|Set|dynamic)\b(\?)? - name - support.class.kotlin - - - match - \b(IntArray|BooleanArray|CharArray|LongArray|DoubleArray|FloatArray|ShortArray|ByteArray)\b(\?)? - name - support.class.kotlin - - - match - ((?:[a-zA-Z]\w*\.)*[A-Z]+\w*[a-z]+\w*)(\?) - name - entity.name.type.class.kotlin - patterns - - - include - #keyword-punctuation - - - include - #types - - - - - match - \b(?:[a-z]\w*(\.))*[A-Z]+\w*\b - captures - - 1 - - name - keyword.operator.dereference.kotlin - - - name - entity.name.type.class.kotlin - - - begin - \( - beginCaptures - - 0 - - name - punctuation.section.group.begin.kotlin - - - end - \) - endCaptures - - 0 - - name - punctuation.section.group.end.kotlin - - - patterns - - - include - #types - - - - - include - #keyword-punctuation - - - include - #keyword-operator - - - - parens - - patterns - - - begin - \( - beginCaptures - - 0 - - name - punctuation.section.group.begin.kotlin - - - end - \) - endCaptures - - 0 - - name - punctuation.section.group.end.kotlin - - - name - meta.group.kotlin - patterns - - - include - #keyword-punctuation - - - include - #parameters - - - include - #code - - - - - - braces - - patterns - - - begin - \{ - beginCaptures - - 0 - - name - punctuation.section.group.begin.kotlin - - - end - \} - endCaptures - - 0 - - name - punctuation.section.group.end.kotlin - - - name - meta.block.kotlin - patterns - - - include - #code - - - - - - brackets - - patterns - - - begin - \[ - beginCaptures - - 0 - - name - punctuation.section.brackets.begin.kotlin - - - end - \] - endCaptures - - 0 - - name - punctuation.section.brackets.end.kotlin - - - name - meta.brackets.kotlin - patterns - - - include - #code - - - - - - code - - patterns - - - include - #comments - - - include - #comments-inline - - - include - #annotations - - - include - #class-literal - - - include - #parens - - - include - #braces - - - include - #brackets - - - include - #keyword-literal - - - include - #types - - - include - #keyword-operator - - - include - #keyword-constant - - - include - #keyword-punctuation - - - include - #builtin-functions - - - include - #literal-functions - - - include - #builtin-classes - - - include - #literal-raw-string - - - include - #literal-string - - - - - scopeName - source.kotlin - uuid - d9380650-5edc-447d-8dbd-98838c7d0adf - - \ No newline at end of file diff --git a/extensions/kotlin-web/syntaxes/LICENSE b/extensions/kotlin-web/syntaxes/LICENSE deleted file mode 100644 index 7ef4d6bd2..000000000 --- a/extensions/kotlin-web/syntaxes/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2012-2014 Vladimir Kostyukov - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/extensions/kotlin-web/syntaxes/codeblock.json b/extensions/kotlin-web/syntaxes/codeblock.json deleted file mode 100644 index bc04d9291..000000000 --- a/extensions/kotlin-web/syntaxes/codeblock.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "fileTypes": [], - "injectionSelector": "L:markup.fenced_code.block.markdown", - "patterns": [ - { - "include": "#kotlin-code-block" - } - ], - "repository": { - "kotlin-code-block": { - "begin": "kotlin", - "end": "(^|\\G)(?=\\s*[`~]{3,}\\s*$)", - "contentName": "meta.embedded.block.kotlin", - "patterns": [ - { - "include": "source.kotlin" - } - ] - } - }, - "scopeName": "markdown.kotlin.codeblock" -} diff --git a/extensions/scala-web/LICENSE b/extensions/scala-web/LICENSE deleted file mode 100644 index bca190ec0..000000000 --- a/extensions/scala-web/LICENSE +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) 2018 Nicolas Stucki - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/extensions/scala-web/README.md b/extensions/scala-web/README.md deleted file mode 100644 index 7011c8689..000000000 --- a/extensions/scala-web/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# This extension is a fork from [vscode-scala-syntax](https://github.com/scala/vscode-scala-syntax) for github1s - -# At present only languages features is reserved - -# I have deleted some files and only reserved the necessary code - -# Scala Syntax (official) - -[![Install extension](https://img.shields.io/badge/scala-vscode-blue.png)](vscode:extension/scala-lang.scala) -[![Version](https://img.shields.io/github/package-json/v/scala/vscode-scala-syntax.svg)](https://marketplace.visualstudio.com/items?itemName=scala-lang.scala) -![GitHub Actions Build Status](https://github.com/scala/vscode-scala-syntax/workflows/continuous-integration/badge.svg) - -Visual Studio Code extension providing syntax highlighting for Scala 2 and Scala 3 source files. - -![Syntax Highlighting Demo](https://i.imgur.com/TDx0mC3.png) - -This repo also powers the Scala syntax highlighting on GitHub. (It is vendored in [github/linguist](https://github.com/github/linguist).) - -### Team - -The current maintainers (people who can merge pull requests) are: - -- Nicolas Stucki- [`@nicolasstucki`](https://github.com/nicolasstucki) -- Maxime Kjaer - [`@MaximeKjaer`](https://github.com/MaximeKjaer) -- Olafur Pall Geirsson - [`@olafurpg`](https://github.com/olafurpg) -- Vitalii Voloshyn - [`@PanAeon`](https://github.com/PanAeon) -- all other members of the Scala organization on GitHub - -## Based on - -- Plugin: https://github.com/daltonjorge/vscode-scala -- Template: https://github.com/sellmerfud/scala.tmbundle - (https://github.com/mads-hartmann/scala.tmbundle) -- Textmate JSON schema: - https://github.com/Septh/tmlanguage/blob/master/tmLanguage.schema.json - -## License - -[MIT](LICENSE.md) diff --git a/extensions/scala-web/images/smooth-spiral.png b/extensions/scala-web/images/smooth-spiral.png deleted file mode 100644 index 39f5c606f270e64386a1d95ce38d1fde8b7cc733..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12997 zcmbumWmsI#vM)TiI|K_7++7BT;O@bl!Ga9#f#B}JA-Dz!?hxF926uPJ;Lbb$v-dvd zet6IQa_4zwde!Qx>Z-2lUTghUO{AKNECwnGDgXe$ke8FvfVQR3?=3PS^tZl0tqa-^ zyGiT1X*yZCd78O^01}o?<{(OW2QzDs2FT3P+j#^e3;@7U*=p&!=_)G;S~xkdnf=4V z=H&o}N&^7GVqRb~i_ai8N^_94t)mFlMSC|DrLCn1l@6~mhcZ|aWMeDm;{ww3QPHyS z`D`IzNhKyqDeNT(Rp0<}Go$o!uy=G7^b(=^FTH}$<9|-GQ&IjGi`!=rs(%@!tE@&T z>Er^U|G$b|wY!rG;mhb{|p5dlym`^xjDILIXT(? zXBO3LoZOsTZJfZAlA64f%4Qa}j{ngA#jmU^DDUX%X69%Cl9v*pf@)y1wY3zK;FJEy z&+$=OLWY}@lT(@t$jJ?q(L9QpUx}f%3mx7PS4}ZIS$6_5EAc@_)BQ>VK7GhZ@8FPhkI#K>z0yG<*Iz z{O`1d691j}AV+AnyFk+#=}qe%0ALr8my*!(T0YIOjiDKF-`I#A|54Euf0Ub%>+9iR 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 KRev-M`u_mF8`B~H diff --git a/extensions/scala-web/language-configuration.json b/extensions/scala-web/language-configuration.json deleted file mode 100644 index 8e03ede0c..000000000 --- a/extensions/scala-web/language-configuration.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "comments": { - // symbol used for single line comment. Remove this entry if your language does not support line comments - "lineComment": "//", - // symbols used for start and end a block comment. Remove this entry if your language does not support block comments - "blockComment": ["/*", "*/"] - }, - // symbols used as brackets - "brackets": [ - ["{", "}"], - ["[", "]"], - ["(", ")"] - ], - // symbols that are auto closed when typing - "autoClosingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["\"", "\""], - ["s\"", "\""], - ["f\"", "\""], - ["raw\"", "\""], - ["'", "'"] - ], - // symbols that that can be used to surround a selection - "surroundingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["\"", "\""], - ["'", "'"] - ] -} \ No newline at end of file diff --git a/extensions/scala-web/package.json b/extensions/scala-web/package.json deleted file mode 100644 index c9d911d03..000000000 --- a/extensions/scala-web/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "scala", - "displayName": "Scala Syntax (official)", - "description": "Official Scala Syntax", - "version": "0.5.0", - "publisher": "scala-lang", - "license": "SEE LICENSE IN LICENSE.md", - "engines": { - "vscode": "^1.5.0" - }, - "homepage": "https://github.com/scala/vscode-scala-syntax/blob/master/README.md", - "repository": { - "type": "git", - "url": "https://github.com/scala/vscode-scala-syntax.git" - }, - "icon": "images/smooth-spiral.png", - "categories": [ - "Programming Languages" - ], - "contributes": { - "languages": [ - { - "id": "scala", - "aliases": [ - "Scala", - "scala" - ], - "extensions": [ - ".scala", - ".sbt", - ".sc" - ], - "configuration": "./language-configuration.json" - } - ], - "grammars": [ - { - "language": "scala", - "scopeName": "source.scala", - "path": "./syntaxes/Scala.tmLanguage.json" - } - ] - }, - "devDependencies": { - "@types/node": "^14.6.4", - "ajv": "^6.12.4", - "github-changes": "^1.1.1", - "npm-run-all": "^4.1.5", - "rimraf": "^3.0.2", - "ts-node": "^9.0.0", - "typescript": "^4.0.2", - "vsce": "^1.79.5", - "vscode-tmgrammar-test": "0.0.10" - }, - "scripts": { - "clean": "rimraf scala-*.vsix", - "vscode:prepublish": "test -f ./syntaxes/Scala.tmLanguage.json", - "vscode:publish": "vsce publish --yarn", - "build": "npm-run-all build:syntax build:extension", - "build:syntax": "ts-node src/typescript/GenerateTmLanguageFile.ts > ./syntaxes/Scala.tmLanguage.json", - "build:extension": "vsce package --yarn", - "compile": "echo done", - "watch": "echo done" - } -} diff --git a/extensions/scala-web/syntaxes/Scala.tmLanguage.json b/extensions/scala-web/syntaxes/Scala.tmLanguage.json deleted file mode 100644 index f56692344..000000000 --- a/extensions/scala-web/syntaxes/Scala.tmLanguage.json +++ /dev/null @@ -1,756 +0,0 @@ -{ - "fileTypes": ["scala"], - "firstLineMatch": "^#!/.*\\b\\w*scala\\b", - "foldingStartMarker": "/\\*\\*|\\{\\s*$", - "foldingStopMarker": "\\*\\*/|^\\s*\\}", - "keyEquivalent": "^~S", - "repository": { - "empty-parentheses": { - "match": "(\\(\\))", - "captures": { "1": { "name": "meta.bracket.scala" } }, - "name": "meta.parentheses.scala" - }, - "imports": { - "end": "(?<=[\\n;])", - "begin": "\\b(import)\\s+", - "beginCaptures": { "1": { "name": "keyword.other.import.scala" } }, - "patterns": [ - { "include": "#comments" }, - { "match": "given", "name": "keyword.other.import.given.scala" }, - { - "match": "[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?", - "name": "entity.name.class.import.scala" - }, - { - "match": "(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))", - "name": "entity.name.import.scala" - }, - { "match": "\\.", "name": "punctuation.definition.import" }, - { - "end": "}", - "begin": "{", - "beginCaptures": { "0": { "name": "meta.bracket.scala" } }, - "patterns": [ - { - "match": "(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=>)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)))\\s*", - "captures": { - "1": { "name": "keyword.other.import.given.scala" }, - "2": { "name": "entity.name.class.import.renamed-from.scala" }, - "3": { "name": "entity.name.import.renamed-from.scala" }, - "4": { "name": "keyword.other.arrow.scala" }, - "5": { "name": "entity.name.class.import.renamed-to.scala" }, - "6": { "name": "entity.name.import.renamed-to.scala" } - } - }, - { "match": "given", "name": "keyword.other.import.given.scala" }, - { - "match": "(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)))", - "captures": { - "1": { "name": "keyword.other.import.given.scala" }, - "2": { "name": "entity.name.class.import.scala" }, - "3": { "name": "entity.name.import.scala" } - } - } - ], - "endCaptures": { "0": { "name": "meta.bracket.scala" } }, - "name": "meta.import.selector.scala" - } - ], - "name": "meta.import.scala" - }, - "exports": { - "end": "(?<=[\\n;])", - "begin": "\\b(export)\\s+(given\\s+)?", - "beginCaptures": { - "1": { "name": "keyword.other.export.scala" }, - "2": { "name": "keyword.other.export.given.scala" } - }, - "patterns": [ - { "include": "#comments" }, - { - "match": "(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))", - "name": "entity.name.export.scala" - }, - { "match": "\\.", "name": "punctuation.definition.export" }, - { - "end": "}", - "begin": "{", - "beginCaptures": { "0": { "name": "meta.bracket.scala" } }, - "patterns": [ - { - "match": "(?x)\\s*(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))\\s*(=>)\\s*(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))\\s*", - "captures": { - "1": { "name": "entity.name.export.renamed-from.scala" }, - "2": { "name": "keyword.other.arrow.scala" }, - "3": { "name": "entity.name.export.renamed-to.scala" } - } - }, - { "match": "([^\\s.,}]+)", "name": "entity.name.export.scala" } - ], - "endCaptures": { "0": { "name": "meta.bracket.scala" } }, - "name": "meta.export.selector.scala" - } - ], - "name": "meta.export.scala" - }, - "constants": { - "patterns": [ - { - "match": "\\b(false|null|true)\\b", - "name": "constant.language.scala" - }, - { - "match": "\\b(0[xX][0-9a-fA-F_]*)\\b", - "name": "constant.numeric.scala" - }, - { - "match": "\\b(([0-9][0-9_]*(\\.[0-9][0-9_]*)?)([eE](\\+|-)?[0-9][0-9_]*)?|[0-9][0-9_]*)[LlFfDd]?\\b", - "name": "constant.numeric.scala" - }, - { - "match": "(\\.[0-9][0-9_]*)([eE](\\+|-)?[0-9][0-9_]*)?[LlFfDd]?\\b", - "name": "constant.numeric.scala" - }, - { "match": "\\b(this|super)\\b", "name": "variable.language.scala" } - ] - }, - "script-header": { - "match": "^#!(.*)$", - "captures": { "1": { "name": "string.unquoted.shebang.scala" } }, - "name": "comment.block.shebang.scala" - }, - "code": { - "patterns": [ - { "include": "#script-header" }, - { "include": "#storage-modifiers" }, - { "include": "#declarations" }, - { "include": "#inheritance" }, - { "include": "#extension" }, - { "include": "#imports" }, - { "include": "#exports" }, - { "include": "#comments" }, - { "include": "#strings" }, - { "include": "#initialization" }, - { "include": "#xml-literal" }, - { "include": "#keywords" }, - { "include": "#using" }, - { "include": "#constants" }, - { "include": "#scala-symbol" }, - { "include": "#singleton-type" }, - { "include": "#inline" }, - { "include": "#scala-quoted" }, - { "include": "#char-literal" }, - { "include": "#empty-parentheses" }, - { "include": "#parameter-list" }, - { "include": "#qualifiedClassName" }, - { "include": "#backQuotedVariable" }, - { "include": "#curly-braces" }, - { "include": "#meta-brackets" }, - { "include": "#meta-bounds" }, - { "include": "#meta-colons" } - ] - }, - "strings": { - "patterns": [ - { - "end": "\"\"\"(?!\")", - "begin": "\"\"\"", - "beginCaptures": { - "0": { "name": "punctuation.definition.string.begin.scala" } - }, - "patterns": [ - { - "match": "\\\\\\\\|\\\\u[0-9A-Fa-f]{4}", - "name": "constant.character.escape.scala" - } - ], - "endCaptures": { - "0": { "name": "punctuation.definition.string.end.scala" } - }, - "name": "string.quoted.triple.scala" - }, - { - "begin": "\\b([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}]+)(\"\"\")", - "end": "\"\"\"(?!\")", - "beginCaptures": { - "1": { "name": "keyword.interpolation.scala" }, - "2": { - "name": "string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala" - } - }, - "patterns": [ - { "include": "#string-interpolation" }, - { - "match": "\\\\\\\\|\\\\u[0-9A-Fa-f]{4}", - "name": "constant.character.escape.scala" - }, - { "match": ".", "name": "string.quoted.triple.interpolated.scala" } - ], - "endCaptures": { - "0": { - "name": "string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala" - } - } - }, - { - "end": "\"", - "begin": "\"", - "beginCaptures": { - "0": { "name": "punctuation.definition.string.begin.scala" } - }, - "patterns": [ - { - "match": "\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})", - "name": "constant.character.escape.scala" - }, - { - "match": "\\\\.", - "name": "invalid.illegal.unrecognized-string-escape.scala" - } - ], - "endCaptures": { - "0": { "name": "punctuation.definition.string.end.scala" } - }, - "name": "string.quoted.double.scala" - }, - { - "begin": "\\b([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}]+)(\")", - "end": "\"", - "beginCaptures": { - "1": { "name": "keyword.interpolation.scala" }, - "2": { - "name": "string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala" - } - }, - "patterns": [ - { "include": "#string-interpolation" }, - { - "match": "\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})", - "name": "constant.character.escape.scala" - }, - { - "match": "\\\\.", - "name": "invalid.illegal.unrecognized-string-escape.scala" - }, - { "match": ".", "name": "string.quoted.double.interpolated.scala" } - ], - "endCaptures": { - "0": { - "name": "string.quoted.double.interpolated.scala punctuation.definition.string.end.scala" - } - } - } - ] - }, - "using": { - "patterns": [ - { - "match": "(?<=\\()\\s*(using)\\s+(?=[\\w\\d\\(\\.\\(\\{'\"])", - "captures": { "1": { "name": "keyword.declaration.scala" } } - } - ] - }, - "string-interpolation": { - "patterns": [ - { - "name": "constant.character.escape.interpolation.scala", - "match": "\\$\\$" - }, - { - "name": "meta.template.expression.scala", - "match": "(\\$)([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][[A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]]*)", - "captures": { - "1": { - "name": "punctuation.definition.template-expression.begin.scala" - } - } - }, - { - "name": "meta.template.expression.scala", - "begin": "\\$\\{", - "beginCaptures": { - "0": { - "name": "punctuation.definition.template-expression.begin.scala" - } - }, - "end": "\\}", - "endCaptures": { - "0": { - "name": "punctuation.definition.template-expression.end.scala" - } - }, - "patterns": [{ "include": "#code" }], - "contentName": "meta.embedded.line.scala" - } - ] - }, - "xml-entity": { - "match": "(&)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)", - "captures": { - "1": { "name": "punctuation.definition.constant.xml" }, - "3": { "name": "punctuation.definition.constant.xml" } - }, - "name": "constant.character.entity.xml" - }, - "xml-singlequotedString": { - "end": "'", - "begin": "'", - "beginCaptures": { - "0": { "name": "punctuation.definition.string.begin.xml" } - }, - "patterns": [{ "include": "#xml-entity" }], - "endCaptures": { - "0": { "name": "punctuation.definition.string.end.xml" } - }, - "name": "string.quoted.single.xml" - }, - "meta-colons": { - "patterns": [{ "match": "(?=?@^|~\\p{Sm}\\p{So}]+)?))(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)", - "captures": { - "1": { "name": "keyword.declaration.end.scala" }, - "2": { "name": "keyword.declaration.end.scala" }, - "3": { "name": "entity.name.type.declaration" } - } - }, - { - "match": "^\\s*(end)\\s+(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)", - "captures": { - "1": { "name": "keyword.declaration.end.scala" }, - "2": { "name": "entity.name.declaration" } - } - }, - { - "match": "\\b(catch|finally|try)\\b", - "name": "keyword.control.exception.scala" - }, - { - "match": "(==?|!=|<=|>=|<>|<|>)", - "name": "keyword.operator.comparison.scala" - }, - { - "match": "(\\-|\\+|\\*|/(?![/*])|%|~)", - "name": "keyword.operator.arithmetic.scala" - }, - { "match": "(!|&&|\\|\\|)", "name": "keyword.operator.logical.scala" }, - { - "match": "(<-|←|->|→|=>|⇒|\\?|\\:+|@|\\|)+", - "name": "keyword.operator.scala" - } - ] - }, - "singleton-type": { - "match": "\\.(type)(?![A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[0-9])", - "captures": { "1": { "name": "keyword.type.scala" } } - }, - "inline": { - "patterns": [ - { - "match": "\\b(inline)(?=\\s+((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)\\s*:)", - "name": "storage.modifier.other" - }, - { - "match": "\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)", - "name": "keyword.control.flow.scala" - } - ] - }, - "scala-quoted": { - "patterns": [ - { - "match": "['$]\\{(?!')", - "name": "punctuation.section.block.begin.scala" - }, - { "match": "'\\[(?!')", "name": "meta.bracket.scala" } - ] - }, - "xml-doublequotedString": { - "end": "\"", - "begin": "\"", - "beginCaptures": { - "0": { "name": "punctuation.definition.string.begin.xml" } - }, - "patterns": [{ "include": "#xml-entity" }], - "endCaptures": { - "0": { "name": "punctuation.definition.string.end.xml" } - }, - "name": "string.quoted.double.xml" - }, - "declarations": { - "patterns": [ - { - "match": "\\b(def)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?", - "captures": { - "1": { "name": "keyword.declaration.scala" }, - "2": { "name": "entity.name.function.declaration" } - } - }, - { - "match": "\\b(trait)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?", - "captures": { - "1": { "name": "keyword.declaration.scala" }, - "2": { "name": "entity.name.class.declaration" } - } - }, - { - "match": "\\b(?:(case)\\s+)?(class|object|enum)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?", - "captures": { - "1": { "name": "keyword.declaration.scala" }, - "2": { "name": "keyword.declaration.scala" }, - "3": { "name": "entity.name.class.declaration" } - } - }, - { - "match": "(?=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?", - "captures": { - "1": { "name": "keyword.declaration.scala" }, - "2": { "name": "entity.name.type.declaration" } - } - }, - { - "match": "\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?=(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?\\()", - "captures": { - "1": { "name": "keyword.declaration.stable.scala" }, - "2": { "name": "keyword.declaration.volatile.scala" } - } - }, - { - "match": "\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?=\\s*,)", - "captures": { - "1": { "name": "keyword.declaration.stable.scala" }, - "2": { "name": "keyword.declaration.volatile.scala" } - } - }, - { - "match": "\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?", - "captures": { - "1": { "name": "keyword.declaration.stable.scala" }, - "2": { "name": "keyword.declaration.volatile.scala" }, - "3": { "name": "variable.other.declaration.scala" } - } - }, - { - "match": "\\b(package)\\s+(object)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?", - "captures": { - "1": { "name": "keyword.other.scoping.scala" }, - "2": { "name": "keyword.declaration.scala" }, - "3": { "name": "entity.name.class.declaration" } - } - }, - { - "end": "(?<=[\\n;])", - "begin": "\\b(package)\\s+", - "beginCaptures": { "1": { "name": "keyword.other.import.scala" } }, - "patterns": [ - { "include": "#comments" }, - { - "match": "(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))", - "name": "entity.name.package.scala" - }, - { "match": "\\.", "name": "punctuation.definition.package" } - ], - "name": "meta.package.scala" - }, - { - "match": "\\b(given)\\b\\s*([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`)?", - "captures": { - "1": { "name": "keyword.declaration.scala" }, - "2": { "name": "entity.name.given.declaration" } - } - } - ] - }, - "char-literal": { - "end": "'|$", - "begin": "'", - "beginCaptures": { - "0": { "name": "punctuation.definition.character.begin.scala" } - }, - "patterns": [ - { - "match": "\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})", - "name": "constant.character.escape.scala" - }, - { - "match": "\\\\.", - "name": "invalid.illegal.unrecognized-character-escape.scala" - }, - { - "match": "[^']{2,}", - "name": "invalid.illegal.character-literal-too-long" - }, - { - "match": "(?'(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))(?!')", - "name": "constant.other.symbol.scala" - }, - "curly-braces": { - "begin": "\\{", - "end": "\\}", - "beginCaptures": { - "0": { "name": "punctuation.section.block.begin.scala" } - }, - "endCaptures": { "0": { "name": "punctuation.section.block.end.scala" } }, - "patterns": [{ "include": "#code" }] - }, - "meta-brackets": { - "patterns": [ - { - "match": "\\{", - "comment": "The punctuation.section.*.begin is needed for return snippet in source bundle", - "name": "punctuation.section.block.begin.scala" - }, - { - "match": "\\}", - "comment": "The punctuation.section.*.end is needed for return snippet in source bundle", - "name": "punctuation.section.block.end.scala" - }, - { "match": "{|}|\\(|\\)|\\[|\\]", "name": "meta.bracket.scala" } - ], - "comment": "For themes: Brackets look nice when colored." - }, - "qualifiedClassName": { - "match": "(\\b([A-Z][\\w]*))", - "captures": { "1": { "name": "entity.name.class" } } - }, - "backQuotedVariable": { "match": "`[^`]+`" }, - "storage-modifiers": { - "patterns": [ - { - "match": "\\b(private\\[\\S+\\]|protected\\[\\S+\\]|private|protected)\\b", - "name": "storage.modifier.access" - }, - { - "match": "\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\b", - "name": "storage.modifier.other" - }, - { - "match": "(?<=^|\\s)\\b(transparent|opaque|infix|open|inline)\\b(?=[a-z\\s]*\\b(def|val|var|given|type|class|trait|object|enum)\\b)", - "name": "storage.modifier.other" - } - ] - }, - "meta-bounds": { - "match": "<%|=:=|<:<|<%<|>:|<:", - "comment": "For themes: Matching view bounds", - "name": "meta.bounds.scala" - }, - "comments": { - "patterns": [ - { "include": "#block-comments" }, - { - "end": "(?!\\G)", - "begin": "(^[ \\t]+)?(?=//)", - "beginCaptures": { - "1": { "name": "punctuation.whitespace.comment.leading.scala" } - }, - "patterns": [ - { - "end": "\\n", - "begin": "//", - "beginCaptures": { - "0": { "name": "punctuation.definition.comment.scala" } - }, - "name": "comment.line.double-slash.scala" - } - ] - } - ] - }, - "block-comments": { - "patterns": [ - { - "match": "/\\*\\*/", - "captures": { - "0": { "name": "punctuation.definition.comment.scala" } - }, - "name": "comment.block.empty.scala" - }, - { - "end": "\\*/", - "begin": "^\\s*(/\\*\\*)(?!/)", - "beginCaptures": { - "1": { "name": "punctuation.definition.comment.scala" } - }, - "patterns": [ - { - "match": "(@param)\\s+(\\S+)", - "captures": { - "1": { "name": "keyword.other.documentation.scaladoc.scala" }, - "2": { "name": "variable.parameter.scala" } - } - }, - { - "match": "(@(?:tparam|throws))\\s+(\\S+)", - "captures": { - "1": { "name": "keyword.other.documentation.scaladoc.scala" }, - "2": { "name": "entity.name.class" } - } - }, - { - "match": "@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc)\\b", - "name": "keyword.other.documentation.scaladoc.scala" - }, - { - "match": "(\\[\\[)([^\\]]+)(\\]\\])", - "captures": { - "1": { - "name": "punctuation.definition.documentation.link.scala" - }, - "2": { "name": "string.other.link.title.markdown" }, - "3": { - "name": "punctuation.definition.documentation.link.scala" - } - } - }, - { "include": "#block-comments" } - ], - "endCaptures": { - "0": { "name": "punctuation.definition.comment.scala" } - }, - "name": "comment.block.documentation.scala" - }, - { - "end": "\\*/", - "begin": "/\\*", - "captures": { - "0": { "name": "punctuation.definition.comment.scala" } - }, - "patterns": [{ "include": "#block-comments" }], - "name": "comment.block.scala" - } - ] - }, - "xml-embedded-content": { - "patterns": [ - { - "end": "}", - "begin": "{", - "patterns": [{ "include": "#code" }], - "captures": { "0": { "name": "meta.bracket.scala" } }, - "name": "meta.source.embedded.scala" - }, - { - "match": " (?:([-_a-zA-Z0-9]+)((:)))?([_a-zA-Z-]+)=", - "captures": { - "1": { "name": "entity.other.attribute-name.namespace.xml" }, - "2": { "name": "entity.other.attribute-name.xml" }, - "3": { "name": "punctuation.separator.namespace.xml" }, - "4": { "name": "entity.other.attribute-name.localname.xml" } - } - }, - { "include": "#xml-doublequotedString" }, - { "include": "#xml-singlequotedString" } - ] - }, - "inheritance": { - "patterns": [ - { - "match": "\\b(extends|with|derives)\\b\\s*([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?=\\([^\\)]+=>)|(?=(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))|(?=\"))?", - "captures": { - "1": { "name": "keyword.declaration.scala" }, - "2": { "name": "entity.other.inherited-class.scala" } - } - } - ] - }, - "extension": { - "patterns": [ - { - "match": "^\\s*(extension)\\s+(?=[\\[\\(])", - "captures": { "1": { "name": "keyword.declaration.scala" } } - } - ] - }, - "parameter-list": { - "patterns": [ - { - "match": "(?<=[^\\._$a-zA-Z0-9])(`[^`]+`|[_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?)\\s*(:)\\s+", - "captures": { - "1": { "name": "variable.parameter.scala" }, - "2": { "name": "meta.colon.scala" } - } - } - ] - }, - "xml-literal": { - "patterns": [ - { - "end": "(>(<))/(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]*[_a-zA-Z0-9])(>)", - "begin": "(<)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*))(?=(\\s[^>]*)?>)", - "beginCaptures": { - "1": { "name": "punctuation.definition.tag.xml" }, - "3": { "name": "entity.name.tag.namespace.xml" }, - "4": { "name": "entity.name.tag.xml" }, - "5": { "name": "punctuation.separator.namespace.xml" }, - "6": { "name": "entity.name.tag.localname.xml" } - }, - "patterns": [{ "include": "#xml-embedded-content" }], - "comment": "We do not allow a tag name to start with a - since this would likely conflict with the <- operator. This is not very common for tag names anyway. Also code such as -- if (val val3) will falsly be recognized as an xml tag. The solution is to put a space on either side of the comparison operator", - "endCaptures": { - "1": { "name": "punctuation.definition.tag.xml" }, - "2": { "name": "meta.scope.between-tag-pair.xml" }, - "3": { "name": "entity.name.tag.namespace.xml" }, - "4": { "name": "entity.name.tag.xml" }, - "5": { "name": "punctuation.separator.namespace.xml" }, - "6": { "name": "entity.name.tag.localname.xml" }, - "7": { "name": "punctuation.definition.tag.xml" } - }, - "name": "meta.tag.no-content.xml" - }, - { - "end": "(/?>)", - "begin": "(]*?>)", - "patterns": [{ "include": "#xml-embedded-content" }], - "captures": { - "1": { "name": "punctuation.definition.tag.xml" }, - "2": { "name": "entity.name.tag.namespace.xml" }, - "3": { "name": "entity.name.tag.xml" }, - "4": { "name": "punctuation.separator.namespace.xml" }, - "5": { "name": "entity.name.tag.localname.xml" } - }, - "name": "meta.tag.xml" - }, - { "include": "#xml-entity" } - ] - } - }, - "uuid": "158C0929-299A-40C8-8D89-316BE0C446E8", - "patterns": [{ "include": "#code" }], - "name": "Scala", - "scopeName": "source.scala" -} diff --git a/extensions/svelte-web/LICENSE b/extensions/svelte-web/LICENSE deleted file mode 100644 index 55dd59ab4..000000000 --- a/extensions/svelte-web/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -Copyright (c) 2020-Present [these people](https://github.com/sveltejs/language-tools/graphs/contributors) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/extensions/svelte-web/README.md b/extensions/svelte-web/README.md deleted file mode 100644 index 3319c1ced..000000000 --- a/extensions/svelte-web/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# This extension is a fork from [language-tools](https://github.com/sveltejs/language-tools) for github1s - -# At present only languages features is reserved - -# I have deleted some files and only reserved the necessary code - -# Svelte for VS Code - -Provides syntax highlighting in VS Code. - -## Features - -- Svelte - - - Diagnostic messages for warnings and errors - - Syntax Highlighting - -- HTML - - Hover info - - Symbols in Outline panel -- CSS / SCSS / LESS - - Diagnostic messages for syntax and lint errors - - Hover info - - Color highlighting and color picker - - Symbols in Outline panel -- TypeScript / JavaScript - - Diagnostics messages for syntax errors, semantic errors, and suggestions - - Hover info - - Symbols in Outline panel diff --git a/extensions/svelte-web/icons/logo-nightly.png b/extensions/svelte-web/icons/logo-nightly.png deleted file mode 100644 index fa6963edaeaa80b7ea4a286b4faea63bf941cb99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45799 zcmb4q^-~<(^Yt$77TgKJ-Q9x*hv2eUaCcu^f;+*<0}1XHY_Z@T+}&Lk7W?vf|AY63 zse7ktrs{UrneNl4dt%g8)y(bM?3nqMv-Nyhc#1eTl4!Zq$=e7i0Ip6Np6zva)w7qt zr&Y2?fZ`{_j<_+RoPg-DXfm1gR)5%i3zTqaNRGcgIo`pNmhAsy8>Jii{>Db+^Qvju zezo;~{zpQ#Ud<(scHX}3?%LS$ofJ^xs9O<^@)VD%i>3Ym+k-r%$$H46PVUePtH{Um~jZ0vM#X zzSgNMoe^tYJ8JCd4zz4QZ%xMxrT7HLi2O?~nu{Ocziak3Gy9>IUq(zu&73$E5S2f> zzZhSbvVQUiQel^k)G>eYEu}wj$XN4Da#u;YX%VA2u%r!kSRw|;ODZ2pxcwyWK6cAK zyXO|LI-uR(^6vZST+v(cePb=7YbCy+^=rmA9HXM0F()X9cz=}btH;f&yOMk%*Cf*(Y7;nJF?4|Jyv~x{tsoC&p?c6(J1Mg-p zqxs}RY{YH#>G9fGU?>T4;3B?%^@!mF8@iZSde=op`6bWG_{UJIXqX;W1KwF({Vi|k z;N(BY-dw;hJ=AL$M75J2qNUu=5S$0B`1l3X>#(d=SqZ|Q?HJ_^Zm2z?i(15%P*6* zp9d|2<1SO}h7Vo+Z}x)DXa%=T?F7n@e}Ohi;i@OWp)8GmVP>4pHL=wR>rOaIpZUa(MQJ#}F=LY9?% z?HaTwN^;k=d9eoMDR#GK;a5f8?$=op-V=o%U#^#4Ubc@a3f+0%TozG#XZms(=M|%i zsu8RQ2{^AuR%6^}9Y0l`$=qGv-5?5}e4{>Xb=teqdD|ifE$BwDtuU8tx&Wrw&X#88BBV7c^vtRqx_Bpd2Py0<7$O3ZDVc$TGu5}C#6#s zOjy1!@)1Y6mU^Q&8eg`-i0xQRh|{oWpq%7-8fBZm?9DhC%STYl{X;;MZ)e1*vGw|L zpIu0s4o>By2XPc~bJTYf6B#eCMIPqEWYdwE#XL^hnNw7Y#2)w&}B^jB@+$}V% zI2R|l*}7{Z+{6}aWNwck37=~0>FD~xd0~2+oeIQZlyEwOI;4GmT&|+ZJlMm_ct6L- z>kw?4*0=9&ngmbRO7;4}F4jsCq;QO|fRTecV&==S^uUp|DvZphY&fsc*4S+hF;dO} zz6eZ~t%v_A^H{|4PB+{9#}`Hm+k9sS{VF$INwLt6R-6Dsi5{SV_7w_W{(gEz#S+<} z4Xi31ATlXp1JI5^`Ra?!mob@GLR1?BP=O~mlChIT!JX{nN!ep>2`Q!n1_U=Lah+ww z(BCb7zb9|+{wh4Ks59bm|Evr$*Dxs>Y^oY5+4s2Qz{E7U8TiHdVX3^O21)Yk@`%eB z{$Czb)2{*hQ242bi4BY3L+AB1{2;Znaj%7uDeUNDm5@{xH(eQ6oo3+=N1-ke82QTL zpT9fAqH6BJyU&_#gv`Nq?mSw*-D)Nc#1wqSih)o1Zxi4AGcrf_c)UfKCx__h$>3e0 z2RdF8UqU;I!XH&F8kZtcUDdUIL3Q(xfWPo;H@7ITqt}#Bt9-iH|693@J)Kl;U{kJ1 z^lw#_{UvQ^vJuJTaA5Dtet{dZX5HiOHdV_P!Li>~GNo|n3iGk1H2%wJvblA&3mp7J zjMb%TI16m=rlF^fnf!`4$wdn{B!pf5?3kcH4-Jb{SN#n?Vu+@Az#^S)9e<)Qq=n6va+!TuH2|)jPX+O|iWjpGSV&W=P&l`9&&oEnVaSJ6 zqR;LX7O-Os9sS~l`ks2pxqS~CJ#JcGB4yXbzI9KEQneIRNShvR>5h7RzL{(P8F!Ah z;$a}5OBX`4Vd_Ojo?O7a+lA*?YA>J2RXfq)R*%zJ1InYhvvZkISJsy=@m3Sxhca#q z`$%jQOap4+wQem1CEJTHUtjqyyk#_^pNVc>?IcqIg?Z380mpa#eEz&h2=Mm8wI$Fi zsPAxJFGg=eCY)sJyYCdlT~m#+z4mLqsMuCw3H;Q`T(`R(xGuxK(e$_Xr=kQHBwk-Oe2R$A`ho@Cg-=jUwkh2koVU0xF9Za^}dsWoars>s$ zc_~r}J5;rzFmKvSF=a*VKj3UNRl4t89crz`c#um97DPBuqQ}DV_Xz!uz817)%%JY0 zLA@H&;YW_!%XCVkx9XmcaHZ!&X?IAZ5nnIWWX+zZiQ@(hOL|A5^z(vOei#2Tazg~J z{PPG^0>3y-OEpeyumEjo%5>3fwt`b({}mQCanP_0{ZMIywd<&5Oq#H%QGGQ6Speqs zVnYKGUqg*bXkPfjKDgLDu@3QTl70Key}K8LQ=KFEMxoWRGiOvn=EOVnwRk4 zWM%Ptnc`F!{*%Bz36{SayhmycLyUz`%|a4zHYtJ(w;fZh8@z!F;y1YzeomeiQq0|N z*>jwG6A4ExL)MG+jR45jK+zm-3HoKEj@+ZlDt;efH38vmh0qPDpFrs}qtL1{isF z&qv~`5B#b$4+8puymk=6sgG#e6RbTnq_p9FvCwYWR#M`>PmZ%$MN=}V^w;Gnr4O|v z@xo48F3cU-;YM1RpHVQ+$-vhvk=BpF)6~+=QUB$e{sasl;t_`k$_4X_N?s5lznPz> zYyq1-CXM0zM~5kCNeUjkr7h995Gj+}%uGzcU3~X?O5z%ACR2uYo|O9&K@i-L`ZgJ+ zG{YRuKNm{b;LmWo>ss0V9z%)}8dhf#=`I#qLHYWJVsWQ`U?yQvSAT1)c>xZT>z#M2 zM({4H&i&+FqN85%-6Ue7y-(>$U0i?G#VJFBIr*e9PINOt60TC_#3e9-IgU?wsjz?$tq$6j~&*soJD&ddG zkay>YF#eGk6>-ZG9vF>NpC#el(6u_3=Z+tac=YGP>g&o4*jq%u@oE7M%?{!%2jMvV zw+=hoH0$>D3#r(jv=FS>lKCNo%eeHD6Sw>yCQu4<_NtAwCt-hBtRwTKz<1=%7O;87 zCv2n1yqzU^o!i}&`2&mxA0oj4rGeJOV$q!|pcF$FcqM58mjGS@Mjjwd^q|+kVNb>r z4`$YhJv%Sj)QY$bb8Y6NJeyy+Sm$+Cz>diIO%Ynu|7asv*8RoaoW)tMe7=RH17?QE z)pFT^2fY_t{!uPICF|h#!3@M5`3^+L^&#i^0 z1@%+#P$$55j9uyx*OZ0mu@_9G%m1kMcWIXuOk4=ph%N^YNc)i@p`TR%_1fewqVfrL}4Dv~CYaqDz?UqUf8!C0HraZ*1@*bNv4DtXVi)Au@v z2@A7;m?O&0P+qpfz3jeqgAOhL@~8c~s2#UJ^4;*4{M}S2G9d0BUV*P*^*LKC%dcLr{+&(Fu$RBu=bDLgmy@ zx3frn=nCzpDNsU_(vjKVYBO~ulYGFh>D2J!N^X9a+IWqOpk%h_IuyVh93R3)pmIKD zRO{#W)Pqc&n42OnLFW51^RJE#)emZ*+OT5~zD^6Wj&;zG zRHW|jhZ(5*Fl%v5*3iJsgdoZA8I1bi;&S%q$BlIHO7-0u$u+)OB}16ovG;`GVMroB zih}i+j+SmJpfz+|<(F}!I=w-*I6%k^6iI~ond9=*4nb}pk?AL^jWWcXRdVaX4gtoy zyZq_DtDt=Uuqn--;4FUuxD4sBlyszV9A4XM2{I`KOz^7{xKI`d^S&(zlJ2_tFpDgz z{mw#&G{n8ajOLBF{M{Egyoc&@g!lS!eRjsl^cF~EYPe57-{U&oPrDepvUgJN)+mea z?(NUnvrA;`(0c?m841kqv(+ZN!dUoxJflcU8TdZ^0kgu10%Ht@(5p`~-1-xcsFC6C z%l=_JmL2w%NfjdR=)_B@nw?^TY9!S-T{t-;W>F-2AVDS==wPV8o^IbP6LD5XyKiZv zq{Qkq1@@3T@J0ta^PQ{8CSiA|EqA-ft^d|tZ)!5mSg&_mF(et(Z}YbHUj6UZf~9g8 zP2nKGKm3$%CedX1sF8zZP{`Q3>2<=(fb2P22SwnvpCG)#%CvI zs0!v5f)xoSrd)GoH-dS@?&tq`=qIUuI7%&7UN}4<*TN36;(lS+#{L=3NUfr((Hs^YfTkqxnVK#Sp z?T`qR-gsG@o1)sb%&Ch(S|v96r!}#rOxGMUwj=kSdYy8U0eY3Y7DieH$d~{wLK;DW z?q;9Esp&dGEcut|nHi~EsDWjh=Fh?t?ct3=TnOq@To3IBEiaX$_&?|X&aC_1GPDV9q4=5BSY+0~me`=3kKCe&1N;G}x5l^I|t>frj^ zwSKF00R5eX^>znyF&v7zWOmT7?;*VyIVUO$SN3PJ#Zk#k)yToUr)Z%rIw7yIEVR=K zLghKI&1`5c#=ll*%_#%{;DSnB>o9(IB|BmVXmqHE1bwLkuwftT`guVEvMZ!~&Xs)6 zIq&{g64_HjH`sK?iPlzb(TCGI&4AON z*E+<1n4iuQ`&qDeYU)CTVWXp9?)d|mCAH@1jdx@PX{NvG3rS9o47)DPq}V2}+}=>; z;2W?2OmJ&A;>k7%LdI-+3{G%xg7K+bD8aK~C%e=v@Dn-WZ1zg(3`qL2g`@xr1gske zIcg!9DW%X1B!_{#6vBg>M+%a2@y|Z*X|N;qn(QLAs$ybj?8nT#RuUe5b$NjGhS(d|}T^7NwqrV>K&;n<5ka z6{6~t@R)oazKANTl}dz|F&7Qv!yi)QpE7*RhRo`s2G#= z9?pAN(xG&{=(yrMBYl-KCz4ocyxxeGi zK$KX*b7hq6jfTO#JJ2VIw@eI{D9u{vhLtRN-&y(21l4HS-vb>J=2yr&goohzxWe1~ zkADdVA>Ju3%>}2|oz0Ir+>U*qZeHdeJs13rzsgBHsrGd9JhvRk6Y)%l$f(z>{qts5 zEOFF&7bhkp5=~*XlHnM3Jco-2!0>c{JOXuKvq@_VaJIHCpjmafpHm>37i~Nv5{hr1 zim<|DZm-VTGEj-A(exE@!eTQy*-LULzSxM%O1Fb~K zhpHd_m)6)#Zqq86`qY>;{tr-#zj!K4v1rqShDOha5DB#W4v5U-wRe0tY@0a=Jn*hw z_rH+OH$HJ3AcMbj96E5yWXZ?AR=p!Nq#d6p_Vi>#!tsNivs8A)z=UN{EnX7}!6<=< z7c3bJw3sPyRf8b?ZcN>0* z$n4oU5x@aq91f2IT)ZFv*1}S_Tw>nc)uUugB|yhEeR*mB?-$Y@rMO8NiFkhc<0vRp|Kr@72!YB?^2YHMN2aE0K;|;W(P! z#O4_fX6QJ6Ih|A@Txi@a=mft*`6Z+T!Iq}&LUnh|O8MgD;X6mA{r@}jf1_-FE5Y=>}VUq-;v(WZ@NMk%}S8-X<#0v6eV+osj50MuoslhxEiLr&Rev& z(%b3d7X`8(1c}|DB#T!?LJJ%-fzWsEK`*aIsY6?+0f`sqfM@|rf&5g3SmOnuV4X+C@F)H5`MXCkOt)==Z@aBza^3BETj9)XBGX{i;Mz-_y zC&!3)MX|9Kvf(u_)HA*@*VMX8hHqiShun*6Z@I$LvlRaLXxu)rsACjyH+L>~y$Beu z()1fN_olS4cCa@1DQwMaVt2HT{R~|9_)iPncbjpd#h-3EZFAg@QZ)n{#QKpmgnR#W zoke}7mivojNY6I~bw6dS`Gavkix0cIe<2S*Ih=a>qP1Gawc7L*r%B={D`mvLjGJ+C z!1@f0_jvnEV@{OFyoHGgb2Wr6_OXCnw%1(o7C9UK&{+rb0k)peS{c$0oN81lD4+Iw zqH2VV4MA1`lqU1|d7ZadNc08i2Vnxob!d@d5+}PohUXH?CU5EeUGie`Es4026((J} z7aMbBl8!WAeTF1R(7_j!GpcJR8OZ7LH9G@&&!zBXC z*RN8$H2=j^48Q#x&2MW7LrZ5iI(_5A)Acm%1>@U4t;r#XI!otoDv_7y08MtY#|PtU ziqTIkhE|2PES#+cIF>hXyv=GVc~t7Uu{EqX*`!hU*tOc!6P;gNl9S;&K0U5-nFFoo zP{xP``Or`d=tWbV^!pg!qZ515lT+r&ft1q}Rr@k)7zv-I%;WOgIyL=eNg5?=v`h7m z!Jn0dVVx*rYJ;hOwMAGj{P%;aJ4j&e3u-?tou1C}x091<kU53ouF`Zk z%H3=&&VK+>M7>N=$SEBFdE7@_^O>@TCGYG+okSr7uIM#3ekRg}VI8CVpwqy~M@4iRGpqHCjl8&(Qk z{KU(7(ZUEBk`7!}+C@BNB=#}sf$ZG-)G==Upb&!2V=v)B?~-)hL9;8eTYiIvg;}(e zus^M#WgYFPRG?BP|N5>reQTedRf~x97MQH|u6<(vgngxpWQc}r3sL{vC0B25bcHGy zRPg9w0dQ03N=6eL5GXqsTp`?Y5w*TKdWuXU`E{5&VJCIna_*y-pAr9DRJ_*}^YP6lEmci{AoBBsH{Fw1ZHf(67isyPd;qT}aWu!hi z4_pgfxw&c3=pOXQri6wLWvo}m16x1Q0&ZX>nPdb>PZPuK-z#UFR61&cipTgdp!P3; z+D==~f6zx=ps7AHq1r1Zn7MZK#(j0fwLISyt?b zy`tjSd)#B;sWll77NRM9hDqL)OZzHzR-I+TqXeEZo&!Tu@hwJ}Qq1^`OB*Q2nD*y& zf>~$O3x9VtewnaHDasBYK^UGY-k))2tBq4M5_wmcAd}~gPEE34JxB(-{USkrkEK4@ zS)Wp<1Pn?N`0fHhsRgt*{iPm&zsCCuzJc%f>f`WXeiV=s9`Jq2+^J?OOy;ga_#6IK zE3zt>3%>o;XW4clLu!MzgK^Y5z+k>ueltZ8ICe7mdA(@FBW&j!rCoQ?b4T@$vSj?f zmCg1eyk3XMtx&Eyn*Y)-J2@ZZ{W#}N2ec5mZyZ=l7I05H?*fa-5J#T+1eF!(Rf|RI&9Nf(MWx%) zvwxzuizAj53t#ljr|q0KMl>-Y_i#^S*ZGJ6{#zY#PclpB4ILkT_{QiZ{Aaqe?U~uK zH_H*}34rH_L6J;1oowy+a(AXDd(To3R3er^*k%w)y+ zY2#xQ#=nByypgqToHgX+!8*A4o1d9i*Z5X(;Z(BBNuo@uN^A>D>fDc_jSbbTtxBr`Xl6jBKM0Oapms4wd{qMC)0VqCFZ6w6Qdwfh zK8BI(57rYw8>HY6d2u+O2dp-!lRpAw^%I-Po%Glx(s1k_+Sz@?OzE-7Bk`G+{?6-s zgbJ9NK8V@`E+AmuIUo|YzoMav>Dj~t-ec}xW7%xB-H)h%;I|aF=_T;?26K!LI7#A zDGk|40LEa~#n_OI%u(7=J+!~>*cgy)cOpe!kDc`7pz>)z{Q;?{2XqHL#b0wR{H5|w z<)OZ4$fSPufYc^RWNV9SXjFQV*b#?fgNL?;sKWtk7s+r0Bw+|hmLcDT=8MyI-@pE{ zq#^U2vl2>W=#}nj=^1f*%5VLMX|Z@S64G3QyP!%X%!Zy(+M-!Ej@&q+((E{K=78Ib z^mGozmsv)W!~EfVF~Am&=de23dr!|gX&G3i-=iB?YYRzM2C{A}gxDFZF;JnPPqPX^yw8Q6o_@= zd?pXT{tN9nLEU*ePIuLr-ZgD|aeb_J*yST2W1Gi1Yx)mqC5^fnM#{GsEyeG?1cOI` zQ{5S;)xxRjTm9JRT=aW7%wH9=-UDQZ^HJmQgkvN-jQ?1k9j^9Dos_#*}#E6`_SXcf1bZj!y?mq;09JGI8o5Z!R7H zLEgl%Y!dQ+zQG$25IeX8n|||qD=sU8z!_&X8#K-Vg3aWDtM$z&|T^nVTw+@!4E z=9LG(bN}NQrnmZJDw{C!mNByYRlK929|7RrpZQdktMl6RLA$Wy3}a7?pK!>h4ma97 zZckkL(l>|?wuZW21>HG_>&PQ}_{6d`<-@N!`i5moHxsUS=xP;ckPPGPk@4?DV7b=+ z^j`Mc^OHD+<=B68oCNs}*MbZ6z&d*7y``3?irU}T2|dqrno#Ex)JWf1nj zf=$o7cG>mH-`r@i`Foz%>`~ocW;lVhA-AtJi+aBQA>+PdZ4-je0Cl!DH^dvKCY6( zcRjE9j?a4$Db{Ih_sLEJ9G{SN(Y2U{O7 zL-N7gw?29238b8z;rQ2;SJ!jdua)jBn)A&c{yDFPM0>-&)Q z4DJc8OF)pHUnKNEg~@H<9g_ncJXHA^5yXI5#QmPzOQYZ&fW~*aWk+S~=ANQv4V%(@ zrY@iTu@!7iOu<_wF!P&(Aic!zZ%?hsj;x;-YS4M0_G}VKHepP{jE|VAt;sPc_{;%=`TxRM2&Y=as2WT{#K>;T2ajD1I_nAu z6jo=l+-myW+i7wavHVAG%rX)qI$xF3C=NIO0s`9W7gH`4lvb=t>q}Rsrvm{3pU?07 zzQBwbm9*LqN+T)p&UVmH8NPu%AF8Ip1Po9<>$BtiX89qe&8ij*Il-@oqm_=6-oed9 z`|K}0HCY@{F7eIG9ykKeX^Bw%$CtI1P!EsZlkrUKyHT3tDCm>t0 zumq5|980<3u03!ut6Wn==f$_|mRWsThi4_!b6(vN%Xx>LIqdMf2iR3714lWf`+wqF zD3(Gh5&L>iFWb7cIWC-mf?p6CJGtE;qb z>e=*sHm6+24+2$CF5dy+{DvkMsaLFhH9C8{+xN^Ki^*x~)PsZKpKar#*Q275Q#5d6 zx~k<@ai-|MF?^-j_-1dFCUJL3aaE-&p7}OxC=ty0DZA5A=mSp%2lGh9adO?5tT0Y! z7JDgOn$Y4Mw_cHAJV5$+)wZN;0mq%Bl3QIA?J#lDVij{~8890#36TT=*P7D?&hTb_f&sQ;{qOj`vzJV9v3`P+3kCNHG9NZ9=ib>VH~CJ$)-Pn z_V~k*r~eWdBseswuR215k9Kda-y|4mFCT2%6S{Wz2&<`%PXOLXa5I5|InG7b&f3#qi9k9WaC@>(Il z|FYIJ_~}mPzVNQa6+syHhJ3PmD!oorrLGj9GKpkI1VRq}(o(pET2JBnOiV z!(VQZ?R{=pdj{2s3+0^XJ>Jmcf>Mp65$-CvT7ivCHe14_`T3#IApzEe&1m*B2 zuCK9g4iTE&9K~V9$|ARhUX?^ap!YqLzpqKCv}tLdK--_iS4_0<4|EPKAMQU@)6!ng03H?I%{Z!b@N$;-{ zO0oS9n)|L;CZo)JD?5B1drE*&695N_Op&iw90GKza|?#7R?7}-qUE>cKQ5W@$cMg@ ztpA|SP2Y^ZpT!(rBm>;8vu_d>N%V-a%n^75;m);0n)o$x;`PBb=G7#Vz>cxIYb0LD zI>DxCw4c_+ps6r{VBI~jxoaDeqj6PxFL)!LYIrn2T>fbX{k;jbT{LKufEpo0j-cks zTHHG@=-T`j+=2-^hj_dF=c;B5*JyrLd=XFvd@*6Q8x<#3Khj%~fy2T_aH)791Aw*H z>d+xCs|l0ru%jRC2FJVk*3+wRed&y|@u2sr;hj6E42QLh#QVi`d`LEr2Hp4A3*64{ z>&Ctr9Xwk)SB!&Ed4A{J2WV+xt${oYLcg zj1i75tV@mVu^v4fOfu;?8=ob!aWGr+6#3jM6{1^{PP~uTvR8As;cbC}u^_gZ>8BcS zi7I1-c@r-ilSDP02{HN|N=8eKgN}gR+l}<5)JgV%Nd~AUIconX_K_&~mlUh5ZcVA< z$*W|6f=s#3bhM?R&YzQt|CXvrnz-Mltqo>B}wXo;>fCiTJZT{o&JK=c9b^I{-F zDgl8@ED01weCO)KfSk2b0fB*2kfxaN@6IPQHa}b+^ZSE+VUR`cpv06OHBlA*+U6&d z@C%=?G7nwBI_yi}CfJUc`L(8o8~wU&G(QuYg0JSy>`P1i^H(teUH|xgh!7(;qo^6H zBX?}9ugBiq2~z?h4l!@@f3k>j!((RLjrW2uM$V!VYP#sgPl$ibpQcy#Vzm;NB-g$( zyw4XG<2IuU?Np*P0aL?dzmk#tT*l#&j#H6pLc_^WMz5rjlzGN)#!&u*^ScO$B5S6% zE88qx9KP3!^pygG==tJcB?amsb0LI^eR^D!y+}t?J>aV48qu8#cxzut__5HfbMquHlz5aFJQKvxG^Q^) zjwd0|1{VyudK3iei*&EQ*hs5-(A*?ygx=ZyWI@-%Sk$h>=M;8%mBbK_(J;PLO#W^U zsGOF!zZ)nGbI<>5=-|mI45(5ZBE(p}O{$J~A!8+wBq&6daruJT>vkx_r4SF`4l^?g zlbJiR`BWH5eg6snY@|&E;SzZmzGc|^#P-i>+BADc3Q3u}Bzb zP`5E8Qg+AnDc2X6zO5|@)bhSw}%JyiOwN+7c-^UD^D8Dy8+O-*Pm&XaO4MefVd})|{He;>)fa2km2CEnCCfh3rn#48iGHdHHXz4D>JfPTLYDmpx zuGQ^q*yNqT*Natc@>;d*w<@QJwtN%PLD{3PpQOY@00<@XZ0$)5!s(IoT76tFFG0U4 z9&Y`yMlXw;5!|#JB}LPp)%v*~(j$lgk^hr1o$QLhV=WWebGgIK@~#UHaC*2W3w`Tn z{m+IEWIG4Ge=fy%P%4gI8@D4<`{uk}ri6Zx%hD6xR@Uy}bNjbXhf)n@d&MO};~N$m zRhc>%r9pg!2w#R#GQ7SyEBiPUW4*U&avr9}o-5fFlkHm&F0PN&H=G4R?sS^0j>Y6kAeUf`V$ z_$hF5;QbxqAGqfqr@_`HJ@s^GT9*j7!b^iG9S4NsSR)kbE7${ikRnMle{1zCymXUB zXE|&IR6Ic3I9RWd5CXCxPu6X7rMoDdS9;&BOAU8_OkES~fWMmT9w#a#%oNOO=WWA( zCjH%|rQWB_O+Ko=%~fX7)*S?+dHgCQU3>twyX$^SKHe13IUtUX+AgZ65Tln@pb|xl z-gZzBM^sEv-jh_r^?}uYKzMIbRE7RRCg0rnbSa_917AQjXo7`~pV0Iue|Hlkjr*|C zt_PwPkoqo=ZOertW9bv9j}LZr3p0nKuzOlOQkPC-nj$Bf8Lhvwua~^CTBo@sS~3_4 z0FAa9_Xc{qgh?$3!TB`&1vAuDjGy%NritQn2*_$%S9Vd!D?_Z0d1fnV#FyTh_9eCv z%6y*Ki+*wSf$LE7R|p>;-^ZW>S{?ha}lg~?i!P!W5 zgct`&(-jsMQUCC;MpS51E>O<|yH?uYP(CG)`RrM%QPJ#mUtszEdW{Lze_I!b65fjz zMJjwebs8hsyvYwV%f_9;a2adWs)vT+H1>k*~C zPCit_9dCQX@LY!C#FmT(n=+goM&8?&m*UQ}9ss1%3e}Jl)y8;ALDH-GfSbd&8O5rN zt@Q?A$%YAzx0yfLsb7@q14^@vPv;EQwRC~R6TLI7kAJ4ta8j=%0xlTl}f>!1VUE0COj&2}UyO zi7TrvVtdS>+=fi9ToIoZl0R?iJChiOvcx3)q$zlIz0axzcSMTXS7|_JCl%wzOs8N; z$`o2^((`UDwb>2L4Np%Rl?7TFRzXN;il$tF6QvPB-IT=l)+p~w&rk)Dbg9Ryr|5C~ zN#v|gNuoo_aP-9X|00YD?nzEXR8;Y|pYXjI){90r}IB+Wx7`3T~V`ji}g-4N4kX!}XKDzvK4Mj2;t_7B~TGUVxRXP$ipY$gne>Sv{h| z7`nRGS-N!ZrL%e;QSPzw1wzVL0F^}dzsI)wnMvVnszlzljm7WlLkRP% zB-K{JeI-`@4AY>b3k~IlrRMkA_?06j)sc){MQ-w-I8A4EJ|>Io#XRQ*+)ivf&0|U} z*zc9el1zO|Uvv|QOC8iHn^B*pK$lFXUOsdodo{yl(uuQp|HlNp&H{0iZm5r<45fR` z6(7IzGu{o7=f{P_c8tGToahB`XwisZ%<6Dz7B4!N86e-D|3i8MxgQFGKf)l{dSqYz zD_#?1pF4>bdtLwfkn5LVnj*uFottto*Kn_Ucd;&I@qyS&P`}8}%1e7D*npnXYuBAo zJ{+6lr)zB{=Bkd4s3uP2(SR>pQ&~$mjLOG93Y`QyYcwHi6yJ`+45USHw}Kq{aDqg| z-m7CkBgrK0GxtjGg~u$dtCu6s*Yl&5)H1rIe{@F$dp(~@)p{@4TkLLJ&1jzW#S;HC z{CAp*;WJ}Td`O-$<}KfU2S{6Tvmr*lK#HV5KD^FCTJym0&sAQE*{;%}r?9dfZw&M{tg?n9FjEOEdcime_j1-lFeU)^y=>%F;*fu%_sPLPl?zi zmY;C)#u*4We$&ap>eqsFUrpVj_h?&2_#DaJK8Ohj3=8J{ic9rvJt+M=crv&gRCsVO zK-np%8#^03>LWZ30zVKbogrcD41M|-*~AM*1C;&;G4S^bv0+EH)=#jKEPh)e$qz*s3qoRQ50zmX$1@{^rEqGVA zQ6-u0f*WHya8KN?1IB72?rsXQGOtwA5?37M>l7^;qiC8`%$B63e;EY)(rcZirLoag zw_WmGgzPR|Ov$6!w4u1{KN_?t&cBP`AVIOFYZ>_o7kSP zUXOvPQhpk*m_?zVe`yYicpX{790?+E0alBoV6WB7Pr@E)Tiesa15T>k31`8pl)`o?>VJ{#$|7a zI{`TB4E@p~Mh_jONt1WZJh?M}vWG#}PwCX;M6=DjK?qGLy+jh8(w$|or$_Cr_45xK z?l80@^HQ{0xIt{Wh+krJMq$wK<78Yu2sI99jC@%76(UHALB;MfD7A&ZkJrnLD7b8+ zTB&uDejE~xs7m=wzziX9kqe1qZy6`+5MtSJx?1Y|k+aU(@J))s?e%hc_Ds zvVtFI(JriGn|Y`#e};!5HE*I~_?!UyslWb8h=hpC)X&jK^>kY$Qig1MmS)qFl;p%~ zMP9tnypThOL*4-acoE--b&;q)$%N(OBI;r5_bE0E;eUy!uUhEt84=IOQ-I5Gy^L~i zS*qH$EJ%L+-hydM{}xZq{a9kSw>Yfxs!Y{uO4=hVx5PTR0O>w%vEJbXWA%Pb2-o(C zke$amr%}PSf_wY?*G|ecpUR{`M^CBDN`l|W$2aLn+9jcT&?JG|XJS*G>U-b>q|yPK z6s^=Jy(;FI_A)1&6-$RMwjg3Gg~n#h(ha%V7@3UMTu*VRrRzN0=9Y4r>N@`|*QFESRR?-4mCwFR{~_j1JH4D^Zi0nuW9In4GT>X^Mq=A#{i z_}@?_T7|@BAUr*F_zkQDvP$Xmy1t2F4+-qz42OA-jO)rhKKT*8;$`4*oyJqHeEz5E zTe6~G_e6$#uIxy9T{Oio=aaEfn@MFXiJ49;)m5d!KL(cg!0-6%c_s2EOaaLGHF4VY zaoeg_Gb|C8l96ES=C{moE~10#HmNL$e6_Wg(@z1w*u|X239za+0INrsZ04_7x z;o;O4`6jl4bN0HwCs=^WA2=yUyue>!+YnPWG;@Rm78gl7$?bo71eb|mEyIq0!@1B+ zNt)!qU3@HwXk`#3p!4bp0;Lo>9@ls^prOtfqA5nyDn$DUhNEnq4-_1V*a|wMxMECH zMAninz&+ynusV{5oj0{kag2Tza5O-$-|OUlTcpBJJ>T zIJ_U6G*2=WR_XV)IW2iP6)JFcd}!B0BBYW^pv1 zf=GRA!&H%QaZd7m&CWn@v{Sc8sAAz~bGc6;KlHowjR*X5=J^p4aI0`|pzP57`gFN*r&7q5mk5 zi@1r%cfGCd(E_esnJncm|DLZgq^hHeo*PS*#aN6N?20i55}%+F$C1Az!Ex8-=r|uH zj2AFj(sC)fiZUP`FeU zt77d|l|Dx;1=fyKG_i%j#)8?*z+#I-N^kgo2f9-(93OsSu}J|Sda|!%s+mdrvAjR= zl8aR4rm#A|sGuQ3(4J#Gcols=$m4 z7#=XtcMwuM)ptmi*d0eW`(%)kJWSbFMyzyhmIX6g4LqEoj{8s&S6;+-Y~(6=f1{U! zhG-Q*KT#&ju#8=a_4N=1I1uS$-%!N!_f4o2B}*H;Ose^R(?mEV;Zh4SM&eC zNhG<91m-ZFaIC>kee7)d0}6X~D)0)F>dU;y{t z6L_cMCxn=ux8pe46~=H|#wel?xFdU)uT^Tv&;2`o^Kl+Aj@}i&)+bf_!J!Q zt%g6)7!WX&I(P)1*ET=_*vpB3mw9ztH$SAnO%Mo6feWBmq6PtkpQb@&L2^5m^K5!B z^P<6e{@Kcm^V1a!3$bZILx12~qt?Oz=-IrAkZP&Ka*I2G>O`+lM^2wFXeSk4-A%4% z@mT;&0SYWXFRsF7bPFA#Pr0zXQH{i>f9&Z4n!@-8$bEOnt$G3e$NC4p4N)t+Aq(YB zulM?W31g(qB-@41X4wY@`fc%=e&%a=2pq#`7A^=NkaZUa=VUS@{+eUMkhrxFMkoHs z)C-rf0^@uFhi+?_Uq*zVb5}F*oAC`+hlz>QNkJqOxt)saCx8;?+WASCkp==d0cS$i zmSfI8pfMnNfIpU1fr$2F5+Q9EyfyV>DEv4X$WX<~UEl&KDp2v!VV3iQg=j6nq0N1^ z#bVehjBgO*!)P zPOUHO3i1$-KeK&ktR&z{SO4&stch4@Z?BP`)KB~4B2qitLRj_n;*<91zQz_@mIA4U zPR{YaaQss}vM=8G=lMAwpr_|+jXnOWRRTZ4;{xUai~>CO2Q<#QI%{tu-;cREV-GUp zFGvY$sWAGGHZ%o=$_bEC(-8Y^oB9c2&BIAzAaDq!jR76I;v*pF*-;zLIkVc}g^1`K zhJHmDj+m|0AD*AvrE=sD5D)*23CKScpQ!=+xGmPuZ)O7Dhm8y}#n&h`SycdwLt&DK z0W)fe1{x@+o?j~g^PPV8=KH}0I#5{)17HM73$>!dCgDOb-Bgq*`(_Bgs_;@%`j9=}r*3;v)79(_p> z2S%W+ya0E=E<&p=*z~FBlZ>_4=ldg*;S0HC2@1#yK4anYZT=td2dff*GHlUAtDj?F zr9y-i0gDbAwhmicu$2*a&#ealy&hG7Mve($HnAcNxc~$J*{s(X-=FM2eEoTx5l{g3 zFi{}b7sv|{m}KV);L89Xz>vZ4y`PXT$^pu6+$6_$w&H)HSKAMkadZYkXQ?2YK)Fj; z3CqRVePeTtyYITZghU&!ydfQMKwvz!f`)w7KB7;>41!3gt->oYzWDn)3O@$+!C!>! zL)h%YN<<}Xdc;r*4BkUfd~j%~Q9r|Z0kOxG9K_m$YQTscc*(9t7LM>2@dyMTJl3+s zNDnT)XvD6r7<`h5Q&+RR&dnK%R+B3M{rWGIK+u zI(WkbXaHl83Yem6KN#t0(-*-Z}Z|mVTtWpOmkz{@s@9=*_XdE3a1!Y$vyJjlRw}NtRs>yu+q$A-KE3;>^g~cut4QeaFS$g zd1=v8tIRwUD(LYYqB(@IevH#kcZC_vW@_3M?Fo?vgiXt>_=<=YK<~(W&r*6|Zp>_qfr+d^&vZtF4chF)l#Vz%hw| z85FbaK%k)TXK@ft!hT+W2lb`?K2{P+bfk|%dM1SbjK0pV>R}HKyXDv4`$x3ZuF7ps zfbnMkzWz#&+x|z*m2c8Fe24xi@38Na?^!zr;RJ%0CF;NtwtBf!uY`pf2|%eUoWZXbrCs!tVnt|cq~6#+dFXUD zUdTJUDDTnl?nVN;=->=>sH;!vVBBIDW@DWqD%I?7|gz&u&S=bIWM1X$am~w<1 z)|emyF`j-yiwbZbg}#KrG#a^Z6Ohz+DKWsbs(@Z%os9*X%7|zvs_BL;5-n;<^yj4- z!>`Ml$blPxs~YQ|7S3HCG=*#%RoO(e->oa=0GLrVmSD`@+Apl?qW=e9FdKoAzZn0J-m!{ILEx?+07Y?x--8dsqo8%3D_B^bki>PU`G_SLx{V*E*Mr z4~`rFrb|Fks|l!_exe2ZF_gS7A7@-#=Qa2}E3{sd(>kVT2&IHz*a14AYt)dIZ{_(ZE^_ojGs=aBfFt z+r6oBLSMi5JOI0P(VkxXtBdU28Zf58X9YwD0%xo(dS~bLds1HEXO1%<*@p>ct&Tf|r`iv82zpsDj3qQT1s+*= zmQbXY%E}q_ivMJ>C;#|jEB-5q8-suJ$-DEvI@@bRAo4C%&XeLJ!+r4(>yn=HdpAEz z$w(D)ny>)wJ#;*&ZZzU%De*Cr0YDwXdBp)q@=1xHp<&D57$o-lid1SZ)+&OXz|fz` z1M<3--;f@6`HS);StB`k5KyziG9&umzQ90YnuBQI^CDe*1MtvkxmLZ(=_32-wJ4hBI#$DLoL>8%STIs&qY626 zQqlkMb;R)jky`rlXu`+#6d9WZ$9M8PI#g)dLCF7Se{MY#|3dM;jemXr-SQDx=0BsC zz&+0DD`U^$3i8f#>TJLoHC4u75#KYxiP9NH0h|J-pL;{bJNo@tJ5(UXYf`xNA+bdb z;5WV^jiRs-vAN34nDppd5g*?2kJS)-upQ)orGEEqBjZ!XeTKnDp?SI#onM+uorqL?auBMCOc5>D z!o(o-BcOAfEy~He4Z#Xjg>Q_99O0;97&C{&sLXc%jvEHtx&#)QSGQN#eC_oANL|`9 zcJqy?!WsSbzqRUNRj`i z54!X3m1HeOg4vwU!8jxt7=I0TQPu;OQvlKwpD+!DwhSzi5R}E^U$XtHMfR;icmpBZ z!|p$T_6t?r<0xdZiw@Z#Y3LloB^bLEqUSE-E&l*az~KFyhZh{Q7xM#p5&zg>RQ^@D>mm8j_MZGbJ)s7!jQ}eb$U3coKY9hh!~Z0q zs(tNCu%F|!L54jBsXo`>M~fL!Oi*qcKbCm3a|e>A3C(0C%>5fSuy^cv`8`=fIq(QT zPvjEKmfkGkpcTtB8oP6U zWY%f|dkt*LG-C@^rK|&>_-gMF%*6tWL_VQ)3>Hkc#?AtLg|Dom_cuB42tZF_Uz`yh zy}W0u;7|>)dMZ|Tumq5#_LO<+FOk)Z$N*cX$ok`Re78i%wGz%M!ZWfh7h4iRHP=H% zEX5N5N8vr+H`jpyorUz)rf>=>ygQjN78LPk{;`Z03fn2Gmp4wDVI>|}pzGHJ9e$Vi(D+x(*ke-w&bK-Y>D!e8>>=ld!t1XpQuBOuR8h| zeHm(C=eT85P^6b~wSv#(=PzP;mh9$9P_C5->}GXzLYXEP?Kbdn=Gi z)QQ1Oux(s)_(-5%B9E^GcE=(3nWzEmUCC0zc2=i=TSowX%-?}< zk`e8+6nJ>yW(~&?ECK-D{r|{k<^At^L_Q{$h}`|4Jg6T0XZPjy*;~mbfKZ5;8;vkDOl*5HQF&IKze>pD6)G zG9d~`St^C4Mg>%GZ@EO|RwDxx#Gvdsu#3z_#Av{Pq`;zpiyi^!1^HF|WRC_1I4S%S zIQx<_uPTEvjH!V)_7sdkbQHTZHKccx6JTO=!{BGi(65i_6Mk63;(u_|z5XkSVjK_Z z$@y84F$zFa5rDl|=M+#z5@qxh!Jktbg;?6R=Qr@~)_l@<$**yRX9}0Fur!Tagmy>P zT-L$>=;gmKl#kAzG<1M1*s-#r@ND-f-YR3Qm@pX8Isk_Zj;Lb+WuK;H4jMJqjiR1c z$N`Az_b+-EWAPMKMnxCrtIC)L6sP-+>n!|9?%~U{kb}5EbiB_jpEcb4-FqIDpSb&R z`5n20<&H5s4)}@+wgcOUaMt;w zw*@=%s}|7MLTm+sM!r)HKrA;^=ksWBie4G#bR(*%B@L+)_}pd<(|&~B4)ufViodSIYl z@H&4c%5R`}%2fWueNs>?=LrD(BT2{rgm}g0uD|#=fJvOm|5dNDGgM>H7{}6JaL>;Z z0t7GTFs1^G4p=aBNA(w z&$BwN36~@LVzpG?E*%^T7?Q6nGggW@D@$8#4S=TX z^fXN=uOR-lU6?5X7YVVa0Bgwt`GJN7G@crWa6A~3Fbm)s0I=q)#JxX(MX`CHuPg6c zuT9)l)&&DN&+b1PuxK5a4N83_CxC$|q*?{A5P%h4!4xP)0X_u8erIt!vi&#se8^mf z#d1K1))jA(1C)0?CZF96^0)Ql{AOWm53j#61_bWmEAfeU;y>j0{iAY5en^471KKKo zIOV;M%2)J)`nL}JNe%bW$8Y!mygf)j_Ddu?WsD3akTALNsP~yPDb(_x5r$ADAXaavm4H9+zZstB3oLcS6`JwU-^ zt81E-%79l2FhZ=seeG;L4ZzxjC0!@a^hK4@OMeB!71RWP=wtJq73RwpX3+>_E9`Rv zX25Lcgt)C48-hZ;&A$4Q0~w;P64QTo=n=mz2P|s*)Fa8iedu(#woh`SejzvN$9|J@ z`0X$J%#g~b-u<{dARBpg#G-&A{~Hl@jk@EYK`5So3B&i8eQqG429BgFja8m8J1kjq zQ0$BxlyV&?DtxZQp^?Gn1X~CDkY)x3uG>D!wJ`uo^>8g&a6Y-mrmKR^Ypx%iG)Cj` zc1{BWEztKK7!&6IAph6|k;Hibn7D;6k`X|u-9|;;BWqv)s;D7&T5s&%hh!tKso1%G z^t60bb@<*Ad^}j>7{P*#LwY48&Ky^tQ*nZV5kr_uTgQzj>;SZZLj^mC6P5-BvH;N( z)L>+=?FwzeGN)_xX=`Nw)&&DFdD?jZWnW1!vogSZiX}ojm^$pM!0biftbm2lw^y<^i@AM7 zkSdrCgk1t5k&W5N*lG-d+khT{x5%2w+86-C0rWh*n0)-lSQ4ybGZLl)Wv5t-?7&pZ zfQ@Yy_V(;tIRLp-5)k$ZWJU-g{Jm@B`(-1Sq`dV*vZq(tM+*lh$jJ8>Q`)H{=(|ft zk`HDA#)&9^-QUSTMWAB(bK_t0s%TGmL`DFQHg+7`8$a+{)$?ZIvg ztmsNIkfj0*rh!Iu`C;b*BZ5GRFn~f12z3yV;9xZfMjuuW@YcsSQNSfDS6(h3Q6=3& z9~wu_voesQ4^pf|A&e8UouA{_7H|nbBuE$%5*!djc~HidAnp%v3UcOp@oQy`WZeva zO@J*aHMRWZdjhAF01~QFQ=%(&B>~k{V3-l{VIaDiNrD@p54OU3}}XU6#{DI;l zpnLQ5P4W_8@*Ez90Bc-ry<;v|L)T<(2$C_hPnZuFeKokZ4BLxm&Jg4%y_`8L9y5oo z-(Ufku4o$gBqsU`NBY(Yz~Ty@$5CN)GbF6m<_vNHf-AdSrN;lyl_|)UVIDIG(t^^; zj-~;ftck20J1MsE1wD~BSlpFU!YWrY!wG!3hO+`1FtUm*ZNzLwxPOiSXUn$Jelo^9 zlLJu3Ws!yjfZkzfZn9nOi~|0VY~)pwPo0uCDxmWYg~Tpvqa4Gc5s|O-=jGGuG{r(7{q#LFkG}?uAAG1 z3M5)d5W565gvjC}#<4~6t@qt7@45Fe`G{=f+m?^rAeV&`@>ldy|8p;uaxDtDEWhO9 z1gGv;$q$~A2lf1a@SexzgR%yq8vT3v@vaZNmhefjDaiY;O~JVr+`BYFME%(=#Kb|Y zslhM{t_nj(FjkDGx+U1(Cvi-B1_^B~48Xc!0CfSxvk^@}3Dn>`wg+49Wn!pb2Z=g9 zz&V*y$X{81;=F?B?Z7MzMyJ&}1z+##f_(pP-*N!s!j6EL;(zQ^{6DMmKc-*MPw5%| zjv_uCyGY%47{`tWk<;oP|MUCrkbn8$?ecy(U^(C0#3pYG&KS2CN7}FV|A&@HLH6DO zCz*SrPz)Ry=2d{yutj*KG9XAPSP^KYJ*d&NFO#)1049wQVv>V=XcB5FiHD=~SX@EV zP^I{eU4W~~E^a#5;9dIzIJHeiAh9qCi1TBO{CU~Pwp**&h7fZvzA@+Tf1|r}2@G1EL*~lL$58N!@ z@v&3kpX(L$-|30I917v2Syyzf7WcU({xr7)Wd%TklKhQ_?}+~=IY4QHJXr^SpbAje zjhT!SgHRpd09KR(Sruq}G&m~-e2n!fRsk^4qG3s}FlCr25V#iO!q(CN7%6Dh%I})u zd+oK2f)bzE80@l(1 znDj+~nPiiKn#>Nt20Q>G3Z=>rL}}1EGZK2Z5=*w&C&+CAaZC?d%JoXZA?+4hVis%UOaPLD#u4Kd1%%eB(sf2a zgW+~$3R)G5B|(l5gUQ@P0DqWR6rd%+-!=bjoq!mR`Swiy*H3JW0K`B(&C~z)r3?4ziFy~5KKL+w z`u5BsI>Ij#cy^K6atlj~q^wTkEi!I_^36vagQ{QD|4|M=ZdDvWKk1_QPDa1Qya00$ zP+H6mZw%&xY78E2IM47ZB^ZusU*l-pVmq16f-GV1g(h$P!_H=D4rw zz8g*tk~%TSfWqkG!%-G=Y8L4maZCY3rU^q-e6)mOZeZ~-;(=_!E0#0)k3V|d0c;Xl zBl*}Js_-Y|m-Gbw6xOj|=pD{g0*q%&Y(@h3=lc#a*N_IL28;s23WX-J#O|%L6+ghf zbh-9{+vRpS0MS41d5#E+HNQ7Jfat%^4giNF#gX7+dR{?8yV5u=%%g-lD=@Kh5Gg^! z=x28+$7KyG|Ap%0&#G3wsbCu(JiJfEE@WSZagPB9 zmkJC+snd@M3f8eK#U~n*u^~mq@&GG^Kx8dp_=|D?qT%EV_7`RL{i6{md#=yX;x;BY z!#HFN5SH2-04xBmDa$x81i61D6g7TdX%INU#w+KM2T+MaQs)X}A2902>pj&uAc`qrL>WEaIDT-49Dpd6 z^t^bXk70eL*RSiveDG&oFBWQ=kff#om?jXgpf=S#1a(iKZy>T$gHiWuK?h!21Mty% zWxEXR+rjEfoE1ng(9?jX@g0CEvl?I_0n3END*?#&C08mi^qVZfI!ka$2e?r@P(!TOg$3tL0T4n;c?rJ>0@1q4cPg! z9y^9#d3BAuOwON4M8yYb1T4Nd{=iN02D!*$YrH`Oa>bVF`5hO4dM6wEK@w0HCkl`K z1L7Tp!UdyJ|IkoJgTWXys1nR&4PUi-y4h_LUAv*m-+#O&>{K?r|{*KmfZ;>M?R)PyB zYOZg*>)=L!3r$ck^EJ)3@Ui64h!h72nLaR(@F+l_ zJfztO_Z-I1UHq;&eg8cWfm~|o(otnrG$Qi+i52K6z$ym-d;kpTZh{v6p6NXp7s0g%{C5yJt?S{i`uLB4Ys7%4W1A%8J1 z?>GQA36mv=_F!3Q85aJ-da;mw9C&sD(F!rBju2;45SoicyoJ~Y2RN&c5i3B#To;i1 z(1Ul#2R?DgQvx+)e_K!Ozt)TPuEKpvaAZ*MS}f(c&1jG~)Jc(mB;M5<0F%Rz1T)_$aK`Mg~Ye=2a=2Jw9m%j?W_aY~Ex8mQu z|Fryw95T7@wA}N+DftCGRexKr!eiBI2U^HF0w>dp7Z2%qX6)FC2}t$srQ!rg1EB1J zbfLJ{M|8~RBMtD>z*2}D29X*ah^Jm5XbSkW9DtP7oPH$wNF+U2Oz|1+r#vB(C`dR)8I62Y&vVeLXl$6sk3oG{cN%$SC zaQF6ur1)v&N=C+3IEWoq7smxp`FZPAbMX^ARcHcBi}qHZz4^(D9|7nGFwRE^j!Txx z`7gkYP$tSv_9h^(N73h>;ZicnhrU0+=%k!2;5`Lk7#2U62mge*GCa0BO|#V1kT69~k@3I0(ucqIU;kT)5GLQ2L9R zd4HBMa;S!pr0Bx=fJG`_AlcL)oE}*NSt|o@{AziN<@|#TyvAA$m9qXv1`tb|8U^4x zGUaZp3^)=mi037Gf8+K=;saTx6Arazo@X;2fa*l@{|nea90)wsipbJNIJ&2w;Lo1870jADRfz4>ctt2_^Il2>;%UszC;H0;td? z2nQP+QdVYK9;B>|0r>0rA;5M}X^TYt>5+8R}Kg{Ev!&6V#Ql)x?qT-@vn zhvguG9Iw)^{jb}^*#~Zy#}qXF@V$@7C*>jty#2QPfPSDK*T3a%--N=1W>WY(Ht7~A zE8)DWK12OjCXZcQsXf~j4;q;B7e7ge4oa!*JwaX}O$Z$CZpIa-j$Sf{={Y}l*OT&9 zIRMe3J^&noLYaMm@`Sjf z&v~yVG=JiuJK~-`=TrKT9$FOn!o82l=jBzB2XB=d6^yt`KmGTs)w)T~$#ME^Ax;{` zGqUP+JT&)w-yJpdI6B|2MyXS>kja>$($;W*v$D$6^v_(r(s~dg(6IU|(Up>-!32Q5 zRt@D{56eH30~7te%xjP5g{Z%Id1E->8bNB1k#1JB-}+K=VDoP#d}`f4UQ6L9F{F#w zKcr8#Nw;ZZ0QSkelk4WzXJO{G3}oshcUjOVt4xFJW9xkx@3W}q?7u|h-j<4D@L#G? zTJX@5rJDrBHDnLo8)1EcdpDr44Eh`!>`bQzUsalh_?R$2h@o;0;Ie2`XiQKUvRyG& zDzh8g8twQ+-qx@GPW@DODU2BvINa4g!!R3r%3b3UTs}rx@zhYV@ypHo2tdDqJ9^-jv zIITelGHqX?RpaYB0l#4)@eX25p#5S^tyiLc3~fMKzJ!~t6e1u8RVC-a?I9+1rH_8$r{L77yzT7 zcIy0xUeMaxg;vu51pqr%0&;IBno&XKyfs@GT0>VhS`6aEAb^CSdicmoHv1Id5NQpp z428Xcktsl9-`Jo=plx8~$F4$z|A_yYp^6iQqPsi?u^1%-?X|rnV9XRNKoBeNvXJeT zV#k=hsx^b$q`%*6SIB~?WmssM_`n_LTCT0LaTft3*3ZV20WG2DEHGbXWkZ~~S7AIl z{tCv?!@|2$iKn0d;tf5;k$R&4QjJEaregx^#P5k-9jG2&97hB-ex%aX&l5ab^DMz} zL%s8#D{%V%l>-zbM2TM?1|v^|M&>}~&a)2yjgh6196kO)lxa&wEzOM1m{a5AUJy!!b>R+QPJ1<&D2&HIa&_+l*$@RdtgF`D`kU)59c zf4k>Vd0Y-yx>gMU1smwHqyM0RTU7uBWxG1CMaW!+LQO^<%xM30bVLI_BaXrfC?t>x zD+gy61&o|AaN0uA10gzHC~IK=hBlvQ&^_Ii-1cEu4uVo(J2Z`hfp#&qS|7-u{Wd`M ztw+EvrVOv0Tut=eY&?O4HQ>nnEj=)5Fk<6OfD6h_ct4K1;GVloN(GcKpi1D{iI|Wo zLh5Hh;SqJ9Op-C6gsP&%6+CCQD&m-rmx`vjkuz`sm}U+hSC1-Ls&}n+E<`5QRCZ63 z__EXNgHRO>HmKgm2N-sj8q`!&&p(>~heeL+#>4nIq@jg<2 zow@nbvqAoaraNm93J*n2HB9dk%(g|Ip#LGAL&*=RqtFoqj+1lPgBybUcYcW_((~K3 zVc}5XhH7*a+ojsc#sHWYY8}dQhVIBfZomGhx%glwDyP`$U4zj2wzdQiTmY5?S?V)Z zU;yZ1^x%{STgWcP%n}lP3YdeLUxnZ@EQENamb4L-Rit)1KBx^z&T@3(XH{9zRCkM-yu#UwkPDaJ^`1ZFIDRZ{mU_A_Z3q%gSgME}p9T zxHR=;8v|hSx+~?fGv~T&Lx64j;xKUJmnpcBZPXChhRdku*)7r2)%ou z5(iiIIO6ZfcVxu)JOT(cbr5gr69y6l@0f5@{Gb}R5NeQ8%K}6ag%uW%eIpS=2NKV! z`TOa69+Q71YbFogDL3jjeRV)P1WJI+tfIu~CmiGORpR1T1ir({fI$A=5CgT%0^>l@ zrh(zNTo5UPo$6r|0Z{gOIo{5CQ($ZXYMZVE{XJz3`^}dZ!qyF0*G*aKtyKft6o(~2 z!biMWCsLa>_m24DK!QgCQYnB8Y`nPYWkCn^h%`8?Ahc{BpC|eI z7gjgcMHFj#cWkn=kaKV(KX|XAdvi%l1$rzZ|=!*GQl6d(pW{JH)D&W!ZqDsd=CT=DJ>)#efAkr{C2- zIQ@uxOx9Rbsox=!{Q{Y5jKA!RTcJNihw#89has@P*x8{l`!)jzwJDUA*#(7CLBl-* zHEK`?wie27a-as_&0mmXxUf~>H6#kN((9S(^qxNSrjV(HCx>@T-YM1^2XK&?7Q|Hd zje%u_`ljKDRqT%?!s1(nk$X0J-(aOc4aNdUM2*jTvWAV|h(BWk`;yV45mAdvA(vX| z=alAJ6X6AnUq~>vf@obRokr(Hi%3BqFaDa z{`Gv2f4VLp-yb9o-Y)Oa@A+!rKLH$b?D^t`Um^dWBp^1Nas5;x_n$a{go+PDU`7#@ zCA>UYff`Ptl3ch%L>Gz<^<71(r_VK>MJ*ROJ=`=% zZw*PGB*0Y-LYM|KoS znT(Si^R*$$fA#K%<>PWFB>q??Rs;Sg*t>`VjcmfSpz)9&qm0S?R(;m{#Xkk^`Lw(4?(-ySr2fz0cD376xcK*1Ami@Nr>y7=uGNEL0J?Z`|>y{FYku-wd%iL)6XZ07mW%sB;8( zeB^)&-z^YW|KqqZa&$(}&=GnAEI}8GKIkGKoy=4)4w5P2^E7gul^f&e%A@z6)JlTX z@?5E5e5s-KIA<@`DLjllQ}8ifh2;(&S3q9$CU)HX4?)-TARY5 zAWWYy9=wn=t3eVrwb-fp1aZyP1Gme&Rco(A`8LEl*o5#1JU0`-vI_pmNa_*a zK@r$m;hTbDT&kt)uF;2L8EoFpz{EaRj|h z82l~j`&p)248^K@7Ve`8z!3|@_624mS~w`kK{oa?ItO8SPdz4|{qT+HtMeWCA+;Y@ zkNGT_cTms>RtmNbF-7Dya+FXqVq>TM;9^pipkbH3rEYzgJ z+u-<2Ob+rSqI^zI^M8BS6Y>c;M52G=pK*g{LIW#P^ut0&W@iwo98#zIct1p7u~x6X zkbQKdeN!5Xa?@O_Bp^V7DO(Eg(y50x1^{mM5zYIvI{vOjZiS_5QSZoeX?i4CS`ip} zT$qEM_?C%mPHisj(6l2L0MR-_?#9dpCjx28uZ0AR3$g7&<;);Y)%Snzr{#>^{If?+ z@Bfd~kJtq(O>;Wq2 z=t)Xd_{^zPWy&JQq92JwQw(4HaWBW!VjRPSTAL4a&z{96ys~wiPY)M(@>0OHT0CYwI zLPY>kKrmRO$ggd9ljYj+YdwPeL!cBQn&VS?jMJFa=51-8|tVo zMy`1TD)O`eDD#qjVmZkF;hskhpYq!*M|B%N5{$paw9X6vNbW$^3S{u|vBID;6AR$l zfIxyJ$ADAy6Sqr_i$F^)rq=P{mL^2`oUD-?SOhRz%DjZRB7X}D?@Q7sV5uOWvHzO6 z5rKO{0F9yvWdjz#`g*aXA9KF4y8VWOLlLIOhW6X=oYq<|K@FE)eY%I|^zw|&*`t%amhVBf*Z9S` z0W1l!s!qVK0`~6z`M)}xD_8GLk6vSc2Pp%wdQWW}qL7N{kxIlMqdNLh&jm?D71^dSlWR>0S=%7D1?)zx8Eq2cDBL;w%dgl#~GeC?0=Ot(KS4=g(Q8GZdH>wVTJ zgo(oTT0R*VUpKhP8IyvL*#r5pZ<)IYDVTprFfc}^1ZN_EJoR45M+*`$yXxUHqJTV> z+nkKVB?eAjcJ4y(9n?j9XeY_4-ku!le1FS}O7O^mn1`?X3U$J}isEi^ts z?$>MiZyjdkfB0s(RnNrt!pqxODG+t-JIQ2fdFsY7@tNlnpeOoxGwIwBUw3qJztl;l z#m9%ySB#5LGpqq@@R#5Jlq_V8X;2?Mc1EvET+HX-RaDU_w!pcBn3&Ax|=+hr*08HL>zr3V3zw)tr^0%q%@JDAf>5H2~q|?W5^x zisD&=)FB@--R-Typs=zM=7!DSu79uo?B`Ya4{WyKt0jBe@voPZukdJQ#8w!Pu`e5w zqD?Te%=bumb;MJ#F=YZgg3iG_wp&Fmngo&D(={7XXFR~g@#iNHdR^qe48Y=y#I9ZF ziJU7Evrxca)nrejfV?be%UC~svAVw%_i!6X1OhYA+JamC=-Dg-c>y*Ev>{W=$A<|v z2HE{uEqFo0)^BS7!`+XIS?%9Z?{UN4wqgWH-Vz9#M^pg>jRV0i2BZenNs}0q$*l?A z02G{^=wro#M+DhZ0#*`=_bNd7sjftjE2ca#@%+6Cof(6BCY~NVR02^gAC!@%j2SnK z@ZB6_f|DjOKda~d|M#xP4!75@^3ZAdalN_LCNxQ&a{Vz9KsFSMKh9d|I4a)h0rfdq z>bwUCyB=2hEg4mSSQLCgh+ex-y?xEXf0F|<0CDaY^n4LIWB6$rFwE@oo+&7}%zGNQ z&nlu{xd1Ju17*$q8yNrsO74cnA_OxG*>?zHe7MhKvsL0llm6J#S8je1*88dZZkE^2 zW^$MQ1*fQr*|`G%`+RO38j8d{P4KZG)M7^R#RrV$I=hHzdJLtE7Z+7O7ANQ83YAq% zK5d!e-D4T3Lxfldi(EBKP>-3j);8hHu*ulc`x`G zBIAySI_#9yJCGxC7!lFTFyFgISsQYE20>V?Tc_N*V(<%2J*GmH=(Gvq0eb&hawHDS z0H}9t7t49sDT^|+bN%n4Xn3z*!BPgT{k4_`=xGHZ$bi7y6_%lg&|s$Gz%IdTgF|fo zp0NfKX96OWYg7qY1yGphRcpPx_Y(jUKlteF`NR7DZ&5G#efsTQIaUFLB|-dDn}o~@ z*g|bj*AeU!9+I&&7&*7$a^MU&UQj3YV01}sNv*8Gv0azH$%I~K=j$d+t{4r1=M+7&2tGDG85S5v(3Qtq z)H%?o7dM^&hA|PivZ`G9`Mtmxa2F+5svkDQV}scQZM;=FJ! z9!7Da_`(l>eAe27OEK^^k9MqY1m>8tJ|C1d zm4jmfhAlmDd%=>TE!zb!pG&u=_+MONNyJcdW$O`WXauxeFs1{1l@<{}Ep(e>gK@yX zP>u-0j({Sssoeb_=GgzD{nK3YTKx=fn-zJlmI1B`bq)ZjbDRcLpU6&{Qk*B?ZN%f? zP%q?;5Y0ZTkxT;ZgGXCXb$$A5n#U zulQtV+!^YYC-27y&c|R1Kx#HTewLadK(Win?38ID6r+RexQ}5xcE0hbjff01{(9sK zcRaejy%7f&0mMDfX1ab$kv~1l=N1`d_Qqxd&1B1J|C$C+ulJ|$c5;)22UZ185YU)` zsm9Crq7r5X7!-*4YvJM{*mpjRPOqoc`{gRn#j*$HJEpl?F zi~r$J^0kQ6<5ceBU`I}TjXvMIusQ?EL$o2wkx`M5vK@RVNbT%&yFi0(hN1z)$AAEH zr-aN@Ppd2%{jjXD9GC%^>-W*yb-A@Ci!>h>ZrZIY@!QQYz|dU|%a48-kJd zo0bpuI{KVe0m5NrQ&0nQV$Yk!^cu$iFBiRRP8N-<$LV5a53K7!J#`M<(>))-*(0d1t8j|od2{tp&7Tfe|^ zP`ppAfnxl&KS0zFV3oKP{p{qogX@ZfJ-PVe6NM_Tm-taL%@zopBSrhyY;%Z(U1TW|25Rt z0)lN49c-mAxd6UI6hoXAa?v9I2aHN>tz|`-uyMp50%s9&Upz~5q4LU!-dClkH}P6C zOj`7?pYsM01>lVc{t3ZGXAjk3B-xgg{;GPUBjxpl<+WBH zynzcm&CG$WW#ntH15|ubr1)TWmI}RHJLj=>k{H!-R7~dRRnX9bI5BJ-!uFzKLu<$U zyHF0y0QB8XGF)s+cBPqHnMJe^sL@kz-g~K~yP1~0W{t4|y}m+XkQ#wO`Y^M+U!j5C z7KrLSK03^5J*3|X+IYzi*peN&$fDQUF7b!RNZ$uVPQ)Oh{ua}7+90?A_W2vqO!;>> zC9RAejVQi*DWcj4U2BQa>-uEz;X?j&*U8V^cK>=cq5N^>(c9$;bq+tS#pCP8ntd1> zc4`TZ=P$eG=XtMN9L0A4GHQwyAK_*O52ScZ!_*3Pge}3v$z8R|LM9-WAt9wWwj)0; zhd>Sv16Z8T=k#3fbrNARx6oK{NQjUL*c`~;`LthbBht^dVU`GEse?gdEe`_O$Eb0(9KxAZWq0_>Q-I9kVZ7YC~RK<*oW zdBDZ`8O2xr@w$wjezoL*o8%2)M}AO1$3{4x$`~Cv?y-_Ku_{y}Ck*YYOiPmq6m6tN z3LFu)lGB4&g}KngTwq+nMEgZG0Q?olV-)yX?#TUeNaVl_!0t7Y;<+8I2AtRPwyoxM zR}8G%4jKh47wX~XdSVww{WattX!ufrz?pp)iRgZeonnA}#24rk+F-*%sx>#3U>u@W z98SnZmbZRL_8vKve@{Qh4P)_1>L8JE+c1j8BH#wFL8!=>`(prYklJx3m>CL>XXPiK zJuhQNkChA0Yg+Vg?|DLgU5=0dyO`K3TKE%^p1~lFpGnFHFOVg0s>_uKhqwm zH+0Lb9A|rBQO9rjsIb98X8qZGcw58d=p1|J2h{SRS?$gnhzPu4y_jf)VOtJB`Xs;J zw(^}|D8Qwx@cgOVEHv45h2he?7)L@68;FD!A~L6UnrimEH#rEXX~X?be?|V;k3D^~ zK)y##$y=Tc@}v6W|FdB80(O_GCJmt1tlw{wH42Ct1t8o{&V!9yCW6gEoEX%8^g7vo z_m>oLyojQn_;U~4E}v7?ej5t+^eoKN-GjjMdl*>)aV(KBw=d2w_eK-UII6SjAbR;f zt7+&@+n`f9Lh{)gWd6c&`5w*K@1$LX7MIH558SbcEzh)x6|kGypCdumvA&-;xxZA< z5U!Jwg~{G zK*a)r@eFdS-eM@%T&ZcmMK%B?yGj1}d=~$Nz$6m$ggLg_L>P(z}8i`6} zftUA2m9b$h$!{#aA^+~(2k>{jmU91X@?9^5_{uZX8wd_4Ow6p+Oo-ABu1wkXqgyhQMUqcbSY$guf`RUP{rXg??M$LjsE zJC_fx+q9o=MuHrWl)os=C%zz8FNU4i4mP-IH#D6@4V$Cp{IR#m-1>9WpNEXfjq!f; z=gz)s+Y1!6d}t*z?qe^Q#M*QP1MzKTOI*F3iTwU8kAU}n(dF@5<*j`qf0G=4^z}ub z+Zz$Rf{|AH1HE#vid+ZrKK+s0VkNzQar%+<8!++55k>be*YEcI`s166bLmNk@=iSa zIk7An$LZu!8IbrD{~=K-R4>0eo((}WU?LLZaf*TE39>KKM-T>>Qz4KRTyXHPvOACUu+kKZBhRFLyO&>weL zwx{C5C>UaubKOc%qKBERbCUiOiT>~E6Ms_`|KH0IlZWq+)2d|eRmW|cA|~a|6Cj#o zV&hfXb9SnA9DDMGt~%HIAfu6B4ll$B1j9htv7INTDOa&Naer`fQij$D<>4UQ}4diNI*4Jm3Wt4y`gtEr8fg$il5v7#HK?8U`8Mi6Nskt z)=->bEL!!mL$t^M$8bz@y!A5q)$k!1%HLE~zgl?pMUIUEqbE#_J8>lY zc(K|bz^Aly`aiw#u-=y%fFh>wBgzD_|v;{;e00OP@j9!)_Jw7)Jcv>Fi7fNsL3 zX$}1!2Zv&bh(-~u4CS#G^db}ayd03+%Dn`CPm%3AwS@IUs?=8%f=<3YX5{?aW~xl! zFF&Oa=P$qev7;648_4(kaXH$3}TtfYM?XWheE0vEbkNMM>g*ca?G z4)EeW1f|yT?XH|F9T*pVX84|*@>{1Nc@F^Q)B|bu#xg9WG;WHms4B)cZe#O}&-CfQ zBFa}w4m1Mz-21e?`=XraW~#V@=KZaKsT%$d%>Tm-Ls;WrQGj{=JW~Z<#-5RZtpSZQ z#{ewxaL!VWx*c)azfT2+p4_Azg+$0{Id4W1XVojdfFU$G?R_|?>$*&z`8gMDgFRIsn!wGqp;uxpE{^T&; zarPd{)%^UtRaL=ijUxr~xqf#J!hYna;h`#%)z*_590$IlC!1qJT0F zX-9#;w21QpdayHG0ezz-geWTpz^;>^8A6^RO0+2McaIu+ei%d%{g?sQl&X29lwf$ar;Vp?%neQ%!#A?E~fPC#!Rn(?l+hrIV!zT zt%B@-Et?g#Y8ce>>oxgnM@9Kf4!j+>jW6}f=D5N?XM<7LEP`XWZ@m63OlRtB6oB>m z=eZ(=3(O82WGQtQ-vDY&&sgGD zk;|H;{3-qMO=$4QUW@ndPI7I@=Tu%6{_?o8-DKRY;G`dbgDt2%V!6C3D({mC4CK-t zdy(YL0mh|FWbGj^NFeiw(~0es?6XBUe_<0z%cr|>dLaz*;iIJdCI@Z+p8m4*Z@A{{ zY`H68o^3DSPF%L^b-+{X!ObR+_DSR@te*9YDgN^u8dc)zo3|SphuE zItJC!w2!~i%Rt*&nTB*A7I4-c!h$lA?8l}j@cshn z-5!$Lmx=G+cSi6vjgb=&rei0B#d|UN{V~akaS%+84pe+Y_9GTdxl=Ld&L`xLJzjp@pjWb_4@$fk;XS z=WU{1gS4O#mi)3zrN3q(2WeSQ!NdWjLV$v5*H2w8AKF9#uZ?`_Mme#2y!ioDp*LmL zcf`n3wF+s6=qSpSK zEaRTX9BqVWnvBi(aq3jR2CuOd(r0ddR34WjDhD0`SmouzFJ7%#z_at*oKryNSjc;N ztC&EiSI^MwHG3L##pPT}e~V%^*t)c4#>&zJaH$F&jeu$2n>7qA#alK#H5e=vFtC}C0&Mi)5%q89F)APkFt7rE=H-{2 zMhse9GUlL@gFpz<*GT<9N-(e{gp!R#0ejELM~)hg{-8v|{Wq%ie!u=ZL3CdBQEBZ4 zgc{`SGAcapzwlUk;mPZp7q8RQ)3mKwWMuX=o*v)`VG1vPT*U`CF3LWJzkXh23QotW zoIf7qp&O6bsPtEoC~F}1-Y0v>BCc~%w)OVx?lBAou~~jtvJtl6(J|q7x$q9J8D<68 z{7`EF?lm-MhfcrbE_Yp>|KUqR01maR_Y&3BgtKjDua|eqM*di0UjM<{+@Sq^!E`!cu)I>{mQv9oyUDP%|}xLtc=G7&@6QyTekIa5u<+f_d&j_x4(8ND8I>C zL;xnAde7A-O23%x_Gb_UEHnaWS4)D50T`yU)Uu$a0&&=##Vyc-my8aqCtxAq12l1^ zNyte+RuaT*L??(3l#xcUhevMVy049Vi}L90a=jwu_o}r%QG7aqfR`<3$;y~*+T`l> zt9Pf@c3+#pv(MgF!}>dfp?f9%5HuuZP=Nij8HX*v$q7RGPL;ePj1K7Ro4PsL-^1>2 zWWeJI*@_;v)a&TecRnn?E0>V0jR7d9rTd+koamMk_cRq~=EpP*IHzgAcI<~;bbGd@ z=zH^kGNBrQ$`Wk6V-QV2ji51T0sxI2*lIF5G{y(0-GP>zI!_>dvB*b$?1;_Ce=X(1 z3i53qlkZhcyB12d+ISP4FK;q8szs%IU^_ZdO1^K zJcl&EzWcgFq%5~IepxstWgF(xJTo}f|5VgEy zM z;9MhI)z=6VIn#jTn$riLkLDxZ>WFV)xzM&gdG6j=egKlM*6@O*4UMz?>{DsMr?8%% zfD3Y-f0DX2nS%s9Cf}oq^ak7!+|y}iYyMz9VK*HFIl>`{vI-I~$8aP{tZg7*c~eF}UJ+2_sm ziU^+bGpZP)gl6S+(!STkW3_U?*ZiE8f0Gk1EHuN1E zgsdV^n}jedM5_UzEPxLn>|e|@y!+6Wrn)a(LapBKWIq!OhD1urdIe-?`;XK7Q0DCV#uKRtCW2 z@muBCZ0p3PsOQNSJyz_#jZiGA9Gw>Jep=bnF#e1FzhZ-9mVHZLHjzL_~N zn3|V^fnC#v5Y;I3)^(^DL4h$yd!5|(uKVRB*$BpP&v)cKYH&GKIlC9lD}4Jp7{jOK zG)~Zop2M$}#A%ExI%dY5_FU4n#7hu(Zxhed%7Vb)81|V9SaBUIxfgxrD67HL6 zl(0lpFpdhFw~Y-Bv8Cgf8@Or=91IMcBy6DJZXe~oqqaEnTM-TSXZ=iWQ{{Oloo0hj z8`@?I9IY=`g*>`cnibR?8GJ)}ZROO}&N>2cwchTp*-&Xmb+=i&tBpZvG5~lFf6Vgz zv;q<~o<`D zyQitZToriXZNbtE3svIQmARRy!57X7Kvf_!{EwK^hoY2X0*$8xX`z?qM=nJpaNo`H z`q@n0qvz|G{a#k);fX71Q-M5s*2&Y#)J7XuA_4R8!ls>l)LS&#wAT7VBpfPA22=Y`Lkb_CpTXI50|wx045Ke#zN1XPQ(92Z_2u( zN`F39FtATsal7ncRzTRJ=f~W@-I=BVJ||#l%HKCNB1pMaWglX};E*9!vQYGhpcM=c zF>XM^vExlXSJM68^Qb%{M_3-ZMc$$3^%jw7ggw#_Ky#rM`H$7Be17n;JhpY#)o?p5WPdt3_wR_VYKeR zq>9fjL3Ru#1p;H9Z~^191}rL{ee(1p%L5rH{#uHqT3R)Em!6#01IfoCMTPnrs@_Pr z@oqa44A<~*JdWr(A8$POhYky7wxKQ8Dy^pEt6_Q_`yE;9hv&ZVIC^$|Rz?Ul>|d!4 z2qS^EZAFdv7jM5pKDPn+zIj<&17K2akom)xpE%L=XJXtwrcV3ZlnQkF4S^Ye)XaR6 z@N#S(swn^sKo0|e4nmIxY7~IMp%^=%55+W26B3^&yv*`NeT~O7B{&j2;g8=bH>+2^ zQ5CGKAY80tvz#>-$je);!E+f0^Xze|Pf~+mx^Ln8?B(USGR@NCw2h`!!;tFiJ?8nV zuW33zsK;+rkBb|J)^de3=&`N2c~$r+3ec!+Prsv2o_b7Pkd1sxvepK`#3stjmNK_A z;DmyKLzkPdwX4d$)r9kVAP1Qt*tV|0cCL!Apy1vtvpb4~SeB zZ!-db1=M9C>>JR31D4F#AW~Eau5IKu-gJm@0UN`u)suVl$DPWv7hiJ0etLO@(jDZ& zjybV*?K)kTVR$2h#rny{YbB2anw7GlKNF=pE$PTGf_?S#*|CEYRL#4a5nzPSs`3xE zvoF|2=%V>Ph^)i#`4_H`FMZ#}>wjCa_6EQPhd%s!a?-GX_>wC5cC5l$6>zNy=T4Cw31fRrF$RzMqUp-ANiV3c_M z8C(Hy&g&|#T?L*#aqC0!d$Q*8sZ;XC-9~O#<=LqY+dOmUBeAOTkM(#j;9Jz~IrhFt zAg=b&uh4Q=%W?dbUVc(s8};O2ygFwnSrW_`3D#JDKhc=;|hBj=tT-s&hU#VNpQGa2z(Y5|bnt2Qgt zN@Z?WJiPthggVfZ#=+8m3-uZ04@eF4?OwY4MfuFz58)Edb(KS70Dexdu^UctcAzy0 z85p>nab`fHCBZP;3+xe?*nz9dMPUHEG*|&afP)w`Yutc#nkQ%^AukCAOt!Eqody7` z!GO8dk!eB#R-n3bPA}lc*J0$iMod?0l=Dtiqu1H*BTcrV_7=vsJ}}dtvjXmoqqfGJ z-92~(-5?FYxc%XL%i~PZU9nqN?4Sn0LisYb^{P>523zp5k5=5Qyhk+%p&$CiTz+@M z-+%Sx&=>%d&s{HDFTGJNYkDgFB5i9mV3&$s>A}g%e(nBQ0Z0YrU6U65hy^6<5VVM3 zKxxnsElh@-umG|JbJmieRtK^(2i+KiY!QNQ_oZQI&gK}tnsGxx5YS38pqb0$#0s>kn-wgh^dUp5n;z;}m)>$RM zK)Tp!<`3F6j$>Fqd3SqSy>Gf@dVoJ>U=(60nrz8eUf9}ze6N)pDg$6*j5RIU9kVE4 zS|zr{Rbpi?C`b@@KyVM9KB{3rqY$b94cUPjfMRE* z5Fjjg9W@9FeQTZ(95)ED0&6UNomH*-+TO1G?iaH>{}WHjQeH)IvedQu-fvWeziMLY zad5^yitgB+Ytl%akW-bk*4u4Pf{)(x-`zvE;-x-&_DW8!o*a4oFroQWYLxLtDsMFa zhynr)4MKby+Un&#@i(&6K!0BG3&LJLuUYtAoRdHU=Ipz z!$V^BlAs;q-Gjr*wqTHdRvU)Y>nkwGXu!RGr3;e~BqKkdZX2#CfJFmstSc$G>dL0z zj0LqY_N>1!7x`-6%Q-#9YS!nz85G;RyWZ?2m8i{4wjleF9z~E5d=N z^BFf&=i2^(7buo%(5~oqN{eKRkwdE)&M@=2cRO{pRc&&qiuLl|_X(7nnq_M4Zg--{ zX1DC+cY5uZd&3>`b}GkBh5@KNWTiAGbz`%h_>Pf4jTY*A;qy88w;Ck~|DIe4$ZB+7 zT7E^oaOcyT@oX1M4y6Gw`HlBUd+eNCJzM&?@RcaQz(6Yr_GyOwflb5B!b7v%H!Bdz zZb@<52I~dre32+9!!m?EATYjga!?2z#)_-WFyml`p^2*#aK^y|HeK`nltcdtK}H1hPv{C=eU`fZO;zms;>kKVq1Mk^2OCi%*}o8hb%T@I}QFtL3C zTYGX6r9i!Icl7qGI+^Vm$As01!qJwADh^QT!EvQ3UNq8sL8)!0cjW% zSE$&4_X&7fkgX(1U=ZhV+A!1Dth+Kc)L5>)Z?NTlc3o|8tvURK(`{BsG-G!i8fI!3 z-n?uG=7iW+aBcG1PP{1=XRJmMrIz^iA@o!2ekIHYir)@XO@9pIgVrBxM7tS=K@+OB zUqSjcgb4k34m$mPH}z+Z_44_fUuAq`Bj21HY6DxU123bGXSXt4 zgbfQY2Rw{TK^75o(Wt>IgG0DH#Eim{6N6TogPK|qu%3a{lAykKoCaD<_4R4a-D+4~ zhh=!joC^Ru8(x`L`rl<5bwv-}NJ;4xc==XiAEcu4%?dgXuiW_0?$xbnrnmB4nnL}N zirb>-J|g_p)0>Ld{R$PGZ!}l8JifT1L+O#fcec$H9vV|+ujBX_bvU`6fEg^ z{rsH|%Zsv+1Cv8<08Ff3KqG+@t>^z|n|TxW1p5QX1JDS-8id+e+|ra_*Cq&UX(@2Q z@!`{;kV)C=tbo;tLACtHUIFhEY*x-;+MkzeMF4y6i}%$xt9kha`8zoCj?9n7!v|iN z0fC=wTD%6L19Zm?`@DBqZQNN=;#z*IQ2}#$=I0anM%>f$jhm5cFV4G{KQw;_fM;n1 zz&%-s2mtDhctUI3%kBP|&s-;8{fVEKBpW$UIT8lI#1>Nam&p|v9IALg$W9D0zRR|j z0vF3bFi?#_UXlyoQ-du6P(a%H3mPK?$-u=S$tMQY@*nsCY!MEX4^ZEKWX;tf8m_n; zqa^?a?YO$BI8IoA*WRVj)9#NFs)kI+yDPEh@xfM@{2EU{=pUS4=$oEoQZ0?lrM* zhvip4eWQG1xtfwz(S5T`$wMkfi=Z->~UNfX&nqN1PWF{{S zMP(z7deK!dZ!!#JB~>t~V4E2W1M%$EN^>=oA4`50g!22my8(3w`}@KHLH+nRkL@() z=VLgg>ogGPap-oMslqSOWMs!;Z(}28FZ;SY{npRRo@`|8&P&^8Ow3W^Yqqp z^TAtTwcIugj-~%_}>ndfb(*Np4fG!x&u_0$Ea6U)UNFe zv@@g91@qwcv+Yu?p}QH8ens&sz-NkX$6GkhtxH_cN;OyXuU{4@{!Gh|wzxGdvzB7N z{>}}5f34+68UPa;ZGHZjynZ{&to8@k$Z!J#txK>*0fR>YYy#qZKvR0d0MLHi_}swK zGA)P$hK7u9w1UvrJbtW*8{x)t@s}$#l^#brsRwfi$I(~&$u{;M7?U)G`zwT-QVm4g z4Pe>fHB7O0nWN)X%v)oNvfbB}zN6N+LqFy4_48E2fQVp<2B7#o6&)`bxS_f2XV~Oy z_l2@Nug2}mM`e1_QI;cX08ET5bmEM>QA>ieIxwU!v(TF2SEXOt-hd8!11uGoff?w_ zLws(4dj9d&8iA~aVpcXB` z<0j!{ogl=?K?xId+Wn|{WzJQv?M7j68g6CRRpm13>^w01-&cz_PH>QM9-i=kGGYMW z(N~6^EBh;ea2Mw8wMq}s4fvP10f8@8(F~#U^txh z*R1rlPxW{9zxQC-@%K8*u5I_D=`u`QfQiJjzk_Zyzvok?@O)Buf^qH2aa8KAOa?*9 z7zUWfSFjGsZJ)K+js^aX{9TpVHZE5KP@ivxKpnr|GgIYX!t2`$U)#yk-*Mk&{{CT< zOU3}0SXbRF$af5Bwq@b#G%}pcL1~;AWZSQ-q~Ed>*cc;_lY{JaYIj`wO69RMvFd8R zKB4m~p?tS$3^?R6c+H*7H65C7%u_deeIAX6)!5;=_lNuA=U55r`wOVIysf|;!}-?3 zeCF>};du;0dsTJ?_{<*E9N*Tj+pV6f=THBrJh$=shgU8s15m{#=BVOdqs6|aUjYGY z8UU_8q5w7t)kPsejew!(hT_-!yICRJ7>7WWJeNAQdPMwJi8d5IUt}u#?f34r95>Qx z?Jc)Ek3M?j@@TB-r;wkoyI;{e_ujplzGhfX(|6(pVZ15((te-wbIlga_wibG-$JrK zr$RPz4|dMRP`_985@RV8cgW~ z9xu0fV~t6r))oxO0L5oa6)sfvsrGK-XnVJkulwt*l5JjznA3R`!Hk(H?TF072&l}| zWe?RLtSCIZyB76S*=PC}uWEBy&P$GqGM_5|uw3YK=b9cYvf7>JHvIjgBbTfJsPf6X z<*M_8T+>9^!VUqn4*RTtMIY;)0KvIxSHkIGKY^zmF7WWO52WjzURT>;DV=2X=CAY| z)bFA6tiMkj`>u3qC@RCQdUy-tvm^C*jaUrnta)|I9IYb~BpmXvrmS08ETCAlveWA;?wx06%a8KmY>k4_y7QI^)jz z+|~P!%`#IdZu0P*lX7bP-I4i@`Fa~x`s3ZhTUT8#E2zHK*el7VqVBmGi&%}$45d08 zM{W+8cwV!=Fq}83A-!$$v3s=IQMTsOYv$!viSxaof1P^$4{nBZ97Wj}fE6)A(9h(J zs)(;c_uq&G=y`JDjpg{2?6W!;V>N#tLv{z@YVUgmn*>mHi~+bLYHBpNDmZG_Rpdf#A- ziSdU>UJpF)EwWX)>#eMy?iZHiCSuNVKgg%Y6x?MbJU+)fIu(8H&$D~?_ARkV z%IBARrCV-gjeu14#1y~pcF$}S|I(0+0r*4Y7jKaHcU&&lX<+@j)ml4fv^|-0VtbA@!wSj68xG%FEomyxy-~ zU)0kV4dG3x$H!IaOV}&3TFzT+7unvGU9I5H8p+4D z0(^7#-b)$FaW#xzSZJ?5o8sG1ds_tk`FdNf_%s4@DE_wOg{1^*$hx2Ve5pH-4m3~SA zy#8*;JVN@_+WVaMyJw&Iu`JI`5kOgNmD$c7e%@1WKVRt2+f;awT~PJ5j;XPFQBt=p z!|%Q*XEwF`OItPu;M)`%O@7_)$mJ)Z92=5cmUbkXGFQ(Ipl+p6rb?~D7cIlhX7udc zu*mjPcR?*4$M^Hha9&)oMaB@mrU3fz*0w9X)-3X3w^&YZp}pN|M1YWfyOYIoPxfwo zLe2--c>9fP48W@fNE-VGrP4j(cNH-}QS?Zr63A=T0NRUy|Xu6SBPFSy^27McLbg_#3%UHU{7| zkn#bE5C0q4O6O!-6@JTxmG(*IrtEX|=8FZ{b!H64us&{;7x(tuyK5r9wP)b~ex9kq z<7XiC+YI^Dy_c|Ew&HHF0)37?c{MJVPDA^c*izH?g?)xQ~ zA3KMR!|u4PI$ua5$JA>t6e6%y=W_{W0LC*O=I*=Ok`%np z3MdZGy(H_>90%~PPd$ttW~G);^o(dFHYjxW{LfL-+Qf&9QTbx{fE83|dy!Ck(}S@dEKLm- zdr?6ml3Qf0>Vq*4vb`1Vs>${NPNCqld?7&}fsf zVa(HEvzPGhwdu5>F zoV;VO%H}jxh*2hE^C(1y3R9R&gWXi|#VIuq8B8oe5e;6k>81)Uj#*1!7)0`o9()@7 zKowcsvlb%x!kM_d_hj5GRb0u4hcyrxDEg?N!LfobsAQ%ZBL4?VF`fqXR1qb8YH%4u z{wo5*dr#j@Qw8Kg&d^60M9zk#m_&o7f+>!&OUa6B$i=sk%S-xFIgy+{)}_~)riY0T z>G$|;gH_HR&9!hmS-p_l^dk9H19@l<+0o9kI`cbu{3!X|7i7ama?K;;!*`I=M<(%< zp#uz143WQMfD{e(IaTn%2y(@AvVH^Ec9?nBo+g{Nlj~Q8pCFQSZQj?6fb{L^8?19` zSAWq>bbnWWh0Q4^ihtP@@<1~aZU497 z7nO0kt_K<50*H3?W1G7#BHvp_W-@d_dzxHb8KmKVojKnRjd3{XsiS|@h({b4;HkAFSRg7ISu zdGA#*xb~P1Nf!Ee(3xHR2X4p>^Ax1R`{U3mY=UT4KeE*ueurFT1a$Qii>Hm(I(?WYp-T0nLbH52Pb|e=Z%S~CHMj)8Z?+q z53OqLiQOcO>fRk?1x7%Ic8u4Vfu3;d?e!I8$0^DHJ-r~RPXV(aLxTY((BONu_T*n4 z1)>@kej76QXt2npJ@JJf_OIWqAv4{SJo|&aGmWjP3gYmH#hU4 zXFp~vkd2)nfcH7!7k=>J&!{p7!9h@Gmrst7TPnmOZlcSielG* zxDe{GF^ysi?HRRZ@>4G6_-PpVg>BJ{0cKce&)6aUF4sQ=q_7M|{@^({kO4|9v}e?b zQT_GjyEP7jQGb}h{tU3lLVHG?S^15ezI5ll2aI~(`S*?V|NOnqB$q8@Ecx>fa^_TW z+#qt;t>mC<$e}mOzdwD`KZn;htv&x^VAS)$FTgCT+VhM>Go@i@o5tH4gYfU-6u$j} zUhqbdb|hc{jC%Ci5AbRvH~)Q|q_Jk)Sp6M&cl)|Md_H*_xoHEP^6QVMTwEmBvtIFt<9<8)b0jI;*;mv=oh4#Eaj_)_0lCQB65zn8#r!xu* zv>iZq7`2BPoFwVJ5o)VlI-M~?y7i8{ry*K$N#oDWf6@sh#o7*F5RBTv_GrQY-&$zT zF$-pp*B#T4<0sC=1*^)m9l%5wwS#Glwa}hJHmoC`xIrgg-gb8vH4qY&Y2U=eLVbfN zTy9l+4w>}^*|oXucot>pgj-M7{LbYtYL)EsvxWB5k#FjMk()8?)`HCCsLsPzYJO)q zjGB-B7TQxLmy;%&7wqYFeAg_eI>YbKZW_`QM)ib!)fgaWz4jDY{w3M#EI-D%q?qcA z8KCU|4ubJN*?wuvx6qzqS?uTseQB*NHl>j2ygWj=g&U59Q56R0>CwiQt}=!F;@N9& zVM#@3&mWV`sEb^EbhQCafKhFs&uVWL;^l{upMS{Mv1z^J;Y(=GKP!HQ>P#ur)&)2b zMwPJNUEVCh`!A8w*0@nJrJ{AVpC-Rio5{nq-vEw>Q9)QC#Q>|kSb!t?#4oP@+iEh~ zB^s&Jx1B*w97e8QMl~i3(Y^w-f>8m}xZR8U{^a5D3+=r&itN}ds^Te9b-3;)HYm^C zuYCnL0!AfC?fH z!cfMBZCk_iWXY`$5I^g+XXN$AlL6vyZ5ok- zug^~rR<{Oynh)&8yT!4Mc=o}1%iV{+*{Mw;J$ zCLg)VHhy&_+C^D871f5(4{8g7jD-R4d^C4f^z*`_(GKmsJ(ldWuWk04sy3&;%o@4n zG;Ig)01SXB^l`Es{bZ@xFaV}7Kz-u-wPj?O z_a1rG5w=+yGGr(%&9rSK41fV%S0DWOAJBU?{w`g0(>vKFjiaS;BMg86)@Z-{d(ZTj z!pADxB=NQuNIIb)qWZu;|FGw^`kj-$F_K^_U;s=Ztv>kQFQ#WmM;ejgPWr}3hNbX4 z3B5Fm+MEN521}rf`6++V2oLK=KYUyF^GurwRG=UF6Dd zTqi|I(pJ}l<8t?(2BU(oA%f}zd^DL(7}za365B;t-&&r_^=ay}P&ss(?%MN$#H|^cpXh7^w_m|6db^80z1K| z3+`=%^rMDEAjM`NlCr8z z>2#M1P-5sMQmEs8JI^6Gao_78QdMMHAj>)wU`| zaG?n(iwh!(OF&VJU;qh9u_%k66$FvRhJqRt7b=Q^ia~_{5rLo$R*)iKz!WIuGdJ^x zDSbRBZRgx&e#s>KSKi!v=ALtA=9_sF7_`+Ihhg?;y9f+%0O+LpK;D0yo{-?vxs|2% z^hc6f_k}3~E zw#@$P-}me~mXTj_kyzA+!EwSk29|&7YZtH(Mn+-K1-f$q7lmaWfTSk#PtN@Rz5Ps4 z6#8QWjYc6|gbvzPONTZv(!&&nt3HsCJ;Ek0vhV)CDeg@1&7X7EbfA3s`S0!I^skc57z?jD%8qK&mAjw5=_SklX|G zzT9%>Nv3>`k7K|yFb*349@Tyz!AoEy5()mjuh13+{Srnf)PcnAy_msv&`2b540O=6 z{mjK_Fw#SZRq8?D^O-afiPU4{x70oc+zBH+Okscz!HnQVFq)8Uo5^oK5&@Rdv4ISk zNV5OE#p(ha#=*!a5w=%72oyg;qfy8(kr^Y&UYBJSDS4n>5ENttn14hnUiTj08yFdn z0rT}$TaRZT8E!NfnFL%?SihPvv&mH81#kHmD6QEq6OkOWY&Q##1tUGo#_e9}wR>E` zU;w7kz^`Zb3mf0jSiOfHkwK&mYGwmMGZ5&g(V@ai5EyX}jiW55ed+$Do6OU%gWn^; z2a~nmwR>S?ybOHIn}EZD5*ir`Xqu;%zOb{u!mNsQ+L?eN7#Vi~C()tO*T}4(F~>NB ztrg_6w>7Wt%f|aF4bE#}!$Lx~3mD{eO!mfAG(=4&NaqDQ3eDVg>(PQKY&?<^RdocHEr@?z{P-uOD9X3LSCmtougbJXhF=OJJ#-irx-ri;oFMx9 zab(Fn+3AGE*B?!Z{}9(4w1ZKfU~5E&J#=6w?S+E)sPa}-DpbKmq!we{3f5glNp zP5-@32Zq>0U;d}XQBLhi^_$Gn51aWJXTJ73?ceEO)P)Wg(V-^v0YEz2q?L5XRz`~7 z){^}@hTFHl{z!FJeXU&$muNWyZC&@ox*x z!7VWAef{@#gR58qyo;d~eZv+;z2)BS$g2Ifhf`|4#)HR?-_8*9ELON+??x#UeJM%PD=rTiYB zM%<&F20R0Xz-+Aa{Q|0wCVQy8WD#bMCd+4&KYt}9$GfUz#~>z0iA`%HaFovpYSu-J zvqYK(}U<$>FUj#|C zJI*FQn?Ys#mjR0{gCWpiQ{opxl1vJy{B8ODw*oV$cY$Hs|HN63OQhX6Y&?;p?TcYB z0H!cB@rxqIs2 z>`nXviL2dw3OV<+@K0Zs^q;2H1n)kQ4jpbx{33~~4Z4-w`a46l z5L@hr+T%_x&Z5kwH4?=9`0y_lAPWXShsmnW|KdG1h^jxxF@1xhgDw0{r_0!^g9jO5 zB)Ipw%%2}q7!O0B!-uNQ-&(A9T?tS?npGySNzdd0BR3Ipu=*-b8F+j zUYpm8UR_>`_%C`BnE=RcL-JQ7liW{LW)4BCjk-Pe{}`#odD=QG1F?RY11a0-n7Q62tS z)Q8Q=t}6M;^zRtWyMo-4$ah{8rQ$d-e_~iJabJN^7uETH69-ZW>3}O6PxigWQhUCr zt(9jU4j=Ee(qF#;Kn6Z&GjD>W_I$8=C;9xHVe<7v7@h;b)S*&F|B$=Ls!GNT zQT8o3FFbx0v70t9>Z7UzG<^isnLNl+ds^(P7JtiSUzltRjP%f9huVWEDWp0jh2cu= z759_z;BjN+5>Xm<2%BwVE>44y9y(MgJqXEbYx5s_XCInn8HMqyRfb5~q_8hDzoIgX zFfeKF{l2xiW?GT?waCCSQNl)HUm$4(wX`xxoRy2h2*k=kHupYV*kV>w72>XM zmd6Z;({=;e>B$+^_Q^LpH^o1U)Y@<}b!_~Myzk18FIhJeD1tcc7r=UN4tcCV&)AgP z(Z%ru;PhL_-8+~%_Scio-W|HM+Cqn$Alh62mV0uD?G|w`Z>s-V{pHox@FGpLwwh!) zs%H}3R=fz&HguTp(J7`6`)1d6e=pIV8DnF_(}jJ>%ovf7Itu*AA?OCtHq2qBSLbZ| zjbzybbrFr>qn?ZG8PPdGBROETdk}0?vbIKXmxstFvl1$G^kPpLTY?{h=Gl zx~)tZHk#YUb0yJgS%PASvx5$Acy-v4IShiIzaeMcVV}BfYx=f3o;Z=Vl3lBqG-)r1 z_B(G!KZp(~0T1{cVKvY+<&bv2)r-jmk6Po=$IHkkM%p=e#X{>tNJ`oZ&;DcqH$Zd@ zI`sAJyy)^wNZRXQd#{@zItM!J_UXW=HMEFc<+DL*gzp^ zubo!U9Il7x^aWs?cW2gAQK)LK9rg=La1})76SYhB*B!_#I)g^<=7praGqANR;39~w zgAQMKckFA^DLho|CEFHgn5Um(z*NtUwO4g@TPY;%{f{*4%Hln^CA30hdX0%y6s%QZKLoY?S;JS z--;m+@j>96lM{ozn$_zcZlcJLv}g7Y9iG-jUm!4tC*uhO>lYw0BJG*2RxwXta0GhO z;qTaj;)D4Vo~!o!+dkd!2Mirvjdg;~+V?3^DD9bj!~!mc2wD=n)Fi>!X64(E$t-j1 zs0~yt?Ut6r-^BvTAd&$c-i$F=tiS%&b&~edAnoPx5=WprL~>vbm(Zap*5Dc0o!s)d zq`lMGmu)K$r!6so!&$pkD6Z@wn@muJykmcwBk*PwVbwLK?*vrWkHDvR@VGh}>x-Ctg z`&*d9P>AfoQuLui105LXLSVfG8XMxj;QL`UIn$92lJ-P;U;!0$I1zB5+8KN9L~_GQ zJ9qoR?j)AIK-vIORqcs%LWkf6y+}GCNPdirZ*hsE@k9>DFIje#kU3}`_m$WCc0f(a} z9coh(@P%{9d-{-*2As5UecSU;N7A0i7A)XeIyBOOGF9z~48jr&r^8_?fmF38GP?+j zp+gImNRswMHlf1=EdrAEM24ZmL^>R&l1o*4BAYOe$@&rq(pu@TIO_TgA-Z@GxQh-) zsHBs$C$b4093B3ml26i}$R>0c%slF-M3l5AGCgVND=Hx+?TKs>jeDj|8)~HzR1G;r zb}t9@bXd}!$S~346FRJ?l2+25$Z&hHJf^9JK+>MbFf3pY9oA9FENM?<7v@n(hd-#~ zZp${QA*V+@<|VZKX>THscivR zI3oxhx#;;H2LH{eQ*Pk}e!!h}96JBrQnZFoD{XG;bR={8z%SI`xMgW54ZO(PTe_m?K+Yh8q_j`8+HKz n0000000000000000Q%?)8LJ92HUnh500000NkvXXu0mjfmgd$2 diff --git a/extensions/svelte-web/icons/preview-right-dark.svg b/extensions/svelte-web/icons/preview-right-dark.svg deleted file mode 100644 index 1d5987719..000000000 --- a/extensions/svelte-web/icons/preview-right-dark.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/extensions/svelte-web/icons/preview-right-light.svg b/extensions/svelte-web/icons/preview-right-light.svg deleted file mode 100644 index 3f1152fc3..000000000 --- a/extensions/svelte-web/icons/preview-right-light.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/extensions/svelte-web/language-configuration.json b/extensions/svelte-web/language-configuration.json deleted file mode 100644 index fb93c0d7f..000000000 --- a/extensions/svelte-web/language-configuration.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "comments": { - "blockComment": [""] - }, - "brackets": [ - [""], - ["<", ">"], - ["{", "}"], - ["(", ")"], - ["[", "]"] - ], - "autoClosingPairs": [{ - "open": "{", - "close": "}" - }, - { - "open": "[", - "close": "]" - }, - { - "open": "(", - "close": ")" - }, - { - "open": "'", - "close": "'" - }, - { - "open": "\"", - "close": "\"" - }, - { - "open": "", - "notIn": ["comment", "string"] - }, - { - "open": "/**", - "close": "*/", - "notIn": ["string"] - } - ], - "surroundingPairs": [{ - "open": "'", - "close": "'" - }, - { - "open": "\"", - "close": "\"" - }, - { - "open": "`", - "close": "`" - }, - { - "open": "{", - "close": "}" - }, - { - "open": "[", - "close": "]" - }, - { - "open": "(", - "close": ")" - }, - { - "open": "<", - "close": ">" - } - ], - "folding": { - "markers": { - "start": "^\\s*//\\s*#?region\\b|^<(template|style|script)[^>]*>", - "end": "^\\s*//\\s*#?endregion\\b|^" - } - } -} \ No newline at end of file diff --git a/extensions/svelte-web/package.json b/extensions/svelte-web/package.json deleted file mode 100644 index 15ad134e9..000000000 --- a/extensions/svelte-web/package.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "name": "svelte-vscode", - "version": "0.5.0", - "description": "Svelte language support for VS Code", - "scripts": { - "build:grammar": "js-yaml syntaxes/svelte.tmLanguage.src.yaml > syntaxes/svelte.tmLanguage.json", - "build": "npm run build:ts && npm run build:grammar", - "vscode:prepublish": "npm run build && npm prune --production", - "compile": "npm run build:grammar", - "watch": "echo done" - }, - "repository": { - "type": "git", - "url": "https://github.com/sveltejs/language-tools.git" - }, - "keywords": [ - "svelte", - "vscode" - ], - "author": "James Birtles & the Svelte Core Team", - "license": "MIT", - "bugs": { - "url": "https://github.com/sveltejs/language-tools/issues" - }, - "homepage": "https://github.com/sveltejs/language-tools#readme", - "displayName": "Svelte for VS Code", - "publisher": "svelte", - "icon": "icons/logo.png", - "galleryBanner": { - "color": "#FF3E00", - "theme": "dark" - }, - "categories": [ - "Programming Languages", - "Formatters" - ], - "engines": { - "vscode": "^1.52.0" - }, - "contributes": { - "languages": [ - { - "id": "svelte", - "aliases": [ - "Svelte", - "svelte" - ], - "extensions": [ - ".svelte" - ], - "configuration": "./language-configuration.json" - }, - { - "id": "json", - "filenames": [ - ".prettierrc" - ] - } - ], - "grammars": [ - { - "language": "svelte", - "scopeName": "source.svelte", - "path": "./syntaxes/svelte.tmLanguage.json", - "embeddedLanguages": { - "text.html.basic": "html", - "text.html.markdown": "markdown", - "text.pug": "jade", - "source.css": "css", - "source.css.less": "less", - "source.css.scss": "scss", - "source.css.postcss": "postcss", - "source.sass": "sass", - "source.stylus": "stylus", - "source.js": "javascript", - "source.ts": "typescript" - } - }, - { - "scopeName": "svelte.pug", - "path": "./syntaxes/pug-svelte.json", - "injectTo": [ - "source.svelte" - ], - "embeddedLanguages": { - "source.ts": "typescript", - "text.pug": "jade" - } - }, - { - "scopeName": "svelte.pug.tags", - "path": "./syntaxes/pug-svelte-tags.json", - "injectTo": [ - "source.svelte" - ], - "embeddedLanguages": { - "source.ts": "typescript", - "text.pug": "jade" - } - }, - { - "scopeName": "svelte.pug.dotblock", - "path": "./syntaxes/pug-svelte-dotblock.json", - "injectTo": [ - "source.svelte" - ], - "embeddedLanguages": { - "source.ts": "typescript" - } - }, - { - "scopeName": "markdown.svelte.codeblock", - "path": "./syntaxes/markdown-svelte.json", - "injectTo": [ - "text.html.markdown" - ], - "embeddedLanguages": { - "meta.embedded.block.svelte": "svelte" - } - } - ] - }, - "devDependencies": { - "js-yaml": "^4.0.0" - } -} diff --git a/extensions/svelte-web/scripts/.eslintrc.js b/extensions/svelte-web/scripts/.eslintrc.js deleted file mode 100644 index db58780fd..000000000 --- a/extensions/svelte-web/scripts/.eslintrc.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - root: false, - rules: { - '@typescript-eslint/no-var-requires': 'off', - }, -}; diff --git a/extensions/svelte-web/syntaxes/markdown-svelte.json b/extensions/svelte-web/syntaxes/markdown-svelte.json deleted file mode 100644 index 5fced660e..000000000 --- a/extensions/svelte-web/syntaxes/markdown-svelte.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "scopeName": "markdown.svelte.codeblock", - "fileTypes": [], - "injectionSelector": "L:text.html.markdown", - "patterns": [ - { - "include": "#svelte-code-block" - } - ], - "repository": { - "svelte-code-block": { - "begin": "(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(svelte|sv)(\\s+[^`~]*)?$)", - "name": "markup.fenced_code.block.markdown", - "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$", - "beginCaptures": { - "3": { - "name": "punctuation.definition.markdown" - }, - "5": { - "name": "fenced_code.block.language" - }, - "6": { - "name": "fenced_code.block.language.attributes" - } - }, - "endCaptures": { - "3": { - "name": "punctuation.definition.markdown" - } - }, - "patterns": [ - { - "begin": "(^|\\G)(\\s*)(.*)", - "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)", - "contentName": "meta.embedded.block.svelte", - "patterns": [ - { - "include": "source.svelte" - } - ] - } - ] - } - } -} diff --git a/extensions/svelte-web/syntaxes/pug-svelte-dotblock.json b/extensions/svelte-web/syntaxes/pug-svelte-dotblock.json deleted file mode 100644 index 450a1451b..000000000 --- a/extensions/svelte-web/syntaxes/pug-svelte-dotblock.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "scopeName": "svelte.pug.dotblock", - "fileTypes": [], - "injectionSelector": "L:text.block.pug -meta.embedded.ts", - "patterns": [ - { - "include": "#interp-object-literal" - }, - { - "include": "#interp" - } - ], - "repository": { - "interp-object-literal": { - "contentName": "meta.interpolation meta.embedded.ts", - "begin": "(?![!$#]){\\s*?(?={)", - "beginCaptures": { - "0": { - "name": "punctuation.section.interpolation.begin" - } - }, - "end": "(?<=})\\s*?}", - "endCaptures": { - "0": { - "name": "punctuation.section.interpolation.end" - } - }, - "patterns": [ - { - "include": "source.ts#object-literal" - } - ] - }, - "interp": { - "contentName": "meta.interpolation meta.embedded.ts", - "begin": "(?![!$#]){", - "beginCaptures": { - "0": { - "name": "punctuation.section.interpolation.begin" - } - }, - "end": "}", - "endCaptures": { - "0": { - "name": "punctuation.section.interpolation.end" - } - }, - "patterns": [ - { - "include": "source.ts" - } - ] - } - } -} diff --git a/extensions/svelte-web/syntaxes/pug-svelte-tags.json b/extensions/svelte-web/syntaxes/pug-svelte-tags.json deleted file mode 100644 index bfade35ef..000000000 --- a/extensions/svelte-web/syntaxes/pug-svelte-tags.json +++ /dev/null @@ -1,201 +0,0 @@ -{ - "scopeName": "svelte.pug.tags", - "fileTypes": [], - "injectionSelector": "L:text.pug meta.tag.other -meta.embedded.ts", - "patterns": [ - { - "include": "#interp-object-literal" - }, - { - "include": "#interp" - }, - { - "include": "#attr-function" - }, - { - "include": "#attr-interp" - }, - { - "include": "#attr-interp-invalid-quotes" - }, - { - "include": "#attr-interp-invalid-noquotes" - }, - { - "include": "#attr-event" - }, - { - "include": "#attr-variable" - } - ], - "repository": { - "interp-object-literal": { - "contentName": "meta.interpolation meta.embedded.ts", - "begin": "(?![!$#]){\\s*?(?={)", - "beginCaptures": { - "0": { - "name": "punctuation.section.interpolation.begin" - } - }, - "end": "(?<=})\\s*?}", - "endCaptures": { - "0": { - "name": "punctuation.section.interpolation.end" - } - }, - "patterns": [ - { - "include": "source.ts#object-literal" - } - ] - }, - "interp": { - "contentName": "meta.interpolation meta.embedded.ts", - "begin": "(?![!$#]){", - "beginCaptures": { - "0": { - "name": "punctuation.section.interpolation.begin" - } - }, - "end": "}", - "endCaptures": { - "0": { - "name": "punctuation.section.interpolation.end" - } - }, - "patterns": [ - { - "include": "source.ts" - } - ] - }, - "attr-interp": { - "match": "\\b(?<=[\\w$\\-_]*)\\s*?(!=|=)\\s*?([`'\"])((?![$!#]){.*})(\\k<2>)", - "captures": { - "1": { - "patterns": [ - { - "match": "=", - "name": "invalid.illegal" - }, - { - "match": "!=", - "name": "keyword.operator.assignment" - } - ] - }, - "2": { - "name": "punctuation.section.interpolation.begin" - }, - "3": { - "patterns": [ - { - "include": "#interp" - } - ] - }, - "4": { - "name": "punctuation.section.interpolation.begin" - } - } - }, - "attr-interp-invalid-quotes": { - "match": "\\b(?<=[\\w$\\-_]*)\\s*?(!=|=)\\s*?([`'\"])((?![$!#]){.*})(?!\\k<2>)", - "captures": { - "1": { - "patterns": [ - { - "match": "=", - "name": "invalid.illegal" - }, - { - "match": "!=", - "name": "keyword.operator.assignment" - } - ] - }, - "2": { - "name": "punctuation.section.interpolation.begin" - }, - "3": { - "name": "invalid.illegal" - }, - "4": { - "name": "invalid.illegal" - } - } - }, - "attr-interp-invalid-noquotes": { - "match": "\\b(?<=[\\w$\\-_]*)\\s*?(!=|=)\\s*?(?![`'\"])((?![$!#]){.*})(?![`'\"])", - "captures": { - "1": { - "patterns": [ - { - "match": "=", - "name": "invalid.illegal" - }, - { - "match": "!=", - "name": "keyword.operator.assignment" - } - ] - }, - "2": { - "name": "invalid.illegal" - }, - "3": { - "patterns": [ - { - "include": "#interp" - } - ] - }, - "4": { - "name": "invalid.illegal" - } - } - }, - "attr-function": { - "match": "\\b(use|transition|in|out|animate)(:)(\\w+)", - "captures": { - "1": { - "name": "entity.other.attribute-name" - }, - "2": { - "name": "keyword.operator.assignment" - }, - "3": { - "name": "variable.function" - } - } - }, - "attr-event": { - "match": "\\b(on)(:)(\\w+)", - "captures": { - "1": { - "name": "entity.other.attribute-name" - }, - "2": { - "name": "keyword.operator.assignment" - }, - "3": { - "name": "entity.name.type" - } - } - }, - "attr-variable": { - "match": "\\b(bind|class|let)(:)(\\w+)", - "captures": { - "1": { - "name": "entity.other.attribute-name" - }, - "2": { - "name": "keyword.operator.assignment" - }, - "3": { - "name": "variable.parameter" - } - } - } - } -} diff --git a/extensions/svelte-web/syntaxes/pug-svelte.json b/extensions/svelte-web/syntaxes/pug-svelte.json deleted file mode 100644 index c09105464..000000000 --- a/extensions/svelte-web/syntaxes/pug-svelte.json +++ /dev/null @@ -1,293 +0,0 @@ -{ - "scopeName": "svelte.pug", - "fileTypes": [], - "injectionSelector": "L:text.pug -meta.embedded.ts -meta.tag.other -text.block.pug, L:inline.pug -meta.embedded.ts -meta.tag.other", - "patterns": [ - { - "include": "#interp-object-literal" - }, - { - "include": "#interp" - }, - { - "include": "#tag-component" - }, - { - "include": "#tag-component-no-params" - }, - { - "include": "#mixin-svelte" - }, - { - "include": "#mixin-else" - } - ], - "repository": { - "interp-object-literal": { - "contentName": "meta.interpolation meta.embedded.ts", - "begin": "(?![!$#]){\\s*?(?={)", - "beginCaptures": { - "0": { - "name": "punctuation.section.interpolation.begin" - } - }, - "end": "(?<=})\\s*?}", - "endCaptures": { - "0": { - "name": "punctuation.section.interpolation.end" - } - }, - "patterns": [ - { - "include": "source.ts#object-literal" - } - ] - }, - "interp": { - "contentName": "meta.interpolation meta.embedded.ts", - "begin": "(?![!$#]){", - "beginCaptures": { - "0": { - "name": "punctuation.section.interpolation.begin" - } - }, - "end": "}", - "endCaptures": { - "0": { - "name": "punctuation.section.interpolation.end" - } - }, - "patterns": [ - { - "include": "source.ts" - } - ] - }, - "tag-component": { - "name": "meta.tag.svelte", - "begin": "(?<=^\\s*?|#\\[\\s*?|:\\s+?)([A-Z][a-zA-Z0-9_]*)\\s*?(?=\\()", - "beginCaptures": { - "0": { - "name": "support.class.component.svelte" - } - }, - "end": "(?<=\\))", - "endCaptures": { - "0": { - "name": "constant.name.attribute.tag" - } - }, - "patterns": [ - { - "include": "text.pug#tag_attributes" - } - ] - }, - "tag-component-no-params": { - "name": "meta.tag.svelte", - "match": "(?<=^\\s*?|#\\[\\s*?|:\\s+?)([A-Z][a-zA-Z0-9_]*)", - "captures": { - "0": { - "name": "support.class.component.svelte" - } - } - }, - "mixin-svelte": { - "match": "(?<=^\\s*?|#\\[\\s*?|:\\s+?)(\\+)(debug|if|elseif|then|catch|each|await|html|key)\\s*?(\\()\\s*?([`'\"])(.*?)(\\k<4>)\\s*?(\\))", - "captures": { - "1": { - "name": "punctuation.definition.keyword" - }, - "2": { - "patterns": [ - { - "match": "debug", - "name": "keyword.other.debugger" - }, - { - "match": "if|elseif", - "name": "keyword.control.conditional" - }, - { - "match": "then|catch|await", - "name": "keyword.control.flow" - }, - { - "match": "each", - "name": "keyword.control" - }, - { - "match": "html|key", - "name": "support.function" - } - ] - }, - "3": { - "name": "meta.brace.round" - }, - "4": { - "name": "punctuation.definition.generic.begin" - }, - "5": { - "patterns": [ - { - "match": "(?<=each\\s*?\\(\\s*?')(.*)\\s+?(as\\s+?(.*?)(\\s*?,\\s*?)(.*?|)(\\s+?\\(.*\\)|)$)", - "captures": { - "1": { - "name": "meta.embedded.ts", - "patterns": [ - { - "include": "source.ts" - } - ] - }, - "2": { - "name": "keyword.control.as" - }, - "3": { - "name": "meta.embedded.t", - "patterns": [ - { - "include": "source.ts" - } - ] - }, - "4": { - "name": "punctuation.separator" - }, - "5": { - "name": "meta.embedded.t", - "patterns": [ - { - "include": "source.ts" - } - ] - }, - "6": { - "patterns": [ - { - "match": "(\\()(.*)(\\))", - "captures": { - "1": { - "name": "meta.brace.round" - }, - "2": { - "name": "variable" - }, - "3": { - "name": "meta.brace.round" - } - } - } - ] - } - } - }, - { - "match": "(?<=each\\s*?\\(\\s*?')(.*)\\s+?(as\\s+?(.*?)(\\s+?\\(.*\\)|)$)", - "captures": { - "1": { - "name": "meta.embedded.ts", - "patterns": [ - { - "include": "source.ts" - } - ] - }, - "2": { - "name": "keyword.control.as" - }, - "3": { - "name": "meta.embedded.t", - "patterns": [ - { - "include": "source.ts" - } - ] - }, - "4": { - "patterns": [ - { - "match": "(\\()(.*)(\\))", - "captures": { - "1": { - "name": "meta.brace.round" - }, - "2": { - "name": "variable" - }, - "3": { - "name": "meta.brace.round" - } - } - } - ] - } - } - }, - { - "match": "(?<=await\\s*?\\(\\s*?')(.*)\\s+?(then(.*)$)", - "captures": { - "1": { - "name": "meta.embedded.ts", - "patterns": [ - { - "include": "source.ts" - } - ] - }, - "2": { - "name": "keyword.control.flow" - }, - "3": { - "name": "variable" - } - } - }, - { - "match": "(?<=debug\\s*?\\(\\s*?')(\\w+?)(,|$)", - "captures": { - "1": { - "name": "variable" - }, - "2": { - "name": "punctuation.separator" - } - } - }, - { - "match": "(.*)$", - "captures": { - "0": { - "name": "meta.embedded.ts", - "patterns": [ - { - "include": "source.ts" - } - ] - } - } - } - ] - }, - "6": { - "name": "punctuation.definition.generic.end" - }, - "7": { - "name": "meta.brace.round" - } - } - }, - "mixin-else": { - "match": "(?<=^\\s*?|#\\[\\s*?|:\\s+?)(\\+)(else)", - "captures": { - "1": { - "name": "punctuation.definition.keyword" - }, - "2": { - "name": "keyword.control.conditional" - } - } - } - } -} diff --git a/extensions/svelte-web/syntaxes/svelte.tmLanguage.json b/extensions/svelte-web/syntaxes/svelte.tmLanguage.json deleted file mode 100644 index a77e9c52c..000000000 --- a/extensions/svelte-web/syntaxes/svelte.tmLanguage.json +++ /dev/null @@ -1,1015 +0,0 @@ -{ - "name": "Svelte Component", - "scopeName": "source.svelte", - "fileTypes": [ - "svelte" - ], - "uuid": "7582b62f-51d9-4a84-8c8d-fc189530faf6", - "injections": { - "L:meta.script.svelte meta.lang.javascript - (meta source)": { - "patterns": [ - { - "begin": "(?<=>)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)\\s", - "end": "(?=|})", - "end": "(?=<|{)", - "name": "text.svelte" - } - ] - }, - "comments": { - "begin": "", - "captures": { - "0": { - "name": "punctuation.definition.comment.svelte" - } - }, - "name": "comment.block.svelte", - "patterns": [ - { - "begin": "(@)(component)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.keyword.svelte" - }, - "2": { - "name": "storage.type.class.component.svelte keyword.declaration.class.component.svelte" - } - }, - "end": "(?=-->)", - "contentName": "comment.block.documentation.svelte", - "patterns": [ - { - "match": ".*?(?=-->)", - "captures": { - "0": { - "patterns": [ - { - "include": "text.html.markdown" - } - ] - } - } - }, - { - "include": "text.html.markdown" - } - ] - }, - { - "match": "\\G-?>|)|--!>", - "name": "invalid.illegal.characters-not-allowed-here.svelte" - } - ] - }, - "destructuring": { - "patterns": [ - { - "begin": "(?={)", - "end": "(?<=})", - "name": "meta.embedded.expression.svelte source.ts", - "patterns": [ - { - "include": "source.ts#object-binding-pattern" - } - ] - }, - { - "begin": "(?=\\[)", - "end": "(?<=\\])", - "name": "meta.embedded.expression.svelte source.ts", - "patterns": [ - { - "include": "source.ts#array-binding-pattern" - } - ] - } - ] - }, - "interpolation": { - "patterns": [ - { - "begin": "\\{", - "end": "\\}", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.svelte" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.svelte" - } - }, - "contentName": "meta.embedded.expression.svelte source.ts", - "patterns": [ - { - "begin": "\\G\\s*(?={)", - "end": "(?<=})", - "patterns": [ - { - "include": "source.ts#object-literal" - } - ] - }, - { - "include": "source.ts" - } - ] - } - ] - }, - "special-tags": { - "patterns": [ - { - "include": "#special-tags-void" - }, - { - "include": "#special-tags-block-begin" - }, - { - "include": "#special-tags-block-end" - } - ] - }, - "special-tags-keywords": { - "match": "([#@/:])(else\\s+if|[a-z]*)", - "captures": { - "1": { - "name": "punctuation.definition.keyword.svelte" - }, - "2": { - "patterns": [ - { - "match": "if|else\\s+if|else", - "name": "keyword.control.conditional.svelte" - }, - { - "match": "each|key", - "name": "keyword.control.svelte" - }, - { - "match": "await|then|catch", - "name": "keyword.control.flow.svelte" - }, - { - "match": "html", - "name": "keyword.other.svelte" - }, - { - "match": "debug", - "name": "keyword.other.debugger.svelte" - } - ] - } - } - }, - "special-tags-modes": { - "patterns": [ - { - "begin": "(?<=(if|key|then|catch|html).*?)\\G", - "end": "(?=})", - "name": "meta.embedded.expression.svelte source.ts", - "patterns": [ - { - "include": "source.ts" - } - ] - }, - { - "begin": "(?<=each.*?)\\G", - "end": "(?=})", - "patterns": [ - { - "begin": "\\G\\s*?(?=\\S)", - "end": "(?=(?:^\\s*|\\s+)(as))", - "contentName": "meta.embedded.expression.svelte source.ts", - "patterns": [ - { - "include": "source.ts" - } - ] - }, - { - "begin": "(as)", - "beginCaptures": { - "1": { - "name": "keyword.control.as.svelte" - } - }, - "end": "(?=})", - "patterns": [ - { - "include": "#destructuring" - }, - { - "begin": "\\(", - "end": "\\)|(?=})", - "captures": { - "0": { - "name": "meta.brace.round.svelte" - } - }, - "contentName": "meta.embedded.expression.svelte source.ts", - "patterns": [ - { - "include": "source.ts" - } - ] - }, - { - "match": "(\\s*([_$[:alpha:]][_$[:alnum:]]*)\\s*)", - "captures": { - "1": { - "name": "meta.embedded.expression.svelte source.ts", - "patterns": [ - { - "include": "source.ts" - } - ] - } - } - }, - { - "match": ",", - "name": "punctuation.separator.svelte" - } - ] - } - ] - }, - { - "begin": "(?<=await.*?)\\G", - "end": "(?=})", - "patterns": [ - { - "begin": "\\G\\s*?(?=\\S)", - "end": "\\s+(then)|(?=})", - "endCaptures": { - "1": { - "name": "keyword.control.flow.svelte" - } - }, - "contentName": "meta.embedded.expression.svelte source.ts", - "patterns": [ - { - "include": "source.ts" - } - ] - }, - { - "begin": "(?<=then\\b)", - "end": "(?=})", - "contentName": "meta.embedded.expression.svelte source.ts", - "patterns": [ - { - "include": "source.ts" - } - ] - } - ] - }, - { - "begin": "(?<=debug.*?)\\G", - "end": "(?=})", - "patterns": [ - { - "match": "[_$[:alpha:]][_$[:alnum:]]*", - "captures": { - "0": { - "name": "meta.embedded.expression.svelte source.ts", - "patterns": [ - { - "include": "source.ts" - } - ] - } - } - }, - { - "match": ",", - "name": "punctuation.separator.svelte" - } - ] - } - ] - }, - "special-tags-void": { - "begin": "({)\\s*((?:[@:])(else\\s+if|[a-z]*))", - "beginCaptures": { - "1": { - "name": "punctuation.definition.block.begin.svelte" - }, - "2": { - "patterns": [ - { - "include": "#special-tags-keywords" - } - ] - } - }, - "end": "\\}", - "endCaptures": { - "0": { - "name": "punctuation.definition.block.end.svelte" - } - }, - "name": "meta.special.$3.svelte", - "patterns": [ - { - "include": "#special-tags-modes" - } - ] - }, - "special-tags-block-begin": { - "begin": "({)\\s*(#([a-z]*))", - "end": "(})", - "name": "meta.special.$3.svelte meta.special.start.svelte", - "beginCaptures": { - "1": { - "name": "punctuation.definition.block.begin.svelte" - }, - "2": { - "patterns": [ - { - "include": "#special-tags-keywords" - } - ] - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.block.end.svelte" - } - }, - "patterns": [ - { - "include": "#special-tags-modes" - } - ] - }, - "special-tags-block-end": { - "begin": "({)\\s*(/([a-z]*))", - "end": "(})", - "name": "meta.special.$3.svelte meta.special.end.svelte", - "beginCaptures": { - "1": { - "name": "punctuation.definition.block.begin.svelte" - }, - "2": { - "patterns": [ - { - "include": "#special-tags-keywords" - } - ] - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.block.end.svelte" - } - } - }, - "attributes": { - "patterns": [ - { - "include": "#attributes-directives" - }, - { - "include": "#attributes-keyvalue" - }, - { - "include": "#attributes-interpolated" - } - ] - }, - "attributes-interpolated": { - "begin": "(?)", - "patterns": [ - { - "include": "#interpolation" - }, - { - "match": "([0-9._]+[\\w]{,4})(?=\\s|/?>)", - "name": "constant.numeric.decimal.svelte", - "patterns": [ - { - "include": "#interpolation" - } - ] - }, - { - "match": "([^\\s\"'=<>`/]|/(?!>))+", - "name": "string.unquoted.svelte", - "patterns": [ - { - "include": "#interpolation" - } - ] - }, - { - "begin": "(['\"])", - "end": "\\1", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.svelte" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.svelte" - } - }, - "name": "string.quoted.svelte", - "patterns": [ - { - "include": "#interpolation" - } - ] - } - ] - }, - "attributes-directives-keywords": { - "patterns": [ - { - "match": "on|use|bind", - "name": "keyword.control.svelte" - }, - { - "match": "transition|in|out|animate", - "name": "keyword.other.animation.svelte" - }, - { - "match": "let", - "name": "storage.type.svelte" - }, - { - "match": "class", - "name": "entity.other.attribute-name.svelte" - } - ] - }, - "attributes-directives-types": { - "patterns": [ - { - "match": "(?<=(on):).*$", - "name": "entity.name.type.svelte" - }, - { - "match": "(?<=(bind):).*$", - "name": "variable.parameter.svelte" - }, - { - "match": "(?<=(use|transition|in|out|animate):).*$", - "name": "variable.function.svelte" - }, - { - "match": "(?<=(let|class):).*$", - "name": "variable.parameter.svelte" - } - ] - }, - "attributes-directives-types-assigned": { - "patterns": [ - { - "match": "(?<=(bind):)this$", - "name": "variable.language.svelte" - }, - { - "match": "(?<=(bind):).*$", - "name": "entity.name.type.svelte" - }, - { - "match": "(?<=(class):).*$", - "name": "entity.other.attribute-name.class.svelte" - }, - { - "include": "#attributes-directives-types" - } - ] - }, - "attributes-directives": { - "begin": "(?)", - "name": "meta.tag.start.svelte", - "patterns": [ - { - "include": "#attributes" - } - ] - }, - "tags-lang-start-attributes": { - "begin": "\\G", - "end": "(?=/>)|>", - "name": "meta.tag.start.svelte", - "patterns": [ - { - "include": "#attributes" - } - ] - }, - "tags-start-node": { - "match": "(<)([^/\\s>/]*)", - "captures": { - "1": { - "name": "punctuation.definition.tag.begin.svelte" - }, - "2": { - "patterns": [ - { - "include": "#tags-name" - } - ] - } - }, - "name": "meta.tag.start.svelte" - }, - "tags-end-node": { - "match": "()|(/>)", - "captures": { - "1": { - "name": "meta.tag.end.svelte punctuation.definition.tag.begin.svelte" - }, - "2": { - "name": "meta.tag.end.svelte", - "patterns": [ - { - "include": "#tags-name" - } - ] - }, - "3": { - "name": "meta.tag.end.svelte punctuation.definition.tag.end.svelte" - }, - "4": { - "name": "meta.tag.start.svelte punctuation.definition.tag.end.svelte" - } - } - }, - "tags-lang": { - "begin": "<(script|style|template)", - "end": "|/>", - "beginCaptures": { - "0": { - "patterns": [ - { - "include": "#tags-start-node" - } - ] - } - }, - "endCaptures": { - "0": { - "patterns": [ - { - "include": "#tags-end-node" - } - ] - } - }, - "name": "meta.$1.svelte", - "patterns": [ - { - "begin": "\\G(?=\\s*(type|lang)\\s*=\\s*(['\"]|)(?:text/)?(\\w+)\\2)", - "end": "(?=)", - "name": "meta.lang.$3.svelte", - "patterns": [ - { - "include": "#tags-lang-start-attributes" - } - ] - }, - { - "include": "#tags-lang-start-attributes" - } - ] - }, - "tags-void": { - "begin": "(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\s|/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.svelte" - }, - "2": { - "name": "entity.name.tag.svelte" - } - }, - "end": "/?>", - "endCaptures": { - "0": { - "name": "punctuation.definition.tag.begin.svelte" - } - }, - "name": "meta.tag.void.svelte", - "patterns": [ - { - "include": "#attributes" - } - ] - }, - "tags-general-start": { - "begin": "(<)([^/\\s>/]*)", - "end": "(/?>)", - "beginCaptures": { - "0": { - "patterns": [ - { - "include": "#tags-start-node" - } - ] - } - }, - "endCaptures": { - "1": { - "name": "meta.tag.start.svelte punctuation.definition.tag.end.svelte" - } - }, - "name": "meta.scope.tag.$2.svelte", - "patterns": [ - { - "include": "#tags-start-attributes" - } - ] - }, - "tags-general-end": { - "begin": "(]*)", - "end": "(>)", - "beginCaptures": { - "1": { - "name": "meta.tag.end.svelte punctuation.definition.tag.begin.svelte" - }, - "2": { - "name": "meta.tag.end.svelte", - "patterns": [ - { - "include": "#tags-name" - } - ] - } - }, - "endCaptures": { - "1": { - "name": "meta.tag.end.svelte punctuation.definition.tag.end.svelte" - } - }, - "name": "meta.scope.tag.$2.svelte" - } - } -} diff --git a/extensions/svelte-web/syntaxes/svelte.tmLanguage.src.yaml b/extensions/svelte-web/syntaxes/svelte.tmLanguage.src.yaml deleted file mode 100644 index ab486c91d..000000000 --- a/extensions/svelte-web/syntaxes/svelte.tmLanguage.src.yaml +++ /dev/null @@ -1,695 +0,0 @@ ---- -name: Svelte Component -scopeName: source.svelte -fileTypes: [svelte] -uuid: 7582b62f-51d9-4a84-8c8d-fc189530faf6 - -injections: - # ---- EMBEDDED LANGUAGES - # Yes, this is dark, abyssal magic - conjured up from the depths of tedious experimentation. - - # Format: - # 'L:meta..svelte (meta.lang. | meta.lang. | ...) - (meta source)' - # patterns: [{begin: '(?<=>)(?!, patterns: [{ include: source. }]}] - - # Script Languages - # JavaScript | 'javascript' | 'source.js' - 'L:meta.script.svelte meta.lang.javascript - (meta source)': - patterns: - [ - { - begin: '(?<=>)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)\s', - end: '(?=|}) - end: (?=<|{) - name: text.svelte - - # ---------- - # COMMENTS - - # Basic HTML comments. - comments: - begin: - captures: - 0: { name: punctuation.definition.comment.svelte } - name: comment.block.svelte - patterns: - # Component documentation. - - begin: (@)(component) - beginCaptures: - 1: { name: punctuation.definition.keyword.svelte } - 2: - { - name: storage.type.class.component.svelte keyword.declaration.class.component.svelte, - } - end: (?=-->) - contentName: comment.block.documentation.svelte - patterns: - # The reason we do it like this is so that the Markdown grammar cannot break out of the `-->` bit. - # Embedded languages, for whatever reason, can only break out of begin-end blocks. (...most of the time) - # If you shove them in a match pattern, it cannot break out of it's matched bounds. - # And since the match consumed the line leading to `-->`, - # the 'block' markdown won't break out of the comment block. - - match: .*?(?=-->) - captures: { 0: { patterns: [include: text.html.markdown] } } - - include: text.html.markdown - # Validations - - { - match: '\G-?>|)|--!>', - name: invalid.illegal.characters-not-allowed-here.svelte, - } - - # ------ - # MISC - - # Destructuring {} and [] JS syntax. Currently only used in some special tags. - destructuring: - patterns: - # {...} - - { - begin: '(?={)', - end: '(?<=})', - name: meta.embedded.expression.svelte source.ts, - patterns: [include: source.ts#object-binding-pattern], - } - # [...] - - { - begin: '(?=\[)', - end: '(?<=\])', - name: meta.embedded.expression.svelte source.ts, - patterns: [include: source.ts#array-binding-pattern], - } - - # Plain old interpolation between `{...}` blocks. - interpolation: - patterns: - - begin: \{ - end: \} - beginCaptures: - { 0: { name: punctuation.section.embedded.begin.svelte } } - endCaptures: { 0: { name: punctuation.section.embedded.end.svelte } } - contentName: meta.embedded.expression.svelte source.ts - patterns: - # Object literals - usually used within attributes. - - begin: \G\s*(?={) - end: (?<=}) - patterns: [include: source.ts#object-literal] - - include: source.ts - - # -------------- - # SPECIAL TAGS - - # All special tags together. Used whenever a new scope is introduced. - special-tags: - patterns: - - include: '#special-tags-void' - - include: '#special-tags-block-begin' - - include: '#special-tags-block-end' - - # Special tag keywords, like `#if` and `/await`. - special-tags-keywords: - match: ([#@/:])(else\s+if|[a-z]*) - captures: - 1: { name: punctuation.definition.keyword.svelte } - # The keyword itself. If others are patched in in the future, they can easily be added here. - 2: - { - patterns: - [ - { - match: if|else\s+if|else, - name: keyword.control.conditional.svelte, - }, - { match: each|key, name: keyword.control.svelte }, - { match: await|then|catch, name: keyword.control.flow.svelte }, - { match: html, name: keyword.other.svelte }, - { match: debug, name: keyword.other.debugger.svelte }, - ], - } - - # Scopes special tag _block start nodes_ depending on what type they are, such as `#if` or `#await` blocks. - special-tags-modes: - patterns: - # Expressions or simple values. - - begin: (?<=(if|key|then|catch|html).*?)\G - end: (?=}) - name: meta.embedded.expression.svelte source.ts - patterns: [include: source.ts] - - # Each. - - begin: (?<=each.*?)\G - end: (?=}) - patterns: - # Start expression. - - begin: \G\s*?(?=\S) - end: (?=(?:^\s*|\s+)(as)) - contentName: meta.embedded.expression.svelte source.ts - patterns: [include: source.ts] - # 'as' token and onwards. - - begin: (as) - beginCaptures: { 1: { name: keyword.control.as.svelte } } - end: (?=}) - patterns: - # [] and {} destructuring blocks. - - include: '#destructuring' - # Key expression. - - begin: \( - end: \)|(?=}) - captures: { 0: { name: meta.brace.round.svelte } } - contentName: meta.embedded.expression.svelte source.ts - patterns: [include: source.ts] - # Name or index expression. - - match: (\s*([_$[:alpha:]][_$[:alnum:]]*)\s*) - captures: - { - 1: - { - name: meta.embedded.expression.svelte source.ts, - patterns: [include: source.ts], - }, - } - # The comma. - - { match: ',', name: punctuation.separator.svelte } - - # Await. - - begin: (?<=await.*?)\G - end: (?=}) - patterns: - # Promise expression. - - begin: \G\s*?(?=\S) - end: \s+(then)|(?=}) - endCaptures: { 1: { name: keyword.control.flow.svelte } } - contentName: meta.embedded.expression.svelte source.ts - patterns: [include: source.ts] - # Then expression. - - begin: (?<=then\b) - end: (?=}) - contentName: meta.embedded.expression.svelte source.ts - patterns: [include: source.ts] - - # Debug. - - begin: (?<=debug.*?)\G - end: (?=}) - patterns: - # Variables. - - match: '[_$[:alpha:]][_$[:alnum:]]*' - captures: - { - 0: - { - name: meta.embedded.expression.svelte source.ts, - patterns: [include: source.ts], - }, - } - # The commas. - - { match: ',', name: punctuation.separator.svelte } - - # Special void tags like `{:else}` and `{@html}`. - special-tags-void: - begin: ({)\s*((?:[@:])(else\s+if|[a-z]*)) - beginCaptures: - 1: { name: punctuation.definition.block.begin.svelte } - 2: { patterns: [include: '#special-tags-keywords'] } - end: \} - endCaptures: { 0: { name: punctuation.definition.block.end.svelte } } - name: meta.special.$3.svelte - patterns: [include: '#special-tags-modes'] - - # Special tag blocks like `{#if}...{/if}`. - # Split up into start and end because we don't need to preserve the name - # inside and because it makes whitespace matching logic more robust - special-tags-block-begin: - # This pattern is technically not correct, - # as the (#|:|/)[logic] keywords do not care about whitespace between it and the { bracket. - # This means newlines are actually valid! - # However, deciphering what is logic and what is interpolation would be stupidly tedious. So we don't. - begin: ({)\s*(#([a-z]*)) - end: (}) - name: meta.special.$3.svelte meta.special.start.svelte - beginCaptures: - 1: { name: punctuation.definition.block.begin.svelte } - 2: { patterns: [include: '#special-tags-keywords'] } - endCaptures: { 0: { name: punctuation.definition.block.end.svelte } } - patterns: [include: '#special-tags-modes'] - - special-tags-block-end: - # This is again technically not correct, and due to the same whitespacing reasons. - # However... just don't introduce newlines in `{/if}` blocks. 'cuz that's weird. - begin: ({)\s*(/([a-z]*)) - end: (}) - name: meta.special.$3.svelte meta.special.end.svelte - beginCaptures: - 1: { name: punctuation.definition.block.begin.svelte } - 2: { patterns: [include: '#special-tags-keywords'] } - endCaptures: - 1: { name: punctuation.definition.block.end.svelte } - - # ------------ - # ATTRIBUTES - - attributes: - patterns: - - include: '#attributes-directives' - - include: '#attributes-keyvalue' - - include: '#attributes-interpolated' - - # Interpolated shorthand attributes, like `{variable}` sitting by itself. - attributes-interpolated: - begin: (?) - patterns: - # No quotes - just an interpolation expression. - - include: '#interpolation' - # Units, meaning digit characters and an optional unit string. e.g. `15px` - - match: ([0-9._]+[\w]{,4})(?=\s|/?>) - name: constant.numeric.decimal.svelte - patterns: [include: '#interpolation'] - # Unquoted strings. - - match: ([^\s"'=<>`/]|/(?!>))+ - name: string.unquoted.svelte - patterns: [include: '#interpolation'] - # Quoted strings. - - begin: (['"]) - end: \1 - beginCaptures: - { 0: { name: punctuation.definition.string.begin.svelte } } - endCaptures: { 0: { name: punctuation.definition.string.end.svelte } } - name: string.quoted.svelte - patterns: [include: '#interpolation'] - - # For Svelte element directives. Scopes the 'on' part in `on:click`. - attributes-directives-keywords: - patterns: - # If other keywords are patched in in the future, they can be added here but also need to be added - # where attributes-directives-keywords is included. - - { match: on|use|bind, name: keyword.control.svelte } - - { - match: transition|in|out|animate, - name: keyword.other.animation.svelte, - } - - { match: let, name: storage.type.svelte } - - { match: class, name: entity.other.attribute-name.svelte } - - # For Svelte element directives. Scopes the 'click' part in `on:click`. - # The scope of the variable should represent what data type it generally is. - attributes-directives-types: - patterns: - # If other keywords are patched in in the future, they can easily be added here. - - { match: '(?<=(on):).*$', name: entity.name.type.svelte } - - { match: '(?<=(bind):).*$', name: variable.parameter.svelte } - - { - match: '(?<=(use|transition|in|out|animate):).*$', - name: variable.function.svelte, - } - - { match: '(?<=(let|class):).*$', name: variable.parameter.svelte } - - # For directives that may be better suited using different scopes if assigned to something. - # e.g. `class:var={var}` is different to `class:var`. - # In the latter, `var` is a variable identifier and not a CSS class name. - attributes-directives-types-assigned: - patterns: - # Special Cases - # Makes 'bind:this' display like `this` would in JS. - - { match: '(?<=(bind):)this$', name: variable.language.svelte } - # If other keywords are patched in in the future, they can easily be added here. - - { match: '(?<=(bind):).*$', name: entity.name.type.svelte } - - { - match: '(?<=(class):).*$', - name: entity.other.attribute-name.class.svelte, - } - # Defaults to the non-assignment version for everything else. - - include: '#attributes-directives-types' - - # Matches Svelte element directives, e.g. `on:click|preventDefault={var}` - attributes-directives: - # If something is added to attributes-directives-keywords, it must be added to the begin-regex, too. - begin: (?`. - tags-name: - patterns: - # Svelte (`svelte:`) elements. - - match: '(svelte)(:)([a-z][\w0-9:-]*)' - captures: - 1: { name: keyword.control.svelte } - 2: { name: punctuation.definition.keyword.svelte } - 3: { name: entity.name.tag.svelte } - # Slot. - - { match: 'slot', name: keyword.control.svelte } - # Components. - - { match: '[A-Z][a-zA-Z0-9_]*', name: support.class.component.svelte } - # Custom elements. (has a dash, but otherwise is a valid HTML element) - - { - match: '[a-z][\w0-9:]*-[\w0-9:-]*', - name: meta.tag.custom.svelte entity.name.tag.svelte, - } - # HTML elements. - - { match: '[a-z][\w0-9:-]*', name: entity.name.tag.svelte } - - # Attributes for tag start nodes. Meant to start immediately after the `) - name: meta.tag.start.svelte - patterns: [include: '#attributes'] - - # Same as tags-start-attributes but slightly adjusted for special script/style/template tags. - tags-lang-start-attributes: - begin: \G - end: (?=/>)|> - name: meta.tag.start.svelte - patterns: [include: '#attributes'] - - # Matches the beginning (`/]*) - captures: - 1: { name: punctuation.definition.tag.begin.svelte } - 2: { patterns: [include: '#tags-name'] } - name: meta.tag.start.svelte - - # Matches tag end nodes. - tags-end-node: - match: ()|(/>) - captures: - 1: { name: meta.tag.end.svelte punctuation.definition.tag.begin.svelte } - 2: { name: meta.tag.end.svelte, patterns: [include: '#tags-name'] } - 3: { name: meta.tag.end.svelte punctuation.definition.tag.end.svelte } - 4: { name: meta.tag.start.svelte punctuation.definition.tag.end.svelte } - - # -- TAG TYPES - - # Language tags - they are handled differently for the purposes of language injection. - tags-lang: - begin: <(script|style|template) - end: |/> - beginCaptures: { 0: { patterns: [include: '#tags-start-node'] } } - endCaptures: { 0: { patterns: [include: '#tags-end-node'] } } - name: meta.$1.svelte - patterns: - # Tags with a language specified. - - begin: \G(?=\s*(type|lang)\s*=\s*(['"]|)(?:text/)?(\w+)\2) - end: (?=) - name: meta.lang.$3.svelte - patterns: [include: '#tags-lang-start-attributes'] - # Fallback to default language. - - include: '#tags-lang-start-attributes' - - # Void element tags. They must be treated separately due to their lack of end nodes. - # A void element cannot be differentiated from other tags, unless you look at their name. - # This is because there is a specific list of void elements in HTML5. We use that to scope void elements. - # If we didn't, a void element would appear as an unclosed element to the grammar. - tags-void: - begin: (<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\s|/?>) - beginCaptures: - 1: { name: punctuation.definition.tag.begin.svelte } - 2: { name: entity.name.tag.svelte } - end: /?> - endCaptures: { 0: { name: punctuation.definition.tag.begin.svelte } } - name: meta.tag.void.svelte - patterns: [include: '#attributes'] - - # All other tags, including custom/special Svelte tags. - # Split up into start and end because we don't need to preserve the name - # inside and because it makes whitespace matching logic more robust - tags-general-start: - begin: (<)([^/\s>/]*) - end: (/?>) - beginCaptures: { 0: { patterns: [include: '#tags-start-node'] } } - endCaptures: - 1: { name: meta.tag.start.svelte punctuation.definition.tag.end.svelte } - name: meta.scope.tag.$2.svelte - patterns: - - include: '#tags-start-attributes' - - tags-general-end: - begin: (]*) - end: (>) - beginCaptures: - 1: { name: meta.tag.end.svelte punctuation.definition.tag.begin.svelte } - 2: { name: meta.tag.end.svelte, patterns: [include: '#tags-name'] } - endCaptures: - 1: { name: meta.tag.end.svelte punctuation.definition.tag.end.svelte } - name: meta.scope.tag.$2.svelte diff --git a/extensions/vetur-web/LICENSE b/extensions/vetur-web/LICENSE deleted file mode 100644 index 55b04badb..000000000 --- a/extensions/vetur-web/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2017 Pine Wu - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/extensions/vetur-web/README.md b/extensions/vetur-web/README.md deleted file mode 100644 index 1b4dc0e0d..000000000 --- a/extensions/vetur-web/README.md +++ /dev/null @@ -1,69 +0,0 @@ -# This extension is a fork from [Vetur](https://github.com/vuejs/vetur) for github1s. - -# At present only languages features is reserved - -# I have deleted some files and only reserved the necessary code - -

-

Vetur

-

- -

- - - - - - - - - - - - -
-

-Vue tooling for VS Code. - -- [vls](./server): Vue Language Server -- [vti](./vti): Vetur Terminal Interface -- [Docs](https://vuejs.github.io/vetur) - -🎉 VueConf 2017 [Slide](https://www.dropbox.com/sh/eb4w8k3orh0j391/AAB3HaJexbGLa2tCP14BI8oJa?dl=0) & [Video](https://www.youtube.com/watch?v=05tNXJ-Kric) 🎉 - -## Sponsors - -I quit my job to travel nomadically, to work on Open Source and to conduct independent study/research. - -Vetur is my main focus in Open Source. Your help will alleviate my financial burden and allow me to spend more time working on Vetur. Thank you 🙏 - -https://github.com/sponsors/octref - -Thanks to the following companies for supporting Vetur's development: - - - - - - -
- - - - - Request and perform code reviews from inside your IDE. Review any code, even if it's a work-in-progress that hasn't been committed yet, and use jump-to-definition, your favorite keybindings, and other IDE tools. - Try it free. -
- -## Features - -- [Syntax-highlighting](https://vuejs.github.io/vetur/guide/highlighting.html) -- [Snippet](https://vuejs.github.io/vetur/guide/snippet.html) - -## FAQ - -[FAQ](https://vuejs.github.io/vetur/guide/FAQ.html) - -## License - -MIT © [Pine Wu](https://github.com/octref) diff --git a/extensions/vetur-web/ThirdPartyNotices.txt b/extensions/vetur-web/ThirdPartyNotices.txt deleted file mode 100644 index 9cfba4bb0..000000000 --- a/extensions/vetur-web/ThirdPartyNotices.txt +++ /dev/null @@ -1,88 +0,0 @@ -This project incorporates components from the projects listed below. -The original copyright notices and the licenses are reproduced verbatim. - -1. https://github.com/vuejs/vue-syntax-highlight - -=== - -The MIT License (MIT) - -Copyright (c) 2013-2016 Evan You - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -=== - -2. https://github.com/microsoft/vscode - -=== - -MIT License - -Copyright (c) 2015 - present Microsoft Corporation - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -=== - -3. https://github.com/prettier/prettier-vscode - -=== - -MIT License - -Copyright (c) 2017 Esben Petersen - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -=== \ No newline at end of file diff --git a/extensions/vetur-web/asset/vue.png b/extensions/vetur-web/asset/vue.png deleted file mode 100644 index 8bbf984157a465f7280d556a754ebce1b5274c0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11460 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 Q0;qtfDQPQK$Xh-7e+`t7*Z=?k diff --git a/extensions/vetur-web/languages/vue-html-language-configuration.json b/extensions/vetur-web/languages/vue-html-language-configuration.json deleted file mode 100644 index 0debe3d20..000000000 --- a/extensions/vetur-web/languages/vue-html-language-configuration.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "comments": { - "blockComment": [ "" ] - }, - "brackets": [ - [""], - ["<", ">"], - ["{", "}"], - ["(", ")"] - ], - "autoClosingPairs": [ - { "open": "{", "close": "}"}, - { "open": "[", "close": "]"}, - { "open": "(", "close": ")" }, - { "open": "'", "close": "'" }, - { "open": "\"", "close": "\"" } - ], - "surroundingPairs": [ - { "open": "'", "close": "'" }, - { "open": "\"", "close": "\"" }, - { "open": "{", "close": "}"}, - { "open": "[", "close": "]"}, - { "open": "(", "close": ")" }, - { "open": "<", "close": ">" } - ] -} \ No newline at end of file diff --git a/extensions/vetur-web/languages/vue-language-configuration.json b/extensions/vetur-web/languages/vue-language-configuration.json deleted file mode 100644 index 9e28a8f3d..000000000 --- a/extensions/vetur-web/languages/vue-language-configuration.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "comments": { - // symbol used for single line comment. Remove this entry if your language does not support line comments - "lineComment": "//", - // symbols used for start and end a block comment. Remove this entry if your language does not support block comments - "blockComment": [ "/*", "*/" ] - }, - // symbols used as brackets - "brackets": [ - ["{", "}"], - ["[", "]"], - ["(", ")"] - ], - // symbols that are auto closed when typing - "autoClosingPairs": [ - { "open": "{", "close": "}" }, - { "open": "[", "close": "]" }, - { "open": "(", "close": ")" }, - { "open": "\"", "close": "\"", "notIn": ["string"] }, - { "open": "'", "close": "'", "notIn": ["string", "comment"] }, - { "open": "`", "close": "`", "notIn": ["string", "comment"] }, - { "open": "/**", "close": " */", "notIn": ["string"] } - ], - // symbols that that can be used to surround a selection - "surroundingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["\"", "\""], - ["'", "'"], - ["`", "`"] - ], - "folding": { - "markers": { - "start": "^<(template|style|script)[^>]*>", - "end": "^" - } - } -} diff --git a/extensions/vetur-web/languages/vue-postcss-language-configuration.json b/extensions/vetur-web/languages/vue-postcss-language-configuration.json deleted file mode 100644 index a573a064f..000000000 --- a/extensions/vetur-web/languages/vue-postcss-language-configuration.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "comments": { - // symbols used for start and end a block comment. Remove this entry if your language does not support block comments - "blockComment": [ "/*", "*/" ] - }, - // symbols used as brackets - "brackets": [ - ["{", "}"], - ["[", "]"], - ["(", ")"] - ], - // symbols that are auto closed when typing - "autoClosingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["\"", "\""], - ["'", "'"] - ], - // symbols that that can be used to surround a selection - "surroundingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["\"", "\""], - ["'", "'"] - ] -} \ No newline at end of file diff --git a/extensions/vetur-web/languages/vue-pug-language-configuration.json b/extensions/vetur-web/languages/vue-pug-language-configuration.json deleted file mode 100644 index ab5cd8306..000000000 --- a/extensions/vetur-web/languages/vue-pug-language-configuration.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "comments": { - "lineComment": "//-" - }, - "brackets": [ - ["{", "}"], - ["[", "]"], - ["(", ")"] - ], - "autoClosingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["'", "'"], - ["\"", "\""] - ], - "surroundingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["'", "'"], - ["\"", "\""] - ], - "folding": { - "offSide": true - } -} diff --git a/extensions/vetur-web/package.json b/extensions/vetur-web/package.json deleted file mode 100644 index 49ed8ad06..000000000 --- a/extensions/vetur-web/package.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "name": "vetur", - "displayName": "Vetur", - "description": "Vue tooling for VS Code", - "author": "Pine Wu ", - "icon": "asset/vue.png", - "version": "0.32.0", - "publisher": "octref", - "scripts": { - "compile": "echo done", - "watch": "echo done" - }, - "repository": { - "type": "git", - "url": "https://github.com/vuejs/vetur.git" - }, - "keywords": [ - "vetur", - "Vue", - "vue", - "vuejs" - ], - "categories": [ - "Programming Languages" - ], - "engines": { - "vscode": "^1.52.0" - }, - "activationEvents": [ - "onLanguage:vue" - ], - "contributes": { - "languages": [ - { - "id": "vue", - "aliases": [ - "Vue", - "vue" - ], - "extensions": [ - ".vue" - ], - "configuration": "./languages/vue-language-configuration.json" - }, - { - "id": "vue-html", - "aliases": [ - "Vue-html" - ], - "configuration": "./languages/vue-html-language-configuration.json" - }, - { - "id": "vue-postcss", - "aliases": [ - "Vue-PostCSS", - "Vue-POSTCSS", - "vue-postcss" - ], - "configuration": "./languages/vue-postcss-language-configuration.json" - } - ], - "grammars": [ - { - "language": "vue", - "scopeName": "source.vue", - "path": "./syntaxes/vue-generated.json", - "embeddedLanguages": { - "text.html.basic": "html", - "text.html.vue-html": "vue-html", - "text.jade.slm": "slm", - "text.pug": "jade", - "text.haml": "haml", - "text.slim": "slim", - "text.html.liquid": "liquid", - "source.css": "css", - "source.css.scss": "scss", - "source.css.less": "less", - "source.css.postcss": "vue-postcss", - "source.sass": "sass", - "source.stylus": "stylus", - "source.js": "javascript", - "source.ts": "typescript", - "source.coffee": "coffeescript", - "text.html.markdown": "md", - "source.yaml": "yaml", - "source.json": "json", - "source.php": "php", - "source.graphql": "graphql" - } - }, - { - "language": "vue-postcss", - "scopeName": "source.css.postcss", - "path": "./syntaxes/vue-postcss.json" - }, - { - "language": "vue-html", - "scopeName": "text.html.vue-html", - "path": "./syntaxes/vue-html.tmLanguage.json", - "embeddedLanguages": { - "source.js": "javascript" - } - }, - { - "path": "./syntaxes/pug/directives.tmLanguage.json", - "scopeName": "vue.pug.directives", - "injectTo": [ - "source.vue" - ] - }, - { - "path": "./syntaxes/pug/interpolations.tmLanguage.json", - "scopeName": "vue.pug.interpolations", - "injectTo": [ - "source.vue" - ] - }, - { - "scopeName": "markdown.vue.codeblock", - "path": "./syntaxes/markdown-vue.json", - "injectTo": [ - "text.html.markdown" - ], - "embeddedLanguages": { - "meta.embedded.block.vue": "vue" - } - } - ] - } -} diff --git a/extensions/vetur-web/syntaxes/markdown-vue.json b/extensions/vetur-web/syntaxes/markdown-vue.json deleted file mode 100644 index 73cfcee84..000000000 --- a/extensions/vetur-web/syntaxes/markdown-vue.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "scopeName": "markdown.vue.codeblock", - "fileTypes": [], - "injectionSelector": "L:text.html.markdown", - "patterns": [ - { - "include": "#vue-code-block" - } - ], - "repository": { - "vue-code-block": { - "begin": "(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(vue)(\\s+[^`~]*)?$)", - "name": "markup.fenced_code.block.markdown", - "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$", - "beginCaptures": { - "3": { - "name": "punctuation.definition.markdown" - }, - "5": { - "name": "fenced_code.block.language" - }, - "6": { - "name": "fenced_code.block.language.attributes" - } - }, - "endCaptures": { - "3": { - "name": "punctuation.definition.markdown" - } - }, - "patterns": [ - { - "begin": "(^|\\G)(\\s*)(.*)", - "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)", - "contentName": "meta.embedded.block.vue", - "patterns": [ - { - "include": "source.vue" - } - ] - } - ] - } - } -} diff --git a/extensions/vetur-web/syntaxes/pug/directives.YAML b/extensions/vetur-web/syntaxes/pug/directives.YAML deleted file mode 100644 index 88d9c239a..000000000 --- a/extensions/vetur-web/syntaxes/pug/directives.YAML +++ /dev/null @@ -1,5 +0,0 @@ -# [PackageDev] target_format: plist, ext: tmLanguage -scopeName: vue.pug.directives -injectionSelector: "L:meta.tag.other -text.html.vue-html" -patterns: - - include: 'source.vue#vue-directives' diff --git a/extensions/vetur-web/syntaxes/pug/directives.tmLanguage.json b/extensions/vetur-web/syntaxes/pug/directives.tmLanguage.json deleted file mode 100644 index 009914421..000000000 --- a/extensions/vetur-web/syntaxes/pug/directives.tmLanguage.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "scopeName": "vue.pug.directives", - "injectionSelector": "L:meta.tag.other -text.html.vue-html", - "patterns": [ - { - "include": "source.vue#vue-directives" - } - ] -} \ No newline at end of file diff --git a/extensions/vetur-web/syntaxes/pug/interpolations.YAML b/extensions/vetur-web/syntaxes/pug/interpolations.YAML deleted file mode 100644 index c66035886..000000000 --- a/extensions/vetur-web/syntaxes/pug/interpolations.YAML +++ /dev/null @@ -1,5 +0,0 @@ -# [PackageDev] target_format: plist, ext: tmLanguage -scopeName: vue.pug.interpolations -injectionSelector: "L:text.pug" -patterns: - - include: source.vue#vue-interpolations diff --git a/extensions/vetur-web/syntaxes/pug/interpolations.tmLanguage.json b/extensions/vetur-web/syntaxes/pug/interpolations.tmLanguage.json deleted file mode 100644 index 96d599681..000000000 --- a/extensions/vetur-web/syntaxes/pug/interpolations.tmLanguage.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "scopeName": "vue.pug.interpolations", - "injectionSelector": "L:text.pug", - "patterns": [ - { - "include": "source.vue#vue-interpolations" - } - ] -} \ No newline at end of file diff --git a/extensions/vetur-web/syntaxes/vue-generated.json b/extensions/vetur-web/syntaxes/vue-generated.json deleted file mode 100644 index d9f741374..000000000 --- a/extensions/vetur-web/syntaxes/vue-generated.json +++ /dev/null @@ -1,1242 +0,0 @@ -{ - "name": "Vue", - "scopeName": "source.vue", - "fileTypes": ["vue"], - "uuid": "5512c10d-4cc5-434c-b8fc-53b912f55ab3", - "patterns": [ - { - "begin": "(<)(slim)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "contentName": "text.slim", - "patterns": [ - { - "include": "text.slim" - } - ] - } - ] - }, - { - "begin": "(<)(i18n)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "contentName": "source.json", - "patterns": [ - { - "include": "source.json" - } - ] - } - ] - }, - { - "begin": "(<)(docs)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "contentName": "text.html.markdown", - "patterns": [ - { - "include": "text.html.markdown" - } - ] - } - ] - }, - { - "name": "comment.block.html", - "begin": "", - "captures": { - "0": { - "name": "punctuation.definition.comment.html" - } - } - }, - { - "begin": "(<)(?=template.*[^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - } - }, - "end": "(/>)", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "begin": "(template)", - "beginCaptures": { - "1": { - "name": "entity.name.tag.template.html" - } - }, - "end": "(?=/>)", - "patterns": [ - { - "include": "#tag-stuff" - } - ] - } - ] - }, - { - "begin": "(<)(template)(?=[^>]*>[^/>]*)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)" - } - ] - }, - { - "begin": "(<)(template)\\b(?=[^>]*lang=('jade'|\"jade\"|'pug'|\"pug\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "text.pug", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "text.pug" - } - ] - } - ] - }, - { - "begin": "(<)(template)\\b(?=[^>]*lang=('haml'|\"haml\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "text.haml", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "text.haml" - } - ] - } - ] - }, - { - "begin": "(<)(template)\\b(?=[^>]*lang=('slim'|\"slim\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "text.slim", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "text.slim" - } - ] - } - ] - }, - { - "begin": "(<)(template)\\b(?=[^>]*lang=('slm'|\"slm\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "text.jade.slm", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "text.jade.slm" - } - ] - } - ] - }, - { - "begin": "(<)(template)\\b(?=[^>]*lang=('liquid'|\"liquid\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "text.html.liquid", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "text.html.liquid" - } - ] - } - ] - }, - { - "begin": "(<)(template)(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - } - }, - "end": "^()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "text.html.vue-html", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=^)", - "patterns": [ - { - "include": "text.html.vue-html" - } - ] - } - ] - }, - { - "begin": "(<)(style)\\b(?=[^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "(/>)", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - { - "begin": "(<)(style)(?=[^>]*>[^/>]*)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)" - } - ] - }, - { - "begin": "(<)(style)\\b(?=[^>]*lang=('sass'|\"sass\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.sass", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.sass" - } - ] - } - ] - }, - { - "begin": "(<)(style)\\b(?=[^>]*lang=('scss'|\"scss\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.css.scss", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.css.scss" - } - ] - } - ] - }, - { - "begin": "(<)(style)\\b(?=[^>]*lang=('less'|\"less\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.css.less", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.css.less" - } - ] - } - ] - }, - { - "begin": "(<)(style)\\b(?=[^>]*lang=('stylus'|\"stylus\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.stylus", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.stylus" - } - ] - } - ] - }, - { - "begin": "(<)(style)\\b(?=[^>]*lang=('postcss'|\"postcss\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.css.postcss", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.css.postcss" - } - ] - } - ] - }, - { - "begin": "(<)(style)(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.css", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.css" - } - ] - } - ] - }, - { - "begin": "(<)(script)\\b(?=[^>]*/>$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - } - }, - "end": "(/>)", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - { - "begin": "(<)(script)(?=[^>]*>[^/>]*)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)" - } - ] - }, - { - "begin": "(<)(script)\\b(?=[^>]*lang=('ts'|\"ts\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.ts", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.ts" - } - ] - } - ] - }, - { - "begin": "(<)(script)\\b(?=[^>]*lang=('coffee'|\"coffee\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.coffee", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.coffee" - } - ] - } - ] - }, - { - "begin": "(<)(script)(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.js", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.js" - } - ] - } - ] - } - ], - "repository": { - "entities": { - "patterns": [ - { - "name": "constant.character.entity.html", - "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)", - "captures": { - "1": { - "name": "punctuation.definition.entity.html" - }, - "3": { - "name": "punctuation.definition.entity.html" - } - } - }, - { - "name": "invalid.illegal.bad-ampersand.html", - "match": "&" - } - ] - }, - "string-double-quoted": { - "name": "string.quoted.double.html", - "begin": "\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "#vue-interpolations" - }, - { - "include": "#entities" - } - ] - }, - "string-single-quoted": { - "name": "string.quoted.single.html", - "begin": "'", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "#vue-interpolations" - }, - { - "include": "#entities" - } - ] - }, - "tag-generic-attribute": { - "name": "entity.other.attribute-name.html", - "match": "\\b([a-zA-Z\\-:_]+)" - }, - "tag-id-attribute": { - "name": "meta.attribute-with-value.id.html", - "begin": "\\b(id)\\b\\s*(=)", - "end": "(?<='|\")", - "captures": { - "1": { - "name": "entity.other.attribute-name.id.html" - }, - "2": { - "name": "punctuation.separator.key-value.html" - } - }, - "patterns": [ - { - "name": "string.quoted.double.html", - "contentName": "meta.toc-list.id.html", - "begin": "\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "#vue-interpolations" - }, - { - "include": "#entities" - } - ] - }, - { - "name": "string.quoted.single.html", - "contentName": "meta.toc-list.id.html", - "begin": "'", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "#vue-interpolations" - }, - { - "include": "#entities" - } - ] - } - ] - }, - "tag-stuff": { - "patterns": [ - { - "include": "#vue-directives" - }, - { - "include": "#tag-id-attribute" - }, - { - "include": "#tag-generic-attribute" - }, - { - "include": "#string-double-quoted" - }, - { - "include": "#string-single-quoted" - } - ] - }, - "vue-directives": { - "name": "meta.directive.vue", - "begin": "(?:\\b(v-)|(:|@|#))([a-zA-Z0-9\\-_]+)(?:\\:([a-zA-Z\\-_]+))?(?:\\.([a-zA-Z\\-_]+))*\\s*(=)", - "end": "(?<='|\")|(?=[\\s<>`])", - "captures": { - "1": { - "name": "entity.other.attribute-name.html" - }, - "2": { - "name": "punctuation.separator.key-value.html" - }, - "3": { - "name": "entity.other.attribute-name.html" - }, - "4": { - "name": "entity.other.attribute-name.html" - }, - "5": { - "name": "entity.other.attribute-name.html" - }, - "6": { - "name": "punctuation.separator.key-value.html" - } - }, - "patterns": [ - { - "name": "source.directive.vue", - "begin": "`", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "`", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "source.js#expression" - } - ] - }, - { - "name": "source.directive.vue", - "begin": "\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "source.js#expression" - } - ] - }, - { - "name": "source.directive.vue", - "begin": "'", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "source.js#expression" - } - ] - } - ] - }, - "vue-interpolations": { - "patterns": [ - { - "name": "expression.embedded.vue", - "begin": "\\{\\{\\{?", - "beginCaptures": { - "0": { - "name": "punctuation.definition.generic.begin.html" - } - }, - "end": "\\}\\}\\}?", - "endCaptures": { - "0": { - "name": "punctuation.definition.generic.end.html" - } - }, - "patterns": [ - { - "include": "source.js#expression" - } - ] - } - ] - } - } -} diff --git a/extensions/vetur-web/syntaxes/vue-html.YAML b/extensions/vetur-web/syntaxes/vue-html.YAML deleted file mode 100644 index eb85a08a1..000000000 --- a/extensions/vetur-web/syntaxes/vue-html.YAML +++ /dev/null @@ -1,259 +0,0 @@ -# [PackageDev] target_format: plist, ext: tmLanguage -name: Vue HTML -scopeName: text.html.vue-html -fileTypes: [] -uuid: ca2e4260-5d62-45bf-8cf1-d8b5cc19c8f8 -patterns: - - include: source.vue#vue-interpolations - - name: meta.tag.any.html - begin: (<)([A-Z][a-zA-Z0-9:-]*)(?=[^>]*>) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: support.class.component.html } - end: (>)(<)(/)(\2)(>) - endCaptures: - '1': { name: punctuation.definition.tag.end.html } - '2': - { - name: punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html, - } - '3': { name: punctuation.definition.tag.begin.html } - '4': { name: support.class.component.html } - '5': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - name: meta.tag.any.html - begin: (<)([a-z][a-zA-Z0-9:-]*)(?=[^>]*>) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.html } - end: (>)(<)(/)(\2)(>) - endCaptures: - '1': { name: punctuation.definition.tag.end.html } - '2': - { - name: punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html, - } - '3': { name: punctuation.definition.tag.begin.html } - '4': { name: entity.name.tag.html } - '5': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - name: meta.tag.preprocessor.xml.html - begin: (<\?)(xml) - end: (\?>) - captures: - '1': { name: punctuation.definition.tag.html } - '2': { name: entity.name.tag.xml.html } - patterns: - - include: '#tag-generic-attribute' - - include: '#string-double-quoted' - - include: '#string-single-quoted' - - name: comment.block.html - begin: - captures: - '0': { name: punctuation.definition.comment.html } - - name: meta.tag.sgml.html - begin: ' - captures: - '0': { name: punctuation.definition.tag.html } - patterns: - - name: meta.tag.sgml.doctype.html - begin: (?i:DOCTYPE) - end: (?=>) - captures: - '1': { name: entity.name.tag.doctype.html } - patterns: - - name: string.quoted.double.doctype.identifiers-and-DTDs.html - match: '"[^">]*"' - - name: constant.other.inline-data.html - begin: \[CDATA\[ - end: ']](?=>)' - - name: invalid.illegal.bad-comments-or-CDATA.html - match: (\s*)(?!--|>)\S(\s*) - - name: meta.tag.block.any.html - begin: () - endCaptures: - '1': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - name: meta.tag.block.any.html - begin: () - endCaptures: - '1': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - name: meta.tag.structure.any.html - begin: () - endCaptures: - '1': { name: punctuation.definition.tag.end.html } - captures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.structure.any.html } - patterns: - - include: '#tag-stuff' - - name: meta.tag.block.any.html - begin: () - endCaptures: - '1': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - name: meta.tag.inline.any.html - begin: () - endCaptures: - '1': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - name: meta.tag.other.html - begin: () - endCaptures: - '1': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - include: '#entities' - - name: invalid.illegal.incomplete.html - match: <> - - name: invalid.illegal.bad-angle-bracket.html - match: < -repository: - entities: - patterns: - - name: constant.character.entity.html - match: (&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;) - captures: - '1': { name: punctuation.definition.entity.html } - '3': { name: punctuation.definition.entity.html } - - name: invalid.illegal.bad-ampersand.html - match: '&' - string-double-quoted: - name: string.quoted.double.html - begin: '"' - beginCaptures: - '0': { name: punctuation.definition.string.begin.html } - end: '"' - endCaptures: - '0': { name: punctuation.definition.string.end.html } - patterns: - - include: source.vue#vue-interpolations - - include: '#entities' - string-single-quoted: - name: string.quoted.single.html - begin: "'" - beginCaptures: - '0': { name: punctuation.definition.string.begin.html } - end: "'" - endCaptures: - '0': { name: punctuation.definition.string.end.html } - patterns: - - include: source.vue#vue-interpolations - - include: '#entities' - tag-generic-attribute: - name: entity.other.attribute-name.html - match: (?<=[^=])\b([a-zA-Z0-9:\-_]+) - tag-id-attribute: - name: meta.attribute-with-value.id.html - begin: \b(id)\b\s*(=) - end: (?!\G)(?<='|"|[^\s<>/]) - captures: - '1': { name: entity.other.attribute-name.id.html } - '2': { name: punctuation.separator.key-value.html } - patterns: - - name: string.quoted.double.html - contentName: meta.toc-list.id.html - begin: '"' - beginCaptures: - '0': { name: punctuation.definition.string.begin.html } - end: '"' - endCaptures: - '0': { name: punctuation.definition.string.end.html } - patterns: - - include: source.vue#vue-interpolations - - include: '#entities' - - name: string.quoted.single.html - contentName: meta.toc-list.id.html - begin: "'" - beginCaptures: - '0': { name: punctuation.definition.string.begin.html } - end: "'" - endCaptures: - '0': { name: punctuation.definition.string.end.html } - patterns: - - include: source.vue#vue-interpolations - - include: '#entities' - - name: string.unquoted.html - match: (?<==)(?:[^\s<>/'"]|/(?!>))+ - captures: - '0': { name: meta.toc-list.id.html } - tag-stuff: - patterns: - - include: '#vue-directives' - - include: '#tag-id-attribute' - - include: '#tag-generic-attribute' - - include: '#string-double-quoted' - - include: '#string-single-quoted' - - include: '#unquoted-attribute' - unquoted-attribute: - name: string.unquoted.html - match: (?<==)(?:[^\s<>/'"]|/(?!>))+ - vue-directives: - name: meta.directive.vue - begin: (?:\b(v-)|(:|@|#))([a-zA-Z0-9\-_]+)(?:\:([a-zA-Z\-_]+))?(?:\.([a-zA-Z\-_]+))*\s*(=) - end: (?<='|")|(?=[\s<>`]) - captures: - '1': { name: entity.other.attribute-name.html } - '2': { name: punctuation.separator.key-value.html } - '3': { name: entity.other.attribute-name.html } - '4': { name: entity.other.attribute-name.html } - '5': { name: entity.other.attribute-name.html } - '6': { name: punctuation.separator.key-value.html } - patterns: - - name: source.directive.vue - begin: '`' - beginCaptures: - '0': { name: punctuation.definition.string.begin.html } - end: '`' - endCaptures: - '0': { name: punctuation.definition.string.end.html } - patterns: - - include: source.js#expression - - name: source.directive.vue - begin: '"' - beginCaptures: - '0': { name: punctuation.definition.string.begin.html } - end: '"' - endCaptures: - '0': { name: punctuation.definition.string.end.html } - patterns: - - include: source.js#expression - - name: source.directive.vue - begin: "'" - beginCaptures: - '0': { name: punctuation.definition.string.begin.html } - end: "'" - endCaptures: - '0': { name: punctuation.definition.string.end.html } - patterns: - - include: source.js#expression diff --git a/extensions/vetur-web/syntaxes/vue-html.tmLanguage.json b/extensions/vetur-web/syntaxes/vue-html.tmLanguage.json deleted file mode 100644 index 0e48bbfcf..000000000 --- a/extensions/vetur-web/syntaxes/vue-html.tmLanguage.json +++ /dev/null @@ -1,558 +0,0 @@ -{ - "name": "Vue HTML", - "scopeName": "text.html.vue-html", - "fileTypes": [], - "uuid": "ca2e4260-5d62-45bf-8cf1-d8b5cc19c8f8", - "patterns": [ - { - "include": "source.vue#vue-interpolations" - }, - { - "name": "meta.tag.any.html", - "begin": "(<)([A-Z][a-zA-Z0-9:-]*)(?=[^>]*>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "support.class.component.html" - } - }, - "end": "(>)(<)(/)(\\2)(>)", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - }, - "2": { - "name": "punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html" - }, - "3": { - "name": "punctuation.definition.tag.begin.html" - }, - "4": { - "name": "support.class.component.html" - }, - "5": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - { - "name": "meta.tag.any.html", - "begin": "(<)([a-z][a-zA-Z0-9:-]*)(?=[^>]*>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.html" - } - }, - "end": "(>)(<)(/)(\\2)(>)", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - }, - "2": { - "name": "punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html" - }, - "3": { - "name": "punctuation.definition.tag.begin.html" - }, - "4": { - "name": "entity.name.tag.html" - }, - "5": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - { - "name": "meta.tag.preprocessor.xml.html", - "begin": "(<\\?)(xml)", - "end": "(\\?>)", - "captures": { - "1": { - "name": "punctuation.definition.tag.html" - }, - "2": { - "name": "entity.name.tag.xml.html" - } - }, - "patterns": [ - { - "include": "#tag-generic-attribute" - }, - { - "include": "#string-double-quoted" - }, - { - "include": "#string-single-quoted" - } - ] - }, - { - "name": "comment.block.html", - "begin": "", - "captures": { - "0": { - "name": "punctuation.definition.comment.html" - } - } - }, - { - "name": "meta.tag.sgml.html", - "begin": "", - "captures": { - "0": { - "name": "punctuation.definition.tag.html" - } - }, - "patterns": [ - { - "name": "meta.tag.sgml.doctype.html", - "begin": "(?i:DOCTYPE)", - "end": "(?=>)", - "captures": { - "1": { - "name": "entity.name.tag.doctype.html" - } - }, - "patterns": [ - { - "name": "string.quoted.double.doctype.identifiers-and-DTDs.html", - "match": "\"[^\">]*\"" - } - ] - }, - { - "name": "constant.other.inline-data.html", - "begin": "\\[CDATA\\[", - "end": "]](?=>)" - }, - { - "name": "invalid.illegal.bad-comments-or-CDATA.html", - "match": "(\\s*)(?!--|>)\\S(\\s*)" - } - ] - }, - { - "name": "meta.tag.block.any.html", - "begin": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - { - "name": "meta.tag.block.any.html", - "begin": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - { - "name": "meta.tag.structure.any.html", - "begin": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "captures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.structure.any.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - { - "name": "meta.tag.block.any.html", - "begin": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - { - "name": "meta.tag.inline.any.html", - "begin": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - { - "name": "meta.tag.other.html", - "begin": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - { - "include": "#entities" - }, - { - "name": "invalid.illegal.incomplete.html", - "match": "<>" - }, - { - "name": "invalid.illegal.bad-angle-bracket.html", - "match": "<" - } - ], - "repository": { - "entities": { - "patterns": [ - { - "name": "constant.character.entity.html", - "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)", - "captures": { - "1": { - "name": "punctuation.definition.entity.html" - }, - "3": { - "name": "punctuation.definition.entity.html" - } - } - }, - { - "name": "invalid.illegal.bad-ampersand.html", - "match": "&" - } - ] - }, - "string-double-quoted": { - "name": "string.quoted.double.html", - "begin": "\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "source.vue#vue-interpolations" - }, - { - "include": "#entities" - } - ] - }, - "string-single-quoted": { - "name": "string.quoted.single.html", - "begin": "'", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "source.vue#vue-interpolations" - }, - { - "include": "#entities" - } - ] - }, - "tag-generic-attribute": { - "name": "entity.other.attribute-name.html", - "match": "(?<=[^=])\\b([a-zA-Z0-9:\\-_]+)" - }, - "tag-id-attribute": { - "name": "meta.attribute-with-value.id.html", - "begin": "\\b(id)\\b\\s*(=)", - "end": "(?!\\G)(?<='|\"|[^\\s<>/])", - "captures": { - "1": { - "name": "entity.other.attribute-name.id.html" - }, - "2": { - "name": "punctuation.separator.key-value.html" - } - }, - "patterns": [ - { - "name": "string.quoted.double.html", - "contentName": "meta.toc-list.id.html", - "begin": "\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "source.vue#vue-interpolations" - }, - { - "include": "#entities" - } - ] - }, - { - "name": "string.quoted.single.html", - "contentName": "meta.toc-list.id.html", - "begin": "'", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "source.vue#vue-interpolations" - }, - { - "include": "#entities" - } - ] - }, - { - "name": "string.unquoted.html", - "match": "(?<==)(?:[^\\s<>/'\"]|/(?!>))+", - "captures": { - "0": { - "name": "meta.toc-list.id.html" - } - } - } - ] - }, - "tag-stuff": { - "patterns": [ - { - "include": "#vue-directives" - }, - { - "include": "#tag-id-attribute" - }, - { - "include": "#tag-generic-attribute" - }, - { - "include": "#string-double-quoted" - }, - { - "include": "#string-single-quoted" - }, - { - "include": "#unquoted-attribute" - } - ] - }, - "unquoted-attribute": { - "name": "string.unquoted.html", - "match": "(?<==)(?:[^\\s<>/'\"]|/(?!>))+" - }, - "vue-directives": { - "name": "meta.directive.vue", - "begin": "(?:\\b(v-)|(:|@|#))([a-zA-Z0-9\\-_]+)(?:\\:([a-zA-Z\\-_]+))?(?:\\.([a-zA-Z\\-_]+))*\\s*(=)", - "end": "(?<='|\")|(?=[\\s<>`])", - "captures": { - "1": { - "name": "entity.other.attribute-name.html" - }, - "2": { - "name": "punctuation.separator.key-value.html" - }, - "3": { - "name": "entity.other.attribute-name.html" - }, - "4": { - "name": "entity.other.attribute-name.html" - }, - "5": { - "name": "entity.other.attribute-name.html" - }, - "6": { - "name": "punctuation.separator.key-value.html" - } - }, - "patterns": [ - { - "name": "source.directive.vue", - "begin": "`", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "`", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "source.js#expression" - } - ] - }, - { - "name": "source.directive.vue", - "begin": "\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "source.js#expression" - } - ] - }, - { - "name": "source.directive.vue", - "begin": "'", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "source.js#expression" - } - ] - } - ] - } - } -} diff --git a/extensions/vetur-web/syntaxes/vue-postcss.json b/extensions/vetur-web/syntaxes/vue-postcss.json deleted file mode 100644 index 4295f5047..000000000 --- a/extensions/vetur-web/syntaxes/vue-postcss.json +++ /dev/null @@ -1,374 +0,0 @@ -{ - "patterns": [ - { - "patterns": [ - { - "include": "#comment-tag" - } - ], - "begin": "/\\*", - "name": "comment.block.postcss", - "end": "\\*/" - }, - { - "include": "#double-slash" - }, - { - "include": "#double-quoted" - }, - { - "include": "#single-quoted" - }, - { - "include": "#interpolation" - }, - { - "include": "#placeholder-selector" - }, - { - "include": "#variable" - }, - { - "include": "#variable-root-css" - }, - { - "include": "#numeric" - }, - { - "include": "#unit" - }, - { - "include": "#flag" - }, - { - "include": "#dotdotdot" - }, - { - "captures": { - "0": { - "name": "keyword.control.at-rule.css.postcss" - } - }, - "begin": "@include", - "name": "support.function.name.postcss.library", - "end": "(?=\\n|\\(|{|;)" - }, - { - "captures": { - "0": { - "name": "keyword.control.at-rule.css.postcss" - } - }, - "patterns": [ - { - "name": "entity.name.function", - "match": "[\\w-]+" - } - ], - "begin": "@mixin|@function", - "name": "support.function.name.postcss.no-completions", - "end": "$\\n?|(?=\\(|{)" - }, - { - "name": "string.quoted.double.css.postcss", - "match": "(?<=@import)\\s[\\w/.*-]+" - }, - { - "begin": "@", - "name": "keyword.control.at-rule.css.postcss", - "end": "$\\n?|\\s(?!(all|braille|embossed|handheld|print|projection|screen|speech|tty|tv|if|only|not)(\\s|,))|(?=;)" - }, - { - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "#pseudo-class" - } - ], - "begin": "#", - "name": "entity.other.attribute-name.id.css.postcss", - "end": "$\\n?|(?=\\s|,|;|\\(|\\)|\\.|\\[|{|>)" - }, - { - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "#pseudo-class" - } - ], - "begin": "\\.|(?<=&)(-|_)", - "name": "entity.other.attribute-name.class.css.postcss", - "end": "$\\n?|(?=\\s|,|;|\\(|\\)|\\[|{|>)" - }, - { - "patterns": [ - { - "include": "#double-quoted" - }, - { - "include": "#single-quoted" - }, - { - "name": "keyword.other.regex.postcss", - "match": "\\^|\\$|\\*|~" - } - ], - "begin": "\\[", - "name": "entity.other.attribute-selector.postcss", - "end": "\\]" - }, - { - "name": "entity.other.attribute-name.pseudo-class.css.postcss", - "match": "(?<=\\]|\\)|not\\(|\\*|>|>\\s):[a-z:-]+|(::|:-)[a-z:-]+" - }, - { - "patterns": [ - { - "include": "#double-slash" - }, - { - "include": "#double-quoted" - }, - { - "include": "#single-quoted" - }, - { - "include": "#interpolation" - }, - { - "include": "#variable" - }, - { - "include": "#rgb-value" - }, - { - "include": "#numeric" - }, - { - "include": "#unit" - }, - { - "include": "#flag" - }, - { - "include": "#function" - }, - { - "include": "#function-content" - }, - { - "include": "#function-content-var" - }, - { - "include": "#operator" - }, - { - "include": "#parent-selector" - }, - { - "include": "#property-value" - } - ], - "begin": ":", - "name": "meta.property-list.css.postcss", - "end": "$\\n?|(?=;|\\s\\(|and\\(|{|}|\\),)" - }, - { - "include": "#rgb-value" - }, - { - "include": "#function" - }, - { - "include": "#function-content" - }, - { - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "#pseudo-class" - } - ], - "begin": "(?|-|_)" - }, - { - "include": "#operator" - }, - { - "name": "support.type.property-name.css.postcss", - "match": "[a-z-]+((?=:|#{))" - }, - { - "include": "#reserved-words" - }, - { - "include": "#property-value" - } - ], - "name": "PostCSS", - "repository": { - "reserved-words": { - "name": "support.type.property-name.css.postcss", - "match": "\\b(false|from|in|not|null|through|to|true)\\b" - }, - "double-quoted": { - "patterns": [ - { - "include": "#quoted-interpolation" - } - ], - "begin": "\"", - "name": "string.quoted.double.css.postcss", - "end": "\"" - }, - "operator": { - "name": "keyword.operator.postcss", - "match": "\\+|\\s-\\s|\\s-(?=\\$)|(?<=\\()-(?=\\$)|\\s-(?=\\()|\\*|/|%|=|!|<|>|~" - }, - "function-content": { - "name": "string.quoted.double.css.postcss", - "match": "(?<=url\\(|format\\(|attr\\().+?(?=\\))" - }, - "double-slash": { - "patterns": [ - { - "include": "#comment-tag" - } - ], - "begin": "//", - "name": "comment.line.postcss", - "end": "$" - }, - "numeric": { - "name": "constant.numeric.css.postcss", - "match": "(-|\\.)?[0-9]+(\\.[0-9]+)?" - }, - "variable-root-css": { - "name": "variable.parameter.postcss", - "match": "(?", - "captures": { - "0": { - "name": "punctuation.definition.comment.html" - } - } - }, - { - "begin": "(<)(?=template.*[^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - } - }, - "end": "(/>)", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "begin": "(template)", - "beginCaptures": { - "1": { - "name": "entity.name.tag.template.html" - } - }, - "end": "(?=/>)", - "patterns": [ - { - "include": "#tag-stuff" - } - ] - } - ] - }, - { - "begin": "(<)(template)(?=[^>]*>[^/>]*)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)" - } - ] - }, - { - "begin": "(<)(template)\\b(?=[^>]*lang=('jade'|\"jade\"|'pug'|\"pug\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "text.pug", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "text.pug" - } - ] - } - ] - }, - { - "begin": "(<)(template)\\b(?=[^>]*lang=('haml'|\"haml\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "text.haml", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "text.haml" - } - ] - } - ] - }, - { - "begin": "(<)(template)\\b(?=[^>]*lang=('slim'|\"slim\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "text.slim", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "text.slim" - } - ] - } - ] - }, - { - "begin": "(<)(template)\\b(?=[^>]*lang=('slm'|\"slm\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "text.jade.slm", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "text.jade.slm" - } - ] - } - ] - }, - { - "begin": "(<)(template)\\b(?=[^>]*lang=('liquid'|\"liquid\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "text.html.liquid", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "text.html.liquid" - } - ] - } - ] - }, - { - "begin": "(<)(template)(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - } - }, - "end": "^()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.template.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "text.html.vue-html", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=^)", - "patterns": [ - { - "include": "text.html.vue-html" - } - ] - } - ] - }, - { - "begin": "(<)(style)\\b(?=[^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "(/>)", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - { - "begin": "(<)(style)(?=[^>]*>[^/>]*)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)" - } - ] - }, - { - "begin": "(<)(style)\\b(?=[^>]*lang=('sass'|\"sass\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.sass", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.sass" - } - ] - } - ] - }, - { - "begin": "(<)(style)\\b(?=[^>]*lang=('scss'|\"scss\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.css.scss", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.css.scss" - } - ] - } - ] - }, - { - "begin": "(<)(style)\\b(?=[^>]*lang=('less'|\"less\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.css.less", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.css.less" - } - ] - } - ] - }, - { - "begin": "(<)(style)\\b(?=[^>]*lang=('stylus'|\"stylus\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.stylus", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.stylus" - } - ] - } - ] - }, - { - "begin": "(<)(style)\\b(?=[^>]*lang=('postcss'|\"postcss\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.css.postcss", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.css.postcss" - } - ] - } - ] - }, - { - "begin": "(<)(style)(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.style.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.css", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.css" - } - ] - } - ] - }, - { - "begin": "(<)(script)\\b(?=[^>]*/>$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - } - }, - "end": "(/>)", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - { - "begin": "(<)(script)(?=[^>]*>[^/>]*)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)" - } - ] - }, - { - "begin": "(<)(script)\\b(?=[^>]*lang=('ts'|\"ts\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.ts", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.ts" - } - ] - } - ] - }, - { - "begin": "(<)(script)\\b(?=[^>]*lang=('coffee'|\"coffee\"))(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.coffee", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.coffee" - } - ] - } - ] - }, - { - "begin": "(<)(script)(?![^/>]*/>\\s*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - } - }, - "end": "()", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.script.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - }, - { - "contentName": "source.js", - "begin": "(>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "end": "(?=)", - "patterns": [ - { - "include": "source.js" - } - ] - } - ] - } - ], - "repository": { - "entities": { - "patterns": [ - { - "name": "constant.character.entity.html", - "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)", - "captures": { - "1": { - "name": "punctuation.definition.entity.html" - }, - "3": { - "name": "punctuation.definition.entity.html" - } - } - }, - { - "name": "invalid.illegal.bad-ampersand.html", - "match": "&" - } - ] - }, - "string-double-quoted": { - "name": "string.quoted.double.html", - "begin": "\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "#vue-interpolations" - }, - { - "include": "#entities" - } - ] - }, - "string-single-quoted": { - "name": "string.quoted.single.html", - "begin": "'", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "#vue-interpolations" - }, - { - "include": "#entities" - } - ] - }, - "tag-generic-attribute": { - "name": "entity.other.attribute-name.html", - "match": "\\b([a-zA-Z\\-:_]+)" - }, - "tag-id-attribute": { - "name": "meta.attribute-with-value.id.html", - "begin": "\\b(id)\\b\\s*(=)", - "end": "(?<='|\")", - "captures": { - "1": { - "name": "entity.other.attribute-name.id.html" - }, - "2": { - "name": "punctuation.separator.key-value.html" - } - }, - "patterns": [ - { - "name": "string.quoted.double.html", - "contentName": "meta.toc-list.id.html", - "begin": "\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "#vue-interpolations" - }, - { - "include": "#entities" - } - ] - }, - { - "name": "string.quoted.single.html", - "contentName": "meta.toc-list.id.html", - "begin": "'", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "#vue-interpolations" - }, - { - "include": "#entities" - } - ] - } - ] - }, - "tag-stuff": { - "patterns": [ - { - "include": "#vue-directives" - }, - { - "include": "#tag-id-attribute" - }, - { - "include": "#tag-generic-attribute" - }, - { - "include": "#string-double-quoted" - }, - { - "include": "#string-single-quoted" - } - ] - }, - "vue-directives": { - "name": "meta.directive.vue", - "begin": "(?:\\b(v-)|(:|@|#))([a-zA-Z0-9\\-_]+)(?:\\:([a-zA-Z\\-_]+))?(?:\\.([a-zA-Z\\-_]+))*\\s*(=)", - "end": "(?<='|\")|(?=[\\s<>`])", - "captures": { - "1": { - "name": "entity.other.attribute-name.html" - }, - "2": { - "name": "punctuation.separator.key-value.html" - }, - "3": { - "name": "entity.other.attribute-name.html" - }, - "4": { - "name": "entity.other.attribute-name.html" - }, - "5": { - "name": "entity.other.attribute-name.html" - }, - "6": { - "name": "punctuation.separator.key-value.html" - } - }, - "patterns": [ - { - "name": "source.directive.vue", - "begin": "`", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "`", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "source.js#expression" - } - ] - }, - { - "name": "source.directive.vue", - "begin": "\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "source.js#expression" - } - ] - }, - { - "name": "source.directive.vue", - "begin": "'", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "end": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "patterns": [ - { - "include": "source.js#expression" - } - ] - } - ] - }, - "vue-interpolations": { - "patterns": [ - { - "name": "expression.embedded.vue", - "begin": "\\{\\{\\{?", - "beginCaptures": { - "0": { - "name": "punctuation.definition.generic.begin.html" - } - }, - "end": "\\}\\}\\}?", - "endCaptures": { - "0": { - "name": "punctuation.definition.generic.end.html" - } - }, - "patterns": [ - { - "include": "source.js#expression" - } - ] - } - ] - } - } -} diff --git a/extensions/vetur-web/syntaxes/vue.yaml b/extensions/vetur-web/syntaxes/vue.yaml deleted file mode 100644 index 417d75e82..000000000 --- a/extensions/vetur-web/syntaxes/vue.yaml +++ /dev/null @@ -1,528 +0,0 @@ -# [PackageDev] target_format: plist, ext: tmLanguage -name: Vue -scopeName: source.vue -fileTypes: [vue] -uuid: 5512c10d-4cc5-434c-b8fc-53b912f55ab3 -patterns: - # comment - - name: comment.block.html - begin: - captures: - '0': { name: punctuation.definition.comment.html } - - # template - single line - # ) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.template.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.template.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - - # jade / pug - - begin: (<)(template)\b(?=[^>]*lang=('jade'|"jade"|'pug'|"pug"))(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.template.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.template.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: text.pug - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - patterns: - - include: text.pug - - # haml - - begin: (<)(template)\b(?=[^>]*lang=('haml'|"haml"))(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.template.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.template.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: text.haml - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - patterns: - - include: text.haml - - # slim - - begin: (<)(template)\b(?=[^>]*lang=('slim'|"slim"))(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.template.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.template.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: text.slim - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - patterns: - - include: text.slim - - # slm - - begin: (<)(template)\b(?=[^>]*lang=('slm'|"slm"))(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.template.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.template.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: text.jade.slm - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - patterns: - - include: text.jade.slm - - # liquid - - begin: (<)(template)\b(?=[^>]*lang=('liquid'|"liquid"))(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.template.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.template.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: text.html.liquid - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - patterns: - - include: text.html.liquid - - # html - - begin: (<)(template)(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.template.html } - end: ^() - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.template.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: text.html.vue-html - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=^) - patterns: - - include: text.html.vue-html - - # style - single line - # - - begin: (<)(style)(?=[^>]*>[^/>]*) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.style.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.style.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - - # sass / scss - - begin: (<)(style)\b(?=[^>]*lang=('sass'|"sass"))(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.style.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.style.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: source.sass - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - patterns: - - include: source.sass - - begin: (<)(style)\b(?=[^>]*lang=('scss'|"scss"))(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.style.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.style.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: source.css.scss - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - patterns: - - include: source.css.scss - - # less - - begin: (<)(style)\b(?=[^>]*lang=('less'|"less"))(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.style.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.style.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: source.css.less - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - patterns: - - include: source.css.less - - # stylus - - begin: (<)(style)\b(?=[^>]*lang=('stylus'|"stylus"))(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.style.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.style.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: source.stylus - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - patterns: - - include: source.stylus - - # postcss - - begin: (<)(style)\b(?=[^>]*lang=('postcss'|"postcss"))(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.style.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.style.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: source.css.postcss - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - patterns: - - include: source.css.postcss - - # css - - begin: (<)(style)(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.style.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.style.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: source.css - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - patterns: - - include: source.css - - # script - single line - # - - begin: (<)(script)(?=[^>]*>[^/>]*) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.script.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.script.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - - # ts - - begin: (<)(script)\b(?=[^>]*lang=('ts'|"ts"))(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.script.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.script.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: source.ts - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - patterns: - - include: source.ts - - # coffee - - begin: (<)(script)\b(?=[^>]*lang=('coffee'|"coffee"))(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.script.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.script.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: source.coffee - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - patterns: - - include: source.coffee - - # js - - begin: (<)(script)(?![^/>]*/>\s*$) - beginCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.script.html } - end: () - endCaptures: - '1': { name: punctuation.definition.tag.begin.html } - '2': { name: entity.name.tag.script.html } - '3': { name: punctuation.definition.tag.end.html } - patterns: - - include: '#tag-stuff' - - contentName: source.js - begin: (>) - beginCaptures: - '1': { name: punctuation.definition.tag.end.html } - end: (?=) - patterns: - - include: source.js - -# Repository -repository: - entities: - patterns: - - name: constant.character.entity.html - match: (&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;) - captures: - '1': { name: punctuation.definition.entity.html } - '3': { name: punctuation.definition.entity.html } - - name: invalid.illegal.bad-ampersand.html - match: '&' - string-double-quoted: - name: string.quoted.double.html - begin: '"' - beginCaptures: - '0': { name: punctuation.definition.string.begin.html } - end: '"' - endCaptures: - '0': { name: punctuation.definition.string.end.html } - patterns: - - include: '#vue-interpolations' - - include: '#entities' - string-single-quoted: - name: string.quoted.single.html - begin: "'" - beginCaptures: - '0': { name: punctuation.definition.string.begin.html } - end: "'" - endCaptures: - '0': { name: punctuation.definition.string.end.html } - patterns: - - include: '#vue-interpolations' - - include: '#entities' - tag-generic-attribute: - name: entity.other.attribute-name.html - match: \b([a-zA-Z\-:_]+) - tag-id-attribute: - name: meta.attribute-with-value.id.html - begin: \b(id)\b\s*(=) - end: (?<='|") - captures: - '1': { name: entity.other.attribute-name.id.html } - '2': { name: punctuation.separator.key-value.html } - patterns: - - name: string.quoted.double.html - contentName: meta.toc-list.id.html - begin: '"' - beginCaptures: - '0': { name: punctuation.definition.string.begin.html } - end: '"' - endCaptures: - '0': { name: punctuation.definition.string.end.html } - patterns: - - include: '#vue-interpolations' - - include: '#entities' - - name: string.quoted.single.html - contentName: meta.toc-list.id.html - begin: "'" - beginCaptures: - '0': { name: punctuation.definition.string.begin.html } - end: "'" - endCaptures: - '0': { name: punctuation.definition.string.end.html } - patterns: - - include: '#vue-interpolations' - - include: '#entities' - tag-stuff: - patterns: - - include: '#vue-directives' - - include: '#tag-id-attribute' - - include: '#tag-generic-attribute' - - include: '#string-double-quoted' - - include: '#string-single-quoted' - vue-directives: - name: meta.directive.vue - begin: (?:\b(v-)|(:|@|#))([a-zA-Z0-9\-_]+)(?:\:([a-zA-Z\-_]+))?(?:\.([a-zA-Z\-_]+))*\s*(=) - end: (?<='|")|(?=[\s<>`]) - captures: - '1': { name: entity.other.attribute-name.html } - '2': { name: punctuation.separator.key-value.html } - '3': { name: entity.other.attribute-name.html } - '4': { name: entity.other.attribute-name.html } - '5': { name: entity.other.attribute-name.html } - '6': { name: punctuation.separator.key-value.html } - patterns: - - name: source.directive.vue - begin: '`' - beginCaptures: - '0': { name: punctuation.definition.string.begin.html } - end: '`' - endCaptures: - '0': { name: punctuation.definition.string.end.html } - patterns: - - include: source.js#expression - - name: source.directive.vue - begin: '"' - beginCaptures: - '0': { name: punctuation.definition.string.begin.html } - end: '"' - endCaptures: - '0': { name: punctuation.definition.string.end.html } - patterns: - - include: source.js#expression - - name: source.directive.vue - begin: "'" - beginCaptures: - '0': { name: punctuation.definition.string.begin.html } - end: "'" - endCaptures: - '0': { name: punctuation.definition.string.end.html } - patterns: - - include: source.js#expression - vue-interpolations: - patterns: - - name: expression.embedded.vue - begin: \{\{\{? - beginCaptures: - '0': { name: punctuation.definition.generic.begin.html } - end: \}\}\}? - endCaptures: - '0': { name: punctuation.definition.generic.end.html } - patterns: - - include: source.js#expression diff --git a/resources/index-dev-vscode.html b/resources/index-dev-vscode.html index 77633494f..2f3fdb9fd 100644 --- a/resources/index-dev-vscode.html +++ b/resources/index-dev-vscode.html @@ -77,7 +77,7 @@

You need to enable JavaScript to run this app.

.setAttribute('data-settings', extensionsJson); document .getElementById('vscode-product-configuration') - .setAttribute('data-settings', { + .setAttribute('data-settings', JSON.stringify({ nameShort: 'GitHub1s', nameLong: 'GitHub1s', extensionsGallery: {serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery",cacheUrl:"https://vscode.blob.core.windows.net/gallery/index",itemUrl:"https://marketplace.visualstudio.com/items",resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",controlUrl:"https://az764295.vo.msecnd.net/extensions/marketplace.json",recommendationsUrl:"https://az764295.vo.msecnd.net/extensions/workspaceRecommendations.json.gz"}, @@ -89,7 +89,7 @@

You need to enable JavaScript to run this app.

'*.sourcegraph.com', '*.gitpod.io', ] - }); + })); require(['vs/code/browser/workbench/workbench'], function () {}); }); diff --git a/resources/index-hash.html b/resources/index-hash.html index 0ad07c2c9..0335a7316 100644 --- a/resources/index-hash.html +++ b/resources/index-hash.html @@ -188,7 +188,7 @@

You need to enable JavaScript to run this app.

.setAttribute('data-settings', extensionsJson); document .getElementById('vscode-product-configuration') - .setAttribute('data-settings', { + .setAttribute('data-settings', JSON.stringify({ nameShort: 'GitHub1s', nameLong: 'GitHub1s', extensionsGallery: {serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery",cacheUrl:"https://vscode.blob.core.windows.net/gallery/index",itemUrl:"https://marketplace.visualstudio.com/items",resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",controlUrl:"https://az764295.vo.msecnd.net/extensions/marketplace.json",recommendationsUrl:"https://az764295.vo.msecnd.net/extensions/workspaceRecommendations.json.gz"}, @@ -200,7 +200,7 @@

You need to enable JavaScript to run this app.

'*.sourcegraph.com', '*.gitpod.io', ] - }); + })); require(['vs/code/browser/workbench/workbench'], function () {}); }); diff --git a/resources/index.html b/resources/index.html index 1e74332f1..e32671f82 100644 --- a/resources/index.html +++ b/resources/index.html @@ -188,7 +188,7 @@

You need to enable JavaScript to run this app.

.setAttribute('data-settings', extensionsJson); document .getElementById('vscode-product-configuration') - .setAttribute('data-settings', { + .setAttribute('data-settings', JSON.stringify({ nameShort: 'GitHub1s', nameLong: 'GitHub1s', extensionsGallery: {serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery",cacheUrl:"https://vscode.blob.core.windows.net/gallery/index",itemUrl:"https://marketplace.visualstudio.com/items",resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",controlUrl:"https://az764295.vo.msecnd.net/extensions/marketplace.json",recommendationsUrl:"https://az764295.vo.msecnd.net/extensions/workspaceRecommendations.json.gz"}, @@ -200,7 +200,7 @@

You need to enable JavaScript to run this app.

'*.sourcegraph.com', '*.gitpod.io', ] - }); + })); require(['vs/code/browser/workbench/workbench'], function () {}); }); diff --git a/vscode-web-github1s/src/vs/workbench/common/editor/resourceEditorInput.ts b/vscode-web-github1s/src/vs/workbench/common/editor/resourceEditorInput.ts index cc1dcbf4c..33870509a 100644 --- a/vscode-web-github1s/src/vs/workbench/common/editor/resourceEditorInput.ts +++ b/vscode-web-github1s/src/vs/workbench/common/editor/resourceEditorInput.ts @@ -171,12 +171,9 @@ export abstract class AbstractResourceEditorInput extends EditorInput implements } private decorateLabel(label: string): string { - const readonly = this.hasCapability(EditorInputCapabilities.Readonly); - const orphaned = this.isOrphaned(); - // below codes are changed by github1s // remove read-only tips - return decorateFileEditorLabel(label, { orphaned, readonly: false }); + return decorateFileEditorLabel(label, { orphaned: false, readonly: false }); // above codes are changed by github1s } diff --git a/vscode-web-github1s/src/vs/workbench/services/themes/browser/workbenchThemeService.ts b/vscode-web-github1s/src/vs/workbench/services/themes/browser/workbenchThemeService.ts index 33e5caa23..e3e301863 100644 --- a/vscode-web-github1s/src/vs/workbench/services/themes/browser/workbenchThemeService.ts +++ b/vscode-web-github1s/src/vs/workbench/services/themes/browser/workbenchThemeService.ts @@ -33,7 +33,9 @@ import { updateColorThemeConfigurationSchemas, updateFileIconThemeConfigurationS import { ProductIconThemeData, DEFAULT_PRODUCT_ICON_THEME_ID } from 'vs/workbench/services/themes/browser/productIconThemeData'; import { registerProductIconThemeSchemas } from 'vs/workbench/services/themes/common/productIconThemeSchema'; import { ILogService } from 'vs/platform/log/common/log'; -import { isWeb } from 'vs/base/common/platform'; +// below codes are changed by github1s +// import { isWeb } from 'vs/base/common/platform'; +// above codes are changed by github1s import { ColorScheme } from 'vs/platform/theme/common/theme'; import { IHostColorSchemeService } from 'vs/workbench/services/themes/common/hostColorSchemeService'; import { RunOnceScheduler, Sequencer } from 'vs/base/common/async'; diff --git a/vscode-web-github1s/src/vs/workbench/services/themes/common/themeConfiguration.ts b/vscode-web-github1s/src/vs/workbench/services/themes/common/themeConfiguration.ts index ed8585a49..3eb332e78 100644 --- a/vscode-web-github1s/src/vs/workbench/services/themes/common/themeConfiguration.ts +++ b/vscode-web-github1s/src/vs/workbench/services/themes/common/themeConfiguration.ts @@ -14,7 +14,9 @@ import { workbenchColorsSchemaId } from 'vs/platform/theme/common/colorRegistry' import { tokenStylingSchemaId } from 'vs/platform/theme/common/tokenClassificationRegistry'; import { ThemeSettings, IWorkbenchColorTheme, IWorkbenchFileIconTheme, IColorCustomizations, ITokenColorCustomizations, IWorkbenchProductIconTheme, ISemanticTokenColorCustomizations, ThemeSettingTarget } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { IConfigurationService, ConfigurationTarget } from 'vs/platform/configuration/common/configuration'; -import { isMacintosh, isWeb, isWindows } from 'vs/base/common/platform'; +// below codes are changed by github1s +import { isMacintosh, isWindows } from 'vs/base/common/platform'; +// above codes are changed by github1s const DEFAULT_THEME_DARK_SETTING_VALUE = 'Default Dark+'; const DEFAULT_THEME_LIGHT_SETTING_VALUE = 'Default Light+'; From 25fad4d11ee6c8e3e58d5c0883ebd4606e9e6b56 Mon Sep 17 00:00:00 2001 From: netcon Date: Sun, 5 Sep 2021 00:00:08 +0800 Subject: [PATCH 03/13] chore: upgrade vscode to 1.60.0 --- .../github1s/src/views/settings-view.ts | 2 +- resources/index-dev-vscode.html | 17 - resources/index-hash.html | 17 - resources/index.html | 17 - .../vs/code/browser/workbench/workbench.ts | 22 +- .../src/vs/github1s/authorizing-github.ts | 1 + .../src/vs/github1s/authorizing-overlay.ts | 1 + .../src/vs/github1s/notification.ts | 1 + vscode-web-github1s/src/vs/github1s/util.ts | 1 + .../src/vs/github1s/welcomePage.css | 293 +++ .../src/vs/github1s/welcomePage.ts | 193 ++ .../src/vs/platform/product/common/product.ts | 35 +- .../parts/activitybar/activitybarActions.ts | 11 +- .../parts/activitybar/activitybarPart.ts | 2 +- .../gettingStarted/browser/gettingStarted.ts | 1619 +++++++++++++++++ .../page/browser/welcomePage.contribution.ts | 38 + 16 files changed, 2185 insertions(+), 85 deletions(-) create mode 100644 vscode-web-github1s/src/vs/github1s/welcomePage.css create mode 100644 vscode-web-github1s/src/vs/github1s/welcomePage.ts create mode 100644 vscode-web-github1s/src/vs/workbench/contrib/welcome/gettingStarted/browser/gettingStarted.ts create mode 100644 vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/welcomePage.contribution.ts diff --git a/extensions/github1s/src/views/settings-view.ts b/extensions/github1s/src/views/settings-view.ts index c4a357201..9baf92370 100644 --- a/extensions/github1s/src/views/settings-view.ts +++ b/extensions/github1s/src/views/settings-view.ts @@ -58,7 +58,7 @@ export class SettingsView implements vscode.WebviewViewProvider { }); break; case 'welcome-page': - vscode.commands.executeCommand('workbench.action.showWelcomePage'); + vscode.commands.executeCommand('workbench.action.openWalkthrough'); break; case 'authorizing-github': this.handleAuthorizingGithub(); diff --git a/resources/index-dev-vscode.html b/resources/index-dev-vscode.html index 2f3fdb9fd..fe90d7e7e 100644 --- a/resources/index-dev-vscode.html +++ b/resources/index-dev-vscode.html @@ -11,8 +11,6 @@ - - @@ -75,21 +73,6 @@

You need to enable JavaScript to run this app.

document .getElementById('vscode-workbench-builtin-extensions') .setAttribute('data-settings', extensionsJson); - document - .getElementById('vscode-product-configuration') - .setAttribute('data-settings', JSON.stringify({ - nameShort: 'GitHub1s', - nameLong: 'GitHub1s', - extensionsGallery: {serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery",cacheUrl:"https://vscode.blob.core.windows.net/gallery/index",itemUrl:"https://marketplace.visualstudio.com/items",resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",controlUrl:"https://az764295.vo.msecnd.net/extensions/marketplace.json",recommendationsUrl:"https://az764295.vo.msecnd.net/extensions/workspaceRecommendations.json.gz"}, - linkProtectionTrustedDomains: [ - '*.github.com', - '*.microsoft.com', - '*.github1s.com', - '*.vercel.com', - '*.sourcegraph.com', - '*.gitpod.io', - ] - })); require(['vs/code/browser/workbench/workbench'], function () {}); }); diff --git a/resources/index-hash.html b/resources/index-hash.html index 0335a7316..ebbf3f167 100644 --- a/resources/index-hash.html +++ b/resources/index-hash.html @@ -11,8 +11,6 @@ - - @@ -186,21 +184,6 @@

You need to enable JavaScript to run this app.

document .getElementById('vscode-workbench-builtin-extensions') .setAttribute('data-settings', extensionsJson); - document - .getElementById('vscode-product-configuration') - .setAttribute('data-settings', JSON.stringify({ - nameShort: 'GitHub1s', - nameLong: 'GitHub1s', - extensionsGallery: {serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery",cacheUrl:"https://vscode.blob.core.windows.net/gallery/index",itemUrl:"https://marketplace.visualstudio.com/items",resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",controlUrl:"https://az764295.vo.msecnd.net/extensions/marketplace.json",recommendationsUrl:"https://az764295.vo.msecnd.net/extensions/workspaceRecommendations.json.gz"}, - linkProtectionTrustedDomains: [ - '*.github.com', - '*.microsoft.com', - '*.github1s.com', - '*.vercel.com', - '*.sourcegraph.com', - '*.gitpod.io', - ] - })); require(['vs/code/browser/workbench/workbench'], function () {}); }); diff --git a/resources/index.html b/resources/index.html index e32671f82..9db371623 100644 --- a/resources/index.html +++ b/resources/index.html @@ -11,8 +11,6 @@ - - @@ -186,21 +184,6 @@

You need to enable JavaScript to run this app.

document .getElementById('vscode-workbench-builtin-extensions') .setAttribute('data-settings', extensionsJson); - document - .getElementById('vscode-product-configuration') - .setAttribute('data-settings', JSON.stringify({ - nameShort: 'GitHub1s', - nameLong: 'GitHub1s', - extensionsGallery: {serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery",cacheUrl:"https://vscode.blob.core.windows.net/gallery/index",itemUrl:"https://marketplace.visualstudio.com/items",resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",controlUrl:"https://az764295.vo.msecnd.net/extensions/marketplace.json",recommendationsUrl:"https://az764295.vo.msecnd.net/extensions/workspaceRecommendations.json.gz"}, - linkProtectionTrustedDomains: [ - '*.github.com', - '*.microsoft.com', - '*.github1s.com', - '*.vercel.com', - '*.sourcegraph.com', - '*.gitpod.io', - ] - })); require(['vs/code/browser/workbench/workbench'], function () {}); }); diff --git a/vscode-web-github1s/src/vs/code/browser/workbench/workbench.ts b/vscode-web-github1s/src/vs/code/browser/workbench/workbench.ts index 023e12cb9..57c3aee16 100644 --- a/vscode-web-github1s/src/vs/code/browser/workbench/workbench.ts +++ b/vscode-web-github1s/src/vs/code/browser/workbench/workbench.ts @@ -17,8 +17,8 @@ import { localize } from 'vs/nls'; import { parseLogLevel } from 'vs/platform/log/common/log'; import product from 'vs/platform/product/common/product'; import { isFolderToOpen, isWorkspaceToOpen } from 'vs/platform/windows/common/windows'; -import { create, ICredentialsProvider, IHomeIndicator, IProductQualityChangeHandler, ISettingsSyncOptions, IURLCallbackProvider, IWelcomeBanner, IWindowIndicator, IWorkbenchConstructionOptions, IWorkspace, IWorkspaceProvider } from 'vs/workbench/workbench.web.api'; // below codes are changed by github1s +import { create, ICredentialsProvider, IProductQualityChangeHandler, ISettingsSyncOptions, IURLCallbackProvider, IWelcomeBanner, IWindowIndicator, IWorkbenchConstructionOptions, IWorkspace, IWorkspaceProvider } from 'vs/workbench/workbench.web.api'; import { getBrowserUrl, replaceBrowserUrl } from 'vs/github1s/util'; import { renderNotification } from 'vs/github1s/notification'; import { getGitHubAccessToken } from 'vs/github1s/authorizing-github'; @@ -507,16 +507,16 @@ class WindowIndicator implements IWindowIndicator { // icon: 'code', // title: localize('home', "Home") // }; - // above codes are changed by github1s // Welcome Banner - const welcomeBanner: IWelcomeBanner = { - message: localize('welcomeBannerMessage', "{0} Web. Browser based playground for testing.", product.nameShort), - actions: [{ - href: 'https://github.com/microsoft/vscode', - label: localize('learnMore', "Learn More") - }] - }; + // const welcomeBanner: IWelcomeBanner = { + // message: localize('welcomeBannerMessage', "{0} Web. Browser based playground for testing.", product.nameShort), + // actions: [{ + // href: 'https://github.com/microsoft/vscode', + // label: localize('learnMore', "Learn More") + // }] + // }; + // above codes are changed by github1s // Window indicator (unless connected to a remote) let windowIndicator: WindowIndicator | undefined = undefined; @@ -557,9 +557,9 @@ class WindowIndicator implements IWindowIndicator { settingsSyncOptions, // below codes are changed by github1s // homeIndicator, - // above codes are changed by github1s windowIndicator, - welcomeBanner, + // welcomeBanner, + // above codes are changed by github1s productQualityChangeHandler, workspaceProvider, urlCallbackProvider: new PollingURLCallbackProvider(), diff --git a/vscode-web-github1s/src/vs/github1s/authorizing-github.ts b/vscode-web-github1s/src/vs/github1s/authorizing-github.ts index 526f7f591..b92aa9cf1 100644 --- a/vscode-web-github1s/src/vs/github1s/authorizing-github.ts +++ b/vscode-web-github1s/src/vs/github1s/authorizing-github.ts @@ -1,3 +1,4 @@ +/* eslint-disable header/header */ /** * @file Authorizing to GitHub with OAuth App flow * @doc https://docs.github.com/en/developers/apps/authorizing-oauth-apps diff --git a/vscode-web-github1s/src/vs/github1s/authorizing-overlay.ts b/vscode-web-github1s/src/vs/github1s/authorizing-overlay.ts index 69a2e8833..d972afedf 100644 --- a/vscode-web-github1s/src/vs/github1s/authorizing-overlay.ts +++ b/vscode-web-github1s/src/vs/github1s/authorizing-overlay.ts @@ -1,3 +1,4 @@ +/* eslint-disable header/header */ /** * @file authorizing overlay * @author netcon diff --git a/vscode-web-github1s/src/vs/github1s/notification.ts b/vscode-web-github1s/src/vs/github1s/notification.ts index 171e9a2f4..c829504d8 100644 --- a/vscode-web-github1s/src/vs/github1s/notification.ts +++ b/vscode-web-github1s/src/vs/github1s/notification.ts @@ -1,3 +1,4 @@ +/* eslint-disable header/header */ /** * @file github1s notification * @author netcon diff --git a/vscode-web-github1s/src/vs/github1s/util.ts b/vscode-web-github1s/src/vs/github1s/util.ts index 216fa27d3..4fc838e36 100644 --- a/vscode-web-github1s/src/vs/github1s/util.ts +++ b/vscode-web-github1s/src/vs/github1s/util.ts @@ -1,3 +1,4 @@ +/* eslint-disable header/header */ /** * @file github1s common utils * @autor netcon diff --git a/vscode-web-github1s/src/vs/github1s/welcomePage.css b/vscode-web-github1s/src/vs/github1s/welcomePage.css new file mode 100644 index 000000000..9898b406c --- /dev/null +++ b/vscode-web-github1s/src/vs/github1s/welcomePage.css @@ -0,0 +1,293 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-workbench .part.editor > .content .github1sWelcomePage { + height: 100%; + min-height: 100%; +} + + +.monaco-workbench .part.editor > .content .welcomePageContainer { + align-items: center; + display: flex; + justify-content: center; + min-width: 100%; + min-height: 100%; +} + +.monaco-workbench .part.editor > .content .welcomePage { + width: 90%; + max-width: 1200px; + font-size: 10px; +} + +/* below codes are changed by github1s */ +.monaco-workbench .part.editor > .content .welcomePage .text-warning { + color: #cca700; +} + +.monaco-workbench .part.editor > .content .welcomePage .text-error { + color: #f48771; +} + +.monaco-workbench .part.editor > .content .welcomePage .text-success { + color: #89d185; +} + +.monaco-workbench .part.editor > .content .welcomePage .refresh-button { + vertical-align: bottom; + cursor: pointer; +} + +.monaco-workbench .part.editor > .content .welcomePage .refresh-button:hover { + color: #3794ff; +} + +.monaco-workbench .part.editor > .content .welcomePage .refresh-button:hover { + color: #3794ff; +} + +.monaco-workbench .part.editor > .content .welcomePage .refresh-button:active { + color: #094771; +} +/* above codes are changed by github1s */ + +.monaco-workbench .part.editor > .content .welcomePage .row { + display: flex; + flex-flow: row; +} + +.monaco-workbench .part.editor > .content .welcomePage .row .section { + overflow: hidden; +} + +.monaco-workbench .part.editor > .content .welcomePage .row .splash { + overflow: hidden; +} + +.monaco-workbench .part.editor > .content .welcomePage .row .commands { + overflow: hidden; +} + +.monaco-workbench .part.editor > .content .welcomePage .row .commands .list { + overflow: hidden; +} + +.monaco-workbench .part.editor > .content .welcomePage p { + font-size: 1.3em; +} + +.monaco-workbench .part.editor > .content .welcomePage .keyboard { + font-family: "Lucida Grande", sans-serif;/* Keyboard shortcuts */ +} + +.monaco-workbench .part.editor > .content .welcomePage a { + text-decoration: none; +} + +.monaco-workbench .part.editor > .content .welcomePage a:focus { + outline: 1px solid -webkit-focus-ring-color; + outline-offset: -1px; +} + +.monaco-workbench .part.editor > .content .welcomePage h1 { + padding: 0; + margin: 0; + border: none; + font-weight: normal; + font-size: 3.6em; + white-space: nowrap; +} + +.monaco-workbench .part.editor > .content .welcomePage .title { + margin-top: 1em; + margin-bottom: 1em; + flex: 1 100%; +} + +.monaco-workbench .part.editor > .content .welcomePage .subtitle { + margin-top: .8em; + font-size: 2.6em; + display: block; +} + +.monaco-workbench.hc-black .part.editor > .content .welcomePage .subtitle { + font-weight: 200; +} + +.monaco-workbench .part.editor > .content .welcomePage .splash, +.monaco-workbench .part.editor > .content .welcomePage .commands { + flex: 1 1 0; +} + +.monaco-workbench .part.editor > .content .welcomePage h2 { + font-weight: 200; + margin-top: 17px; + margin-bottom: 5px; + font-size: 1.9em; + line-height: initial; +} + +.monaco-workbench .part.editor > .content .welcomePage .splash .section { + margin-bottom: 5em; +} + +.monaco-workbench .part.editor > .content .welcomePage .splash ul { + margin: 0; + font-size: 1.3em; + list-style: none; + padding: 0; +} + +.monaco-workbench .part.editor > .content .welcomePage .splash li { + min-width: 0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.monaco-workbench .part.editor > .content .welcomePage .splash .recent { + min-height: 160px; +} + +.monaco-workbench .part.editor > .content .welcomePageContainer.max-height-685px .splash .recent { + min-height: unset; +} + +.monaco-workbench .part.editor > .content .welcomePage.emptyRecent .splash .recent .list { + display: none; +} +.monaco-workbench .part.editor > .content .welcomePage .splash .recent .none { + display: none; +} +.monaco-workbench .part.editor > .content .welcomePage.emptyRecent .splash .recent .none { + display: initial; +} + +.monaco-workbench .part.editor > .content .welcomePage .splash .recent li.moreRecent { + margin-top: 5px; +} + +.monaco-workbench .part.editor > .content .welcomePage .splash .recent .path { + padding-left: 1em; +} + +.monaco-workbench .part.editor > .content .welcomePage .splash .title, +.monaco-workbench .part.editor > .content .welcomePage .splash .showOnStartup { + min-width: 0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.monaco-workbench .part.editor > .content .welcomePage .splash .showOnStartup > .checkbox { + vertical-align: bottom; +} + +.monaco-workbench .part.editor > .content .welcomePage .commands .list { + list-style: none; + padding: 0; +} +.monaco-workbench .part.editor > .content .welcomePage .commands .item { + margin: 7px 0px; +} +.monaco-workbench .part.editor > .content .welcomePage .commands .item button { + margin: 1px; + padding: 12px 10px; + width: calc(100% - 2px); + height: 5em; + font-size: 1.3em; + text-align: left; + cursor: pointer; + white-space: nowrap; + font-family: inherit; +} + +.monaco-workbench .part.editor > .content .welcomePage .commands .item button > span { + display: inline-block; + width:100%; + min-width: 0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.monaco-workbench .part.editor > .content .welcomePage .commands .item button h3 { + font-weight: normal; + font-size: 1em; + margin: 0; + margin-bottom: .25em; + min-width: 0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.monaco-workbench .part.editor > .content .welcomePage .commands .item button { + border: none; +} + +.monaco-workbench.hc-black .part.editor > .content .welcomePage .commands .item button > h3 { + font-weight: bold; +} + +.monaco-workbench .part.editor > .content .welcomePage .commands .item button:focus { + outline-style: solid; + outline-width: 1px; +} + +.monaco-workbench.hc-black .part.editor > .content .welcomePage .commands .item button { + border-width: 1px; + border-style: solid; +} + +.monaco-workbench.hc-black .part.editor > .content .welcomePage .commands .item button:hover { + outline-width: 1px; + outline-style: dashed; + outline-offset: -5px; +} + +.monaco-workbench .part.editor > .content .welcomePage .commands .item button .enabledExtension { + display: none; +} +.monaco-workbench .part.editor > .content .welcomePage .commands .item button .installExtension.installed { + display: none; +} +.monaco-workbench .part.editor > .content .welcomePage .commands .item button .enabledExtension.installed { + display: inline; +} + +.monaco-workbench .part.editor > .content .welcomePageContainer.max-height-685px .title { + display: none; +} + +.file-icons-enabled .show-file-icons .vs_code_welcome_page-name-file-icon.file-icon::before { + content: ' '; + background-image: url('../../../../browser/media/code-icon.svg'); +} + +.monaco-workbench .part.editor > .content .welcomePage .mac-only, +.monaco-workbench .part.editor > .content .welcomePage .windows-only, +.monaco-workbench .part.editor > .content .welcomePage .linux-only { + display: none; +} +.monaco-workbench.mac .part.editor > .content .welcomePage .mac-only { + display: initial; +} +.monaco-workbench.windows .part.editor > .content .welcomePage .windows-only { + display: initial; +} +.monaco-workbench.linux .part.editor > .content .welcomePage .linux-only { + display: initial; +} +.monaco-workbench.mac .part.editor > .content .welcomePage li.mac-only { + display: list-item; +} +.monaco-workbench.windows .part.editor > .content .welcomePage li.windows-only { + display: list-item; +} +.monaco-workbench.linux .part.editor > .content .welcomePage li.linux-only { + display: list-item; +} diff --git a/vscode-web-github1s/src/vs/github1s/welcomePage.ts b/vscode-web-github1s/src/vs/github1s/welcomePage.ts new file mode 100644 index 000000000..138435fe3 --- /dev/null +++ b/vscode-web-github1s/src/vs/github1s/welcomePage.ts @@ -0,0 +1,193 @@ +/* eslint-disable header/header */ +/** + * @file custom welcome page + * @author netcon + */ + +import 'vs/css!./welcomePage'; +import { ICommandService } from 'vs/platform/commands/common/commands'; +import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; +import { IProductService } from 'vs/platform/product/common/productService'; +import { escape } from 'vs/base/common/strings'; +import { localize } from 'vs/nls'; +import * as marked from 'vs/base/common/marked/marked'; +const configurationKey = 'workbench.startupEditor'; + +const buildTemplate = () => ` +
+
+
+

${escape(localize('welcomePage.vscode', "Visual Studio Code"))}

+

+ One second to read GitHub code with VS Code +

+
+
+
+
+

Rate limit Info:

+
    +
  • ------------------------------
  • +
  • X-RateLimit-Limit:
  • +
  • X-RateLimit-Remaining:
  • +
  • X-RateLimit-Reset:
  • +
  • ------------------------------
  • +
  • Current rate limit window will reset after s
  • +
  • GitHub Rate limiting Documentation
  • +
+
+
+

${escape(localize('welcomePage.help', "Help"))}

+ +
+

+
+
+
+

Authentication

+
+
+
+
+
+
+
+

${escape(localize('welcomePage.learn', "Learn"))}

+
+
+
+
+
+
+
+
+
+`; + +export class GitHub1sWelcomePage { + private container?: HTMLElement; + + constructor( + @IConfigurationService private readonly configurationService: IConfigurationService, + @IProductService private readonly productService: IProductService, + @ICommandService private readonly commandService: ICommandService, + ) { } + + public render() { + if (this.container) { + return this.container; + } + const content = marked(buildTemplate()); + this.container = document.createElement('div'); + this.container.classList.add('github1sWelcomePage'); + this.container.innerHTML = content; + this.onReady(this.container); + + return this.container; + } + + onReady(container: HTMLElement) { + const enabled = this.configurationService.getValue(configurationKey) === 'welcomePage'; + const showOnStartup = container.querySelector('#showOnStartup'); + if (enabled) { + showOnStartup.setAttribute('checked', 'checked'); + } + showOnStartup.addEventListener('click', e => { + this.configurationService.updateValue(configurationKey, showOnStartup.checked ? 'welcomePage' : 'newUntitledFile'); + }); + + const prodName = container.querySelector('.welcomePage .title .caption') as HTMLElement; + if (prodName) { + prodName.textContent = this.productService.nameLong; + } + + const gitHubTokenStatus = this.getGitHubTokenStatus(); + gitHubTokenStatus.then(tokenStatus => this.doUpdateGitHubTokenStatus(container, tokenStatus)); + this.registerGitHub1sListeners(container); + } + + registerGitHub1sListeners(container: HTMLElement) { + container.querySelector('.refresh-button')?.addEventListener('click', () => this.refreshGitHubTokenStatus(container)); + container.querySelector('.create-new-token')?.addEventListener('click', () => window?.open('https://github.com/settings/tokens/new?scopes=repo&description=GitHub1s')); + container.querySelector('.update-oauth-token')?.addEventListener('click', () => this.commandService.executeCommand('github1s.authorizing-github-with-overlay').then(() => this.refreshGitHubTokenStatus(container))); + container.querySelector('.clear-oauth-token')?.addEventListener('click', () => this.commandService.executeCommand('github1s.clear-token').then(() => this.refreshGitHubTokenStatus(container))); + container.querySelector('.show-all-commands')?.addEventListener('click', () => this.commandService.executeCommand('workbench.action.showCommands')); + container.querySelector('.show-interface-overview')?.addEventListener('click', () => this.commandService.executeCommand('workbench.action.showInterfaceOverview')); + } + + updateElementText(element: HTMLElement, text: string | number, type?: 'SUCCESS' | 'WARNING' | 'ERROR') { + if (!element) { + return; + } + element.innerText = `${text}`; + element.classList.remove('text-warning', 'text-error', 'text-success'); + if (type === 'SUCCESS') { + element.classList.add('text-success'); + } else if (type === 'WARNING') { + element.classList.add('text-warning'); + } else if (type === 'ERROR') { + element.classList.add('text-error'); + } + } + + + getGitHubTokenStatus() { + return this.commandService.executeCommand('github1s.validate-token', '', true); + } + + refreshGitHubTokenStatus(container: HTMLElement) { + const statusElement = container.querySelector('.rate-limit-status'); + this.updateElementText(statusElement, ''); + this.getGitHubTokenStatus().then(tokenStatus => { + this.doUpdateGitHubTokenStatus(container, tokenStatus); + }); + } + + doUpdateGitHubTokenStatus(container: HTMLElement, tokenStatus?: any) { + const statusElement = container.querySelector('.rate-limit-status'); + const limitElement = container.querySelector('.x-rate-limit-limit'); + const remainingElement = container.querySelector('.x-rate-limit-remaining'); + const resetElement = container.querySelector('.x-rate-limit-reset'); + const timerElement = container.querySelector('.rate-limit-reset-seconds'); + + if (!tokenStatus) { + this.updateElementText(statusElement, 'Unknown', 'WARNING'); + this.updateElementText(limitElement, 'Unknown', 'WARNING'); + this.updateElementText(remainingElement, 'Unknown', 'WARNING'); + this.updateElementText(resetElement, 'Unknown'); + this.updateElementText(timerElement, 'Unknown', 'WARNING'); + return; + } + + const textType = (value: number) => { + if (value <= 0) { + return 'ERROR'; + } + if (value > 99) { + return 'SUCCESS'; + } + return 'WARNING'; + }; + this.updateElementText(limitElement, tokenStatus.limit, textType(+tokenStatus.limit)); + this.updateElementText(remainingElement, tokenStatus.remaining, textType(+tokenStatus.remaining)); + this.updateElementText(resetElement, tokenStatus.reset); + this.updateElementText(timerElement, Math.max(tokenStatus.reset - Math.ceil(Date.now() / 1000), 0)); + + if (!tokenStatus.token) { + this.updateElementText(statusElement, 'Unauthorized', 'WARNING'); + return; + } + if (tokenStatus.valid) { + this.updateElementText(statusElement, 'Authorized', 'SUCCESS'); + return; + } + this.updateElementText(statusElement, 'Invalid Token', 'ERROR'); + } +}; diff --git a/vscode-web-github1s/src/vs/platform/product/common/product.ts b/vscode-web-github1s/src/vs/platform/product/common/product.ts index 77fb6fc9f..b56c0696d 100644 --- a/vscode-web-github1s/src/vs/platform/product/common/product.ts +++ b/vscode-web-github1s/src/vs/platform/product/common/product.ts @@ -55,8 +55,10 @@ else { if (Object.keys(product).length === 0) { Object.assign(product, { version: '1.60.0-dev', - nameShort: 'Code - OSS Dev', - nameLong: 'Code - OSS Dev', + // below codes are changed by github1s + nameShort: 'GitHub1s', + nameLong: 'GitHub1s', + // above codes are changed by github1s applicationName: 'code-oss', dataFolderName: '.vscode-oss', urlProtocol: 'code-oss', @@ -71,19 +73,26 @@ else { 'GitHub.remotehub', 'GitHub.remotehub-insiders' ], + // below codes are changed by github1s + extensionsGallery: { + serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery", + cacheUrl:"https://vscode.blob.core.windows.net/gallery/index", + itemUrl:"https://marketplace.visualstudio.com/items", + resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}", + controlUrl:"https://az764295.vo.msecnd.net/extensions/marketplace.json", + recommendationsUrl:"https://az764295.vo.msecnd.net/extensions/workspaceRecommendations.json.gz" + }, + linkProtectionTrustedDomains: [ + '*.github.com', + '*.microsoft.com', + '*.github1s.com', + '*.vercel.com', + '*.sourcegraph.com', + '*.gitpod.io', + ] + // above codes are changed by github1s }); } - - // below codes are changed by github1s - const productConfElement = document.getElementById('vscode-product-configuration'); - const productConfAttribute = productConfElement ? productConfElement.getAttribute('data-settings') : undefined; - if (productConfAttribute) { - try { - const productConfiguration = JSON.parse(productConfAttribute); - product = Object.assign(product, productConfiguration); - } catch (e) { /* invalid productConfig, ignore it */ } - } - // above codes are changed by github1s } export default product; diff --git a/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts b/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts index 3f7ea82cc..4487974fd 100644 --- a/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts +++ b/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts @@ -190,25 +190,20 @@ class MenuActivityActionViewItem extends ActivityActionViewItem { // below codes are changed by github1s // Add a button to the top of menubar which is used to jump back to GitHub -export class HomeActivityActionViewItem extends MenuActivityActionViewItem { +export class HomeActivityActionViewItem extends ActivityActionViewItem { static readonly HOME_BAR_VISIBILITY_PREFERENCE = 'workbench.activity.showHomeIndicator'; constructor( action: ActivityAction, - contextMenuActionsProvider: () => IAction[], colors: (theme: IColorTheme) => ICompositeBarColors, - activityHoverOptions: IActivityHoverOptions, + hoverOptions: IActivityHoverOptions, @IThemeService themeService: IThemeService, @IHoverService hoverService: IHoverService, - @IContextMenuService contextMenuService: IContextMenuService, - @IMenuService menuService: IMenuService, - @IContextKeyService contextKeyService: IContextKeyService, - @IWorkbenchEnvironmentService environmentService: IWorkbenchEnvironmentService, @IConfigurationService configurationService: IConfigurationService, @IKeybindingService keybindingService: IKeybindingService, ) { - super(MenuId.AccountsContext, action, contextMenuActionsProvider, colors, activityHoverOptions, themeService, hoverService, menuService, contextMenuService, contextKeyService, configurationService, environmentService, keybindingService); + super(action, { draggable: false, colors, icon: true, hasPopup: true, hoverOptions }, themeService, hoverService, configurationService, keybindingService); } override render(container: HTMLElement): void { diff --git a/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts b/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts index 79e589232..4f8e42ac8 100644 --- a/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts +++ b/vscode-web-github1s/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts @@ -532,7 +532,7 @@ export class ActivitybarPart extends Part implements IActivityBarService { this.homeBarContainer.classList.add('home-bar'); this.homeBar = this._register(new ActionBar(this.homeBarContainer, { - actionViewItemProvider: action => this.instantiationService.createInstance(HomeActivityActionViewItem, action as ActivityAction, () => this.compositeBar.getContextMenuActions(), (theme: IColorTheme) => this.getActivitybarItemColors(theme), this.getActivityHoverOptions()), + actionViewItemProvider: action => this.instantiationService.createInstance(HomeActivityActionViewItem, action as ActivityAction, (theme: IColorTheme) => this.getActivitybarItemColors(theme), this.getActivityHoverOptions()), orientation: ActionsOrientation.VERTICAL, ariaLabel: localize('home', "Open on GitHub"), animated: false, diff --git a/vscode-web-github1s/src/vs/workbench/contrib/welcome/gettingStarted/browser/gettingStarted.ts b/vscode-web-github1s/src/vs/workbench/contrib/welcome/gettingStarted/browser/gettingStarted.ts new file mode 100644 index 000000000..5a1532f98 --- /dev/null +++ b/vscode-web-github1s/src/vs/workbench/contrib/welcome/gettingStarted/browser/gettingStarted.ts @@ -0,0 +1,1619 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import 'vs/css!./gettingStarted'; +import { localize } from 'vs/nls'; +import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; +import { IEditorSerializer, IEditorOpenContext } from 'vs/workbench/common/editor'; +import { DisposableStore, toDisposable } from 'vs/base/common/lifecycle'; +import { assertIsDefined } from 'vs/base/common/types'; +import { $, addDisposableListener, append, clearNode, Dimension, reset } from 'vs/base/browser/dom'; +import { ICommandService } from 'vs/platform/commands/common/commands'; +import { IProductService } from 'vs/platform/product/common/productService'; +import { hiddenEntriesConfigurationKey, IResolvedWalkthrough, IResolvedWalkthroughStep, IWalkthroughsService } from 'vs/workbench/contrib/welcome/gettingStarted/browser/gettingStartedService'; +import { IThemeService, registerThemingParticipant, ThemeIcon } from 'vs/platform/theme/common/themeService'; +import { welcomePageBackground, welcomePageProgressBackground, welcomePageProgressForeground, welcomePageTileBackground, welcomePageTileHoverBackground, welcomePageTileShadow } from 'vs/workbench/contrib/welcome/gettingStarted/browser/gettingStartedColors'; +import { activeContrastBorder, buttonBackground, buttonForeground, buttonHoverBackground, contrastBorder, descriptionForeground, focusBorder, foreground, textLinkActiveForeground, textLinkForeground } from 'vs/platform/theme/common/colorRegistry'; +import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; +import { firstSessionDateStorageKey, ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; +import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement'; +import { gettingStartedCheckedCodicon, gettingStartedUncheckedCodicon } from 'vs/workbench/contrib/welcome/gettingStarted/browser/gettingStartedIcons'; +import { IOpenerService, matchesScheme } from 'vs/platform/opener/common/opener'; +import { URI } from 'vs/base/common/uri'; +import { EditorPane } from 'vs/workbench/browser/parts/editor/editorPane'; +import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage'; +import { CancellationToken } from 'vs/base/common/cancellation'; +import { ConfigurationTarget, IConfigurationService } from 'vs/platform/configuration/common/configuration'; +import { ContextKeyExpr, ContextKeyExpression, IContextKeyService, RawContextKey } from 'vs/platform/contextkey/common/contextkey'; +import { IRecentFolder, IRecentlyOpened, IRecentWorkspace, isRecentFolder, isRecentWorkspace, IWorkspacesService } from 'vs/platform/workspaces/common/workspaces'; +import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; +import { onUnexpectedError } from 'vs/base/common/errors'; +import { ILabelService } from 'vs/platform/label/common/label'; +import { IWindowOpenable } from 'vs/platform/windows/common/windows'; +import { splitName } from 'vs/base/common/labels'; +import { IHostService } from 'vs/workbench/services/host/browser/host'; +import { isMacintosh, locale } from 'vs/base/common/platform'; +import { Throttler } from 'vs/base/common/async'; +import { GettingStartedInput } from 'vs/workbench/contrib/welcome/gettingStarted/browser/gettingStartedInput'; +import { GroupDirection, GroupsOrder, IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService'; +import { IQuickInputService } from 'vs/platform/quickinput/common/quickInput'; +import { ILink, LinkedText } from 'vs/base/common/linkedText'; +import { Button } from 'vs/base/browser/ui/button/button'; +import { attachButtonStyler } from 'vs/platform/theme/common/styler'; +import { Link } from 'vs/platform/opener/browser/link'; +import { renderFormattedText } from 'vs/base/browser/formattedTextRenderer'; +import { IWebviewService } from 'vs/workbench/contrib/webview/browser/webview'; +import { DEFAULT_MARKDOWN_STYLES, renderMarkdownDocument } from 'vs/workbench/contrib/markdown/common/markdownDocumentRenderer'; +import { IModeService } from 'vs/editor/common/services/modeService'; +import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions'; +import { generateUuid } from 'vs/base/common/uuid'; +import { TokenizationRegistry } from 'vs/editor/common/modes'; +import { generateTokensCSSForColorMap } from 'vs/editor/common/modes/supports/tokenization'; +import { ResourceMap } from 'vs/base/common/map'; +import { IFileService } from 'vs/platform/files/common/files'; +import { joinPath } from 'vs/base/common/resources'; +import { INotificationService } from 'vs/platform/notification/common/notification'; +import { asWebviewUri } from 'vs/workbench/api/common/shared/webview'; +import { Schemas } from 'vs/base/common/network'; +import { IEditorOptions } from 'vs/platform/editor/common/editor'; +import { coalesce, equals, flatten } from 'vs/base/common/arrays'; +import { ThemeSettings } from 'vs/workbench/services/themes/common/workbenchThemeService'; +import { ACTIVITY_BAR_BADGE_BACKGROUND, ACTIVITY_BAR_BADGE_FOREGROUND } from 'vs/workbench/common/theme'; +import { MarkdownRenderer } from 'vs/editor/browser/core/markdownRenderer'; +import { startEntries } from 'vs/workbench/contrib/welcome/gettingStarted/common/gettingStartedContent'; +// below codes are changed by github1s +import { GettingStartedIndexList } from 'vs/workbench/contrib/welcome/gettingStarted/browser/gettingStartedList'; +// above codes are changed by github1s +import product from 'vs/platform/product/common/product'; +import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; +import { KeyCode } from 'vs/base/common/keyCodes'; +// below codes are changed by github1s +// eslint-disable-next-line +import { GitHub1sWelcomePage } from 'vs/github1s/welcomePage'; +// above codes are changed by github1s + +const SLIDE_TRANSITION_TIME_MS = 250; +const configurationKey = 'workbench.startupEditor'; + +export const allWalkthroughsHiddenContext = new RawContextKey('allWalkthroughsHidden', false); +export const inWelcomeContext = new RawContextKey('inWelcome', false); + +export interface IWelcomePageStartEntry { + id: string + title: string + description: string + command: string + order: number + icon: { type: 'icon', icon: ThemeIcon } + when: ContextKeyExpression +} + +const parsedStartEntries: IWelcomePageStartEntry[] = startEntries.map((e, i) => ({ + command: e.content.command, + description: e.description, + icon: { type: 'icon', icon: e.icon }, + id: e.id, + order: i, + title: e.title, + when: ContextKeyExpr.deserialize(e.when) ?? ContextKeyExpr.true() +})); + +type GettingStartedActionClassification = { + command: { classification: 'PublicNonPersonalData', purpose: 'FeatureInsight' }; + argument: { classification: 'PublicNonPersonalData', purpose: 'FeatureInsight' }; +}; + +type GettingStartedActionEvent = { + command: string; + argument: string | undefined; +}; + +type RecentEntry = (IRecentFolder | IRecentWorkspace) & { id: string }; + +const REDUCED_MOTION_KEY = 'workbench.welcomePage.preferReducedMotion'; +export class GettingStartedPage extends EditorPane { + + public static readonly ID = 'gettingStartedPage'; + + private editorInput!: GettingStartedInput; + private inProgressScroll = Promise.resolve(); + + private dispatchListeners: DisposableStore = new DisposableStore(); + private stepDisposables: DisposableStore = new DisposableStore(); + private detailsPageDisposables: DisposableStore = new DisposableStore(); + + private gettingStartedCategories: IResolvedWalkthrough[]; + private currentWalkthrough: IResolvedWalkthrough | undefined; + + private categoriesPageScrollbar: DomScrollableElement | undefined; + private detailsPageScrollbar: DomScrollableElement | undefined; + + private detailsScrollbar: DomScrollableElement | undefined; + + private buildSlideThrottle: Throttler = new Throttler(); + + private container: HTMLElement; + + private contextService: IContextKeyService; + + private recentlyOpened: Promise; + private hasScrolledToFirstCategory = false; + private recentlyOpenedList?: GettingStartedIndexList; + private startList?: GettingStartedIndexList; + private gettingStartedList?: GettingStartedIndexList; + + private stepsSlide!: HTMLElement; + private categoriesSlide!: HTMLElement; + private stepsContent!: HTMLElement; + private stepMediaComponent!: HTMLElement; + // below codes are changed by github1s + private gitHub1sWelcomePage!: GitHub1sWelcomePage; + // above codes are changed by github1s + + private layoutMarkdown: (() => void) | undefined; + + private webviewID = generateUuid(); + + constructor( + @ICommandService private readonly commandService: ICommandService, + @IProductService private readonly productService: IProductService, + @IKeybindingService private readonly keybindingService: IKeybindingService, + @IWalkthroughsService private readonly gettingStartedService: IWalkthroughsService, + @IConfigurationService private readonly configurationService: IConfigurationService, + @ITelemetryService telemetryService: ITelemetryService, + @IModeService private readonly modeService: IModeService, + @IFileService private readonly fileService: IFileService, + @IOpenerService private readonly openerService: IOpenerService, + @IThemeService themeService: IThemeService, + @IStorageService private storageService: IStorageService, + @IExtensionService private readonly extensionService: IExtensionService, + @IInstantiationService private readonly instantiationService: IInstantiationService, + @INotificationService private readonly notificationService: INotificationService, + @IEditorGroupsService private readonly groupsService: IEditorGroupsService, + @IContextKeyService contextService: IContextKeyService, + @IQuickInputService private quickInputService: IQuickInputService, + @IWorkspacesService workspacesService: IWorkspacesService, + @ILabelService private readonly labelService: ILabelService, + @IHostService private readonly hostService: IHostService, + @IWebviewService private readonly webviewService: IWebviewService, + @IWorkspaceContextService private readonly workspaceContextService: IWorkspaceContextService, + ) { + + super(GettingStartedPage.ID, telemetryService, themeService, storageService); + + // below codes are changed by github1s + this.gitHub1sWelcomePage = instantiationService.createInstance(GitHub1sWelcomePage); + // above codes are changed by github1s + this.container = $('.gettingStartedContainer', + { + role: 'document', + tabindex: 0, + 'aria-label': localize('welcomeAriaLabel', "Overview of how to get up to speed with your editor.") + }); + this.stepMediaComponent = $('.getting-started-media'); + this.stepMediaComponent.id = generateUuid(); + + this.contextService = this._register(contextService.createScoped(this.container)); + inWelcomeContext.bindTo(this.contextService).set(true); + + this.gettingStartedCategories = this.gettingStartedService.getWalkthroughs(); + this._register(this.dispatchListeners); + this.buildSlideThrottle = new Throttler(); + + const rerender = () => { + this.gettingStartedCategories = this.gettingStartedService.getWalkthroughs(); + if (this.currentWalkthrough) { + const existingSteps = this.currentWalkthrough.steps.map(step => step.id); + const newCategory = this.gettingStartedCategories.find(category => this.currentWalkthrough?.id === category.id); + if (newCategory) { + const newSteps = newCategory.steps.map(step => step.id); + if (!equals(newSteps, existingSteps)) { + this.buildSlideThrottle.queue(() => this.buildCategoriesSlide()); + } + } + } else { + this.buildSlideThrottle.queue(() => this.buildCategoriesSlide()); + } + }; + + this._register(this.gettingStartedService.onDidAddWalkthrough(rerender)); + this._register(this.gettingStartedService.onDidRemoveWalkthrough(rerender)); + + this._register(this.gettingStartedService.onDidChangeWalkthrough(category => { + const ourCategory = this.gettingStartedCategories.find(c => c.id === category.id); + if (!ourCategory) { return; } + + ourCategory.title = category.title; + ourCategory.description = category.description; + + this.container.querySelectorAll(`[x-category-title-for="${category.id}"]`).forEach(step => (step as HTMLDivElement).innerText = ourCategory.title); + this.container.querySelectorAll(`[x-category-description-for="${category.id}"]`).forEach(step => (step as HTMLDivElement).innerText = ourCategory.description); + })); + + this._register(this.gettingStartedService.onDidProgressStep(step => { + const category = this.gettingStartedCategories.find(category => category.id === step.category); + if (!category) { throw Error('Could not find category with ID: ' + step.category); } + const ourStep = category.steps.find(_step => _step.id === step.id); + if (!ourStep) { + throw Error('Could not find step with ID: ' + step.id); + } + + const stats = this.getWalkthroughCompletionStats(category); + if (!ourStep.done && stats.stepsComplete === stats.stepsTotal - 1) { + this.hideCategory(category.id); + } + + this._register(this.configurationService.onDidChangeConfiguration(e => { + if (e.affectsConfiguration(REDUCED_MOTION_KEY)) { + this.container.classList.toggle('animatable', this.shouldAnimate()); + } + })); + + ourStep.done = step.done; + + if (category.id === this.currentWalkthrough?.id) { + const badgeelements = assertIsDefined(document.querySelectorAll(`[data-done-step-id="${step.id}"]`)); + badgeelements.forEach(badgeelement => { + if (step.done) { + badgeelement.parentElement?.setAttribute('aria-checked', 'true'); + badgeelement.classList.remove(...ThemeIcon.asClassNameArray(gettingStartedUncheckedCodicon)); + badgeelement.classList.add('complete', ...ThemeIcon.asClassNameArray(gettingStartedCheckedCodicon)); + } + else { + badgeelement.parentElement?.setAttribute('aria-checked', 'false'); + badgeelement.classList.remove('complete', ...ThemeIcon.asClassNameArray(gettingStartedCheckedCodicon)); + badgeelement.classList.add(...ThemeIcon.asClassNameArray(gettingStartedUncheckedCodicon)); + } + }); + } + this.updateCategoryProgress(); + })); + + this.recentlyOpened = workspacesService.getRecentlyOpened(); + } + + private shouldAnimate() { + return !this.configurationService.getValue(REDUCED_MOTION_KEY); + } + + private getWalkthroughCompletionStats(walkthrough: IResolvedWalkthrough): { stepsComplete: number, stepsTotal: number } { + const activeSteps = walkthrough.steps.filter(s => this.contextService.contextMatchesRules(s.when)); + return { + stepsComplete: activeSteps.filter(s => s.done).length, + stepsTotal: activeSteps.length, + }; + } + + override async setInput(newInput: GettingStartedInput, options: IEditorOptions | undefined, context: IEditorOpenContext, token: CancellationToken) { + this.container.classList.remove('animatable'); + this.editorInput = newInput; + await super.setInput(newInput, options, context, token); + await this.buildCategoriesSlide(); + if (this.shouldAnimate()) { + setTimeout(() => this.container.classList.add('animatable'), 0); + } + } + + async makeCategoryVisibleWhenAvailable(categoryID: string, stepId?: string) { + await this.gettingStartedService.installedExtensionsRegistered; + + this.gettingStartedCategories = this.gettingStartedService.getWalkthroughs(); + const ourCategory = this.gettingStartedCategories.find(c => c.id === categoryID); + if (!ourCategory) { + throw Error('Could not find category with ID: ' + categoryID); + } + + this.scrollToCategory(categoryID, stepId); + } + + private registerDispatchListeners() { + this.dispatchListeners.clear(); + + this.container.querySelectorAll('[x-dispatch]').forEach(element => { + const [command, argument] = (element.getAttribute('x-dispatch') ?? '').split(':'); + if (command) { + this.dispatchListeners.add(addDisposableListener(element, 'click', (e) => { + e.stopPropagation(); + this.runDispatchCommand(command, argument); + })); + } + }); + } + + private async runDispatchCommand(command: string, argument: string) { + this.commandService.executeCommand('workbench.action.keepEditor'); + this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command, argument }); + switch (command) { + case 'scrollPrev': { + this.scrollPrev(); + break; + } + case 'skip': { + this.runSkip(); + break; + } + case 'showMoreRecents': { + this.commandService.executeCommand('workbench.action.openRecent'); + break; + } + case 'seeAllWalkthroughs': { + await this.openWalkthroughSelector(); + break; + } + case 'openFolder': { + this.commandService.executeCommand(isMacintosh ? 'workbench.action.files.openFileFolder' : 'workbench.action.files.openFolder'); + break; + } + case 'selectCategory': { + const selectedCategory = this.gettingStartedCategories.find(category => category.id === argument); + if (!selectedCategory) { throw Error('Could not find category with ID ' + argument); } + + this.gettingStartedService.markWalkthroughOpened(argument); + this.gettingStartedList?.setEntries(this.gettingStartedService.getWalkthroughs()); + this.scrollToCategory(argument); + break; + } + case 'selectStartEntry': { + const selected = startEntries.find(e => e.id === argument); + if (selected) { + this.commandService.executeCommand(selected.content.command); + } else { + throw Error('could not find start entry with id: ' + argument); + } + break; + } + case 'hideCategory': { + this.hideCategory(argument); + break; + } + // Use selectTask over selectStep to keep telemetry consistant:https://github.com/microsoft/vscode/issues/122256 + case 'selectTask': { + this.selectStep(argument); + break; + } + case 'toggleStepCompletion': { + this.toggleStepCompletion(argument); + break; + } + case 'allDone': { + this.markAllStepsComplete(); + break; + } + case 'nextSection': { + const next = this.currentWalkthrough?.next; + if (next) { + this.scrollToCategory(next); + } else { + console.error('Error scrolling to next section of', this.currentWalkthrough); + } + break; + } + default: { + console.error('Dispatch to', command, argument, 'not defined'); + break; + } + } + } + + private hideCategory(categoryId: string) { + const selectedCategory = this.gettingStartedCategories.find(category => category.id === categoryId); + if (!selectedCategory) { throw Error('Could not find category with ID ' + categoryId); } + this.setHiddenCategories([...this.getHiddenCategories().add(categoryId)]); + this.gettingStartedList?.rerender(); + } + + private markAllStepsComplete() { + if (this.currentWalkthrough) { + this.currentWalkthrough?.steps.forEach(step => { + if (!step.done) { + this.gettingStartedService.progressStep(step.id); + } + }); + this.hideCategory(this.currentWalkthrough?.id); + this.scrollPrev(); + } else { + throw Error('No walkthrough opened'); + } + } + + private toggleStepCompletion(argument: string) { + const stepToggle = assertIsDefined(this.currentWalkthrough?.steps.find(step => step.id === argument)); + if (stepToggle.done) { + this.gettingStartedService.deprogressStep(argument); + } else { + this.gettingStartedService.progressStep(argument); + } + } + + private async openWalkthroughSelector() { + const selection = await this.quickInputService.pick(this.gettingStartedCategories.map(x => ({ + id: x.id, + label: x.title, + detail: x.description, + description: x.source, + })), { canPickMany: false, matchOnDescription: true, matchOnDetail: true, title: localize('pickWalkthroughs', "Open Walkthrough...") }); + if (selection) { + this.runDispatchCommand('selectCategory', selection.id); + } + } + + private svgCache = new ResourceMap>(); + private readAndCacheSVGFile(path: URI): Promise { + if (!this.svgCache.has(path)) { + this.svgCache.set(path, (async () => { + try { + const bytes = await this.fileService.readFile(path); + return bytes.value.toString(); + } catch (e) { + this.notificationService.error('Error reading svg document at `' + path + '`: ' + e); + return ''; + } + })()); + } + return assertIsDefined(this.svgCache.get(path)); + } + + private mdCache = new ResourceMap>(); + private async readAndCacheStepMarkdown(path: URI): Promise { + if (!this.mdCache.has(path)) { + this.mdCache.set(path, (async () => { + try { + const moduleId = JSON.parse(path.query).moduleId; + if (moduleId) { + return new Promise(resolve => { + require([moduleId], content => { + const markdown = content.default(); + resolve(renderMarkdownDocument(markdown, this.extensionService, this.modeService)); + }); + }); + } + } catch { } + try { + const localizedPath = path.with({ path: path.path.replace(/\.md$/, `.nls.${locale}.md`) }); + + const generalizedLocale = locale?.replace(/-.*$/, ''); + const generalizedLocalizedPath = path.with({ path: path.path.replace(/\.md$/, `.nls.${generalizedLocale}.md`) }); + + const fileExists = (file: URI) => this.fileService.resolve(file).then(() => true).catch(() => false); + + const [localizedFileExists, generalizedLocalizedFileExists] = await Promise.all([ + fileExists(localizedPath), + fileExists(generalizedLocalizedPath), + ]); + + const bytes = await this.fileService.readFile( + localizedFileExists + ? localizedPath + : generalizedLocalizedFileExists + ? generalizedLocalizedPath + : path); + + const markdown = bytes.value.toString(); + return renderMarkdownDocument(markdown, this.extensionService, this.modeService); + } catch (e) { + this.notificationService.error('Error reading markdown document at `' + path + '`: ' + e); + return ''; + } + })()); + } + return assertIsDefined(this.mdCache.get(path)); + } + + private getHiddenCategories(): Set { + return new Set(JSON.parse(this.storageService.get(hiddenEntriesConfigurationKey, StorageScope.GLOBAL, '[]'))); + } + + private setHiddenCategories(hidden: string[]) { + this.storageService.store( + hiddenEntriesConfigurationKey, + JSON.stringify(hidden), + StorageScope.GLOBAL, + StorageTarget.USER); + } + + private async buildMediaComponent(stepId: string) { + if (!this.currentWalkthrough) { + throw Error('no walkthrough selected'); + } + const stepToExpand = assertIsDefined(this.currentWalkthrough.steps.find(step => step.id === stepId)); + + this.stepDisposables.clear(); + clearNode(this.stepMediaComponent); + + if (stepToExpand.media.type === 'image') { + + this.stepsContent.classList.add('image'); + this.stepsContent.classList.remove('markdown'); + + const media = stepToExpand.media; + const mediaElement = $('img'); + this.stepMediaComponent.appendChild(mediaElement); + mediaElement.setAttribute('alt', media.altText); + this.updateMediaSourceForColorMode(mediaElement, media.path); + + this.stepDisposables.add(addDisposableListener(this.stepMediaComponent, 'click', () => { + const hrefs = flatten(stepToExpand.description.map(lt => lt.nodes.filter((node): node is ILink => typeof node !== 'string').map(node => node.href))); + if (hrefs.length === 1) { + const href = hrefs[0]; + if (href.startsWith('http')) { + this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'runStepAction', argument: href }); + this.openerService.open(href); + } + } + })); + + this.stepDisposables.add(this.themeService.onDidColorThemeChange(() => this.updateMediaSourceForColorMode(mediaElement, media.path))); + + } + else if (stepToExpand.media.type === 'svg') { + this.stepsContent.classList.add('image'); + this.stepsContent.classList.remove('markdown'); + + const media = stepToExpand.media; + const webview = this.stepDisposables.add(this.webviewService.createWebviewElement(this.webviewID, {}, {}, undefined)); + webview.mountTo(this.stepMediaComponent); + + webview.html = await this.renderSVG(media.path); + + let isDisposed = false; + this.stepDisposables.add(toDisposable(() => { isDisposed = true; })); + + this.stepDisposables.add(this.themeService.onDidColorThemeChange(async () => { + // Render again since color vars change + const body = await this.renderSVG(media.path); + if (!isDisposed) { // Make sure we weren't disposed of in the meantime + webview.html = body; + } + })); + + this.stepDisposables.add(addDisposableListener(this.stepMediaComponent, 'click', () => { + const hrefs = flatten(stepToExpand.description.map(lt => lt.nodes.filter((node): node is ILink => typeof node !== 'string').map(node => node.href))); + if (hrefs.length === 1) { + const href = hrefs[0]; + if (href.startsWith('http')) { + this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'runStepAction', argument: href }); + this.openerService.open(href); + } + } + })); + + this.stepDisposables.add(webview.onDidClickLink(link => { + if (matchesScheme(link, Schemas.https) || matchesScheme(link, Schemas.http) || (matchesScheme(link, Schemas.command))) { + this.openerService.open(link, { allowCommands: true }); + } + })); + + } + else if (stepToExpand.media.type === 'markdown') { + + this.stepsContent.classList.remove('image'); + this.stepsContent.classList.add('markdown'); + + const media = stepToExpand.media; + + const webview = this.stepDisposables.add(this.webviewService.createWebviewElement(this.webviewID, {}, { localResourceRoots: [media.root], allowScripts: true }, undefined)); + webview.mountTo(this.stepMediaComponent); + + const rawHTML = await this.renderMarkdown(media.path, media.base); + webview.html = rawHTML; + + const serializedContextKeyExprs = rawHTML.match(/checked-on=\"([^'][^"]*)\"/g)?.map(attr => attr.slice('checked-on="'.length, -1) + .replace(/'/g, '\'') + .replace(/&/g, '&')); + + const postTrueKeysMessage = () => { + const enabledContextKeys = serializedContextKeyExprs?.filter(expr => this.contextService.contextMatchesRules(ContextKeyExpr.deserialize(expr))); + if (enabledContextKeys) { + webview.postMessage({ + enabledContextKeys + }); + } + }; + + let isDisposed = false; + this.stepDisposables.add(toDisposable(() => { isDisposed = true; })); + + this.stepDisposables.add(webview.onDidClickLink(link => { + if (matchesScheme(link, Schemas.https) || matchesScheme(link, Schemas.http) || (matchesScheme(link, Schemas.command))) { + this.openerService.open(link, { allowCommands: true }); + } + })); + + this.stepDisposables.add(this.themeService.onDidColorThemeChange(async () => { + // Render again since syntax highlighting of code blocks may have changed + const body = await this.renderMarkdown(media.path, media.base); + if (!isDisposed) { // Make sure we weren't disposed of in the meantime + webview.html = body; + postTrueKeysMessage(); + } + })); + + if (serializedContextKeyExprs) { + const contextKeyExprs = coalesce(serializedContextKeyExprs.map(expr => ContextKeyExpr.deserialize(expr))); + const watchingKeys = new Set(flatten(contextKeyExprs.map(expr => expr.keys()))); + + this.stepDisposables.add(this.contextService.onDidChangeContext(e => { + if (e.affectsSome(watchingKeys)) { postTrueKeysMessage(); } + })); + + this.layoutMarkdown = () => { webview.postMessage({ layout: true }); }; + this.stepDisposables.add({ dispose: () => this.layoutMarkdown = undefined }); + this.layoutMarkdown(); + + postTrueKeysMessage(); + + webview.onMessage(e => { + const message: string = e.message as string; + if (message.startsWith('command:')) { + this.openerService.open(message, { allowCommands: true }); + } else if (message.startsWith('setTheme:')) { + this.configurationService.updateValue(ThemeSettings.COLOR_THEME, message.slice('setTheme:'.length), ConfigurationTarget.USER); + } else { + console.error('Unexpected message', message); + } + }); + } + + } + } + + async selectStepLoose(id: string) { + const toSelect = this.editorInput.selectedCategory + '#' + id; + this.selectStep(toSelect); + } + + private async selectStep(id: string | undefined, delayFocus = true, forceRebuild = false) { + if (id && this.editorInput.selectedStep === id && !forceRebuild) { return; } + + if (id) { + let stepElement = this.container.querySelector(`[data-step-id="${id}"]`); + if (!stepElement) { + // Selected an element that is not in-context, just fallback to whatever. + stepElement = assertIsDefined(this.container.querySelector(`[data-step-id]`)); + id = assertIsDefined(stepElement.getAttribute('data-step-id')); + } + stepElement.parentElement?.querySelectorAll('.expanded').forEach(node => { + if (node.getAttribute('data-step-id') !== id) { + node.classList.remove('expanded'); + node.setAttribute('aria-expanded', 'false'); + } + }); + setTimeout(() => (stepElement as HTMLElement).focus(), delayFocus ? SLIDE_TRANSITION_TIME_MS : 0); + + this.editorInput.selectedStep = id; + + stepElement.classList.add('expanded'); + stepElement.setAttribute('aria-expanded', 'true'); + this.buildMediaComponent(id); + this.gettingStartedService.progressByEvent('stepSelected:' + id); + } else { + this.editorInput.selectedStep = undefined; + } + + this.detailsPageScrollbar?.scanDomNode(); + this.detailsScrollbar?.scanDomNode(); + } + + private updateMediaSourceForColorMode(element: HTMLImageElement, sources: { hc: URI, dark: URI, light: URI }) { + const themeType = this.themeService.getColorTheme().type; + const src = sources[themeType].toString(true).replace(/ /g, '%20'); + element.srcset = src.toLowerCase().endsWith('.svg') ? src : (src + ' 1.5x'); + } + + private async renderSVG(path: URI): Promise { + const content = await this.readAndCacheSVGFile(path); + const nonce = generateUuid(); + const colorMap = TokenizationRegistry.getColorMap(); + + const css = colorMap ? generateTokensCSSForColorMap(colorMap) : ''; + return ` + + + + + + + + ${content} + + `; + } + + private async renderMarkdown(path: URI, base: URI): Promise { + const content = await this.readAndCacheStepMarkdown(path); + const nonce = generateUuid(); + const colorMap = TokenizationRegistry.getColorMap(); + + const uriTranformedContent = content.replace(/src="([^"]*)"/g, (_, src: string) => { + if (src.startsWith('https://')) { return `src="${src}"`; } + + const path = joinPath(base, src); + const transformed = asWebviewUri(path).toString(); + return `src="${transformed}"`; + }); + + const css = colorMap ? generateTokensCSSForColorMap(colorMap) : ''; + return ` + + + + + + + + ${uriTranformedContent} + + + `; + } + + createEditor(parent: HTMLElement) { + if (this.detailsPageScrollbar) { this.detailsPageScrollbar.dispose(); } + if (this.categoriesPageScrollbar) { this.categoriesPageScrollbar.dispose(); } + + this.categoriesSlide = $('.gettingStartedSlideCategories.gettingStartedSlide'); + + const prevButton = $('button.prev-button.button-link', { 'x-dispatch': 'scrollPrev' }, $('span.scroll-button.codicon.codicon-chevron-left'), $('span.moreText', {}, localize('welcome', "Welcome"))); + this.stepsSlide = $('.gettingStartedSlideDetails.gettingStartedSlide', {}, prevButton); + + this.stepsContent = $('.gettingStartedDetailsContent', {}); + + this.detailsPageScrollbar = this._register(new DomScrollableElement(this.stepsContent, { className: 'full-height-scrollable' })); + this.categoriesPageScrollbar = this._register(new DomScrollableElement(this.categoriesSlide, { className: 'full-height-scrollable categoriesScrollbar' })); + + this.stepsSlide.appendChild(this.detailsPageScrollbar.getDomNode()); + + const gettingStartedPage = $('.gettingStarted', {}, this.categoriesPageScrollbar.getDomNode(), this.stepsSlide); + this.container.appendChild(gettingStartedPage); + + this.categoriesPageScrollbar.scanDomNode(); + this.detailsPageScrollbar.scanDomNode(); + + + parent.appendChild(this.container); + } + + // below codes are changed by github1s + private async buildCategoriesSlide() { + reset(this.container, this.gitHub1sWelcomePage.render()); + } + + public async buildCategoriesSlide2() { + // above codes are changed by github1s + const showOnStartupCheckbox = $('input.checkbox', { id: 'showOnStartup', type: 'checkbox' }) as HTMLInputElement; + + showOnStartupCheckbox.checked = this.configurationService.getValue(configurationKey) === 'welcomePage'; + this._register(addDisposableListener(showOnStartupCheckbox, 'click', () => { + if (showOnStartupCheckbox.checked) { + this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'showOnStartupChecked', argument: undefined }); + this.configurationService.updateValue(configurationKey, 'welcomePage'); + } else { + this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'showOnStartupUnchecked', argument: undefined }); + this.configurationService.updateValue(configurationKey, 'none'); + } + })); + + const header = $('.header', {}, + $('h1.product-name.caption', {}, this.productService.nameLong), + $('p.subtitle.description', {}, localize({ key: 'gettingStarted.editingEvolved', comment: ['Shown as subtitle on the Welcome page.'] }, "Editing evolved")) + ); + + + const leftColumn = $('.categories-column.categories-column-left', {},); + const rightColumn = $('.categories-column.categories-column-right', {},); + + const startList = this.buildStartList(); + const recentList = this.buildRecentlyOpenedList(); + const gettingStartedList = this.buildGettingStartedWalkthroughsList(); + + const footer = $('.footer', $('p.showOnStartup', {}, showOnStartupCheckbox, $('label.caption', { for: 'showOnStartup' }, localize('welcomePage.showOnStartup', "Show welcome page on startup")))); + + const layoutLists = () => { + if (gettingStartedList.itemCount) { + this.container.classList.remove('noWalkthroughs'); + reset(leftColumn, startList.getDomElement(), recentList.getDomElement()); + reset(rightColumn, gettingStartedList.getDomElement()); + recentList.setLimit(5); + } + else { + this.container.classList.add('noWalkthroughs'); + reset(leftColumn, startList.getDomElement()); + reset(rightColumn, recentList.getDomElement()); + recentList.setLimit(10); + } + setTimeout(() => this.categoriesPageScrollbar?.scanDomNode(), 50); + }; + + gettingStartedList.onDidChange(layoutLists); + layoutLists(); + + reset(this.categoriesSlide, $('.gettingStartedCategoriesContainer', {}, header, leftColumn, rightColumn, footer,)); + this.categoriesPageScrollbar?.scanDomNode(); + + this.updateCategoryProgress(); + this.registerDispatchListeners(); + + if (this.editorInput.selectedCategory) { + this.currentWalkthrough = this.gettingStartedCategories.find(category => category.id === this.editorInput.selectedCategory); + + if (!this.currentWalkthrough) { + this.container.classList.add('loading'); + await this.gettingStartedService.installedExtensionsRegistered; + this.container.classList.remove('loading'); + this.gettingStartedCategories = this.gettingStartedService.getWalkthroughs(); + } + + this.currentWalkthrough = this.gettingStartedCategories.find(category => category.id === this.editorInput.selectedCategory); + if (!this.currentWalkthrough) { + console.error('Could not restore to category ' + this.editorInput.selectedCategory + ' as it was not found'); + this.editorInput.selectedCategory = undefined; + this.editorInput.selectedStep = undefined; + } else { + this.buildCategorySlide(this.editorInput.selectedCategory, this.editorInput.selectedStep); + this.setSlide('details'); + return; + } + } + + const someStepsComplete = this.gettingStartedCategories.some(category => category.steps.find(s => s.done)); + if (!someStepsComplete && !this.hasScrolledToFirstCategory) { + + const firstSessionDateString = this.storageService.get(firstSessionDateStorageKey, StorageScope.GLOBAL) || new Date().toUTCString(); + const daysSinceFirstSession = ((+new Date()) - (+new Date(firstSessionDateString))) / 1000 / 60 / 60 / 24; + const fistContentBehaviour = daysSinceFirstSession < 1 ? 'openToFirstCategory' : 'index'; + + if (fistContentBehaviour === 'openToFirstCategory') { + const first = this.gettingStartedCategories[0]; + this.hasScrolledToFirstCategory = true; + if (first) { + this.currentWalkthrough = first; + this.editorInput.selectedCategory = this.currentWalkthrough?.id; + this.buildCategorySlide(this.editorInput.selectedCategory, undefined); + this.setSlide('details'); + return; + } + } + } + + this.setSlide('categories'); + } + + private buildRecentlyOpenedList(): GettingStartedIndexList { + const renderRecent = (recent: RecentEntry) => { + let fullPath: string; + let windowOpenable: IWindowOpenable; + if (isRecentFolder(recent)) { + windowOpenable = { folderUri: recent.folderUri }; + fullPath = recent.label || this.labelService.getWorkspaceLabel(recent.folderUri, { verbose: true }); + } else { + fullPath = recent.label || this.labelService.getWorkspaceLabel(recent.workspace, { verbose: true }); + windowOpenable = { workspaceUri: recent.workspace.configPath }; + } + + const { name, parentPath } = splitName(fullPath); + + const li = $('li'); + const link = $('button.button-link'); + + link.innerText = name; + link.title = fullPath; + link.setAttribute('aria-label', localize('welcomePage.openFolderWithPath', "Open folder {0} with path {1}", name, parentPath)); + link.addEventListener('click', e => { + this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'openRecent', argument: undefined }); + this.hostService.openWindow([windowOpenable], { forceNewWindow: e.ctrlKey || e.metaKey, remoteAuthority: recent.remoteAuthority }); + e.preventDefault(); + e.stopPropagation(); + }); + li.appendChild(link); + + const span = $('span'); + span.classList.add('path'); + span.classList.add('detail'); + span.innerText = parentPath; + span.title = fullPath; + li.appendChild(span); + + return li; + }; + + if (this.recentlyOpenedList) { this.recentlyOpenedList.dispose(); } + + const recentlyOpenedList = this.recentlyOpenedList = new GettingStartedIndexList( + { + title: localize('recent', "Recent"), + klass: 'recently-opened', + limit: 5, + empty: $('.empty-recent', {}, 'You have no recent folders,', $('button.button-link', { 'x-dispatch': 'openFolder' }, 'open a folder'), 'to start.'), + more: $('.more', {}, + $('button.button-link', + { + 'x-dispatch': 'showMoreRecents', + title: localize('show more recents', "Show All Recent Folders {0}", this.getKeybindingLabel('workbench.action.openRecent')) + }, 'More...')), + renderElement: renderRecent, + contextService: this.contextService + }); + + recentlyOpenedList.onDidChange(() => this.registerDispatchListeners()); + + this.recentlyOpened.then(({ workspaces }) => { + // Filter out the current workspace + const workspacesWithID = workspaces + .filter(recent => !this.workspaceContextService.isCurrentWorkspace(isRecentWorkspace(recent) ? recent.workspace : recent.folderUri)) + .map(recent => ({ ...recent, id: isRecentWorkspace(recent) ? recent.workspace.id : recent.folderUri.toString() })); + + const updateEntries = () => { recentlyOpenedList.setEntries(workspacesWithID); }; + + updateEntries(); + + recentlyOpenedList.register(this.labelService.onDidChangeFormatters(() => updateEntries())); + }).catch(onUnexpectedError); + + return recentlyOpenedList; + } + + private buildStartList(): GettingStartedIndexList { + const renderStartEntry = (entry: IWelcomePageStartEntry): HTMLElement => + $('li', + {}, $('button.button-link', + { + 'x-dispatch': 'selectStartEntry:' + entry.id, + title: entry.description + ' ' + this.getKeybindingLabel(entry.command), + }, + this.iconWidgetFor(entry), + $('span', {}, entry.title))); + + if (this.startList) { this.startList.dispose(); } + + const startList = this.startList = new GettingStartedIndexList( + { + title: localize('start', "Start"), + klass: 'start-container', + limit: 10, + renderElement: renderStartEntry, + rankElement: e => -e.order, + contextService: this.contextService + }); + + startList.setEntries(parsedStartEntries); + startList.onDidChange(() => this.registerDispatchListeners()); + return startList; + } + + private buildGettingStartedWalkthroughsList(): GettingStartedIndexList { + + const renderGetttingStaredWalkthrough = (category: IResolvedWalkthrough): HTMLElement => { + + const renderNewBadge = (category.newItems || category.newEntry) && !category.isFeatured; + const newBadge = $('.new-badge', {}); + if (category.newEntry) { + reset(newBadge, $('.new-category', {}, localize('new', "New"))); + } else if (category.newItems) { + reset(newBadge, $('.new-items', {}, localize('newItems', "New Items"))); + } + + const featuredBadge = $('.featured-badge', {}); + const descriptionContent = $('.description-content', {},); + + if (category.isFeatured) { + reset(featuredBadge, $('.featured', {}, $('span.featured-icon.codicon.codicon-star-empty'))); + reset(descriptionContent, category.description); + } + + return $('button.getting-started-category' + (category.isFeatured ? '.featured' : ''), + { + 'x-dispatch': 'selectCategory:' + category.id, + 'role': 'listitem', + 'title': category.description + }, + featuredBadge, + $('.main-content', {}, + this.iconWidgetFor(category), + $('h3.category-title.max-lines-3', { 'x-category-title-for': category.id }, category.title,), + renderNewBadge ? newBadge : $('.no-badge'), + $('a.codicon.codicon-close.hide-category-button', { + 'x-dispatch': 'hideCategory:' + category.id, + 'title': localize('close', "Hide"), + }), + ), + descriptionContent, + $('.category-progress', { 'x-data-category-id': category.id, }, + $('.progress-bar-outer', { 'role': 'progressbar' }, + $('.progress-bar-inner')))); + }; + + if (this.gettingStartedList) { this.gettingStartedList.dispose(); } + + const rankWalkthrough = (e: IResolvedWalkthrough) => { + let rank: number | null = e.order; + + if (e.isFeatured) { rank += 7; } + if (e.newEntry) { rank += 3; } + if (e.newItems) { rank += 2; } + if (e.recencyBonus) { rank += 4 * e.recencyBonus; } + + if (this.getHiddenCategories().has(e.id)) { rank = null; } + return rank; + }; + + const gettingStartedList = this.gettingStartedList = new GettingStartedIndexList( + { + title: localize('walkthroughs', "Walkthroughs"), + klass: 'getting-started', + limit: 5, + empty: undefined, more: undefined, + footer: $('span.button-link.see-all-walkthroughs', { 'x-dispatch': 'seeAllWalkthroughs' }, localize('showAll', "More...")), + renderElement: renderGetttingStaredWalkthrough, + rankElement: rankWalkthrough, + contextService: this.contextService, + }); + + gettingStartedList.onDidChange(() => { + const hidden = this.getHiddenCategories(); + const someWalkthroughsHidden = hidden.size || gettingStartedList.itemCount < this.gettingStartedCategories.filter(c => this.contextService.contextMatchesRules(c.when)).length; + this.container.classList.toggle('someWalkthroughsHidden', !!someWalkthroughsHidden); + this.registerDispatchListeners(); + allWalkthroughsHiddenContext.bindTo(this.contextService).set(gettingStartedList.itemCount === 0); + this.updateCategoryProgress(); + }); + + gettingStartedList.setEntries(this.gettingStartedCategories); + allWalkthroughsHiddenContext.bindTo(this.contextService).set(gettingStartedList.itemCount === 0); + + + return gettingStartedList; + } + + layout(size: Dimension) { + this.detailsScrollbar?.scanDomNode(); + + this.categoriesPageScrollbar?.scanDomNode(); + this.detailsPageScrollbar?.scanDomNode(); + + this.startList?.layout(size); + this.gettingStartedList?.layout(size); + this.recentlyOpenedList?.layout(size); + + this.layoutMarkdown?.(); + + this.container.classList[size.height <= 600 ? 'add' : 'remove']('height-constrained'); + this.container.classList[size.width <= 400 ? 'add' : 'remove']('width-constrained'); + this.container.classList[size.width <= 800 ? 'add' : 'remove']('width-semi-constrained'); + } + + private updateCategoryProgress() { + document.querySelectorAll('.category-progress').forEach(element => { + const categoryID = element.getAttribute('x-data-category-id'); + const category = this.gettingStartedCategories.find(category => category.id === categoryID); + if (!category) { throw Error('Could not find category with ID ' + categoryID); } + + const stats = this.getWalkthroughCompletionStats(category); + + const bar = assertIsDefined(element.querySelector('.progress-bar-inner')) as HTMLDivElement; + bar.setAttribute('aria-valuemin', '0'); + bar.setAttribute('aria-valuenow', '' + stats.stepsComplete); + bar.setAttribute('aria-valuemax', '' + stats.stepsTotal); + const progress = (stats.stepsComplete / stats.stepsTotal) * 100; + bar.style.width = `${progress}%`; + + + (element.parentElement as HTMLElement).classList[stats.stepsComplete === 0 ? 'add' : 'remove']('no-progress'); + + if (stats.stepsTotal === stats.stepsComplete) { + bar.title = localize('gettingStarted.allStepsComplete', "All {0} steps complete!", stats.stepsComplete); + } + else { + bar.title = localize('gettingStarted.someStepsComplete', "{0} of {1} steps complete", stats.stepsTotal, stats.stepsComplete); + } + }); + } + + private async scrollToCategory(categoryID: string, stepId?: string) { + this.inProgressScroll = this.inProgressScroll.then(async () => { + reset(this.stepsContent); + this.editorInput.selectedCategory = categoryID; + this.editorInput.selectedStep = stepId; + this.currentWalkthrough = this.gettingStartedCategories.find(category => category.id === categoryID); + this.buildCategorySlide(categoryID); + this.setSlide('details'); + }); + } + + private iconWidgetFor(category: IResolvedWalkthrough | { icon: { type: 'icon', icon: ThemeIcon } }) { + const widget = category.icon.type === 'icon' ? $(ThemeIcon.asCSSSelector(category.icon.icon)) : $('img.category-icon', { src: category.icon.path }); + widget.classList.add('icon-widget'); + return widget; + } + + private buildStepMarkdownDescription(container: HTMLElement, text: LinkedText[]) { + while (container.firstChild) { container.removeChild(container.firstChild); } + + for (const linkedText of text) { + if (linkedText.nodes.length === 1 && typeof linkedText.nodes[0] !== 'string') { + const node = linkedText.nodes[0]; + const buttonContainer = append(container, $('.button-container')); + const button = new Button(buttonContainer, { title: node.title, supportIcons: true }); + + const isCommand = node.href.startsWith('command:'); + const toSide = node.href.startsWith('command:toSide:'); + const command = node.href.replace(/command:(toSide:)?/, 'command:'); + + button.label = node.label; + button.onDidClick(async e => { + e.stopPropagation(); + e.preventDefault(); + + this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'runStepAction', argument: node.href }); + + const fullSize = this.groupsService.contentDimension; + + if (toSide && fullSize.width > 700) { + if (this.groupsService.count === 1) { + this.groupsService.addGroup(this.groupsService.groups[0], GroupDirection.LEFT, { activate: true }); + + let gettingStartedSize: number; + if (fullSize.width > 1600) { + gettingStartedSize = 800; + } else if (fullSize.width > 800) { + gettingStartedSize = 400; + } else { + gettingStartedSize = 350; + } + + const gettingStartedGroup = this.groupsService.getGroups(GroupsOrder.MOST_RECENTLY_ACTIVE).find(group => (group.activeEditor instanceof GettingStartedInput)); + this.groupsService.setSize(assertIsDefined(gettingStartedGroup), { width: gettingStartedSize, height: fullSize.height }); + } + + const nonGettingStartedGroup = this.groupsService.getGroups(GroupsOrder.MOST_RECENTLY_ACTIVE).find(group => !(group.activeEditor instanceof GettingStartedInput)); + if (nonGettingStartedGroup) { + this.groupsService.activateGroup(nonGettingStartedGroup); + nonGettingStartedGroup.focus(); + } + } + this.openerService.open(command, { allowCommands: true }); + + if (!isCommand && (node.href.startsWith('https://') || node.href.startsWith('http://'))) { + this.gettingStartedService.progressByEvent('onLink:' + node.href); + } + + }, null, this.detailsPageDisposables); + + if (isCommand) { + const keybindingLabel = this.getKeybindingLabel(command); + if (keybindingLabel) { + container.appendChild($('span.shortcut-message', {}, 'Tip: Use keyboard shortcut ', $('span.keybinding', {}, keybindingLabel))); + } + } + + this.detailsPageDisposables.add(button); + this.detailsPageDisposables.add(attachButtonStyler(button, this.themeService)); + } else { + const p = append(container, $('p')); + for (const node of linkedText.nodes) { + if (typeof node === 'string') { + append(p, renderFormattedText(node, { inline: true, renderCodeSegments: true })); + } else { + const link = this.instantiationService.createInstance(Link, node, {}); + + append(p, link.el); + this.detailsPageDisposables.add(link); + } + } + } + } + return container; + } + + override clearInput() { + this.stepDisposables.clear(); + super.clearInput(); + } + + private buildCategorySlide(categoryID: string, selectedStep?: string) { + if (this.detailsScrollbar) { this.detailsScrollbar.dispose(); } + + this.extensionService.whenInstalledExtensionsRegistered().then(() => { + // Remove internal extension id specifier from exposed id's + this.extensionService.activateByEvent(`onWalkthrough:${categoryID.replace(/[^#]+#/, '')}`); + }); + + this.detailsPageDisposables.clear(); + + const category = this.gettingStartedCategories.find(category => category.id === categoryID); + if (!category) { throw Error('could not find category with ID ' + categoryID); } + + const categoryDescriptorComponent = + $('.getting-started-category', + {}, + this.iconWidgetFor(category), + $('.category-description-container', {}, + $('h2.category-title.max-lines-3', { 'x-category-title-for': category.id }, category.title), + $('.category-description.description.max-lines-3', { 'x-category-description-for': category.id }, category.description))); + + const stepListContainer = $('.step-list-container'); + + this.detailsPageDisposables.add(addDisposableListener(stepListContainer, 'keydown', (e) => { + const event = new StandardKeyboardEvent(e); + const currentStepIndex = () => + category.steps.findIndex(e => e.id === this.editorInput.selectedStep); + + if (event.keyCode === KeyCode.UpArrow) { + const toExpand = category.steps.filter((step, index) => index < currentStepIndex() && this.contextService.contextMatchesRules(step.when)); + if (toExpand.length) { + this.selectStep(toExpand[toExpand.length - 1].id, false, false); + } + } + if (event.keyCode === KeyCode.DownArrow) { + const toExpand = category.steps.find((step, index) => index > currentStepIndex() && this.contextService.contextMatchesRules(step.when)); + if (toExpand) { + this.selectStep(toExpand.id, false, false); + } + } + })); + + let renderedSteps: IResolvedWalkthroughStep[] | undefined = undefined; + + const contextKeysToWatch = new Set(category.steps.flatMap(step => step.when.keys())); + + const buildStepList = () => { + const toRender = category.steps + .filter(step => this.contextService.contextMatchesRules(step.when)); + + if (equals(renderedSteps, toRender, (a, b) => a.id === b.id)) { + return; + } + + renderedSteps = toRender; + + reset(stepListContainer, ...renderedSteps + .map(step => { + const codicon = $('.codicon' + (step.done ? '.complete' + ThemeIcon.asCSSSelector(gettingStartedCheckedCodicon) : ThemeIcon.asCSSSelector(gettingStartedUncheckedCodicon)), + { + 'data-done-step-id': step.id, + 'x-dispatch': 'toggleStepCompletion:' + step.id, + }); + + const container = $('.step-description-container', { 'x-step-description-for': step.id }); + this.buildStepMarkdownDescription(container, step.description); + + const stepDescription = $('.step-container', {}, + $('h3.step-title.max-lines-3', { 'x-step-title-for': step.id }, step.title), + container, + ); + + if (step.media.type === 'image') { + stepDescription.appendChild( + $('.image-description', { 'aria-label': localize('imageShowing', "Image showing {0}", step.media.altText) }), + ); + } + + return $('button.getting-started-step', + { + 'x-dispatch': 'selectTask:' + step.id, + 'data-step-id': step.id, + 'aria-expanded': 'false', + 'aria-checked': '' + step.done, + 'role': 'listitem', + }, + codicon, + stepDescription); + })); + }; + + buildStepList(); + + this.detailsPageDisposables.add(this.contextService.onDidChangeContext(e => { + if (e.affectsSome(contextKeysToWatch)) { + buildStepList(); + this.registerDispatchListeners(); + this.selectStep(this.editorInput.selectedStep, false, true); + } + })); + + const showNextCategory = this.gettingStartedCategories.find(_category => _category.id === category.next); + + const stepsContainer = $( + '.getting-started-detail-container', { 'role': 'list' }, + stepListContainer, + $('.done-next-container', {}, + $('button.button-link.all-done', { 'x-dispatch': 'allDone' }, $('span.codicon.codicon-check-all'), localize('allDone', "Mark Done")), + ...(showNextCategory + ? [$('button.button-link.next', { 'x-dispatch': 'nextSection' }, localize('nextOne', "Next Section"), $('span.codicon.codicon-arrow-small-right'))] + : []), + ) + ); + this.detailsScrollbar = this._register(new DomScrollableElement(stepsContainer, { className: 'steps-container' })); + const stepListComponent = this.detailsScrollbar.getDomNode(); + + const categoryFooter = $('.getting-started-footer'); + if (this.editorInput.showTelemetryNotice && this.configurationService.getValue('telemetry.enableTelemetry') && product.enableTelemetry) { + const mdRenderer = this._register(this.instantiationService.createInstance(MarkdownRenderer, {})); + + const privacyStatementCopy = localize('privacy statement', "privacy statement"); + const privacyStatementButton = `[${privacyStatementCopy}](command:workbench.action.openPrivacyStatementUrl)`; + + const optOutCopy = localize('optOut', "opt out"); + const optOutButton = `[${optOutCopy}](command:settings.filterByTelemetry)`; + + const text = localize({ key: 'footer', comment: ['fist substitution is "vs code", second is "privacy statement", third is "opt out".'] }, + "{0} collects usage data. Read our {1} and learn how to {2}.", product.nameShort, privacyStatementButton, optOutButton); + + categoryFooter.append(mdRenderer.render({ value: text, isTrusted: true }).element); + } + + reset(this.stepsContent, categoryDescriptorComponent, stepListComponent, this.stepMediaComponent, categoryFooter); + + const toExpand = category.steps.find(step => this.contextService.contextMatchesRules(step.when) && !step.done) ?? category.steps[0]; + this.selectStep(selectedStep ?? toExpand.id, !selectedStep, true); + + this.detailsScrollbar.scanDomNode(); + this.detailsPageScrollbar?.scanDomNode(); + + this.registerDispatchListeners(); + } + + private getKeybindingLabel(command: string) { + command = command.replace(/^command:/, ''); + const label = this.keybindingService.lookupKeybinding(command)?.getLabel(); + if (!label) { return ''; } + else { + return `(${label})`; + } + } + + private async scrollPrev() { + this.inProgressScroll = this.inProgressScroll.then(async () => { + this.currentWalkthrough = undefined; + this.editorInput.selectedCategory = undefined; + this.editorInput.selectedStep = undefined; + this.editorInput.showTelemetryNotice = false; + + this.selectStep(undefined); + this.setSlide('categories'); + this.container.focus(); + }); + } + + private runSkip() { + this.commandService.executeCommand('workbench.action.closeActiveEditor'); + } + + escape() { + if (this.editorInput.selectedCategory) { + this.scrollPrev(); + } else { + this.runSkip(); + } + } + + private setSlide(toEnable: 'details' | 'categories') { + const slideManager = assertIsDefined(this.container.querySelector('.gettingStarted')); + if (toEnable === 'categories') { + slideManager.classList.remove('showDetails'); + slideManager.classList.add('showCategories'); + this.container.querySelector('.gettingStartedSlideDetails')!.querySelectorAll('button').forEach(button => button.disabled = true); + this.container.querySelector('.gettingStartedSlideCategories')!.querySelectorAll('button').forEach(button => button.disabled = false); + this.container.querySelector('.gettingStartedSlideCategories')!.querySelectorAll('input').forEach(button => button.disabled = false); + } else { + slideManager.classList.add('showDetails'); + slideManager.classList.remove('showCategories'); + this.container.querySelector('.gettingStartedSlideDetails')!.querySelectorAll('button').forEach(button => button.disabled = false); + this.container.querySelector('.gettingStartedSlideCategories')!.querySelectorAll('button').forEach(button => button.disabled = true); + this.container.querySelector('.gettingStartedSlideCategories')!.querySelectorAll('input').forEach(button => button.disabled = true); + } + } + + override focus() { + this.container.focus(); + } +} + +export class GettingStartedInputSerializer implements IEditorSerializer { + public canSerialize(editorInput: GettingStartedInput): boolean { + return true; + } + + public serialize(editorInput: GettingStartedInput): string { + return JSON.stringify({ selectedCategory: editorInput.selectedCategory, selectedStep: editorInput.selectedStep }); + } + + public deserialize(instantiationService: IInstantiationService, serializedEditorInput: string): GettingStartedInput { + try { + const { selectedCategory, selectedStep } = JSON.parse(serializedEditorInput); + return new GettingStartedInput({ selectedCategory, selectedStep }); + } catch { } + return new GettingStartedInput({}); + } +} + +registerThemingParticipant((theme, collector) => { + + const backgroundColor = theme.getColor(welcomePageBackground); + if (backgroundColor) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer { background-color: ${backgroundColor}; }`); + } + + const foregroundColor = theme.getColor(foreground); + if (foregroundColor) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer { color: ${foregroundColor}; }`); + } + + const descriptionColor = theme.getColor(descriptionForeground); + if (descriptionColor) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer .description { color: ${descriptionColor}; }`); + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer .category-progress .message { color: ${descriptionColor}; }`); + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer .gettingStartedSlideDetails .gettingStartedDetailsContent > .getting-started-footer { color: ${descriptionColor}; }`); + } + + const iconColor = theme.getColor(textLinkForeground); + if (iconColor) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer .getting-started-category .codicon:not(.codicon-close) { color: ${iconColor} }`); + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .codicon.complete { color: ${iconColor} } `); + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step.expanded .codicon { color: ${iconColor} } `); + } + + const buttonColor = theme.getColor(welcomePageTileBackground); + if (buttonColor) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer button { background: ${buttonColor}; }`); + } + + const shadowColor = theme.getColor(welcomePageTileShadow); + if (shadowColor) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer .gettingStartedSlideCategories .getting-started-category { filter: drop-shadow(2px 2px 2px ${buttonColor}); }`); + } + + const buttonHoverColor = theme.getColor(welcomePageTileHoverBackground); + if (buttonHoverColor) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer button:hover { background: ${buttonHoverColor}; }`); + } + if (buttonColor && buttonHoverColor) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer button.expanded:hover { background: ${buttonColor}; }`); + } + + const emphasisButtonForeground = theme.getColor(buttonForeground); + if (emphasisButtonForeground) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer button.emphasis { color: ${emphasisButtonForeground}; }`); + } + + const emphasisButtonBackground = theme.getColor(buttonBackground); + if (emphasisButtonBackground) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer button.emphasis { background: ${emphasisButtonBackground}; }`); + } + + const pendingStepColor = theme.getColor(descriptionForeground); + if (pendingStepColor) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .codicon { color: ${pendingStepColor} } `); + } + + const emphasisButtonHoverBackground = theme.getColor(buttonHoverBackground); + if (emphasisButtonHoverBackground) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer button.emphasis:hover { background: ${emphasisButtonHoverBackground}; }`); + } + + const link = theme.getColor(textLinkForeground); + if (link) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer a:not(.hide-category-button) { color: ${link}; }`); + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer .button-link { color: ${link}; }`); + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer .button-link .codicon { color: ${link}; }`); + } + const activeLink = theme.getColor(textLinkActiveForeground); + if (activeLink) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer a:not(.hide-category-button):hover { color: ${activeLink}; }`); + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer a:not(.hide-category-button):active { color: ${activeLink}; }`); + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer button.button-link:hover { color: ${activeLink}; }`); + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer button.button-link:hover .codicon { color: ${activeLink}; }`); + } + const focusColor = theme.getColor(focusBorder); + if (focusColor) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer a:not(.codicon-close):focus { outline-color: ${focusColor}; }`); + } + const border = theme.getColor(contrastBorder); + if (border) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer button { border: 1px solid ${border}; }`); + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer button.button-link { border: inherit; }`); + } + const activeBorder = theme.getColor(activeContrastBorder); + if (activeBorder) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer button:hover { outline-color: ${activeBorder}; }`); + } + + const progressBackground = theme.getColor(welcomePageProgressBackground); + if (progressBackground) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer .gettingStartedSlideCategories .progress-bar-outer { background-color: ${progressBackground}; }`); + } + const progressForeground = theme.getColor(welcomePageProgressForeground); + if (progressForeground) { + collector.addRule(`.monaco-workbench .part.editor > .content .gettingStartedContainer .gettingStartedSlideCategories .progress-bar-inner { background-color: ${progressForeground}; }`); + } + + const newBadgeForeground = theme.getColor(ACTIVITY_BAR_BADGE_FOREGROUND); + if (newBadgeForeground) { + collector.addRule(`.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .new-badge { color: ${newBadgeForeground}; }`); + collector.addRule(`.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .featured .featured-icon { color: ${newBadgeForeground}; }`); + } + + const newBadgeBackground = theme.getColor(ACTIVITY_BAR_BADGE_BACKGROUND); + if (newBadgeBackground) { + collector.addRule(`.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .new-badge { background-color: ${newBadgeBackground}; }`); + collector.addRule(`.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .featured { border-top-color: ${newBadgeBackground}; }`); + } +}); diff --git a/vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/welcomePage.contribution.ts b/vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/welcomePage.contribution.ts new file mode 100644 index 000000000..f2beb2c3a --- /dev/null +++ b/vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/welcomePage.contribution.ts @@ -0,0 +1,38 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { localize } from 'vs/nls'; +import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; +import { Registry } from 'vs/platform/registry/common/platform'; +import { WelcomePageContribution, } from 'vs/workbench/contrib/welcome/page/browser/welcomePage'; +import { IConfigurationRegistry, Extensions as ConfigurationExtensions, ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry'; +import { LifecyclePhase } from 'vs/workbench/services/lifecycle/common/lifecycle'; +import { workbenchConfigurationNodeBase } from 'vs/workbench/common/configuration'; + +Registry.as(ConfigurationExtensions.Configuration) + .registerConfiguration({ + ...workbenchConfigurationNodeBase, + 'properties': { + 'workbench.startupEditor': { + 'scope': ConfigurationScope.RESOURCE, + 'type': 'string', + 'enum': ['none', 'welcomePage', 'readme', 'newUntitledFile', 'welcomePageInEmptyWorkbench'], + 'enumDescriptions': [ + localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.none' }, "Start without an editor."), + localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePage' }, "Open the Welcome page, with content to aid in getting started with VS Code and extensions."), + localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.readme' }, "Open the README when opening a folder that contains one, fallback to 'welcomePage' otherwise. Note: This is only observed as a global configuration, it will be ignored if set in a workspace or folder configuration."), + localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.newUntitledFile' }, "Open a new untitled file (only applies when opening an empty window)."), + localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePageInEmptyWorkbench' }, "Open the Welcome page when opening an empty workbench."), + ], + // below codes are changed by github1s + 'default': 'readme', + // above codes are changed by github1s + 'description': localize('workbench.startupEditor', "Controls which editor is shown at startup, if none are restored from the previous session.") + }, + } + }); + +Registry.as(WorkbenchExtensions.Workbench) + .registerWorkbenchContribution(WelcomePageContribution, LifecyclePhase.Restored); From 3baca7d99078a937d2a6c4c78b7d5ab0608398ee Mon Sep 17 00:00:00 2001 From: netcon Date: Sun, 5 Sep 2021 00:12:18 +0800 Subject: [PATCH 04/13] chore: upgrade vscode to 1.60.0 --- .../src/vs/code/browser/workbench/workbench.ts | 6 +++++- vscode-web-github1s/src/vs/github1s/welcomePage.css | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/vscode-web-github1s/src/vs/code/browser/workbench/workbench.ts b/vscode-web-github1s/src/vs/code/browser/workbench/workbench.ts index 57c3aee16..08f7380e0 100644 --- a/vscode-web-github1s/src/vs/code/browser/workbench/workbench.ts +++ b/vscode-web-github1s/src/vs/code/browser/workbench/workbench.ts @@ -18,10 +18,14 @@ import { parseLogLevel } from 'vs/platform/log/common/log'; import product from 'vs/platform/product/common/product'; import { isFolderToOpen, isWorkspaceToOpen } from 'vs/platform/windows/common/windows'; // below codes are changed by github1s -import { create, ICredentialsProvider, IProductQualityChangeHandler, ISettingsSyncOptions, IURLCallbackProvider, IWelcomeBanner, IWindowIndicator, IWorkbenchConstructionOptions, IWorkspace, IWorkspaceProvider } from 'vs/workbench/workbench.web.api'; +import { create, ICredentialsProvider, IProductQualityChangeHandler, ISettingsSyncOptions, IURLCallbackProvider, IWindowIndicator, IWorkbenchConstructionOptions, IWorkspace, IWorkspaceProvider } from 'vs/workbench/workbench.web.api'; +// eslint-disable-next-line import { getBrowserUrl, replaceBrowserUrl } from 'vs/github1s/util'; +// eslint-disable-next-line import { renderNotification } from 'vs/github1s/notification'; +// eslint-disable-next-line import { getGitHubAccessToken } from 'vs/github1s/authorizing-github'; +// eslint-disable-next-line import { getGitHubAccessTokenWithOverlay, hideAuthorizingOverlay } from 'vs/github1s/authorizing-overlay'; // custom vs code commands defined by github1s diff --git a/vscode-web-github1s/src/vs/github1s/welcomePage.css b/vscode-web-github1s/src/vs/github1s/welcomePage.css index 9898b406c..c0d46cbd8 100644 --- a/vscode-web-github1s/src/vs/github1s/welcomePage.css +++ b/vscode-web-github1s/src/vs/github1s/welcomePage.css @@ -265,7 +265,9 @@ .file-icons-enabled .show-file-icons .vs_code_welcome_page-name-file-icon.file-icon::before { content: ' '; - background-image: url('../../../../browser/media/code-icon.svg'); + /* below codes are changed by github1s */ + background-image: url('../workbench/browser/media/code-icon.svg'); + /* above codes are changed by github1s */ } .monaco-workbench .part.editor > .content .welcomePage .mac-only, From e1f2e3b049c3804b585b7cff1f2732539090fc07 Mon Sep 17 00:00:00 2001 From: netcon Date: Sun, 5 Sep 2021 02:12:58 +0800 Subject: [PATCH 05/13] chore: upgrade vscode to 1.60.0 --- extensions/jupyter-web/LICENSE | 21 - extensions/jupyter-web/README.md | 24 - .../jupyter-web/extension.webpack.config.js | 41 - extensions/jupyter-web/images/jupyter.png | Bin 26597 -> 0 bytes extensions/jupyter-web/images/sample.PNG | Bin 3510874 -> 0 bytes extensions/jupyter-web/jsconfig.json | 12 - .../jupyter-web/language-configuration.json | 41 - extensions/jupyter-web/package.json | 107 -- extensions/jupyter-web/src/extension.js | 55 - extensions/jupyter-web/yarn.lock | 1661 ----------------- .../resources/builtin-extensions.json | 16 +- 11 files changed, 12 insertions(+), 1966 deletions(-) delete mode 100644 extensions/jupyter-web/LICENSE delete mode 100644 extensions/jupyter-web/README.md delete mode 100644 extensions/jupyter-web/extension.webpack.config.js delete mode 100644 extensions/jupyter-web/images/jupyter.png delete mode 100644 extensions/jupyter-web/images/sample.PNG delete mode 100644 extensions/jupyter-web/jsconfig.json delete mode 100644 extensions/jupyter-web/language-configuration.json delete mode 100644 extensions/jupyter-web/package.json delete mode 100644 extensions/jupyter-web/src/extension.js delete mode 100644 extensions/jupyter-web/yarn.lock diff --git a/extensions/jupyter-web/LICENSE b/extensions/jupyter-web/LICENSE deleted file mode 100644 index a7d89b609..000000000 --- a/extensions/jupyter-web/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 Jithu R Jacob - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/extensions/jupyter-web/README.md b/extensions/jupyter-web/README.md deleted file mode 100644 index 895507f64..000000000 --- a/extensions/jupyter-web/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# This extension is a fork from [vscode-nbpreviewer](https://github.com/jithurjacob/vscode-nbpreviewer) for github1s - -# I have deleted some files and only reserved the necessary code - -# vscode-nbpreviewer - -An extension for supercharging your Data Science workflow by previewing Jupyter Notebook within VS Code. View graphs and interact with Plotly visualizations from within VS Code. - -

-

- logo -

- -## Preview - -> ![nbpreviewer demo](https://thumbs.gfycat.com/FarawayTerrificChameleon-max-14mb.gif) - -## Quick Start - -- Install the extension -- Open a Jupyter Notebook -- Click Show Preview menu button from Editor/Title Menu - -> ![nbpreviewer quick start](https://thumbs.gfycat.com/ImaginativeCooperativeDogwoodtwigborer-max-14mb.gif) diff --git a/extensions/jupyter-web/extension.webpack.config.js b/extensions/jupyter-web/extension.webpack.config.js deleted file mode 100644 index 6b024d809..000000000 --- a/extensions/jupyter-web/extension.webpack.config.js +++ /dev/null @@ -1,41 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -//@ts-check -'use strict'; - -//@ts-check -/** @typedef {import('webpack').Configuration} WebpackConfig **/ - -const path = require('path'); - -module.exports = /** @type WebpackConfig */ { - context: __dirname, - mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production') - target: 'webworker', // extensions run in a webworker context - entry: { - extension: './src/extension.js', - }, - resolve: { - mainFields: ['module', 'main'], - extensions: ['.ts', '.js'], // support ts-files and js-files - alias: { - https: 'https-browserify', - http: 'http-browserify', - }, - }, - externals: { - vscode: 'commonjs vscode', // ignored because it doesn't exist - }, - performance: { - hints: false, - }, - output: { - filename: 'extension.js', - path: path.join(__dirname, 'dist'), - libraryTarget: 'commonjs', - }, - devtool: 'source-map', -}; diff --git a/extensions/jupyter-web/images/jupyter.png b/extensions/jupyter-web/images/jupyter.png deleted file mode 100644 index 169a637b65246fa293d4d97fb13ca48022218f9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26597 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 diff --git a/extensions/jupyter-web/images/sample.PNG b/extensions/jupyter-web/images/sample.PNG deleted file mode 100644 index b6b9d8c0ec60d587ce655d12eefcb4b470b3eb53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3510874 zcmeFadz4hib^klLYu&r<&2RmF|76`H_ue?x4)}={DRmPavX4MuoFRIGmb5A5+gf5?_1wG zy-)8xUFUT7Oiy>u%x0}aol}opRlD{%ea>fgRUMi;d+LAx{r~s(%gW0B`?TAd=9iWI z?>Ci|{coT8KmQLCQ~B<%KWc*iYs+m*x0jXukJC7Q?}=gm>e_R8HITTJey3bp_8qM^?e5sLd3*it@q?_~dUKBG zszEo|EIT%i9~4K0H!Ybp_ol|qZS6OWsvI?fo>vrteQeRbd*Ijp2-c?)K zxovG#&DgPHtExvWN5 zcZ?r22o?GN68-Af;#ahJdqQ_ci&eW@w^Y?sR#&+St#0$nY}vVOlWp4SwyO3`?H%o# zcWgK1YMkY^tn1v-xqV${NR@taXvJnsX3g^JcDA>p!&&wA9nHIp3KA-HmfXJJ?k(+A z^V_#~?%dYa-n`3nWw5LFJJzpB4o-?Bq=dG;efRp1Vo33dSyS*vsKNBLzHwW7>yFNC z3pzVDP4KL2F01gS#>Sh<7q8#Ey7R8>6%AFv+{vL%3Tkg^-O)b5m}1?C>Y5SNbqhw; z*4K=#udN+cJ*vL8S_tuS24u|YT)lqH-3}QeM;nWlGDOax40G$OZr#zEl@ys*$XVT1 zzov6rN9&FW>pNQ4wpVT0ytbh#87Xr5236nKxv6uTX;%A$+J-7uv?yhbtbW?&?K@gG zx3y1enqVR-*RNk)-!^*m>d_-dw~wg3_12Li+DG47H)7SAF=I!JS~a?DRoks=#;hLG zYLz%^mMoqox~a2mCvKF4=+!xj7RA#<&)K%#Jmgw8i9Be1u2ne1q*Zm>`t8Ov?-nL& z4A(x!Zg1b38p{cr*4xL?mey_C+i|mvAH;W?|NQbFPbgz=+WOWuJjf=r;a+H8-B6Vh zn{1X}GEr=OcL&guFN%lPao4)`%~3a$C(7mu7qY!`&5pZTx3$OD8k@*)n|lINO9Ul1 zRN4)f+P~O=`93uW6`Ci%Zt*$E~$--=c=xZDv}vgT~Zqv z&sAL+RU|X0x}-KTo~ybtsz_!~bxCbxJXdvPRFTY}>XO>Xc&_Tos3Ms`)g`r&@m$rF zQAIL?s!M7ksP<2UdWIR`OWmJ*Opz4y^$at>m%BUilLDeO-k?}lIUB924^Vh!F zO!T|U%;=l)@(Uj{vjJ~vyKVlgva&t5l$G6gu&nHTGU3n4%63+lm0i8FtgQZ%Wo3WV z`Pj;@O(`3-^u)BL_=4TPS4JjNS*&~z@eywvOM0jd`hpD%8vH@uZrOe{Oy0|VSr-`F zKmFjJ=%G4L8&Dfi8|Y&;fcJ;K{QIMA?;r0G{c#-i-ALaH_1#!)Ky5&6pg-7v0!W3f zeG)q3=If6ynA)d73LN?vaOe*|gxUvvp;H^kj}0h*RDh@NF}-60`i#oYGfMTSdQ=-w z8&Df4t_>)FQ~;>}Qg{LDi*xV1IOn2Q{ZT0HkAmu7^{+OdHqc!gPyku{-_TrsZ#8e< z8L#f%lUh!n=V}9L18M_m1EpjG3Lq6gDu7e~SyJAlrSyQ*w&)MG+JM@C+CcU;pa8P( z04;@&eQT`rIh6f#NOh&UQX5bkP#Y*+8&CkL08#;@0!RgrI_+7fzN-zW4X6$D*aj3p z_ARKT5VG%#mwrr_?#Hx_jgF1lfZBlCK=wAE08#;@0!Rgr3Lq6c^cXzo4{!EAys9hJ zRe!Ys1(1CQXeoT`TVvH!FtDEsG->PmH`HlQ}3Hc+}Ypa4<E=Qv0PZfNBHT+kgVdz5}!rKK8A#(&te2&mq;7>Pl@uZ9r|HbZtNZqyor+ z4Iqc!Ox5uws#~&(M$KJ9Lu;x^3dRk@4+Qn&Zm z`jbr@ZlWH)L=GK7@hu0bY1hLv=gAW^?^9oA3Si8uGa0u2{L8 z{`sH(i2%Ql{<+V+Nc``2zxy5i@|VA)!%sf$EGy-G`#XO}Z@&3eKVP8$B8Rq3oYSsw>r%+JM?Xf3*Px zkVW=jbb+Z{Kv^z%U3G=U z=Jw?@e9V~0I`RP^0V^MT=tE8b2`Gs)L8$j;Zxs~?qyNCANb62;#B>^7+9bHE* z5VF7iU}(SeWk_v6ZJ?Mo@WGq@lm-tTOhbkYp_^~MnLc>a2h5ROT(<4TZ+GxFw;0zh z0Lh+<(`QVfuYBdN=;uHGIc?pxIkLSd0~pACC?tS<@4ffvU;p)AXmxw5UwD<2h~t!w~Dv=`yXkt67_PdrM{!Sl~Q=l4IVo>EMM=i`rl^dr-+ zpZXAz;UnUZ=JJko^(EVTQ1j{UjM{+OfZ9O+wSh2iMh26vu@5Wb${Q7z?K`6@pOo7x z9*}$Y?WV7v`6it;e>vvk+2=l;6*yyf*Rgqx@xt0;Jpth%ICa_tTOMF;`_2v<4=+JX zJzlnaz6E&j82s>q_u1pX!My}oO;Z|Zv+q^7&jP&}vzn|dKsCs^+k}vXGHvZGemhsT zE-`Jm+or)Q5nhPg4wifHL-*SH?mw`H+E#nh%DE4if{pxl?cQqZ;CdxoL*LL>8OP^q z*WF2IBVVH*3?w-YA?m@DZ`8|mLnhkfc~b78+ZW8V@N)lsyJ_D1>Ap-%LEm9?z%n*< zv=jRDz=utLg(qnyUCH(o;v7codO^!3u6Futn)Ae~*5eV=uH^v$+0eS#g2?F)ekO8Z z$ZP;4=fOwLqmMp9AAju6jJ~(h@Db%^EVt7q9{;$105l>FQ>6hLANknBei}d|K0@Ra zY7o>j(s(ghz8 zhcuZt>Rdjc^t}K6fa=)l*s2W_)&>9_ckS9mU;gr!Y5)HH7Di?pm+e^L_dn|So=e)M z%^T?SH@;5a`n$9KaX8=+7$z?YK%z|Rsypc2cmJ7QdF5sL+0TBO0=WRpe*W_=<0bhE z-y08}c>rSoke4o9r0;(BI|NV4|NPJYOeqVmN_bZy4IYedoqm%5JW*$`?7#oVztiEv zpK$66dB0`eqyO@|Mg%0Mc@10J7zharM9ion-E|R zIzfK)7x@AAo_+Sywtj|$0JG>5(tq%S3sx5D#rp=l5#g1Hf3hsn7cHJo-}&yh>9@cA ztu1@?>Q(y(RBkg*@5Xz~zx>M;I(znvuNUOOAps=Eee;`Nw|YYwWS|_{0R3>Apl8|l zSIjIcj4eDsA!q7slj+Al{xN<2^T%vC2GK~vc%d)oFSi-GKpT1X2>>YS?(E!X<-PXW zEA;n&|2=!o?TiZH`6wYIJRcc8O0UQ$8A!|a9@Kn=eXgp$Ro`j@Y6FF|fiRd@2mqPw zJEJR~)KRYh$k}tJ(%KEHX#K|3{;_QN?LPF10#pEK_aC^&0K4th6L9JBc^0ItZok8p z#}w;(_U@qh3#MDR2amyh`|qOJbEnw!pr_vYjcs-+GuBCjXW^cEwp%Ylv;lb!erPYP zGT^Xj%6QY(HUskRrrQ_Jpe4(^de^OQwGea3(zzCPA`i-L+~nm&`v4=?tX*kgCGs%@ z1i%E~+k5XWzkRar0D)-x9V-{5=>{H;yYJpcYYc?sGLQ#v$yu{KfXeX<4;es0f2b2W z0`!C&fKGT>BA#{WUGKDD5;6cDx9`|wy)RqamRSJ2{Eh{_Uc+?7?I>gjBhK`)7M4EF z07iz6vp;d1rtE#p_kn8-V8{zo5SS^2^o}GTXRp#{lmE z!Do7RuSbs=NedRuqebQqYJ4;`Ps&PuCIAVz1jq!~1ehg(60QNd&~BFpBmme8FFa3; zO%p8~WVnarQ~1HiDWtBaoe|faO_yZ~AzW@IFbm78z z3mp*$?@K^OwCnZPU$qbpOSAy|9Xs|}3uw_tcq@MU+h;BGLpcD~lc)aLf=<*4*#LO^ z_wTjxQ3pd=*=HAk#1wew0cpSb)ph#8KVGn~6Xl>+z*NlI!16Hw!>AW+`nP}kx&7lS z^5H!RW4(R*7AuPZB=VtMJeGg`*I%Ze{N%^>kGE_aD35VM-GG(oE1)o7rfhqra|t24 z10Nwj+j~&+<>z^+dQ?5C4X6#2q74)iKxX^S=*lN`Sug-8VI<%rAf*df0iwa{5U`EY z;q?cQ$G{G-jMD()?%lV`LPW$#0D0T=xP_JNYghRB;Z?Zjo*j0*MdXF|AIp+}4jzO^ z=QM|E&6}PXDA&fZF3tw0| zreE6)XCD0m)y|wxlREG70px8TIzn>}zwV_!cHC~09VRDR00|Gox$|b)_F|nyyukCc z>h1zayv#my=mF#XyU5oA;3Zzf0U-J3UW@ByTSqQ+wq-k0#4#I@|BgrG7$ z)42jj{h^jWE_$x^pf*riHh{lK!}IYgU-^plgv52WaoLU~-UBlIR%Dy*0+0+M5duyk zk4s(@fCTXS=C{5+u#W=K_!yFaF5)NW||urg8(2ojmy!3#S07 zxJ}sf1W*fJcmQc(WjQ~G3?Ok0_y-`yFpt-Ogl8V&(Pl0ONCt2Sz#0UQ$Pdpzcq<}5 z(g8q^eEQEVBm_JKtYcY#Y{-vy0)!H}p^xYbyaC}E2oMU;$YtSS3jMNdc#{J1az8kq z3?+aB&M|hUv8hVBPrJiIT!p`NiYXHdLnvh}TWPG;wpyqQt zcgxD|qy6T?L6xIAP#aJi=npnfObVIpi=!)_)P1i|NY^}Uo{xfVGq*czjy22U`O~ruqU^&PW+=g4y%NFC-2)a1OP++tdR5GkB zVS44Zvaa~LkRgm%zMbWA&hxOR8R9r;^L@TcB)dj(n9q6G(p3`ktb0l!gY&d`J~zt_ zZhMXTf^lIw>n?@VdD!~HE`MC~T^aYVumy(buJ3Y6boe~Ig{j&+a%o< zB>@YT<@_8{GroM87w3?}bH_0+8uQtCo;cFrvdE;9`zHH=b9PAu zorGH?^8MJjhBCdBV}SGEKg{Vy9U!itkC?V{{`^1CXP$e;?&|Z@Q%_p@>T+ET_J^+} zfy8`lIVW4^VVBl3GTY~z=F@Rg8&Df4mJJjWK<4W`vR43PPe7ClpfT8k8z0~yAR5;Z zJ37}I=(8uq zrBljtxk1YGAaD#`bKW3;47!n`|8NzBuCU!U=4H39Sz%o|d7ibD!E%EDGE7&TzmOqr zdVaafHN;Ldm|s0=)&iQiVUOqX`0+1N)7_8w?vRZ;51Bm4Z3|s>00KVz@PjF?h{(t8 zh&Xq-N-`uwdUxF*XU&>s-5?h%oSUWx{F$ETN^!d}|ERYCr0ztcKgPxSG1hw3_S6PS z!v^pkz`r}i3|#;+2E>J z4R=y58+3yNJp9|g{To{c=3{d{8Ajun11OP=oxR4@Vjvs(7 z#ynUS*Kl)0dE|i};OYsGiEBA7uCg*N2p<6)<(zD|L+Va6rSa_2-w+)KwE?w(zF-5z z1d#dCPp<&TE!#KIm&^h!uf6eF%JI_i&(n(5=&hWi03=>)F((^yq2)r5yp=Sk@7R@` zTaASx0Tq!y2*?1~;HlWMVv$``5`c}pBLO+F6VBT8clrxKB8}%>dkawRCboC3d)x^UAp$Jg=M=f&>g)w_%lS3wE$UdjL?`15z#oiG?+>s|+Bfgomgb^#O)r z;Y;)z{RhP5da;-#7KFTO_ZABz5iezMz94`M(-r40WQZF;zT|cHe8M_2KRvM<4R)cK z_Q0oUeEasSWRIyEX%}h2i|VxL&31R0J6l`qqKgR8rc3}5bEdIl3@?f#y$^ZLcITE& zRu+IK=6pdWcCxv5-yXZ*(d5SQDeawq`)u0=%)Q1!kjq;ZTTt5D022KLgoGy~7JlR% zXmZ&G8#40sa8o(@BB3^*HlQ|8SR255KzDzSgXLD5-_g&%^f@~IrQ<2bUmB1$eMa;j z2y+FHSQHSz3G=aW&TYYbTK*2 zLC}Ty*jPvs?L_~u=pyETzxmeR+II*n1PQM{Kr+aImmcO>zwuWm>^0|q_0=!g_HkVZ z0U+U}_;+U4A9#Oaofmi@0-z!t3oN28{^RDcW1qEimH{lG8_ZM29B8=^B;j8+Hx<)9$R@3qqm|SUeJSq8uP656q$s1Of?u$Q!4;(6B@UKp}z_ajudWL4I(Z=2R+|5A=E zt}zW7FSPJL1Rz8^G66{J8iN;lY*~$R5Fg)vsV1Ag_=|DL(AAP5Kg|HlQ}3Hjvo{@D7l# z--}tZr_qDv4|ESdawz5a&;thuf1r!1CszOouRy>%9MVJZ@ZnF;uYdh(x_mkc~*xFzA2tE}t~@=9=qH2k3wUU)ps7;$(vz~Y6NvK-uc8|eUu z*q$1o4qk(JSK#(xDmpwe0o&LElDD%C%0k@$n~0a&Msu67{Wc&ZWFq~?rky)>Zna~? z01~=_9PC7c_OMqX%LwX{;}N<5BxIqzsFU^m=}$lH+XWWB#284=%-|TnD-?O~4|>9m zI$SUEN?pSf5>S@6#O8e2gf1^fS6q}Veg0&A{-};rM`{CV1O43w6hN96%|ZdE{#wr} z14E?;XIMY6)i=BrTUX`oK^l~aZN4E3fHs)cSFZ7JiF#4XHVxCUN7U8P=mmG!W7z0X zd6AoK{hBWwZua*d4(*@59H|Yc4fIzVz&k`={9Oagg2$WO*`zP_L))DGPSIa<(qEq$ z+AsY*R2xtmP#ehJ1^^(tbCi;fdu0lCUx8Sq&`zw$h_xm$r8}xU@V4B!D|JmuSN@>) zWiU_Elm_b&iVbdpX?^J$H&K6isnmX?elV2M15(?P{STt*N_C|+pf-T_h`#un_T15D ztydnVG55vxYnxNwBl@F0^!cjKSG57P0kr|OfgEh0tn5D8U$SePDTVB3uAEU65_7FF zHyiW2;a1s~sAI6LxC8s+Tc-9&7lO>;*QI2CShNrNmZUZ?Fm0f(QAo_!##~#>v&I}{ z{SEH_G_S9Yu|87=<}+2tUB_K*Ky9GE*?r~Y254X6#M4fJmtPynd_vQK(K;=!aZ z#-;OOoX@e)AD#aFqod=i_($6#HFKyf%E{@zUm8y+JM?Xf3g7ukfrlms_!-ZYb^THb3*%~zk6x} zY6EHm1J?!=Kq`P#0I2}7qyVh`APw9fBprJld$obSZ37A*`xo?5h*>)0sn5o~{cP0n z)A3UqP#aJi@N7T> zY*PKH{?rE42Gj;h!v+*UDu7e~sQ|Lq0AyL&eYC$jUqSi{Q5wGxIu1GxY6EHmx!QnI z$o@sXy7L>ZWqQX3a=jNdzdpa!2Gj=B2Gj;h(FT-4Duq-EsT8u;C}ej&L`v~Nscq69 zaJ2!o0kwh5HlP5qci>ZZeoM7X{~8N@{$zgssE$-eY6EHmY6GQj0}3D&Kq`P#0I2{{ z=V9wSbhQDs0kwf1+kgVd{sp}hVwTQ$>PL0ye^l!j=@_XEs12wMWVQhXkP0CCB!C<= z_=6<{&GaQbe=q46TYY$Eet4^nR7Yw9Y6GQa0}3GX_gkp%6{<^V1Nv^H&-+q)-fMf* zCe;Si2D)PdDF9Ob(CN9p_^1u24X6#M4X6#M4fIzV7!v!Rbn`7Aq?`WdpU|It;E(AK z|L6~>xqJl8FCR&_l~+-dIiFZQj8??P*gtqpnHr~Y4WnuP{F!vyv_^_gZm{v=%ZE~Z zd4-<`Y0%l6S#cZQI%+tL966L~Yll%y%}}bUE~n~hFF($aK5Enmn>KOcD4T}(V(NX` zv?kN8>YNV%Nd4Dy4gAAD`~!7$b(`CZ5rYWr3Y6%6DQVpt9}KL`FU6W?svbdz(D{91+faE)dtiC*arUd zKmU_({KtR%haRefer*Ha{`R-&fBmojRg~j*zxy5G$k#vluBiZ00c5v6GNcjdxdH>V z0kr|O0kwg?W&9&&Kf+>Ij~Y9UW`!dHuLi_BT{|LEbj4tn5D8-)J*IDeMXv zHxv@CjpN3Rv?0>q772GqxJXvlR9H92%BmRQV7E!QN3wDo8b(r6V;xPK>bYMwP99_P zfnvhF68R=hxRpkX7~?(WG^3aP|}iHnA63u*(Y zHoz28LyyL)9{R5yzVn^$SQ5xYuoz+Y-eS^A@w+TSrI1DmQXzV-`cNBC8&Dfi8&DhQ z|2E*FkWp@saBqD5#LEPC$Y-AYls&&^?=JfeAzdMn59zQWc7Hgwp{ z*3}Xr@}X|D3D=Or?wN>#yix&>U;EnE=&7fkN;zJ8?X~nb+aAW8KY!lVapcGmdiULT zeQBsGSU=jt|1dx5bD#U1%_HMEy}O|T$W-8<07mtpHlQ}3HlQ{z&};zj0{!Km{H{^} znH7MnrL#k}(fdOtQD;{9`~QcVG$K9k{qdf-Yz6Jy>K*H*dkcsK^Zlmv%0zu^-~S()K*IRoj=paaUccE~O2)0A!RK zBo=^#8{~?WOYK6CGiFYqrsj$E8t2XCeEs@1`&{9LA`!}bs6W+Z(o2U-*|uVzmkNO7 z7jFQFM`NGO`xm-g9kouuL&_1-aziRVp18M_m1F1Hk0I~=l z)We6zXv2op^zg$6sj+E75ns+r6hNAVr!EayK*x$OHpTup>XY?1H2csCKyl6VSk5+$ zasviHvRzvcsQ|K1+B}b;hB@EsI^MkxOI-jm$^#M$K*9qOKoMS!2p@awqc+6(#!YMJ z@y9=AJQgebg(8FbFs?ywNtDG=N@Ly^03>@Y0usV=5uS?AJ@;G+Fw7SGWeX64K$7K0 zm1i%>T-v4pGW8=&KT1^}Y6EHmY6EHm1I-2$KoD+R~t|pP#fsE4Jd#t z@JHRsl}l*m%&8VU785`oh_#!k*O-2dV_XUdKw6i9fER4qJUSLzK-bOr^;jJ(hrZ1A zn3%SGB(~hfzdvLHU5ZswJfX|D$#>Sod9phVOq@gqd_7mvX(Q`GY&aeF+pwHY#_-WL zE>S19i^Fz0ZPPP-*xgHSbzPyij=oIiuU$9$yPKoyEFE2yD0l3fxjrS@@;sftVe%hD zI?gZ9Tc0=BAEDRJcX>K7eSZ6BOJdB??{oC}kyCUr zp|fk3PSAnL5pDJRQ$sEORN~}RYCEO6y`F0Qe3@lA0c7M<UPTMrme4k|aq|LNIei2T6K$%F$El6WZkj_28*WM72NR4}r|Co8n0jip zd6v<-+pAK_N9jCLHn$-RK+1Oe`khNNYQ4SmA$D;bZ~Sm1cw zTzi1hOTTUaWtT~tU4AniwP0 z=OCRiI?T4+XkWwPmW0=14K3ShKv_-hZFB-i?yD2j0YDlEw|NfD7=`*OXl}cl#%GeVN_w{R8)?nmQBk{I|nCpT0?UekEXiBx{{TRQ)!D_j}ZWJ(-PXUp_$^yQ&UfC z(6#WY6C6+8RY>9k48+D#(IsdtN4#o{ZsD>Akz_H*z{}UQ~;?T zxqbN~H(zZpE4z>O=S!H%(VI$bKy5&6;Mb%SvPfUTrB5Lz86xHp!%H!<#iS&ImO{=H zZg`x}e6<*t$@k47jz^_lV{;6#T$Gqs%@lGRt>QdZo^b1vb#b1Qa4=PmpF~rpjHQvo z313NIdS@W1XYaXbIKcb$99v3-ybrQj$$lQbdfAOeDru~o-&^5s*-WYYjtqxSd#J{JVjTH z>*I@7j&uc0)D4$Tncw6KlN~F^-0K7-s~k;jlH_qaD~3_SlsGj{96>`lE)aH)LYg_> z@nm0XXV3Q+q>PQ3V75n{Ky{)Xo4z<~mln8m3d#ryDX$IXoM9+u3XvO8O_QfgqRC_3 zJLn|GDIlBM8!+^BZ3``H@buuhL5>vZMxLRsOfjM7 zoo&KJ)!BxmP9w*K`=O!GcT#uB@z*%jMPY5gMIocyAmP@?i#9&=(1Ct!&q^UvDP+_f z>`W9==V9xIw0=md4X6#M4Rpr_e*4?sQq<8MnfWXe)i$K%v#xyXqD;nr6HYSo^^13d<~s2uBn(04;NL;V-LDShC#v< z9YCMi07xIKdb)JVwva9`|2i>mI0e-8CV&)+PNr-F9o9B~o9LLCt2~Fc7}&>Kai;)B zl+QGmJQP4?kj*yjgnzftlodfY$OSY%;r3_&qCYn~*>=`EkfNNj(N9cJY5+H0>_ItbT8j>kFXVDpYN zxo(@C$&C@|IKuu#l~(|%;9($sIBTEP?$ri*ZUdzb_)5Kfecc8XKr##{aM-^9q&HvN z1C^c!>H#V9-%LA=M`@RtyM8XK#W52ekn9DD zwq^j3htHS=BV~T>pEDG5ud{)6P8owJ5{x-PT`E|^M{Npxt8X-Os8c;4<%e%&^DHyZ zdMY&~=3&Rm173i&7jv} zORUWXJs+{v^&Kmg_zOW|yX%jC{3HINk5OKfSQrvslvqR(<=%MXOTL_Ep8b?BqY(X% zs-si@WEk+vcYG8;%%-lMmJil}kB+|n;iT>FIebtZst(l#2DS~9I^Zky_VxAqM*(D! zKA!tNfHaFkTHW1j7KyymPP_I1V=7EbE(BSdvJj+&m7%)Fjx-%+cbkgjwBgXa@`E-5 zfIM>6EbwR+JnU?sc;}OL!NVK=;*Hq>$cx7p**4AI^*p_8c5VqSnD~%^ch@c(@5f6o z`!F%;W5`SMcHp^U`wPH0m9AJ%$J7NnSRHM&oU%9*}`C;PKP2TladVQ*?2Ev z`|D=o!3fXDnX{($%kdqE021Dm@SubzWw!s=yAfq`^}39zLjmN#h7NuGqgmUp_Nz9K z9~&rjz*p++>+5!?0J6Xzk*mxq?~gwEaLV!U!w=Z4u?zPh=6N9|x5DNvr#;}6^u80` ziqb35PP67Ron~6_0<*1k@*^r98*cz2Pbc0$SIjofoxYxhOg}DJmUXb#)X`-j9O}ts zE9~ner%9(yKW;H=I?C;!U#5#W0!X{PHg;|?rB5HKnAx6Z#Pr0v)`2_RR>1bX&#V?t-bAzG*{^S@m<-2UjfllJP?C=ab5#n zCZ`bxr~F!ZY3T{r=~$C7t$wqu^J3l#J0XXsD#x(hbi42}oF1pvJORi|vZMQTi(ONb zb>Z@YOrIvrIx#!bG?*#W8xs98JJ@V&G23~I?ZG1fWce-BaC>44?L^syD-=NTGfBhr z=d|jiG>^t(Tz=l^t_GrcGGZ?^3VwkLSqllBK?gexCfCC+JkI)42UnCMuS_&r;K z_niwsMtML^ZX9nt9@npLv+Fiu?M7bH5%xFUOx>0kH0Z18!4)3ZaW5Cs$A| z05Ti>Md?2q{Q)TVrhP@VPw$^!Q5kW_ytk&Z}v(dowS4Jc3(YxuQR--KJ=U$Soe;LLPohk-gVbjLqIMWI`T2Q zcq0~bb(yx)ZwC#AgrK}l1v8M zlj$q^W3Mz5j$pZgcHJF{0v%=2Unc!$(sO^OkeT|QuXMeCdiVKM$ouC%uK$u=KYSOR zef1gVme{ZvxDZO}2&#Af`LFuVxpz;0KZQDiMt7 zK_))A!ERrT#UQZ|B*uK}){TBVwz-t@txd2ExhgHr|mhNOYM;byt$GlgR#fMl>2J*-cG?^ZjhPl(t&CRwRgt@q6 zA}^OkJ70bE)f6{KZnNwkV5Dp#&NF>L|HYe|2!|~9-HWf#rX&B&&P&ET?KMx8rOeen z_0C}%hY;mZ9(e%ccy2Q0HS-+rFMMN9nhaTA@LbB{G>(H@zz)QtKGcgt#v_gMBjj`R z34KF4x0B1i{_Tg-+#rMUam{thc0oR02g6MI59SYEM*Ð+GTEeN8ejlh<+Zr$qJ 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ð78Wzw@(ek-E86|Kv;9Y7jbu?lOpg$6?DgID*t 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 diff --git a/extensions/jupyter-web/jsconfig.json b/extensions/jupyter-web/jsconfig.json deleted file mode 100644 index af85b6f70..000000000 --- a/extensions/jupyter-web/jsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "es6", - "lib": [ - "es6" - ] - }, - "exclude": [ - "node_modules" - ] -} \ No newline at end of file diff --git a/extensions/jupyter-web/language-configuration.json b/extensions/jupyter-web/language-configuration.json deleted file mode 100644 index 1a520dd3d..000000000 --- a/extensions/jupyter-web/language-configuration.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "comments": { - "lineComment": "//", - "blockComment": ["/*", "*/"] - }, - "brackets": [ - ["{", "}"], - ["[", "]"] - ], - "autoClosingPairs": [{ - "open": "{", - "close": "}", - "notIn": ["string"] - }, - { - "open": "[", - "close": "]", - "notIn": ["string"] - }, - { - "open": "(", - "close": ")", - "notIn": ["string"] - }, - { - "open": "'", - "close": "'", - "notIn": ["string"] - }, - { - "open": "\"", - "close": "\"", - "notIn": ["string", "comment"] - }, - { - "open": "`", - "close": "`", - "notIn": ["string", "comment"] - } - ] -} \ No newline at end of file diff --git a/extensions/jupyter-web/package.json b/extensions/jupyter-web/package.json deleted file mode 100644 index de283a65a..000000000 --- a/extensions/jupyter-web/package.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "name": "nbpreviewer", - "displayName": "VS Code Jupyter Notebook Previewer", - "description": "An easy to use extension for previewing Jupyter Notebooks within VS Code", - "version": "1.2.2", - "publisher": "jithurjacob", - "author": { - "name": "jithurjacob" - }, - "keywords": [ - "python", - "jupyter", - "ipython", - "data science", - "kaggle", - "notebook", - "markdown" - ], - "icon": "images/jupyter.png", - "recommendations": [ - "donjayamanne.python" - ], - "galleryBanner": { - "color": "#e46d2e", - "theme": "dark" - }, - "qna": false, - "license": "MIT", - "bugs": { - "url": "https://github.com/jithurjacob/vscode-nbpreviewer/issues", - "email": "jithurjacob@gmail.com" - }, - "repository": { - "type": "git", - "url": "https://github.com/jithurjacob/vscode-nbpreviewer.git" - }, - "homepage": "https://github.com/jithurjacob/vscode-nbpreviewer/blob/master/README.md", - "engines": { - "vscode": "^1.52.0" - }, - "browser": "./dist/extension", - "categories": [ - "Programming Languages", - "Other" - ], - "main": "./src/extension", - "contributes": { - "languages": [ - { - "id": "jupyter", - "aliases": [ - "Jupyter", - "jupyter" - ], - "extensions": [ - ".ipynb" - ], - "configuration": "./language-configuration.json" - } - ], - "commands": [ - { - "command": "jupyter.showPreview", - "title": "Show preview", - "category": "Jupyter" - } - ], - "menus": { - "editor/title": [ - { - "command": "jupyter.showPreview", - "when": "editorLangId == jupyter", - "group": "navigation" - } - ] - } - }, - "activationEvents": [ - "onLanguage:jupyter", - "onCommand:jupyter.showPreview" - ], - "languages": [ - { - "id": "jupyter", - "extensions": [ - ".ipynb" - ], - "aliases": [ - "ipynb", - "Ipynb" - ] - } - ], - "scripts": { - "clean": "rm -rf dist out", - "build": "webpack --config extension.webpack.config.js --mode production", - "compile": "webpack --config extension.webpack.config.js --mode production", - "watch": "echo done", - "dev": "webpack --config extension.webpack.config.js --watch" - }, - "devDependencies": { - "@types/vscode": "^1.52.0", - "eslint": "^4.6.1", - "webpack": "^5.21.2", - "webpack-cli": "^4.5.0" - } -} diff --git a/extensions/jupyter-web/src/extension.js b/extensions/jupyter-web/src/extension.js deleted file mode 100644 index 2f50d0d98..000000000 --- a/extensions/jupyter-web/src/extension.js +++ /dev/null @@ -1,55 +0,0 @@ -import vscode from 'vscode'; - -vscode.commands.registerCommand('jupyter.showPreview', async function (uri) { - try { - const authority = await vscode.commands.executeCommand( - 'github1s.get-current-authority' - ); - // TODO: It may not work fine when there are special characters in `ref` or `path` - const [owner, repo, ref] = (authority || '').split('+').filter(Boolean); - const path = uri.path; - - // const success = await vscode.commands.executeCommand('vscode.previewHtml', previewUri, vscode.ViewColumn.Two, 'IPython Notebook Preview'); - // Create and show panel - const panel = vscode.window.createWebviewPanel( - 'nbpreviewer', - 'Jupyter Notebook Previewer', - vscode.ViewColumn.Two, - { enableScripts: true, retainContextWhenHidden: true } - ); - panel.webview.html = ` - - - `; - console.log('successfully showed notebook'); - } catch (reason) { - console.error(reason); - vscode.window.showErrorMessage( - 'An error occured while rendering the Notebook' - ); - } -}); - -vscode.workspace.onDidOpenTextDocument((e) => { - const currnetFileExtension = e.fileName; - if (currnetFileExtension.substr(-6) === '.ipynb') { - vscode.commands.executeCommand('jupyter.showPreview', e.uri); - } -}); diff --git a/extensions/jupyter-web/yarn.lock b/extensions/jupyter-web/yarn.lock deleted file mode 100644 index 48e0154b0..000000000 --- a/extensions/jupyter-web/yarn.lock +++ /dev/null @@ -1,1661 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@discoveryjs/json-ext@^0.5.0": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz#8f03a22a04de437254e8ce8cc84ba39689288752" - integrity sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg== - -"@types/eslint-scope@^3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.0.tgz#4792816e31119ebd506902a482caec4951fabd86" - integrity sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "7.2.6" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.6.tgz#5e9aff555a975596c03a98b59ecd103decc70c3c" - integrity sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^0.0.46": - version "0.0.46" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe" - integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== - -"@types/json-schema@*", "@types/json-schema@^7.0.6": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== - -"@types/node@*": - version "14.14.28" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.28.tgz#cade4b64f8438f588951a6b35843ce536853f25b" - integrity sha512-lg55ArB+ZiHHbBBttLpzD07akz0QPrZgUODNakeC09i62dnrywr9mFErHuaPlB6I7z+sEbK+IYmplahvplCj2g== - -"@types/vscode@^1.52.0": - version "1.53.0" - resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.53.0.tgz#47b53717af6562f2ad05171bc9c8500824a3905c" - integrity sha512-XjFWbSPOM0EKIT2XhhYm3D3cx3nn3lshMUcWNy1eqefk+oqRuBq8unVb6BYIZqXy9lQZyeUl7eaBCOZWv+LcXQ== - -"@webassemblyjs/ast@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.0.tgz#a5aa679efdc9e51707a4207139da57920555961f" - integrity sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - -"@webassemblyjs/floating-point-hex-parser@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz#34d62052f453cd43101d72eab4966a022587947c" - integrity sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA== - -"@webassemblyjs/helper-api-error@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz#aaea8fb3b923f4aaa9b512ff541b013ffb68d2d4" - integrity sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w== - -"@webassemblyjs/helper-buffer@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz#d026c25d175e388a7dbda9694e91e743cbe9b642" - integrity sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA== - -"@webassemblyjs/helper-numbers@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz#7ab04172d54e312cc6ea4286d7d9fa27c88cd4f9" - integrity sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.0" - "@webassemblyjs/helper-api-error" "1.11.0" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz#85fdcda4129902fe86f81abf7e7236953ec5a4e1" - integrity sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA== - -"@webassemblyjs/helper-wasm-section@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz#9ce2cc89300262509c801b4af113d1ca25c1a75b" - integrity sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" - -"@webassemblyjs/ieee754@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz#46975d583f9828f5d094ac210e219441c4e6f5cf" - integrity sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.0.tgz#f7353de1df38aa201cba9fb88b43f41f75ff403b" - integrity sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.0.tgz#86e48f959cf49e0e5091f069a709b862f5a2cadf" - integrity sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw== - -"@webassemblyjs/wasm-edit@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz#ee4a5c9f677046a210542ae63897094c2027cb78" - integrity sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/helper-wasm-section" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" - "@webassemblyjs/wasm-opt" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - "@webassemblyjs/wast-printer" "1.11.0" - -"@webassemblyjs/wasm-gen@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz#3cdb35e70082d42a35166988dda64f24ceb97abe" - integrity sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/ieee754" "1.11.0" - "@webassemblyjs/leb128" "1.11.0" - "@webassemblyjs/utf8" "1.11.0" - -"@webassemblyjs/wasm-opt@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz#1638ae188137f4bb031f568a413cd24d32f92978" - integrity sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - -"@webassemblyjs/wasm-parser@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz#3e680b8830d5b13d1ec86cc42f38f3d4a7700754" - integrity sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-api-error" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/ieee754" "1.11.0" - "@webassemblyjs/leb128" "1.11.0" - "@webassemblyjs/utf8" "1.11.0" - -"@webassemblyjs/wast-printer@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz#680d1f6a5365d6d401974a8e949e05474e1fab7e" - integrity sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@xtuc/long" "4.2.2" - -"@webpack-cli/configtest@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.1.tgz#241aecfbdc715eee96bed447ed402e12ec171935" - integrity sha512-B+4uBUYhpzDXmwuo3V9yBH6cISwxEI4J+NO5ggDaGEEHb0osY/R7MzeKc0bHURXQuZjMM4qD+bSJCKIuI3eNBQ== - -"@webpack-cli/info@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.2.tgz#ef3c0cd947a1fa083e174a59cb74e0b6195c236c" - integrity sha512-5U9kUJHnwU+FhKH4PWGZuBC1hTEPYyxGSL5jjoBI96Gx8qcYJGOikpiIpFoTq8mmgX3im2zAo2wanv/alD74KQ== - dependencies: - envinfo "^7.7.3" - -"@webpack-cli/serve@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.3.0.tgz#2730c770f5f1f132767c63dcaaa4ec28f8c56a6c" - integrity sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw== - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -acorn-jsx@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" - integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s= - dependencies: - acorn "^3.0.4" - -acorn@^3.0.4: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" - integrity sha1-ReN/s56No/JbruP/U2niu18iAXo= - -acorn@^5.5.0: - version "5.7.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" - integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== - -acorn@^8.0.4: - version "8.0.5" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.0.5.tgz#a3bfb872a74a6a7f661bc81b9849d9cac12601b7" - integrity sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg== - -ajv-keywords@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" - integrity sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I= - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^5.2.3, ajv@^5.3.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -babel-code-frame@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -browserslist@^4.14.5: - version "4.16.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" - integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== - dependencies: - caniuse-lite "^1.0.30001219" - colorette "^1.2.2" - electron-to-chromium "^1.3.723" - escalade "^3.1.1" - node-releases "^1.1.71" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= - dependencies: - callsites "^0.2.0" - -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= - -caniuse-lite@^1.0.30001219: - version "1.0.30001230" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001230.tgz#8135c57459854b2240b57a4a6786044bdc5a9f71" - integrity sha512-5yBd5nWCBS+jWKTcHOzXwo5xzcj4ePE/yjtkZyUV1BTUmrBaA9MRGC+e7mxnqXSA90CmCA8L3eKLaSUkt099IQ== - -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.1.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chardet@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" - integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= - -chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" - -circular-json@^0.3.1: - version "0.3.3" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" - integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-width@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" - integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -colorette@^1.2.1, colorette@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" - integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.1.0.tgz#f2eaecf131f10e36e07d894698226e36ae0eb5ff" - integrity sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.6.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cross-spawn@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -debug@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -electron-to-chromium@^1.3.723: - version "1.3.739" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.739.tgz#f07756aa92cabd5a6eec6f491525a64fe62f98b9" - integrity sha512-+LPJVRsN7hGZ9EIUUiWCpO7l4E3qBYHNadazlucBfsXBbccDFNKUBAgzE68FnkWGJPwD/AfKhSzL+G+Iqb8A4A== - -enhanced-resolve@^5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz#525c5d856680fbd5052de453ac83e32049958b5c" - integrity sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -enquirer@^2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -envinfo@^7.7.3: - version "7.7.4" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.4.tgz#c6311cdd38a0e86808c1c9343f667e4267c4a320" - integrity sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ== - -es-module-lexer@^0.3.26: - version "0.3.26" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.3.26.tgz#7b507044e97d5b03b01d4392c74ffeb9c177a83b" - integrity sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA== - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -eslint-scope@^3.7.1: - version "3.7.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535" - integrity sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-visitor-keys@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint@^4.6.1: - version "4.19.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300" - integrity sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ== - dependencies: - ajv "^5.3.0" - babel-code-frame "^6.22.0" - chalk "^2.1.0" - concat-stream "^1.6.0" - cross-spawn "^5.1.0" - debug "^3.1.0" - doctrine "^2.1.0" - eslint-scope "^3.7.1" - eslint-visitor-keys "^1.0.0" - espree "^3.5.4" - esquery "^1.0.0" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - functional-red-black-tree "^1.0.1" - glob "^7.1.2" - globals "^11.0.1" - ignore "^3.3.3" - imurmurhash "^0.1.4" - inquirer "^3.0.6" - is-resolvable "^1.0.0" - js-yaml "^3.9.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.4" - minimatch "^3.0.2" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.2" - pluralize "^7.0.0" - progress "^2.0.0" - regexpp "^1.0.1" - require-uncached "^1.0.3" - semver "^5.3.0" - strip-ansi "^4.0.0" - strip-json-comments "~2.0.1" - table "4.0.2" - text-table "~0.2.0" - -espree@^3.5.4: - version "3.5.4" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" - integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A== - dependencies: - acorn "^5.5.0" - acorn-jsx "^3.0.0" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.1.0, esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -events@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" - integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== - -execa@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" - integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -external-editor@^2.0.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" - integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A== - dependencies: - chardet "^0.4.0" - iconv-lite "^0.4.17" - tmp "^0.0.33" - -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" - integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastest-levenshtein@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" - integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" - integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= - dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" - -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -flat-cache@^1.2.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f" - integrity sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg== - dependencies: - circular-json "^0.3.1" - graceful-fs "^4.1.2" - rimraf "~2.6.2" - write "^0.2.1" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -get-stream@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" - integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.1.2, glob@^7.1.3: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.0.1: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -graceful-fs@^4.1.2, graceful-fs@^4.2.4: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -iconv-lite@^0.4.17: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ignore@^3.3.3: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.3, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inquirer@^3.0.6: - version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" - integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ== - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.0.4" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - -interpret@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" - integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== - -is-core-module@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" - integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== - dependencies: - has "^1.0.3" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -jest-worker@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - -js-yaml@^3.9.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -loader-runner@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" - integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash@^4.17.4, lodash@^4.3.0: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -mime-db@1.45.0: - version "1.45.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" - integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== - -mime-types@^2.1.27: - version "2.1.28" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" - integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== - dependencies: - mime-db "1.45.0" - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimatch@^3.0.2, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mkdirp@^0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -node-releases@^1.1.71: - version "1.1.72" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe" - integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -optionator@^0.8.2: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pluralize@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" - integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -readable-stream@^2.2.2: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -rechoir@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca" - integrity sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q== - dependencies: - resolve "^1.9.0" - -regexpp@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab" - integrity sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw== - -require-uncached@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve@^1.9.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -rimraf@~2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -run-async@^2.2.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" - integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74= - dependencies: - rx-lite "*" - -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" - integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= - -safe-buffer@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -schema-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" - integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== - dependencies: - "@types/json-schema" "^7.0.6" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -semver@^5.3.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -serialize-javascript@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== - dependencies: - randombytes "^2.1.0" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -slice-ansi@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" - integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg== - dependencies: - is-fullwidth-code-point "^2.0.0" - -source-list-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-support@~0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -string-width@^2.1.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -table@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" - integrity sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA== - dependencies: - ajv "^5.2.3" - ajv-keywords "^2.1.0" - chalk "^2.1.0" - lodash "^4.17.4" - slice-ansi "1.0.0" - string-width "^2.1.1" - -tapable@^2.1.1, tapable@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b" - integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== - -terser-webpack-plugin@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz#7effadee06f7ecfa093dbbd3e9ab23f5f3ed8673" - integrity sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q== - dependencies: - jest-worker "^26.6.2" - p-limit "^3.1.0" - schema-utils "^3.0.0" - serialize-javascript "^5.0.1" - source-map "^0.6.1" - terser "^5.5.1" - -terser@^5.5.1: - version "5.6.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.6.0.tgz#138cdf21c5e3100b1b3ddfddf720962f88badcd2" - integrity sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.19" - -text-table@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -v8-compile-cache@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" - integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== - -watchpack@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7" - integrity sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -webpack-cli@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.5.0.tgz#b5213b84adf6e1f5de6391334c9fa53a48850466" - integrity sha512-wXg/ef6Ibstl2f50mnkcHblRPN/P9J4Nlod5Hg9HGFgSeF8rsqDGHJeVe4aR26q9l62TUJi6vmvC2Qz96YJw1Q== - dependencies: - "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.0.1" - "@webpack-cli/info" "^1.2.2" - "@webpack-cli/serve" "^1.3.0" - colorette "^1.2.1" - commander "^7.0.0" - enquirer "^2.3.6" - execa "^5.0.0" - fastest-levenshtein "^1.0.12" - import-local "^3.0.2" - interpret "^2.2.0" - rechoir "^0.7.0" - v8-compile-cache "^2.2.0" - webpack-merge "^5.7.3" - -webpack-merge@^5.7.3: - version "5.7.3" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.3.tgz#2a0754e1877a25a8bbab3d2475ca70a052708213" - integrity sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA== - dependencies: - clone-deep "^4.0.1" - wildcard "^2.0.0" - -webpack-sources@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac" - integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w== - dependencies: - source-list-map "^2.0.1" - source-map "^0.6.1" - -webpack@^5.21.2: - version "5.22.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.22.0.tgz#8505158bc52dcbbdb01ac94796a8aed61badf11a" - integrity sha512-xqlb6r9RUXda/d9iA6P7YRTP1ChWeP50TEESKMMNIg0u8/Rb66zN9YJJO7oYgJTRyFyYi43NVC5feG45FSO1vQ== - dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.46" - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/wasm-edit" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - acorn "^8.0.4" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.7.0" - es-module-lexer "^0.3.26" - eslint-scope "^5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.0.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.1" - watchpack "^2.0.0" - webpack-sources "^2.1.1" - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wildcard@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" - integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== - -word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= - dependencies: - mkdirp "^0.5.1" - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/vscode-web-github1s/resources/builtin-extensions.json b/vscode-web-github1s/resources/builtin-extensions.json index 2c53d66b2..87959873c 100644 --- a/vscode-web-github1s/resources/builtin-extensions.json +++ b/vscode-web-github1s/resources/builtin-extensions.json @@ -31,6 +31,10 @@ "name": "css-language-features", "path": "extensions/css-language-features" }, + { + "name": "dart", + "path": "extensions/dart" + }, { "name": "docker", "path": "extensions/docker" @@ -83,6 +87,10 @@ "name": "ini", "path": "extensions/ini" }, + { + "name": "ipynb", + "path": "extensions/ipynb" + }, { "name": "java", "path": "extensions/java" @@ -127,6 +135,10 @@ "name": "markdown-language-features", "path": "extensions/markdown-language-features" }, + { + "name": "markdown-math", + "path": "extensions/markdown-math" + }, { "name": "merge-conflict", "path": "extensions/merge-conflict" @@ -135,10 +147,6 @@ "name": "microsoft-authentication", "path": "extensions/microsoft-authentication" }, - { - "name": "notebook-markdown-extensions", - "path": "extensions/notebook-markdown-extensions" - }, { "name": "npm", "path": "extensions/npm" From 2db10541d9c292c3deb99a1978f31ec2ed143a6c Mon Sep 17 00:00:00 2001 From: netcon Date: Sun, 5 Sep 2021 02:17:46 +0800 Subject: [PATCH 06/13] chore: upgrade vscode to 1.60.0 --- docs/guide.md | 2 +- package.json | 2 +- vscode-web-github1s/package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/guide.md b/docs/guide.md index 93591944d..f88a867e5 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -1,6 +1,6 @@ # How it works -GitHub1s is based on [VS Code 1.60.0](https://github.com/microsoft/vscode/tree/1.60.1) now. VS Code can be built for a browser version officially. I also used the code and got inspired by [Code Server](https://github.com/cdr/code-server). +GitHub1s is based on [VS Code 1.60.0](https://github.com/microsoft/vscode/tree/1.60.0) now. VS Code can be built for a browser version officially. I also used the code and got inspired by [Code Server](https://github.com/cdr/code-server). Thanks to the very powerful and flexible extensibility of VS Code, we can easily implement a VS Code extension that provides the custom File IO ability using [FileSystemProvider API](https://code.visualstudio.com/api/references/vscode-api#FileSystemProvider). There is an official demo named [vscode-web-playground](https://github.com/microsoft/vscode-web-playground) which shows how it is used. diff --git a/package.json b/package.json index e7d538cc2..0ba1a660c 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "lib": "lib" }, "devDependencies": { - "@github1s/vscode-web": "0.1.10", + "@github1s/vscode-web": "0.2.0", "@typescript-eslint/eslint-plugin": "^4.15.0", "@typescript-eslint/parser": "^4.15.0", "chokidar": "^3.5.1", diff --git a/vscode-web-github1s/package.json b/vscode-web-github1s/package.json index fd5009021..0b3fcfc40 100644 --- a/vscode-web-github1s/package.json +++ b/vscode-web-github1s/package.json @@ -1,6 +1,6 @@ { "name": "@github1s/vscode-web", - "version": "0.1.10", + "version": "0.2.0", "description": "VS Code web for GitHub1s", "author": "github1s", "license": "MIT", diff --git a/yarn.lock b/yarn.lock index e18036528..10ee07e0b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -39,10 +39,10 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@github1s/vscode-web@0.1.10": - version "0.1.10" - resolved "https://registry.yarnpkg.com/@github1s/vscode-web/-/vscode-web-0.1.10.tgz#65237bd929aa4426cbf10b28239444170b53cd03" - integrity sha512-q8xTuE1MlKyUsBtQG6+mpQKVF4cohKCbqvHoqiIDalCP+XFdeBTWvTMnHnn+x/36a+Ae+1dzMqQGxo1/kq9qOA== +"@github1s/vscode-web@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@github1s/vscode-web/-/vscode-web-0.2.0.tgz#15484bf69ba3d06beb95a3b68548a8837adc9122" + integrity sha512-8y7aJLfSiVTonJ6nqsI/Is8LTPnwhjWYl6xaJFnQPuDHtPKNM0o0qdcVHpY3ZI884yut1yzJcRb6VaHtwVNwqA== dependencies: iconv-lite-umd "0.6.8" jschardet "2.2.1" From 56ee4d7f8f03e367bfbfd3a42d42f438cb82ca4c Mon Sep 17 00:00:00 2001 From: netcon Date: Sun, 5 Sep 2021 03:30:26 +0800 Subject: [PATCH 07/13] feat: update extension config --- api/vscode-unpkg/index.js | 25 +++ api/vscode-unpkg/package.json | 10 + api/vscode-unpkg/yarn.lock | 204 ++++++++++++++++++ scripts/serve-dist.js | 39 +++- vercel.json | 4 + .../src/vs/platform/product/common/product.ts | 15 +- 6 files changed, 284 insertions(+), 13 deletions(-) create mode 100644 api/vscode-unpkg/index.js create mode 100644 api/vscode-unpkg/package.json create mode 100644 api/vscode-unpkg/yarn.lock diff --git a/api/vscode-unpkg/index.js b/api/vscode-unpkg/index.js new file mode 100644 index 000000000..aea03720a --- /dev/null +++ b/api/vscode-unpkg/index.js @@ -0,0 +1,25 @@ +/** + * @file proxy vscode-unpkg.net + * @author netcon + */ + +const got = require('got'); +const url = require('url'); + +module.exports = async (req, res) => { + const pathname = new url.parse(req.url || '').pathname || ''; + const matches = pathname.match(/^\/api\/vscode-unpkg\/([^/]+)\/(.*)/); + + if (!matches) { + res.status(404); + return res.send('Not found'); + } + + const publisher = matches[1]; + const restPartsPath = matches[2]; + const requestUrl = `https://${publisher}.vscode-unpkg.net/${publisher}/${restPartsPath}`; + const response = await got.get(requestUrl); + + res.status(response.statusCode); + return res.send(response.body); +}; diff --git a/api/vscode-unpkg/package.json b/api/vscode-unpkg/package.json new file mode 100644 index 000000000..ca0c5a066 --- /dev/null +++ b/api/vscode-unpkg/package.json @@ -0,0 +1,10 @@ +{ + "name": "vscode-unpkg", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "private": true, + "dependencies": { + "got": "^11.8.2" + } +} diff --git a/api/vscode-unpkg/yarn.lock b/api/vscode-unpkg/yarn.lock new file mode 100644 index 000000000..6e947efe3 --- /dev/null +++ b/api/vscode-unpkg/yarn.lock @@ -0,0 +1,204 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@sindresorhus/is@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.1.tgz#d26729db850fa327b7cacc5522252194404226f5" + integrity sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g== + +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== + dependencies: + defer-to-connect "^2.0.0" + +"@types/cacheable-request@^6.0.1": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" + integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "*" + "@types/node" "*" + "@types/responselike" "*" + +"@types/http-cache-semantics@*": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" + integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== + +"@types/keyv@*": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.2.tgz#5d97bb65526c20b6e0845f6b0d2ade4f28604ee5" + integrity sha512-/FvAK2p4jQOaJ6CGDHJTqZcUtbZe820qIeTg7o0Shg7drB4JHeL+V/dhSaly7NXx6u8eSee+r7coT+yuJEvDLg== + dependencies: + "@types/node" "*" + +"@types/node@*": + version "16.7.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.7.10.tgz#7aa732cc47341c12a16b7d562f519c2383b6d4fc" + integrity sha512-S63Dlv4zIPb8x6MMTgDq5WWRJQe56iBEY0O3SOFA9JrRienkOVDXSXBjjJw6HTNQYSE2JI6GMCR6LVbIMHJVvA== + +"@types/responselike@*", "@types/responselike@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" + integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + dependencies: + "@types/node" "*" + +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-request@^7.0.1: + version "7.0.2" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" + integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +defer-to-connect@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +got@^11.8.2: + version "11.8.2" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599" + integrity sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.1" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +http-cache-semantics@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +keyv@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" + integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA== + dependencies: + json-buffer "3.0.1" + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +resolve-alpn@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +responselike@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" + integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== + dependencies: + lowercase-keys "^2.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= diff --git a/scripts/serve-dist.js b/scripts/serve-dist.js index d5d8a5c2e..1bb1982d0 100755 --- a/scripts/serve-dist.js +++ b/scripts/serve-dist.js @@ -12,7 +12,7 @@ const options = { public: path.join(APP_ROOT, 'dist'), cleanUrls: false }; // now sourcegraph graphql api is refused the CORS check // just proxy the request to sourcegraph directly for a taste -const proxy = httpProxy.createProxyServer({ +const sourcegraphProxy = httpProxy.createProxyServer({ target: 'https://sourcegraph.com/.api/graphql', ignorePath: true, changeOrigin: false, @@ -21,14 +21,32 @@ const proxy = httpProxy.createProxyServer({ }, }); +const handleProxyError = (error) => { + res.writeHead(500, { + 'Content-Type': 'application/json', + }); + res.end(JSON.stringify({ message: error.message })); +}; + const sourcegraphProxyHandler = (req, res) => { - proxy.web(req, res); - proxy.on('error', (e) => { - res.writeHead(500, { - 'Content-Type': 'application/json', - }); - res.end(JSON.stringify({ message: e.message })); + sourcegraphProxy.web(req, res); + sourcegraphProxy.on('error', handleProxyError); +}; + +// proxy the request to vscode-unpkg.net +const vscodeUnpkgProxyHandler = (req, res, vscodeUnpkgMatches) => { + const publisher = vscodeUnpkgMatches[1]; + const restPartsPath = vscodeUnpkgMatches[2]; + const host = `${publisher}.vscode-unpkg.net`; + const proxy = httpProxy.createServer({ + target: `https://${host}/${publisher}/${restPartsPath}`, + ignorePath: true, + changeOrigin: false, + headers: { host }, }); + + proxy.web(req, res); + proxy.on('error', handleProxyError); }; const server = http.createServer((request, response) => { @@ -36,6 +54,13 @@ const server = http.createServer((request, response) => { if (urlObj.pathname.startsWith('/api/sourcegraph')) { return sourcegraphProxyHandler(request, response); } + + // prettier-ignore + const vscodeUnpkgMatches = urlObj.pathname.match(/^\/api\/vscode-unpkg\/([^/]+)\/(.*)/); + if (vscodeUnpkgMatches) { + return vscodeUnpkgProxyHandler(request, response, vscodeUnpkgMatches); + } + return fs.access( path.join(APP_ROOT, 'dist', urlObj.pathname), fs.constants.F_OK, diff --git a/vercel.json b/vercel.json index 6a1e04a10..c7b547792 100644 --- a/vercel.json +++ b/vercel.json @@ -8,6 +8,10 @@ "source": "/api/github-auth-callback", "destination": "/api/github-auth-callback" }, + { + "source": "/api/vscode-unpkg/(.*)", + "destination": "/api/vscode-unpkg" + }, { "source": "/static/(.*)", "destination": "/api/static-fallback" diff --git a/vscode-web-github1s/src/vs/platform/product/common/product.ts b/vscode-web-github1s/src/vs/platform/product/common/product.ts index b56c0696d..ddf315879 100644 --- a/vscode-web-github1s/src/vs/platform/product/common/product.ts +++ b/vscode-web-github1s/src/vs/platform/product/common/product.ts @@ -47,6 +47,9 @@ else if (typeof require?.__$__nodeRequire === 'function') { // Web environment or unknown else { + // below codes are changed by github1s + const currentOrigin = window.location.origin; + // above codes are changed by github1s // Built time configuration (do NOT modify) product = { /*BUILD->INSERT_PRODUCT_CONFIGURATION*/ } as IProductConfiguration; @@ -75,12 +78,12 @@ else { ], // below codes are changed by github1s extensionsGallery: { - serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery", - cacheUrl:"https://vscode.blob.core.windows.net/gallery/index", - itemUrl:"https://marketplace.visualstudio.com/items", - resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}", - controlUrl:"https://az764295.vo.msecnd.net/extensions/marketplace.json", - recommendationsUrl:"https://az764295.vo.msecnd.net/extensions/workspaceRecommendations.json.gz" + serviceUrl: 'https://marketplace.visualstudio.com/_apis/public/gallery', + cacheUrl: 'https://vscode.blob.core.windows.net/gallery/index', + itemUrl: 'https://marketplace.visualstudio.com/items', + resourceUrlTemplate: `${currentOrigin}/api/vscode-unpkg/{publisher}/{name}/{version}/{path}`, + controlUrl: 'https://az764295.vo.msecnd.net/extensions/marketplace.json', + recommendationsUrl: 'https://az764295.vo.msecnd.net/extensions/workspaceRecommendations.json.gz' }, linkProtectionTrustedDomains: [ '*.github.com', From 485054d6c85d038b2fc86f801795559e3b535381 Mon Sep 17 00:00:00 2001 From: netcon Date: Sun, 5 Sep 2021 05:11:29 +0800 Subject: [PATCH 08/13] feat: update vscode-web version --- package.json | 2 +- vscode-web-github1s/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 0ba1a660c..572575419 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "lib": "lib" }, "devDependencies": { - "@github1s/vscode-web": "0.2.0", + "@github1s/vscode-web": "0.2.1", "@typescript-eslint/eslint-plugin": "^4.15.0", "@typescript-eslint/parser": "^4.15.0", "chokidar": "^3.5.1", diff --git a/vscode-web-github1s/package.json b/vscode-web-github1s/package.json index 0b3fcfc40..9ed48ae40 100644 --- a/vscode-web-github1s/package.json +++ b/vscode-web-github1s/package.json @@ -1,6 +1,6 @@ { "name": "@github1s/vscode-web", - "version": "0.2.0", + "version": "0.2.1", "description": "VS Code web for GitHub1s", "author": "github1s", "license": "MIT", diff --git a/yarn.lock b/yarn.lock index 10ee07e0b..b050b909d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -39,10 +39,10 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@github1s/vscode-web@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@github1s/vscode-web/-/vscode-web-0.2.0.tgz#15484bf69ba3d06beb95a3b68548a8837adc9122" - integrity sha512-8y7aJLfSiVTonJ6nqsI/Is8LTPnwhjWYl6xaJFnQPuDHtPKNM0o0qdcVHpY3ZI884yut1yzJcRb6VaHtwVNwqA== +"@github1s/vscode-web@0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@github1s/vscode-web/-/vscode-web-0.2.1.tgz#513aa78f8f933e1c92e9d66203115cdacbb572ab" + integrity sha512-+TPlM0CNagT2mHCAaMXR/hVWB9pHxSZnEy+LsEMV4ZYWaVzfiCjqSc8SvDsabrLUWMSPfAeXRzo2Y1fodr5/kA== dependencies: iconv-lite-umd "0.6.8" jschardet "2.2.1" From 6514a6afadd3e71e1bb2c04f210ba822e7f22425 Mon Sep 17 00:00:00 2001 From: netcon Date: Sun, 5 Sep 2021 06:03:29 +0800 Subject: [PATCH 09/13] feat: update test --- ...est-ts-should-load-successfully-1-snap.png | Bin 189325 -> 189480 bytes ...t-ts-should-open-file-correctly-1-snap.png | Bin 162914 -> 164108 bytes ...dex-test-ts-should-show-pr-list-1-snap.png | Bin 53690 -> 51757 bytes ...dex-test-ts-should-show-pr-list-2-snap.png | Bin 55931 -> 55247 bytes tests/__tests__/index.test.ts | 2 +- 5 files changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/__tests__/__image_snapshots__/index-test-ts-should-load-successfully-1-snap.png b/tests/__tests__/__image_snapshots__/index-test-ts-should-load-successfully-1-snap.png index 502a07ed3bc3438a8e8401340ef6062da77103dc..f95bbb5985aef3d31ed02e941bf6eb1be7c850de 100644 GIT binary patch literal 189480 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 z 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 literal 189325 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

FENLoFrf!SgKp3C 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 z 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 R+X6V?3j$V@Dwi+{`hNjCHf;a^ diff --git a/tests/__tests__/__image_snapshots__/index-test-ts-should-open-file-correctly-1-snap.png b/tests/__tests__/__image_snapshots__/index-test-ts-should-open-file-correctly-1-snap.png index 31f80155225865228d8d203a6db2ce9c2b3db361..4180dc80481d56170b5a899af76689a587ae3215 100644 GIT binary patch literal 164108 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

KfU{30C=&s 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 VvgdjaJOBgusVHd3SIb(2{SOgd;C282 literal 162914 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 MP?E}*eDmr50HGeLJpcdz diff --git a/tests/__tests__/__image_snapshots__/index-test-ts-should-show-pr-list-2-snap.png b/tests/__tests__/__image_snapshots__/index-test-ts-should-show-pr-list-2-snap.png index 9d84d54833757b752e63879cd78c8971b68cbede..5462cf0e50b15bdd1cf3804124f136c461ca86d5 100644 GIT binary patch literal 54504 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 F{{X|bsV)Ej literal 55444 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 diff --git a/tests/__tests__/index.test.ts b/tests/__tests__/index.test.ts index 6a663805c..034d131aa 100644 --- a/tests/__tests__/index.test.ts +++ b/tests/__tests__/index.test.ts @@ -27,6 +27,19 @@ afterAll(async () => { beforeEach(async () => { page = await browser.newPage(); + // setup github oauth token + await page.goto(BASE_URL); + await page.click('.action-item .action-label[aria-label="GitHub1s"]'); + await page.waitForTimeout(3000); + const extensionIFrameHandle = await page.$( + '#webview-webviewview-github1s-views-settings iframe' + ); + const extensionIFrame = await extensionIFrameHandle?.contentFrame(); + const settingsIframeHandle = await extensionIFrame?.$('iframe#active-frame'); + const settingsIframe = await settingsIframeHandle?.contentFrame(); + await settingsIframe?.fill('#token-input', process.env.GITHUB_TOKEN || ''); + await settingsIframe?.dispatchEvent('#save-button', 'click'); + await page.waitForTimeout(3000); }); afterEach(async () => { @@ -91,15 +104,13 @@ it('should show PR list', async () => { await page.press('body', ' '); await page.press('body', 'Shift+Tab'); await page.press('body', ' '); - await page.waitForSelector('#list_id_3_1'); - await page.waitForSelector('#list_id_4_1'); + await page.waitForTimeout(3000); const container = await page.$('[id="workbench.parts.sidebar"]'); let image = await container?.screenshot(); expect(image).toMatchImageSnapshot(matchImageSnapshotOptions); - await page.click('#list_id_3_1'); - await page.click('#list_id_4_1'); + await page.click('.monaco-list-row[aria-posinset="3"]'); await page.waitForTimeout(3000); image = await container?.screenshot(); expect(image).toMatchImageSnapshot(matchImageSnapshotOptions); From 045f6b3eafd48eeabb28bc8afb5a8a1478c08a9c Mon Sep 17 00:00:00 2001 From: netcon Date: Mon, 6 Sep 2021 04:10:10 +0800 Subject: [PATCH 12/13] chore: update test config --- tests/__tests__/index.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/__tests__/index.test.ts b/tests/__tests__/index.test.ts index 034d131aa..934f929f5 100644 --- a/tests/__tests__/index.test.ts +++ b/tests/__tests__/index.test.ts @@ -5,6 +5,7 @@ import { } from 'jest-image-snapshot'; expect.extend({ toMatchImageSnapshot }); +jest.setTimeout(30000); const matchImageSnapshotOptions: MatchImageSnapshotOptions = { failureThreshold: 0.1, From cbe17a1db3fc67f7352a2017e3214d75ac0cd20c Mon Sep 17 00:00:00 2001 From: netcon Date: Mon, 6 Sep 2021 04:40:59 +0800 Subject: [PATCH 13/13] chore: update test config --- tests/__tests__/index.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/__tests__/index.test.ts b/tests/__tests__/index.test.ts index 934f929f5..393524713 100644 --- a/tests/__tests__/index.test.ts +++ b/tests/__tests__/index.test.ts @@ -4,8 +4,8 @@ import { MatchImageSnapshotOptions, } from 'jest-image-snapshot'; +jest.setTimeout(60000); expect.extend({ toMatchImageSnapshot }); -jest.setTimeout(30000); const matchImageSnapshotOptions: MatchImageSnapshotOptions = { failureThreshold: 0.1,

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 X;(Os8!4G?A@Jr!|s%)8zY0&=xZM`#> literal 53690 zcmeFZbySvbw=Mi2KR^UQ1VkE9q(QpDK#&$hy1VO9I#fg&q#Hz}TS^+F8>G7gM7kTk z^}O%d-x&Mb`+Vb!asJ(ZI8c1zzOQRtYt1$1T(|#AdC8kM$ZjAIh?`O`#FY>TG!_Kn zTGe$-_>FgtemVR=Ln=u=MHKW>tRfIJ2r2O=%Fc=F(@xGruV-6#wxS=9zj%6+Zm2)( zc04Vm`G)&GJzAs(e zH=+6V?B%k{X5U-;Cypk)iR#~vdJ~gG#AK$c4r=`TV&5IiZocz-q0d+(-poy;Mr%NJ zgN19&=RXz1$;%}gefOqY&Aw70kGU7Q}A&t7?8JznWe`ZJJ*wb-Wc zXd+jm?1qBa1$UZ+$WvcD${#Dq)xpN{nGyJ6T3sXgnrPRrU)P)ZQ7mycBR!qN>+%{N zrJ%T;9u1diU2J|KypBHEnX`>!C|5OfzKQzhydA>sa9w@5J5J{5(`yJG%Mrcb?O_tJ zbaZqawlnS_R3bMTrYe#A4!^JOt*}3uaQ_`9>E|!dCP|%d+M76DDe9CaDc0Jb`po>- zx8fZ&EiK`_<(|dg9T7e=N1ai*W5tG&1!uQ7at-kFZqrHkm#hS{=$vC#J8fmC-mb<(e7GdeRy(m?_#JJX2VD9zT4E)eP5oSlZu=wQn{_$r)_W;wl3^A zBZBJLiEiC$Xb-zTR$_|JtdiGkQO0RAr6v(f))7R?{_?9hwnQjZPop=MdilCG0u#S3 zrHzWb2R<=8KK{nzG>Kp{*w6AgxRP(*zHJ{bD(Drf-R1m^ro~3m6i)g}~3LN_GP3l*cb$ z-Wtw%y|@&k`%qAjET*evRM&P6mh;WpNPhp>wrk^(Ls)EV``K0@<`;|MoJcn9_|7Qi zy}!AI1mxs_ZHxM=zl_g!+NhPYUN(-2va;UH9P}SteIOztB6&8dGkK$8vS-q^-Wz^J zN9W^%Lqb4JjsG}TC4bws7PS!_9UTwo=}YY9X<6>zuxge+nh<#Vm&hCQX7@ojXD+@? z1$j)D54@R`wMT7p$Jwq@D^c)m0DIkW_^)&s67yMF)t^7?7w_`fXqC6MhEOIf7TYhj za=- z#=%dg35&*gyIVv=;`N>v+s?w`5)w)kHrl^_{o;4pOe`)KT{E8l`5eB#)7fgS;p{HA z84XXc;S5MnOB*{-#y$x;? zJzGaEEG*m=Jx_f~t$C+cBUU&6(};3t4IF)Y*AaTaFLJY<8V zqoz*LnygoIbrn?4)js~&x3IYA-L=$-bfczrE9lZ@BjHV8oir@0J0*LSDWB?b=7@2) z_OvH~kDi4EH+NXt!GRP0&m!!IRcXqkCq8Pic)Vog_paKeVQEb6SYMHJG>cTF!_ruV zEj11an?ZMMF{F}-GRrnyuM3~1`SzU-m0H&We$VrN5K>Ydt&g3eVb4s-Edv4rO^321 zop)N|)bdrne*KEzciyJK^Yw-UYBVXz!V>i53(exn(X4I{gqnJ#1D)9Av0;cIzx(kc zh}Evc*pw9NQ5`o{gfHHb7G7LTI;5fA!?8-_%JFs+e&t$0bx_yR&tr(`yF7mhM6b?~ z>yAR13X;Swko~L!M2h|n=XOOhMr13c-}rnoP~Bp1@7}#+&0K*cye1)j~1c}yBEhSQ_^DA@OvvC)AvNddb#1O&o08bQJM*x0)g zp`Jt6^KGW9cIUjGAw?oOyI|uO6~F%DG~+_=SWTJG(^{mD|Eu1szCLEFVcyOTGSK|m zT3}%zyEoQsDBPQn(`NU;jMJ?3Lt5IO&hh~ZUF`Kg*A8@c>z-dG5S`J@+tzOw^d*bP z#y+Bg<1uXmYjyM;xnhgxP80~_Fiig4LZaKSxHIQitzPX&>2|bQiM@YeyW~)>QR&?Z??>^~r8m;f>m@d(Wu!+CO6j zrAP+dRiE>GUf>wb{F}7pLd-ai7DaNkh9oqiJWZSU-FK_hDBK<8A608Por|IV@qP4*^QgU*}osroTBCbU5 zmb$oPie{Z=AJdf7oWZexBxW>L zd8m-p(^FnodeLkiSYl%J6lWrD{yZY2mp3}ubt=KIv9MsWtv$E{Z%6-PzbFwz%GGMt zwB%51&>~%T`Zw3AO%P7~&!#5ix@5DggGf{7mMm>oOBqH9s(#dYoXzbxA77qr`3DF- zi{mtQ{*$VY;IWrD0>eZ8ymF@fh|w-HOici z=Y7#2f!=%i>=^)wbep znZx<9y^@j=!>bJ3J~6TU7i|U=lTaQ_ks_bAx9z^BrFFEoBRHAo#3dyOsXUw2+SU$k zQ&Gtq7|>o`UIvlz+^C+G2PCuD8r%etI5wvC^=q$Q#Uv^00bEH5lc#oU(+`8_O*N;!yJ)k2et)6n9{jhdZS116Qc7kYYnVIk=b zOPy2pZIrF9>KXDLc<+i0+kSn0j-2tj@~Asmp0rwn!`~X3f@nBD*<;WwXVKT!=eBrr zQ&dzG7M#3GGRQd=pxq!m{D`GoKR_n zEp~N|qf;0|#$&O4I4N^i>=H7>SbOyr8y2UGlS{3R==t_D!-SjUyomm9QW3OoXJCbI z5Ht0cTWivk(7t)`;<{sX5~OGXQc~;&e?t1Zyz8kH2UyhZ+fN?K#W%xyf=<0jI{&Vn z9#Esl#c1A_2r@d}_LY*BX4)_Qp~WUlg@18&lm-yyxnL_xx=c(4TwCk-*3M#^dH)wQ z#M)>f--u?h0Ud(JV(7=W3qP$Mh+7B2r0%4%+X|v5|J(`mv8_A7Y{$)o@7so)^*K2? z+0q*TtyILrod$ILm-!kz1(nNWs6V{6Gu>aG2f~s&*UngBJSV)(x%O9E%b<>iZ_3VF z@tz>0DPrasF3dXiOIR<{$cpnrO&u+iG0GN?EHwm z82Bbg{Y?Fb-TR%rKC!E(%F0A|zUc3ckM}T?BO)S#t;H`Vf1fbwtC(qfd019CZdiOA zW-hFWH&sLX`0?W{3a$6*B__yO5A--Ou{|Hhi-Wk=0fq(!MH>0sR%88R%cpCa=tW*v zx{sG>s(MVCOiIw=VqPK4&CSOT%bd1!>MnTqb{R!QlP}J$46ZIOAOx9|v)&aJ+AcrQ z$gkP{iThB#TQr2*dSXv_yWtjksZcU=MX z)PrWiP&o28aGBq=29t9+Z(jgr|L(Y=ufwL&2{r+XNcwzJgZhi}i1ck0`U3ewz9cHgXzy=T>|qZbxV z)F`vq+3jL4@i;ze*wzOdE(qKH)fM}M>+&x3neR6A5xc{x zx&sjJuy0TG^binPjvEtb+XtiLp~emG+=3K%k2a^2^kK zD#=|HL;|n1!PZP|B;%`3@QJ_jHTjfYy>huY=tesY71ij2l`2+a0hk$8RP+e`2kL?# zv`}bz%iZeY&y!M>(xvxT2NU3j{h$6+ibWIk7=x|aifixQqjTAM$8wu<0>Dj|jr+C# zcQ_E1fq;OZF;Bgu#Co>W{FUIFKaT;0{Ta!33o$&I^X9RdslkABSz$A6_Uju5q;J`H z?#li)2Ys<=8@@gfzMG+K5nWuWc4(V&3B1r@yZ|r;wMPg(WcgrpB`i5v9unW`P&OgL za>TuTxkvN6^<6DvJ{Dn2PD+VF#PX3@c#}XFhom5Kz@Bm(c{;C^*Jkx3#0H2L6ZJ|>E8dl z_x?9c{{QXEh-8*lWU}X&XqA)&oBn$q;a^`NQ9Lz5LwhxOesO`qsdUoEi+21)<5o}r z66NU`8M6Tze2$NI9Y0gl^KYjs(a2ZMQTG4xrGcW$ikF;DCiyiag9i?$`{u$_ zeRNw2z+J>N_w~gX{&3Bn|D4}`;U9DJ)tFL+V154=Ve0uKv_7xz=+1V3 zF416Tb+uaRj7o5j(!7%f{f7P7Mg<(ASDc)`1dtCW)DFA3`d-$$@_1f(Y}JoFBdC1& z;)StvBtzKBZh!wvz?}}-CMDxVlN-=!61&u2{iRDCwlJQl8D)fePfALv#&QP`XXoL@ zqzhnDv@FFm!MO{*YDQWTKpOOq9<9U@KdyG%aNg~p4}Nmg5kbFqwpG8PRtV*_xuu1~ zh2}Dx9eeMuo#Keg-)wu-DSIAxhs$n`X0zIsM(lhWJzujT*SWvGJn?{Rh-ZX3`vGH*QM-y8aw?1NB^8ugbiJXhuu`*u zYhGSnka1$gywIS7KOM(Jm`s$Us$jDoRKD_n_AV@r~bwH2FeOlUU zzDex?k*WhRm)OiS1Ic+5y zs>5BI&(sJ27HUVH<-M=Sds)@b)fZ$s{@p1!<=L}m<8>FNci44;rfp37zr086{~7S+ zwVr^4NbY>H6k{)#Bz*ekejJub8Q?hc=_($XXqNesKG8JD2UG5QJqTRVT?DH}>0I?z zo#9N4OC*Eh2SCoRz8fJB(D2^lE`2By!)DwOUXiVmPX^%jpD#{ZGar3?c6xFHT1s#EXj@oR7pz8L`_F~8$%Hddq`Hqp^Xm!hAZk->>vW=VFn zpa7_V0y1&>!+Gjl!2CUTb)BKs9?4Qff0rg1O8ld6u`RU3YMc`R(c1wX8NuDV?VoOv z!)Kubrw8C^Z!uJJb+Q8gPGHNJ<8)Q%7}PLCzNW51t_rJqu>l4UB@bw6KhVj{V9t%| zIu*TH6?(j!Z4L188j)YB)Z;+i)ar{NxjH14IK_mSzRp{QUe$0XZR|;rSWl=EutoDfRW< znJJzq3J5(;0q-+wk$kdnTz(SNJ49SeoY!ULtXedrZVe4G1oYH!Ir4U^;Tc?2A1vdqDb@e5m z&~P-XX7t8PaGp#p4q)$SHtkjbmo7UkBnbXDe{Q|~JJh&#KsKpWV?Dxih((=ukA~(Q zoIF70gq~;CB*A3bhIxGU3*tKNI~Wh;Iw{N)4+;u;Y72c6d5%hcXFQK(5btu2TM{tPK~c=AWNQKxco5M+n)ld#Z*7GF zi2^z7`DTe6G$WUIckAMg9i&BCuark3B1w=bw047Ts`ikM z)Tg@anV|9#Fjm0wv`&<*`GthAIX@#nWORz}%o3oMJ zoa%QY?DO;Upsm}$l7}TGe#Jf)|NS?NN7#X}iR*dl$$ujI|8H@?f0hpZ=hOZ_TFU<{ z$p0+J|G(PyKN0dj5%PZ$A+;*`{a)4hw6s13Vh#_^XE(k5UZnmBfBC-?b6prz3n*Ua zC|A;23sK;a@ml#c%|qb>9y=XaL$&V8=;_FjukI{FB3s72PzlpB%#=4s^qhcyOkSa zY-}L_2<(<+xzVv^Bnx$Fzgq*H@?)#+Jp!5!Kj4SwR#r?|fDXgZ^*G=`bj8%;=;eU` zs#fWM0rW7C{x9n`H1kz5CZim4Es2 zv%Qw(Xn`RBkV>2TyR!_V6{`&m4cGW^uU~I>s_a^V+DeE3hH4x5&|U2-gFAtAZHDTm z#FeboY7!Ed07C(@bVf2Zfv#J^3Sff{q?SK_%s^DbGom^I1#o+BZ*eI56)=;AC_>hb z23R}>r7NUmz0+1g)~igs?Cfm!qiLsa85zHTML@|opeb;U_;x?;JQVf!^A5TsfYw>+;a zPhh!=Y-dH2y+rp|toy$_*CI9&Slcguzv}+;dyb2u$n0KhYv0`AAGo3cV+{? z6}mq|_=CvPC<_NDOXcyVwAdPO6CzgVhz=!QUtV|(R2{qptcV1d^7Kfix!d7p9_X+; zpofBld<;xk3G3Q$E zre9A^fV-@`JY55w>0zcqipgx9nDc6S45%HfO7-I1ETaword`7cG-loRZhj_Jk&EY^ z2Q{yQ06~(gRr#HR7Xx%YF(TyXo@%9oF|f`Eqfbk|)F#wx*toddn69xR3OVB z#;ToC2tJWWOG)WBeY#m{F&vH}#J8K8;Nqjvr1D@pVtAM}T7ww884*T?QW4I}Se3o-}EBU`(g z7kXuG(Mz}^(}~iRlKhpeEd_|-;FK74ufAg^FjfS4#W1U~jW%>nTz$a6Q7_UH1xeT#6Z+W_b|MhnY#e7C^!EKl`peGaKq|Rx)e>WfdVxu01so@tpv|@#qT+J2KwF@k z_{7#2c%T_EA+k$8P~gEZAmFn505a~C1j#Nj1%>SDuk>u4T0y5-50Vr}`zh|b{>4*Z zS|B6q1kM*cI}A#b@87>y&Q%Ep1&GMyJR7V9kxZ`x;JSdX2q?|>8^5pwc1}t8)YJFB zNTCde<7B{mGI5uhq>c=d{)ZK5F{kFi{@90YL5sy59E=nPHG~$&Tu}30;hiSco}ShIW&87WOjP>5ihB`Fbl}BCY+~>lbrwuoRL^(Iw2|{e3sQ z9GD{F%^icU!=lHI5%N+i`B06p+(71%7{{l2aMJMT)+{%bjBS>OHS1r@QMk5%E zTw&e=SlCx|iIIJ;7|Jq=bTM*FP9| zi3LCXj~za{B>S`&w5+L8hALbi8M;twzmo8%=;^7PF=Z6VAsU^v6GJc2>6v@uOtYrH@LSL5>w!yKTx^9TmZv+yll!i< z&3wUaUO&7~gVz=hT>Yg&@3j&?OJok=SEVQ}P+QR6ab}^C#)zR6 zP$9W8rYhBd1mT+=3T$srgPOW%pF7;iS~1mKiR1v1m*^7vO0z4Pl@#Q;y7S#GT3ffu zhYHEEU@b!>?W-M+l@*J%Q4j?AAuJ(x^FFVR`C9b;?Rd;b2vQ3EZ4x+_#vmy8BzrDD zrLw%0th7XIJsxzg=8T|R!{jYc6F-4LxCVpy!U{ZDyo zgexNVOsilcBSxCO%cR=7r8N2Cqj+2N{!9g1Ox(Ngz}rDf`z!Xzd(O7vw;L2wII}R|W}vvucgaacd?bAK?qe45#V0BygX= zEmjDWGrzF2bLos>*Ufq>8BF%v|Mq2fJWqA|S%+Mi#cQb-FBqcB0|tjj3cnk7DHUi{ z=6;`szX3%UD4QahdI>{RkhZTOROiDOt zaY7AiZf(9zNEoq}G8U@_!nRb1Oe_4K(#1C`YYZ%`y_J+Wq)rsOZgQ>L5n3FwZq{w9 zR$Rg)MRnSyV(`1MjOV#MGrpMchkMUHIe;2(Q?>fgFiF#9wGF5*QcfcV6d?ta47ig1 zU&z)ztWdI!z(L1uDFZ_A=4`dGAOb#GO+8mo#y zZ_6C`IfSb@Pv3+6sb`^4osZb_J(%R=zP@oS=6s0IW@7d-V{;1aAtwIvO zqKsI0=Pfwwi79;DHWd(O*YU*+gdI=!SFKtexx24}KddwM?C-xVZ#TWX+UWX*MZGSC z@u-B`c}BHBsH6dt8UU3t=h|M6@+*G0jeL= zR{P`aFp89RJh0SQPnNfgj>dq;0F)3pBcliKZj=a!GBpKb6W+gnKaSh{yS+=IsuXnA#6Z#Ke$3nn~}JwWtDTG&)i_X3K}QZIQ3 zTr*(k422YV5Xr&8HRp{liYmh{KQ- zMZs$yD2~P;IfF0`pWZ#H z>m>)EAlTa5+nW@S7BqB#kMDS09FV|n+~enu#lX39o0#~yl@$vl|KHp5O(+X39MD?? z1Rd++NO1qmU7lenRy*cXTmXop0rzD9wde7B)cc5tUijZ$nT^^4Pb;eTL3u9#y?$sh z(EmHc2sFKP%x|z?`)e@|Owi^YSd9g{4FN=0nBoL!;Fa-cO`UM9=1Hjhm z>AL^tiG_tlfj&k*5W#@LTfklV@WF$RXy}`0U&Q^x1^(VdX*KWOg#&YI^Yke#;X~nn zIR%3G4!@}6uV0Cw&Jy6&or|N{63>e^5Sx8ax^)lFC?YOGQ6*39J+;?4$D|_`KGpC1 zifBX;_&%&kuIVzicxpbA_=Hnko7JNcRKKOh`Cd~nO8@a6*QZ@c`bRrtQx)s>RMZpi zpXWLf#(a*pl^J(#NSbfeY@qiSa5HS&>=6D0%P{cWm>GPF$NPhQSz!D`6~flkT|zL# z_LwY!0)y4C;RyN|qoIqE5~oc?0sv&7f5)Uf^vZXDtWo?4ATH|){PqmC~6%%PN-f89JSz&#wZ-M)WUOG8zBbU zuBL4*M#Dmj?e;GjBuX_0v9Dt!6ReOSAUT1`LM~B1A-O`p2Lu6BUX6OgV8ssH}N zhtYsQ{f}leQ6j%Hh_zsSd#LNa7^FKLeCV=)0j8&UY6(9{XW` zpPbj|@E%KEHo-%mc_8hZ=Ji?vi1XCKJRB$23T@?39DJ!cp-gnm%?2=s0IEkB6Tk%O zjk1n8RE~XLI%$A1@0{Lw&)<51q>`tm`b(PGCKgvbV9t1K&A2d30D9 z90w+FwnA1%FC0zSh-e2CL;l{lSj`#yB;02Gh}>Zd3QZlpL6uw;N@{9q9gl-3t5DTE zHO988Cr_S8j6GgvKlAYsl8#}M1FTk32I^i((oL-&7tj=#j}}nk`KGss4NS`4;vuxx{F{PgKlaJ;tSkkJ5Ix*L1B5Xk;xtw3mX`s^V@r*Dfv$C2E2 zv;W>jXh1-xiiofnc%kl~pqD>kN(&hOAgbV^cnt4;g$#}g>=3I->)A^#>j|T}fpUxC z01-FOt2UW~rHrv_xzO~0w>BF3MPirpmhd|v70oBQ-HY~(xLSvIvCS_Zq#GwEZ;g?+ zkPo``=gZyv6m%8;YM{f*){Ujl@d7`lVZ0w(l!le6MrXNL~hEWx*b?e_mDhKJwY z0U`(l#6++R%rXX$^VtNAuJQc5p*LMs1`>H9v|{10v3_tryc@eH^AThag*1uL-`Df* zOLF$9{rnjZ?ic;V9mvUuaouipc8PXeauCSDLhctN9MEEr`qbw}Yq}(CSMXc#K&qhZ zUU%3%y`j&%1v)NN;yvNktgJym>0yoD)a}S57AYwy<#6nQ%tMTe6JNzS9oK!GyJB;9}Att<|k@^ zi3XRW=_Lf9pbv^H2EY-vHdyEY-(m`ee`rw~0Od3^JcfP2Yybrf$OU$=2|n@0RH}Mo z4jIvT?tSCf#v#R)BLZL;Xo&qF9KYF^h=P2NGE1Q_e`I8&Rf`(RYL?_Q^8^+$j^CbE zB{vGHUl`8Hwru~xV$gGfq*s}vD7u24)!O3(|Ta(!1*9ITjzml#G%^pOtPPBPFH8E7J~Bn zCKKKOR?%>HLyro-(bNxnl-mp?p28%`Vr<~AQ09TcDWHttQcy16%FQZE)LUVs;Tk|o zzv5otiC(2X#Q;6BBSv@GQ$qW*Hx@qB0F>c12ksGI2ie6Dm}AGkr{hwKCW0vvK6-g8 zDrNRWVOJrMzoVp29;|eaz|q}G>h^Cd?3CLU;`Z&^L44hTEv+WW+R)PkhtqMj^`QI; z&psK|xquDX7dU1B$f%MAf+cXfGKJT?#!c0LP=K>@9^Q1L;je#N{5E>BQqrERMa*PZ zv#MwFwf(=!fnN~1O14*kBc4vVvXk`^_BOC_J zO%jc&@8Fynk;m5ezfutC2_hXN6?}6Yz!n+}WC1W@nrdzVHi3JI0S^Ok+G-UxN%rQP zFiG?Y-^*`xFaWtrfG2p27@{wgFS;mfYl+! zk{d%%blGl5qV#W6%K;_I09rTMM1E|3v0ld=y)z&1AAp$x3!tV5oc!ehNy)(?{b!4! z;(bS|D_a>LP)+;CT5&sV|mtm9Q$q%BIi zK;+V0Z4p*k+w?jHJuEghFris`%T;&N?#W!p<4#-b*5&f0VuJy|mOw%T4z6}1Uw#MI zAP5w8a}AA8U;nh{r$8ZC2<~O)2*3|?C_B{NN*_HxKYyP>60on5R#sL8XE@MP8WjK5 z=xH}723aB|Z9>7$?vZI4}!srePH^ zlk(j9c**meQmDT)HZ{dqU@ljlTgm}aR;Q2z((JHB3oy%9SnAJx*)NZLZU|A2yxv|TtClBPS+L@0JQpa`O6R-L*PJ&j;M0^!NGiulN*U zxyzs4+Sg>1reyFL)^>MtLwSbL3o9$P9SR=7p1B>aGuqX=_z-{I!eOu1l?RAmY5qO1 z-XSt(e}CV7Yhce=IA*Hi>wemgv#69ju6-QnE&_!%e^3IsBeYe6l-jsc8j7=YRQ)*t zBqMOc`~;(!Mpkhdj?A<+MF0ur(2~0ce!NwpKmZm{Pf%khH?Fjaf#QvJ@i zIH&*h;|4za)Xl;8eX0K(5av9WB=wdnQX({>Rl=*o#FbhS21evPb2 zNy`zSRpofyqc}_f!;`~_UfC9?*(;#R(QlG*w;yJ@pUhFr3e+eOqXvWamTP;%?$0NR zBpk)G7k<1tU(sJKql7te{b~tam`RQ97YUuYkab_Nr#Sy8F84WKv951rc_ zQVMrf@@FdYw8h7|5d`4mEjMQ?Cxvixu*cNT4Q5lD^dAUSIo*{C>Q+< zIk(v@lrkeO{s09vM(T?!dTU(vKqGR(qqtN@vJ22!Y|7!3+^e;OC*u0YY3<(n*IH zi5g#ok_fd#t?pc#*JcW3^k-LUNrbP6Lk)S%&ZdlwjZwVH|NT1dVea3a47u6<^sbwr zf}Lw$H;lGlP1F@z?n{w$cIJm*X@-|)Wig-{(=?6#r9n z_-22vqJ)1;T{|lCT@VNoZYTkkN^9>P_sR&;X1po4^|kRUUxWICLVp zDz&!zw!ojF#!sL(r*iqNSoLQ0r?!)^s47Y`gubS=ITF&+eNZbfZ<5VzZS{djh?=W< z_DT31n2b3%!eAbOfS5RH3yGx5w&<-_Is#7CD;gf$wsG!47{vzelJ4 zoTz4Wh@{cvZ5A}@f9aMD@ztN%&0(>{(zc|gg#p-LzWaSSIz38GncH7 z(rM~R44XFUEEd*_hBh~g!*nXgwQJXoQCi$`{HIpjLR2WgjKx-6*GYAl>QWL5WX^Ay znL8kR1o@L+TwDZS`uO;u`ugq^u@n%ZxWFm~ic=R537ycU{h6-j11Xds=~5ren1+Iy`Mr z^Gv^}ojxVx2|a|dWCw%UoB zgM(w7X&5ym+7dVmZTlbqeF~4iztVBoVgj)VlVNA9f!7t96n7y}$$%D45B#FgWOS*- zEkhf=lomR&2gDR73_62-8vEu=R%J10OB*1>#*6gt!-N#iaxr^|r}67Wb#NW_Ci-W* z&W#=~*Df{Vfd2#r2s=-^8V_19STbMm#aW;gd>~+QV|m<^{yU6x>bPyZ1p;_= z>f{`G07qo^WJR|K_7He*d&pcPg;%ja?0*11ECGd9YCnvreaR6ZIrGg~Hj=|6xpnI? z7?j7#H!_7y2f7^uh>;Gt3*W&dyXWhH!MqFtBlvqiTjO#tF?Gh0h}3s-tD{}5q^zuL z&Q`FObgRKo+>PN-a07ZVpr*POV*}E3U0yGu{L9e8a7POy^;-E*pso+B|Mi!r%*4zp z?PVFdPokXOS#kBYwzUCx|33UWC_wN^%5gYn*nwgTHmIbhn2N+nv`CvxwOk?P)vH(7 zH+C7fD;dpxc6O!a2nYx^i7D~WuSGQEy;`S}*%hs33JDNUH+=yok1yxPP=UuK$$_*= zw|__o&`xgtXE<2fd%3a^uMZxA(E|9LYj^3&LnyE_pH$|5J^c?afH$VkW?R%BRUN?5 zSz0IVW*Ye_&@MV`&)tK5A7~9ilq$zJJ9V@b?$B?xvub3q2!PK@B&92MVXCAc| zG5fzVgfb5nr`JhA^(M^8?Xzvddc?uvj61D`x?_S^s<;B z27<)`C_`4I^myoNV01(`*?kuq)SsVojYqHQ++7S^^qB@xz5%#_46u)&%+W?hMt0kC zja@mhuP81$yCCc#LYK-XZBTwAA@m@aJHLr*?%dI*b zYfyp*_;}Cv2M=j0UiTxB=}aqG7V^wcDfbhxf@ zeBN8&UR~CU2Ocjk4F|IKf_{JJyMw~!)oRRO;fI_Z7WG|T6gnHxJVQcu25v^J*0s!j zu?T!50KSI`b;V}my)a(SbjYaGv#rmfhGn7pqa5KNR^NcZQ%DXdBk8V7!S{Nql6dB< z&Vi_$MC7o0%(hphg}fpW+zs@koSd8vtQwznTN3jwGBYzxt0~y5(#c>15h#{D7NRgs z<9K-0jI$vJa;2^r>K&L5+L3tsGWoGc#tSCtNk9udZzlzi%eQX542OpuuoWfMFl}k& z0E_@}206a*`(R2-dMWYe4+|5^W8H%IS41s}9Q5_Nryp!`eitEFhH|x#b(LI z+OAS+xTaG`EPT~Bku+8_4>iCrR`&r)cS@t?E9rCPHy%#wDeV-pFZry`qF` zHc^0U#SMo*xq`r0pltSn_F2L}fj9Cwb(@OUk5Wo>QmdeN*-BRxRJOLZK!oe$t-nACuAq_u z=XalhAxkZ&yu2I;4j*j7nRKWS?MtmIj|BPo{nFh7X(Kv7RB-cWx_&ne3`;N;svbAu zp#+MH1azn=U8V_XUt2M%T%3Uv1haTl>dOp!TG|QF-z*Xn6FbvuGyRQvT-r;@m*25r z=WA77tJIQrbmRptI0KL@n8!2Je!6QcQ{dw}d51GCgOLe0iir^{5&GF;ZFj-AL1?p_CPHsL;4+|Wj5K8ZjCtT(IkX~4@^taMBTeXdt&r}mJ5N{apbtJL0 zl$-Mx*9!#&zEk%5BHr*%2Tr88rM#lBurR-qJUyG8lhaB!srGOeXjqtd6fdL$^yxmq z8^i8P5)g8I1m>?Fo)BRl2RI(_4mjdRR%3ReXI7+aY-~V277R^ptIsXHj)K`54V{-? zwTjEjO_n-|QEnWm2vNQMFJ@oUW{tpi2m<4F~eDB%K&S$F14=m*e z_>+ry+CXsJs=s=lm&XE;DgX~DfL32Y`Dt^w06onYHb{C+EiFEvMED)v70Kup0F@`* zL@ue7h0TT#XqF{-x=A|c3Ye*?VF+_BRexEjSm=8O3k%HG;oj{}0s4NRs;pr7wY2mN zsM3Tj-!m2%{HK?t7Ef1F_PEWyK)c+sPBc5hsa3g zq5L%kcXweFTL}|^Fg#4Na}h{F2q#V=Uu6%RJs=h1fQwyx@)sE2r7H}h3B!3-1k{l= zwY3EQph1K$Eb#7}tdO591ooLvly(qC5pbCHqLzC1cLxK}4V6NjCO{vu;3H~z+Y^UW zDbRXuVez*q$x9SCQ&<&oN&K%;5v?$1S>mw7L_tZ3YZ01IQly;o?HjaG+~&VxLAxk1 zY;%In;gNACQA3SDTljQ_@WSqHPUr3tGrz|vF1QB`4ET&|I(mB_!q_cv_JJvTFwq$i z6JuJ+@)97*cqtjt@N|^UVPanJ( zNnA1N8K52lJUX{l$j1efLN-%B8e!@aCd%~~D^l)3WZWeCXkcvI0%G3r!Km(d%?UX$ zq7MsT{gDuw4oIZS_8gjN@3|Zt@9b^?lw%L}5;WK7<74NCa;FV?i3JbtM1#8zZm(XL zrOV+3ONnMUzwEem=lueh*#d!CABgRb5^10d;N1!4J3FHO0;CLF^u36VEbZ#(fvU}d z0yfwh)VLZ7PHW_w3}p@AQVPmyJ!EDMJU@4bxiO|XlTOZWsAuI+@Y^+fsc}>^={b#s zk1R3nQbCAb>~rB!i?ST%?Y})p;en8_PY&auXO&Z(IDrWp;x#vgWMLn8vbU-)^w@sWBQQQb?(8ZWAj1|zE_}nV_vdZm zgBu7@QJxm`I%xBup6%}K^|b1D*u0{$Cv6Jfkw{mvpZ|#girRB|c|6rZ9UhI11K3Nm zG7Wglz~Y|)L)5G>xcTNbv~T)6MRD3NFVA3677uK%zGZIpJ!9Aa1r2tle;+vbcqw?Q z4QK)=waCrQ4eSNKo}q8Ew@fhOBYVMjHekl>zCS<&uNcUbL>dU36@j6$!tyS$NWjjGegsW%B4>tB zXn^)3w)NNKTv?wuKtEXX-3Eg$m+j2?Z8FO@d1}SC+1c4KasTwaL%V>nMS5mtnRR`Q z??tezoLpRS0n;2hV*#a9hZ6{ZUm2W7p@M*g#p25}Ix2sn)&Hb^eU3M@a0en0$ePf&yn}XS?~I zKDSAAJDU<0mzO0ZBt8vvX&{#=p4=)bE@pJ3FZtF=W@%{|DV^S7>KUXCPmj<^^}4#m zz5D1E>{zKrzLbokdXIpyf9|(f&KWgL%@X}4SNTN##)TG{?(zXpL;*zmmzD9Dn>+n@ zyY?_7Bn0&^B-^@iS~gX(u9q&`|GuPQvP-z6Q(sjXX;{B*O6TQn0ge1a|84;c3=ET$ zffA#vVxt4bT!9s-MNVIiMU=h7ph})u8{n-TK)g3xM1I3-O*vqkheftMoJc z^Ji!M&$pvLer(2h=Hr5w%Mi{Z`Sj_}yTpHsG5?JL@!*F#^1%b0yALdTk)_KJ@EMY! zo0wMtDyb~e@PLsZ73wVT8LNquu+&_hJ}xdlFA-0D2{La0J)4T!jPlTreTFD$G7uN* z>sL8B>gwvi(-jPyy4o8S6sHX=kKeO<%qlFIAY>uj;c+EU$?MNQuw%g&K1=rH$u#ZL z`RKz#v=;7N5Y*l1-Lk<4vN4UYaLw3$B(zSaM_X+`sYr{=lY9XKkh7axjM+H2aCd=n z*aPcxz)rRBtbl1YKdLJN`&O7#MC^LuGY-`Lm(b`ze)25i@~UdR&kYTLWJ z3oyFLIaU#rdRD-8{lhzz+?L^CVm>}T1ZYi9I&eBf$UBYuFQon<+HQ}3)wYOf?^RBi zFEH`}aM~-cf9~tZ8LsnM{^eP3n$?%fG0l?5Jm?E za*?n<DE{JPg$FbUvEKUYL3U zCAG zI(mAHTLPj`W0qj5(la)GE-vo&vq{r`SVWH0m`XBRnbUGawx*^=d{0_2FE0=LD`3gO zij$Q9BnA_s@F<6Oa8WHiJvS?1qB2($=rGVA2}ap-$DuGeI61*bEUd0dsi@o$a`I$P z9s^het}WWl&CRS~3pTAE@L;<=C}(ufKH=*B{D?hOmvm@X9eR)d2Nn41SjsnMJe-69 z2Q|0Kr$Zb;MF?v0y=wRucZ#xwb^Ne51lI-$Lc0@ON5sD zM}G#AfH^fV_@p+KxxXoEYHA9J&_D2u1pFbbU0s1Edn@o9H)i>n%Rgz1YU=9n7^p$= zJ280zeI4=WRsX!IcCp+dNQG6BUzMO3C~hNg%@~%I6+#0iGWW(E&+4M z0&{VEvQp~~L-fB_Rsz8b+>;P0oxT9f6|jcXk8C4d5&?)PfkhJK>(3Bro&*D)8y2XdR(s#BmsRKIuvD!09@SnMyZPvHND6814CmYB>I5FaimUw!4J!sS82Lt>eTp0#FX1JTbmIM*I5p>)35r>8rAnL}S!UFv0`CTG)zqe7s03&)|oZ8gt-14KWAs5uz< zPjFT&Qj4}RvaXlfcws?(=0c9mymXRjI={L^c@{X%@?E2_LG!g->&>F;D)~i}{DSUnHlZ;>Ep_ziu+= zImU+z%B8BSA?N^`H7Gru4edzqaWV1`*;A5-)SeA`ZygVjtwztYi;@!8*TZh(sf)V0 z)ut@b%11OtM!kVEJSR@&-rm^vzJoRW{YHkWNuNUGa2k!m`Vqz;vA3tCtu5WS;;LGZ zmU>FCehxw_#9)qkfqNJ0^a!76@k*s^$_c?gLZCC4&z#whD+V5;cc{+;YtpWwb;W($ zQROW~fUn3p)XEZJNEaXBuf-!_H1<-hYs(XYh2-i$dCB7J){l}jsV#8@d?7V<8dkr< zC}u*mvw`feqX4Qy&EPtf^B#9Ll0#J!B=bP;p98nksC(k(H{XZQ$`9}C_&|)GCf$8fCHujw+jUY zMKOvV5mqDvnDARPnvb`16h=Wmm5`9I@&f-SIfxJRN*518X>Zx?r11=UgwK7ceuOdx z@&jsm`oK!F!>~Sq~Bo57a*s~N=by1>_^{*H`;>CQS$g^o8Qd#Hw*Ps zsv_`waJfQjE`X2$+;lt6TTR*myoo99!!Nzr`<4=noq%4pB#xQmVwEWfWDgZBHR8gEP^g76 z`BRwO`ufx(CR{v^^mCGtsQ2Ijnd8tq(#dWrjt&9eEBD5!H%}Wl0xf!kz|A!gA3j4P zBci10EAif2=d56*1i%B0RQLyS6jU>VRdz!q9jBt2o-~b-UoJZTkkCJNJE6a;~HMY&R_$PonmOyTOa)?`iXv-BYiF3Lxo8hgs_ zQ*>5y66e*?t(>}Nz{aPir}xghuK0n(s6FoPVsCBN-!@<5*b378NWirxuIfUGa`LO$qzWI){^g=X; zGhJ1F4i9*oeWxZTPtyJqo~yv75pg+wL3@8g{v}mf+Q0xGdH2OKUiHa>xQq0)flL=%%nkc7CSGB`?dWJ${V1e%&god02@Xhv}fxRx=YV?XqsC5B9zlTLwVMDZzJtTiZPaTFBtlX{gYFAE8 zO|C1KIijZG8NK^1BAEFgTcyc}e!EP&fn(j<{)Y;u=yF6|6kZ6jeYPc2G%;%GavW68 z3+1}i`j#YFu%1RHM--`X=KtJ)Y4p~jiL4tr{_(r{xIYSXqEViS%l-bctgKArq9mNW z5H3A^YN{KMlp%QI`$x5!n!Up~{Bf70>c$;pEytBnm|^ZVP+VFXp*SzRJK!}ILtx!} zaE|D^>Tk==dWBZBz#Dkxg#;iYZYpt|KM8;gPvvoVcr{Am+JPt*MI|)3&;nLBGz0*$ zMh?@B%FQ)vaw@NIU~DIMZ9@@F1lh(4)gCy|9uK8HrJS4`SctEs&an-XF_FQ5ZiQL$ zNn-*pR?VP%vusb^;ZPC>(=DzBX0J_T3@HM}WT?E8`SpdVqJ50DJF?~8*nFb~O!&H> zK(FZ5aex2mK&7Yq z+ESP2a(OvnMqxh`>p{)+n1lP<{diUa_0f0y?jVYNI*!1gze~NdwLR>6fXm~!w1@PZ zfVyL1VjxlTcRA)5c^LR6fDu)+E{I#&-^A?h>I!DA44JxAXXz=SZ@95M!-(*3HfVId zf2YBhx`g~+yUHWVaBTwtr=Q}DTCDk5z{J4Zal5!6s z{2H0tx1F34fzGA|Hfi>Ht}P;1cnMK255R_nM?};@khJ{=8H)_hAZR##+(fd9g=nV1 z>VGYm81%qRQ(Ro^zx3S4r*!WT>S`R$x}}R6fI*~j<_81^zgcnjy^H72jOQTqRIuLi zY+K!P0aVLq(V~UzyfQ}$YG9|)t2ET9TSojhDnq*RMRkLbkxh#))Zvklh{)V~VLut_ ze*%_5^c(POB7(=1(rIJtc9oZ>TBhbplPZQ!TAPNi&H3QOp`G%W$~T|pyHVM0C!ise zxbOH$rMjd$^S{2%9|viDlmyQs9Wkiz{^%h55Z>ZkQ0)5l?zVl!Nt*UCRt8nM0}0WO zAD_opKpi|i=g74)YZAFlKK}l@I;{j5J!!D~ z$DmO}B+~q6McdV%=?U>4DQJ!vhD~-czR;W*s5tedQrKdTTaPd&(1lU)Q`VsN zmB}Rkp>o(O?bPajX#s?U!e;hGG4pElRe2|5X)&@Wqw2M^^yD>GVipsNg_(+=wQ+nD zyZy;(D4iJxUUxnJ*W}EM?Dgy82Mz88hBj!^5a`qEal|>tTJ7)9 z$A*RzNO)k7C_Q-Kz`gMBgOI&4vyStC1Ss*^P|M3gaD4faJ|hYeS#-*{l2=x?bl=o` zG%xL!PE{YCnW=-!h0?Uxb6p7k5meC2oSan%Rq_i9EufUgS^62m5u&#TS3nmu_%uJA zdHg6A_ve~<5$~-HVK1-3fWW|H{2r*1suSh(v`K1^+-dBCz(< zu5E=@U8ZR40KmQdbpPgmkl^;^=YbBh#%cHNykZY$^?Vm6T5yD)`4Ko7l8?>J=IG|g zoBGS|h6C8ZB^!XM7WUQ=i+iGq%|Og8JJJe8>g-n+EVge~1bel8=f11>!bm_U02E)j zwdoFl45wE;xU{1cyRZH0TuU*jdq&BA;>3INV{QqF$tTN(l{!*bXBua^;0Maj&3>;`T-T&B@9WYGmRUweB`?YiGkItOk9@WJ8f zHw+96pcdMHzNihl`KD;_P~E7$p_ z>P71!K(tv|j;nT1EQ;{Q?9I{U+9Xe#7PUzFpb4eI+wo_SV1m%fSj;=N=&3jVijJ&P z5B{|{&Mh8RZ*facar~&`zkl7oAZH0T>QiCb**tG={ZFV_>a<2#m{}|P;@O<@VZU8x zo1RIeb8AL7w2|B=dHrE(*Il|#Sq{=9IojmUFOYTFKIjwpIJHCc<(x?C`!aq0W2g0@YZ2M?q zlQC@&E-7pmo}q5vJ=yM2hll&~OU_ZCji-c#=?e7;izEhp1n4&8v;PM$*JXL|zX9`i z)z$rp%|W7d!AC9vWIDvHt2^1oCo5Cfp;=Q51~;6|8~rOIw2Y|yQ8avPZ6$1tbTYp8*XcN1*7Dqqa(#Ze zR;;h38O88x?osN%PxrUofANdsWAi1)W!}ip8`2~(hAOX8jwi)@JI4L=6{HI_#{Okx zVuRj!T&{=ye=u>7;}RhCn1x(8NzhHFfd?n=lH{T`HrA@uSD|j(2QCSOx%9PbCvZwK zEq&pKjRFh4)PIYvO|=a$!jjQxV2K<DdW_F1|?G=1fcpn`d9fP)G+1yS4^=D=&<$3(@<9f46;&1ya)b*O<8M^Y&O(lv`^^2u zDidJ7%nyAm&!BKT<2QnyEHVn@(&G#gd8%XoQ(p9c=ANoGly#SumaeA;;Qoa_&HwpQ zATCqE4DFnr-}`VZjhs+TEe|dz5J2%=-QIrSQ_D{mco#2g9O zV^uHVPKR3oS0O1-8>-r!2VTU*U2jAI$-3*hb>xaJelbAZ!FL=z4?!iXsL1Xo zgK|_5K4Ox0L+|ZiAby~oO?XZt6lCBJiRQOZ$bY-GUw5Xd|IL z;^ZkYjk321B67LxfT!PgbcCbzfio;rAvGEN9O3Hu_)(r{1@M*ItqSpp!wKK|>buGsq5Cp^6ov>AK{s)M#o9oZ{wP(PE-$w zhQ&!>YC3>{1=TjOz!p>)Q+DIz>r#rIL&*vSrL^xd@!`-MMDlKQTKcXTYhJi;U!=`? zqIGt)YHR%=NN%J(246^Gl8`VudlLK=oI#iHi9iz8fDR-D4sbD3^K-u0PRx^mP+`Pc zhU2FL3zQ2G_uUH$+7m0}*?^OCbu{dhO`oo$i!m;a*Jg`P&j9194T}1NXnw5bn(kAl z#0UomTLSkOymhiiJHrgd#>eT)y=Dg_78Vw6+uI+KN?~6c!)TkDZpaML&0vttXQ(^T z=fQBwzJzy``;QVN7(h&t+AWctkP7#)tYReyRdEBQ0hUg-9BgjrfKISxrz%Pb8Uze4 z{?zcv9eP2?P9wSXl$;isS`kbP2C<{#Afbafve93IR!Gr9Ii>wJmLic#g2qww&djkL zJ8BPFT#n+}jokqE&ug=K7eZPEN`cD#QT%6%qz5&Qb<;){JU_cF_s`>!4r-tn0z6M3 zw!eN69WHL2h+YNf*#X?|3IM7uk^*#(&`(>I`NrDR}w5}+OJUl&Xmnt{i z1n~CJ<`I8~o8rt`35!uH^?jx@7`g=B0TtQy{ZktK71rff5&=OKydN>6TwPto$=Utc z^dv3^rI>{S#E~>O$Ov&Zekqam#dhdjEXHXdl`9dT8lLO6$7m@17*%+`7-P&1pP-`E@L-ToIbp7A*90e#6S{oWo+8;|#ml%(e)_N{V!TnK-hDG-0hpZGoZDE_55y-9Z~Lry1hPwV<6=JUoI{$Coapo#Jo&;hG6w;ZLm1ugnXWc3m|%Sm-Gb^b1Ogkx`9;uTxk9EN9NV zQp)FqbS&3UZTwHdgKiVXkA93^bInrS)U<-RTSC~xcPCyH-36+S-Xp^Dg^;a2;g~3} zXz}#0;y10?W$d1#8ldnG!HohPjue?$7zsFtR`(DcZyd&ZEdxsD)i_EYbBaFwHW?|u z<1Z1<3Ra33ayARz4l0$Tq^jdD?yHsF9Rtyb(Ow1oo}qjw^)JJi(v(xNkepnnH9*94-|API6$YAv z`0eF{#v5(V1;a5~2$6J`AS2T)zDO+U6asFW z4_;7*ZiOrV)4MCOvNSS#qB7O^xK3Z3^TRE&m~F}|TMH``s+2l9!T`M!?i{8bdyt;K zdLa~*NG2pqCEm9{tRY{>47$U;M}^`*yqpBs2$bx(p&V;CAJRa;IxF)M%{aW-xL#P# ztto?)CW%%q^<4YGe0nDp{T)eh<;GvU!;p-UI+-}VzyC0mlP;z3&#?S!wseeeyD~=a z=rvjWDAQ|t>$jved2@9)Pe^st#^uI2w&sCHapf26jY6E2hvp8}N?!X=R$NkYBC3h7 z=yFC7;aB-?f9Oe2zksoV2sNaJ7=+-MQD8q>d3jXXroIKQb{-F$)&{6^uDK1u? z?kx&ajvev$w`{Y{t9X=>athQWAiNMn=g@~hYkv#e(eYIE%Lppe)6*lLjkRiOZ4Jdy zj!XyAo+3NHhzME)!!##Uo#&3yz>pB6LHNhU9>p0$z+w?x&TemLxgs6WvHqJTg(>#+ zt$sIHYYcepkDqh$hh&c_stKb^2>QnKD85Y+z_hPDJx^b}Xo1THCY}^9@#%f#cY`nl zE3m5RxnMTDTS3KJKl5p-GFR6AOd)y0$Uo$T0suf%I_5Z{xpiMXULJ_`!NiKEyUs968eF`SI6=@0rz z%qQDTMI~G+eqLAiaCe@Gus;9fO^w`?FH)Pue#lJ!jgdhSRuVZMLV^wDZuL2ij?VOc zJ3G(d?&5vXtZa3qG}V4VUwL3-#&*E9P|&(cRAzJgpOgq%Ue#ko6&1d^V^04|N6?BXvmMz1;_P4;mc{(H8%+?rq@m~=Ss(9t+F%Zig0WZ0 zDTMQzZ>&+G3rF@&TCWYo4n}YBJuymk0CK;5j>WIl@fBH#|WVWK#F;U3|+OeYr{$aF?)%%LBQF<4#KauuM`XfnC6yaD zgbc1FDbPHQJSP3uE`d@*_jQp(i`8aGUazf+adyK|lh7Mq-+g&G;PJG1-6Ff|)^4mh zuz*0d&nQNDHR5yx93%*_CXk$}tqnWK7Fw_-;R>&KUrK~n^%WNpH42z_P_Sz0p^VTA zj6v8!5-0jw7@!aI2KP`RLL_Wh;T8e=WU_YlO_b^R(b(A#wwN|P3nP9TK=tpSY)95v zZcYJ9MrM!-5g-Nn4tOt=Ex1^NLBk|?z71}Q3ddVM4V)i}9z(-r(B?LSl`n9dAbH}% zJQG(~vCH&IC>|juKvWGc{W^;plI#b$f1Y8OAE zI&s%IAAuX2X&_y}QrSan3^Q6iN-Ioqp~6oBKc62o*xFcRtC^eACZ>TzMb+aZfT)yP z?=_<4jV&OnGClqA>(w=cugT#k?0xHL?bQ3j{!X_MEzMZ#aU+g7V3jlm#{0==C>|D@ zNLe@jdEXB1 zi7&A0KGV`RhIHHk&^XQiOjo2d#?xGB9mcuwT%r>0gUtyzdCuTEP2mjWbHk`Ps!qr~D$~2|wHu);fUt5pUAy?-tr1 zVx!{@NpY}HoqyebIBlee#sp_CxCUaBBaUDi0r7}O^;K9yCjo6>RHJDV7@t`D=s9OM zf<7OanQ0ww85H+89TFxL-}3kb-z6EDC!n-Kj}OjIW>?@oIBUtq$w>j)8CeaFA|fKb z-oxp7V1rDisA=^0UeDyuQ%ix#gL!-QXjyzarm9rJ@{)MqSz3zYZ6@a-{K@=6%U~#L z@Kdd5Nk46;Z>5LdI@L3CsSL7rCO6de#MUj&y~()T{5_#0Ci3^~{*j}F>{u)yB94?_ zx3&&a&tw)A)${l@U+@gq8A#}ZZOmQS-9v3sVcV`iIA$*j;e_$sR4!uh2m=1G!!Vtb zJbeD2v;mN(jkR@B!A~M1A4NqCliX@2^>DQPX{Wrtw&s9sFw~w}4Hv7uV;R+t8LQOv zs9WRb@77oZLQixw?wbYwk))(QCFtLA1VIs?ipC7=I0bgUUDbwm)>od|ou$kN>FE^! zj^Ktj>(1>bXA_8dX-*}2e};^ZZf{mG?ZOR8&pe%s8$N-Mk>DG!b92*pmqF;E0fE|p zw|8_9c-KO;)_ zG(e0yGkrL}dS=FRzFt;F?Ilj19;GCioTqLbV6?_a z#`M~j=h&~DhKl21O3w8*y`cN+-@lK?z6=yI$7)rK^!Nb6s&)*#6YQSXz>WZ%*xX#V zBRW~kacsrBl(1UgRfPCKAe7uSS=xzl8AP-tp#Y7GJBEg{W;-#Z4IsxEyj?JyMARj8 zHWJVh(AF~nwzpm69Zv9Ous~Gk8@s`HuDGE7spM+bc*MEPIF z3Yl%&CSM~7Z2r%)XEel}&z0w7(Zy-Bt<-Dd9AW`TnIJF+@A?5^F^qzyXaBiaQ4LcV z`00lT4#3HX#PpC@VLRBmJrLIY0jW-;3t1@VM}q3jkQ4#M)a&g*v*}aU!&qQFA{Tq4gOk73w0S zFZk%!=0{i{_n_Xn(>*-OOGQNmr)@-!p=M;ULdRQ(0Na0+Shk;>{`KoHpQ(9f5BFsc z&^prl_wtg`Qap6!AVY)kq-l(`C<@2o*RO}C*-$i%j2KQf&DMj@f)BtEatzb;BtzcQ zLO!=B%$n9#I+;(M>KGyq4IUq1v}|}ko$zNa6zFLP4C0Q&3%?jADjR5xS$dmhW2|e z%LFVWZ#ml19y;_~;tE<^9oCkfaDs!YFS>#95oy;u1_q2#!-o2kO<8+Q7wwd_lN9&O*ZhSx4i15}<~weq<3e3_Slsnh`%>U$PM6h| zn7gh_`$wZIyn6_5@7-dIRGnhz#bm{hGPW);h}W*yT%ls1ek^W+xXhIm$BN znqxvo(X2I`t*wc3M#%hfo_c;L8LO30v_m!zJBverWF9**J;3o5mJewV=G~#8A=5k^ zWQ8McV(9z#l}@t^yj}DAE2>fDWLY9&_NxjM{71yu+285&%7vb<>le$Q=%U&=(8Z#l zOY!gm_Xt#p>--+oPYIwFa1}Jf`g}(E_|>@v)gK5SNk|3LMG3+ z^inkNR!Bhi9$P7`b4a_U~PAGwZQ?@2B6X5jT}ZO%-I!5v~Gk&gN;oN zmy*Ted5<^{0O55Zu_W7|QAUc${&@)yUDLlp=-80pxZS9%@_t2y1k(G*LxhcmCmYYo z;b6n~P_C|XW6Jo1aIxLY?{;)_ysX;BbUJT3LQhfQ;j8fIT`zSrWHam3b%5kZz z5^dQa@`rDI)+!|pi|>Z?{Wa|5q_rx{T~>c8w+0aZRCvP*9v6&3jJPmw4OUX>3XSNx zRk5QCt9jmsg)k8!Oil>kQJ3C!a7cdj>M;92pc2n35h( zPI*Bsy9=n)CGHIk6b&T9_-^{s8m|nZ(vxg# zQK%zfhQJg0(A5=z_UtL<&k=q}3;{ve3X4q!s{w!<6oYY+p89c43}8EA-~pNb{^Ufu+PkMksi6v#3m&i`@LyGUb&*7!u?xcMS`ML zoe_=0j=OhDGCFr;P%tL8(?n*_9X!x}58DQLAaZzDxJ+mU3(RZs7roRLFMlWOGcck2 zFA?7mn7m6e75Dx8b`l~qe7_Ot$zQ)hz%N&AF`PcMR+OJl5N_^E^;8ks|I-uWle;$; z1OI>+SfGRx5f$aLi&yd0%6$41M8q&m@o?4LhFJhmx(sdCCpj)a}^gz;RXz+9Gsn#01XJ)ZNk}b z5q=3ASQdXK1(OdzBr1W?;YWS?`ov|!zWj0HuGkX6zogCKbld9xzi1ax>>YsR7^N*= z#;~o01vTBp??8fuiOTS3S13}lJgbL(= z)SZ}|0mvy;k@4~g@bUY8C^Y`q5|UMuh=|8kmE2{uw{=BS^qYv-l-o5Ku2I;(_Oh|D z*{_d%H!nc?1jy>SxjCkD=jicoQRvlIxR;(=!Nwy{kLPYpiB762D!fzOQ*O$9e0J@b z8f?fFlfQP26rtzC03U&c!D76hOfQpSh8EC)e6Dc?GRzE6)e`E3FFDn<@%BJqV8z>d zbwe}`9cjRBPc$KMV#`!GZBqcLV>QDC>>Rc?sqEeeP#rYb3dg$(5-;dFI#E54>!fh5UAgk^;GY%oI;PpWLH*W>e0-;%Zjzt1r+y{NcLR3F5x~|Cj%^r;1Li4 z0P0sA*Bn@o7J7RH(`G)1FbF#~KJi`~mbLebu!wL{Y=;PznB$NyH2LL^91w&Civ3eA zcir8glnV$5d&%u4fMH7euj-1ZWOpqLz2ENp{I^X0>(~4uKBi_;)I4>#s1CLWf#Ud% zoMHZ~QqD#+Ifu`()1!j`3@roNRwY4_hm}csKT<3iK$_x0pr;AzU^{AU&6Q#sdrC?w zFPh_W)LF_s7s+?*H~@_@I%Cd8*{9(eKvF5eM(kHDS4dS4R%Q*yoD%?m^qUD4zxRbD zTWu{@2$tQ9H3rM{gLH3&{DJ+_WY0M7Gik}ZyT3!GR`$S-9W=CLWci6FnLg|}$$na^ zbdj2g@^f#R?OS9(H|*1U{f#U+Z+^XZy>zMcX^iNNc#ZMqo4-9O*IV<4E1iBOuPj3$ z-84~l_4jxJgf55MB$kgcHMe7)LBE>WjtgO$sp|8c8u#n9VwA=cg>2~}*?D>EO!>f; zpG<2rz78lGuA3RyBrq6B8nz`%q-jG28m%Ooe)@jtI};)1mmyaBcKtqV;U+=XmT-cD z??Az~z`QWF&+m5iEFSae>81)$3hgo->rC)=;1Q*@RXf3|(KT?H6oGNU5b5HOj+1bY zM2?G@P%Ne-yz)I6`XVq;r0YdqD7Y|cI=Xr&XKhL$9RZcu>HsbM-_@~c`vyh*j;Gd>iMYb0v1KD26W%&UhD(j85kJI&cOjF z=xB~MWWuz5vaP#z%}qR{i>G@?j{zeY+A4yNxKX3UzK$X$**NXE z4&^nOb{etk1u?;L?U7~z?y+#hJphOVk+vy>xvZbqMw2kHvi2fc9K47-@+N4Z4HnGB$u@UmW z+3?cZXK6HN?pqIx{$>LU#$){H&-N6pM=|2ohcI!ZPfZ43h!L;;8YhaKf54G(>(224 z>-k_+NN{TxsU+k9_Cs;D8;gxwHl;mDM^^(gmeCRe?YbruO915fO~|s+`|FN%Nr-bA zT624*vb7E5L5Id5hnhZw9CRbJL}%7Mow#<=>&r_$V#-=etoH>dLcp5&+3sD^5?i1A z{_Bdm`USn1P#`zx$8YwZV^CE+-5O8pR!{T`fJJft#()S5s<^fPkvming#RDQNUTN- zlW6{KY=_gFQl6O_rsZR4Qu=Rg0)S@VOa_7IfA=hAHq?cta_xs1$@MlbUznW(mLeh}7rq$S>Ab4Vj8F+9#xkJB#GEN%i~(cgjG#b`1%=T) z;EQ13%<8jTlx?bBbXkqzqnJ&0rX$c&pgofEs28S;??7WXQ<_cdQ(V>5ipRxAAA$xf z6p1+WLDAYPe`)qVO9d~dC%L!4erfth{(RZirk6bP=Y;~jDP zRflaG>ry@{I`_2=3Pti|Qx5nglb|Xc*+(jd3o$)IK6*ANEQ}3TGR_)PQ+iCAkhZa@ z=G5}dN>M46H!d~b(I)_C-VO!UrANsyw*H-;(@Ht_x^{oC!c(k@_1{Szw4Zj zYN&g3PMKAeNkha*73J2l4>+&_E~#4&PQvVPcrST+Q@uheH7NAUmjl8d3*LZ_5w|&p z3#aPWnh^{Kgr5kg52;Xq@B^qpHG=lqK+;(|ZvnH7`f#!pZ8?6z>0H056nSuF`i-U-kNQDK0nj*%q7ykL>G6-Y{pD2ko$~=% zG|n>*&du{A)mqhB3Z00cXj;85M=o$E``Pc^IwIbJB_29uf5vxy_W5QmJ8LTMDyG>T z-IIwtDI4Ti%Gpy?Z5AdW3#vBfDA)NuyE|ghE#qRF z3h#+eS?sCu<|I_z5pFuP_Nk_hY^POk5V?$78yja12cr#p^JTujv@3&C=7m_2%2{1) zF5FejA0I2&y?v*h{V-^^4o1a|Oo-94QRWC8Ww|qV$Vo%+LtKy9Rt9D3Tf@I578`4` z>^wXha<=mS8pV=;zicS7lx*&stazfMjO3l(3!~)*&p;iC->g3 z5G}3xe*DzdPUo!muicM33tzz>W-t5VN=v4Et!(C7N=>ZxpS{bHerC|AisQK4SC2O1 zi1$-FVF=B*%uf%F-K*e(l1DGc_vEf(gg2}tNtj^?dR-sI%TAmeS5oB%&w8m^Z3 zzPjM#q#2PLz2%)Ov^vCXvZbT>#(?!;dCF#okhGCn3rD@)sHWEGY*xx|-dklm-$@^A zn-R`PrkaFunHCkbblM!jEg;oXM#e{!%fC%zNY92H2na=FKxkudna& zswm>w?6fklABNHK9_m=DIT+@M>6Iy(oE+@zLmSI_#SuRUUSNh(N7X#xCPy=p5 zdZzFOpoP~UX-wWO5^(7QjJ=j$&m5{SZUaW3TeT_X!>M(bL~_;q2>x*J&&RN}pnQU3 ziF%`j>Ii={Jc~)%*~D*I`*Rfdk$*&omfJKzEyM^soB}B=i0h9S0Yq}Glo%HDzO9W4 z%#@CaClBY(;>L+U`Be4mtsVh*EyQPOY#hO-ja*kb=*0A^)E5d;VmK0nhxW4-%L_j+ znF={y2wX>w6wE|ACEQh6Hc&B|t}e6@JU1a+U=6qb)gwq4((LW|@CuR0Vhx%AG5s*t zaL$$s$h}O-T{rATS< z^8VmOcwvx*cLqjG;@-iEK>-27AD^T^=#7Lx z-hr}GkKB&{Dg7}-vE?~*1X3o8RCY!A&`RKtdJraMEQ?n|l;c31T-~yOA)#`7?e>Sx z=G#I+(}JT#xF)9zZxph1*`R7~L2k1p#@UO|tu1zR5W^fnFul~B7ex)`z&@3=@IKf7 z`|$942qBSy#)kLVnw{6`5R>PE5tr{X)WV>-Y<PWMl;R{_WItSNC<$zIvx(H*cZTY#nSsMUL+ym!sW*3M|)1(HvMN z>`Y00^IoSG-6Wvc!tj^F1>d+i6Nt}-%vDm1a-j+cxQwJCA1F&4z+CZRn*E_pSvYA` zFv6wGWw%5|S9aA9-13RwM~P?|3{nyO6UzBS-tto-DF!`GAcL12`pkPoj8=Da%XJhg zdv-O7H${2NqVxZjZ|0|{#o%s;Gnp(An{nhyF=#QYFcdJ`eSrAQ!2syL{E}C~1qJ@f zR-tvkzRf%$OAgU$yM5Br>B1z04xunvTP!JR^r(b+_=LBO(6BAzv1851Mm*+p?3Yjv zV;oR8{;TgucAES^5F34MZLO)Kj+R%hP0y=gx$|?TR?B;PGc|5NvLvN!81XluP^N5K7CH)&51teIK@4*v0)?>gmum zTJ5Sy0~+Y}=9|_7VwLYXE#CHwLv;bM%#Y*Znt{*aWJVsPi_AZPRGWBjs939|KP7Vl zypU5O1j>+yPrGh>BZoDZtGbm_?C1m zb~^o-;Y_frHO)VRaT@=qb6|Ll+2?;Qi*GDCVRXfAG^4wys=g)S0vH*c9YL!bF_PbQ zSBqFxSt2hTWMS(-*dxI;NqWv$eE;|a8uS>Ha@`iiH8sr4)B(QKcQ@9aU{CC{OV%2* zR#6GPxF)SzTYwz-V>VQjl(bu+{{B~SA|f-H5%)+SppVLxoS{eqx%KUv=*X9cCf@xIfs(3cKJ#2BTU~{CmPpS*j3I85K6oAB+dYQ?wOszj z<`zV#IZhmvOP9#@&{dw^mqN6Ya6tV)%>uLrS|@rF&q9^yd`(U2O#dz`7DP&-UBh&j zoy2*6f5+?st_+>n+)2&5hC~D&GFx?v=R9#Y*WfZf*6E+Es47E2LDqkN=h z{!A_%FBM?EBFKdV=Vxdtg=P&e25Q=1SRP=-(7N6l_fzvue(6Hl@z`4y^CMK4B)fwE zGZ-WSzuDxrTdn@=5T<Ez)beLFbt4vW1ZOE?-c|9HVDP(b`3i0N-12fd z+?jxXuufd(4Q1LYtO^4WV4|6+qj%tj5Y)y>agKo2IH3DvMhOmiB4KfdU?4lBD6MmM zS6r3*&UKVWQSe+k{9RG5jY3D?*w}dH@ZOQ$X{Zx026}8LXwFg{Bl@Wj?39bG9 zQKL6Me62dP4r;|`(KrBb)Xg7pB(hDbsls5mctMmeG&H&?i<+16x*ZX$2;_|j6}>wi zbK{|y7>7=5i?*$#j(PPXM&t|zMC$QRBjdV_&%dRTW)}U#%YJZ=o({N ztyQZD5R%ga8%Lq(OTOs0gwq>V;2P2I;BFqlgp{8I#E2TD$X6R}BKq2Sk_LTvDz5cs zk&)_#hSN@?F12Q@Hi2PPL60cSaLNMIehf?qL>@aQ=Sldj%Vw-N(U-NG#M)BM-O)d-(Yfn+KD>OVWh; z1L2`_tJn;!Ie{rn>|9)q&+l}NWnVf;j4FgGOD(4?*)mTy#om=~kiIA{&o1P5E@y0( zdR=CYLTgTEz*u?U;JyL<%bS_AJ74@^o-WRMrk&k&b9k_{Xv}5Qx%NfI0?naANV~BE z8LNQH71#r^PF_1t3HeQBDTE2kT)Ne$C8_fd9DI!o*GI>?y+3m zuU+M?<}N=s|7rgBvl6FZg~XBN+tiuIveU%Ue3HIShOXkHt}-(1*}K;xTj&6c*~r~G zilrr^T}-bnm=1VK{#U(+ba3h08NDb^EkD>U6EP zD96xlDcr<~2yG)Q%qi_Y+U~zK9@Yj)F>_`~La0`5)+;?XUTpKN9s-;vv9Si(#hVI~ zSw^=uCBZBfFAoeLdn;%rLCksblHa~xH!+!bMT1jY*@K;RCx>HO<)1qM1arjDi z;J|ydm4P_f4B#ZKl#CXs!(%-r!$%_?Bo-9 z%mG2UNI>GalulQi)mSXtQMkn|fAR??3}Mo5nu@2Xrp~XdJ;-%DuBs|HTU9lOVaNZx z6{18mGMMgDPvkLojpJg`qaZS|v--his3==bFPPMtXw3|BX1d@Wzc<{fKs3 zoqSOCtyeF#xd4qpd+7|GhT*O`GkQoyEa|a&M&X6&g0?Q9)qTrZK_M563a1iSxw+rS zN+xbbb=IZTGq?wPZLB?g_RNsC+PR=PLV*Pu{3jr(N`lQ0P>0L6@kC!^L_*L978msB zGC-C((xpOxlZ{2)_zYD*Ri9XO&R>h{2fanJIN15k>KwU^%fG*+=ZTf0kqh?~bxe^| zzMvjcWyYS+5@^vjZz@SYPfEGXLG)>#zx66*fX-!(u84ceA8E3aC2tou7Pnk4h`xs- zx6r!kA264|Nl1@kn!pJ*mkJL=D?{#hDCi;X zK~tgF+DC*AzL6^rvs%xh9suDAP%W(8@*gm4!N*q5KuY(Iwa)u=SDZKq=cesJBx&t_ypTC0!RK#WaFqgK6v2|Iz=h6|vy^*PjnHX0L4Vxjbza*sv z*miVv;)XxPX|NB_@=^WxoGJhScLFTp2{yUIE-Eqn4~vV(BRoWqgfibQr?|SYEP){o zR1~lj-rpwq_ckBsX2gZYi!XeXSJ%kH^b#|~?A1&p*HyeCWYYZfqH(GyLPisO(*9hk_b37nw%7 zq_g|AR7sj=u8))cT)&P?F-rwWDZABshOn$aZ=v#&CN-UJ|9Y<|*+(i@cA+t{-ql9e@r#X!tlBV-SMbZ+inv2`kV>e9 z5v?)$J)nskoSY*db^<4y&%Ic=1NG{UQ3=!_*d&^P8aU8@{%pXv`&Ody!;^-VR=}$B z6gmuM>fPW)0B1!wPLSQ$v{4A9{8vqezO@zKnFtq_n+51+4DN}^{f**S2eW*#AbBo2YyYwQ*9}B(4>6&*V1lmz zuYuQ?#_bcXf$@7g*HSRK>+oK{dUJzYn>x+0IAVzNuhw)Jp3L&4o@@YpPl0V{Yg~83 zgTR6t$A4&!TYcS8I@!#sb2E=UQ0)LlprBvq;Iij0{2yleRDL-oKj{4N)kyXg^oa?S`I;(42 z!&6Q(W~WY^3JhD`o7im5#3mN*-m~&*R`*274qAGiaO<|mARMua@Ib-30bh9qj~(^F z9io{icmo3|@GtS;;Z)+Ri;9a=!v9iNwr|_^v881UXwpat7(O^CE}}#J%5w{!w7U9f zLPD6r*gci>Q>go;KV$Gy6KuW7S3b5+{XvPqsv7_Oaj1_E3ExZ4)Q;-~PvYZ4-(RJf zbx(J>S-9h?jqpSnv<{Hl?!#>|G{l5DA5OP})h{I6RsOoeq7!_WFV2U=TfgX*vXxa< z$B7usr($FC`#o{mfBCX}u@Zg~xih9~oab0Nr~W{tS9pP{r5W`jIN>ZINu(jvhlZYh zv9Z46NG{%%8Xx&pAS@7VhvLPfS5Ufjix)5V!}Wrsu0u>uhKBz92Iz-N=xV_?!^m$i zJ0U1D6)CgCn;jXUc7ccm2yW`%k}l$PW)1Yp?I-sojcuv>GnGjsRhwVGeyvcy1kft5 z!7+6Qp*R_=8cY|z3c1h7p8g}A>jT7GHcX9MmYPpxEt;zAiUfOjfS&#Xibe1Bc(y+c zOn>%owea}t=yg-OuAM0SljQh~R@S+XiPs;jkpKSmC5R^CS=*DJ8uk&7&@|%EYi>`8 zsQ=6K@gyzHE-EYBIV+#;4>f39DYOrkI(<3}$CtRc=7=Z|R!Ast^!z_{eRWWlfAB4S zr6i@1mX?-ol$4fk5JV6pq#LA>RzyGqq@_!`q`O7BrMnw`%Wv*K_s(2~8OPTF-}iYw z&+gf?XV22Gv&X@U(DiBpJvQ@9Sw=P3Mx)I9-dhESYQ+l zrnAu__9Y!pFl5NA6%-ZeXlXN4FW@3}2md;GjSF-&1dDv$2B>!u2pfh7R`uC`Q5XE)d$$pW|H% zbQAS6>vP?0xk-9@6r=jg=%}dTLCf+vA%QLkxOplXnsm?PJo~Uw5VAql2?ORHv8Ryy zFv0fgZkP(#v=LyD1+3K!0qK?r=je1wWrzkgXVF2b@gwb?K~mQE zKKlJzI9wPPs-B~o)PBqQ^8LRpnWRi!{HHg1ih+(!CnTiz9it%@a^k@uI+!rga&rgN z)p^?4hJp|fl=%Af8`>q1DoG;P;TzaQ@FjXkL=+5<6)S5596OMRgU>Yv1PNqSxx0FHq>5jgbL@li@% zWCMIi`|81YG)x|R{5#ChYElCFIE&Cw#IZJbH?ZRrdcKf{G9W9#$GRJ!vv)Yu|EhCm zR|A9t&`@`721`r+LvQi3@9R&PimkA0yVoD)5Cw`yLLtp(qo4gtJs4C9&}8rA~uJq-tOSUHrVi}sIHC=ih#T8 zS3Zdc-!Wa`Z6;13BXe_65Gqt&zWmT-ng#*zMJ8wPbu^Du*3jEoT-|Y@%dTZkcyPdg zPTbAq9BZ*8p-DBU5Bc)}^2XnkKGpV!BeHJCwpXk)G+fy7I>@+i>8k4M>R@*aqgH;7 z=PZb{)6&F$P5uXu7R*nvoc38uq&}qo5I9QE@g4*O(3l1MMH2B6C!o-k&E4w}@QQFe zV3DFSXjtF8c>`W?IR4Ms+Y?h#?l!x^^aV_t++F@rOM+_$5R1cIMnr9if)kp}tMRLr z*EwgjSy)3!$=Pihqz=MeeFQ;Y#CH`@H-TUF_7+_oFoKE$ffs){Ei(9|`-dYT5n)ZQ-haD$WZ~387a9=}@fBwRNS7XZh!ie5Xz)Sy1D6h%djPpd zXwwgwY-XtfO*l-tY{N|Yd761c>yGf)07i$_Gei=5xaC9bx!nqYNa0YUp;6P)N~$O0 zTy@u0tOLB$$g0nEgdQ_Ah~O{~W4QO4aY0oJ z#&os93~!Hz7JySac#nV|(9p~8{v}B%xX%oB-)dbwijaoGOuqQ5@hmJflp{d_LX84F z4HD9M<&5SFm>1dTMJ7+2#-_~;O~DeBV*2!|oH#lj{ij^}h7YU=XfZ3(s8(Qsxw(iu zXE?*CsHm{d5(nld)Cmmz^x0}z3BFB^I|-7TIy z@;GM3@Zz6+b<1&i1oqF2Z!=(8>?oMj!nOyx4H&`)-)Ct4gfYL5&8g|NVHilV7OCRd zcJcH2^zW~$Wtx&xtzSDqQPIZkRHl;KyXg4x@eD(%L&ElZ{lyc-x^mIla_8Bk%s&kY zGHR~b#CJ28Y?L|ksLRVYotI!`7-)acA=SMmpiJC88Cl)95c-I1vl1ws4!bcaKT0mD z%C;Yifza9R4tEL!-8Tk$cl%u%YgcL{;+DukV9m+J8B?(XlBd zANoRCb6o_?k8OXzu&XAfv_Y#Wr;55dEz^Ciz&7g6pqY=~C+5ggCaki4{rY1p{{dWw z{xjt~?KrvRcCvi229g}U!uO4w|5pS3|IZV(Rv^nd_UHyyW`57Rp}wPqHtkOTpYD4B zDa-#_3^L-%&RAV?lPFfB`cuMiU8iZO+!*RCz27^h6ma+5bZ zr#Wo-u(KFuHx?NLdBD!Z=!opXMXlufJ2eR06cAn+*;gxwow7HK`<$@xVV^v zNK^5_;LoZ?2gGCwm)QzJLc+Uz4#uUxW&%tE0xDWA@ZXfkyICw6de>KW`oRhfS}ISqM>rUija(n3%256*w%U0}SaE>?@zxm3u+4vz8+ucN%z`NxM6dy!{WGDrnXjMc+1R9_ZjTE33hs5;5nY~7+Y1Dy+ zk}plf$cA4@wpsY!L3az?his#{-fr8dm!CPXKV*r_GO&&eo&OEMaVeP}y;oOn%8o92 zgR~teFltuCbV4AS%oX23x!oJB(|FjkkSLlPH?Y+lO`&q;{-pKw1kxMNigix(hK6dU zv!U=v;hTBliY?)e&TOX3WYLpDR~ACj$NRP><+@TS!hk2zXllV}5tw~wU#0FXPFrqA zZXOCKhp$VYMjpGZM6iDOf)@FQ7WWB27(mRxIobBEN$eIzxZ2qBt*{BLJd}Z`4mTZc z2t>Vv1RdgtSn^U>?*#&WqL~#a=pZxF)TmVx)cUaIsD}bVW@jI0^6-PvXeufMcm?tz zAdsu~kLhy-YbXj7_ zU>6o91Kt{}c|M{bY9#HnjHR&>25@c_8YCx9Cm|JKz3P{_)VV#Bf-C@lkuRk_@$qS8 z>zEAPELYL94z0xgg9{Hm=x1J?Z-#N(;{PipGt${3P4rd?SZ(iSrpsFQlFnL%XCM!&<&ES@G_I6NmHC zM_C4ov%Ow8@HZib%1VJgW-U-WeF%_`OZ1F(^zvq#Pp%wg_xXJYJP{OYIV{~v8C5}vaNHcsVzJw$*~hw z)Lc)CXUu;#DSC(zsgg4Cc!4?o>5?|jCw{Ic4lfN za*&LkF89e6e3GNb$aQPPR^f_F)iS6MlB(+rjJ^F0+TQD zMsfve#^31aLoZx^Vq>P?@9KWCa8PaqS(7(W(J>T7yy@!~G`F{>W64mq!A!z6K}TmN z)8g@|OWH||fDypRD2R2s){l|>lfi$SntDUvc%K~S@tJXVPY)zJn2ZjQq|S-9<%6g0 zcSlDsX!zk|LjtCurG@Lj=)7BBUk`=>(6WJ0ii(ZRARzDv0xxtvs{JdP58CA=R8)*( zZ4?_W&+)DGq~7nDvKbp2e~FD%(bs2j7e+9SJp5}|sm_E~k0MJePJZUT{!kF>3b9<* zU?-pLB?d!WPiJT6Gy0g4n;4nuqS|@$+vZrZe#7q676ao}X_UQbxZ#<&X8jYbJNIS3 zeE9}aNQk#J&LPsa91a_v^q|rM3pRV*r_$*vEbNc3k&iCmIm(0k%rfADiiVZ}B9b)a z%YN&P)R&#(^8cgM9zqM&s?zzzsY@ZUpk_H4LTr}FAUH=F(zW(j$q_+#F00Esu5m`9-P z4rnAD;46$^SIt7!&C_^KtONDYYd-PHp72UglgQE z!?G|X;`d##35%w+*1z}ByT*DRt=qP}rlGXzi<75VxGczaeRJa+XUAtd-vQwZVfu8M z4J)~ea6m+$>WO^v_V4@--I9NoVQUzX*u&U89k@f@SoCVgSi`WPe8gtwh|hU`Vc|K{ zbNAi(Ot%+hv>TT*{AW&P(NXb=o1c0p%f6kKmy?73T3y3hqv2apve^DWC6+S>Y8*%au}xn?h_^(k0j?LeSz0UMF^pysA!7Ilfr zjj(7gYnav!$jVxb`R_Lu({lEPUDk9U46c3}=<1Atk>ESCX0>)_a8px5Ng+i9&dmQuX1_FL7z5sb`?)8X6h`PBZu*^rOWGnDhbA4XJ)nJ^1}>i!rqb z?aSibxLZT#;t~0R40UsABM-Gci>~f^6Myi-fZa>k+7z4#UjVhz#L9ul2HC9a;~ci( z@~OX8(n`#H!J(P*6Aq4-`Y#SnPTGScBa_``-)%@0lFVG@Dcl4T-jr%h*4w`UG z=SKl$183;Ymrc4SQk^L$!{0SKW14Y3M~5^ixprG1Kg}dHPi!^Q`wx0voho#zRb;6S zoQX%2e@5q38rr?hN6@@-OlVnki0;Wa+SVUf&^L3&X%J=l>&-v>=E`f=qIm?b7WNl@ zcYX&`c@V7c#3IacC$kD*MhZ=I(Ca)So12^B2_o$^^2 zXfS`|Xau7KZe+6;+(gdG3kS(L`jbL2aakucUl8NH} z^%IqLOj;+RErB!2_D8E9!@U`m200KK&Rw}D(H$gv1b-C{G(@O9so{?M(=y;-GsZ2A zZGn!uNPOZ5?cBR&cXWIDRPy7~t*J$B89;Ub8Mn^8$>1^y>Fa?U9!`DF>gnnLxiY7- zt4FDFqts+c9RKB}I$tPSfmye_dOgI@w zEPX7In0KD7#w9d|^G1=mqh#;c_t!fDB^{kNim*Pi6IdAVJ|lG6|6^Ic#!wGx&$}7J zzS@6%-fz*5^{YOIDbO3kk>R#w;eO`b0DbpIqO;<&RtDFo1$vV2FH8s&K^bZqKI)znJZ?-$a{C1}4bw|tEV2vnI z(Te?rIH5NQkCEpd2kSSqFe>uJmOEJT{GMe$gQ){6U6dWo)P9k#?w(=6FJ!(4L>#9j*>KaJ!PvUTT_@h zHiM~iv{9c{3!fF<=Y5-3r*mytz89oHkZKr zOVP)095lJ2^rVoDJi^8n*sQ$z*w~JTja_{eaXo zC#qQ6DBk^hPs9d&u1@3oG|dzU-F1wcX35UEA}ormO@5yhJ-Xf+=ry9p7)>FYA_vj( zRl+F%;rOSke9{WnA9q?b4^~iWB`*P}y~QO}7&|!@@DT{hI%P3A=n+~wTyqbX=Gv_r zAILFqhT8;%Zulemy5sD+nxur?8>KjuxDu%5EaD88Q&3?&goYyDViYGD1Tu2AzB0Re|aR`R(z(Mr#vhEK6gI!AEL;^yn{ z?-%4U%H|xV2ZEvU7+*FN?q0BEpVe4T9#C47{L#pu=bXH>^EmI(%^zt&j5AcA zie1U_gzOB0_VG-YJr4y9Oom0Y6Gev{FAg|7YIRH)nD3e!cKD|Yc!XVfJ5YLwc~(Np zEMsbqeO=U1fHHr)XR<9F@OZe#jt8>hRU}G#k@>}Dq6(vFzN;-X(_{TRK0i1*rKXp2 z9g@w&o%|I}B~lih@#jj;tzxm>80tLwhCTn+{%^`AI1&mX8<|%8FQRmS&Rd?*y1+9K zt5VfEQc~%D!>|=LMVy4yUAuw zR^Ii5d_;RSvlzTKOdr1WAM?oUS%jAi7r4%8DA_bNthuNpZ<;h?Dt+&hOpV6D$y%_q z7hN(s`^e4*mO6Nt*B-o7+}b~nJ}r;{%^!j>5^eOdyYN~T$}4zp6U8(SV!EiYNIe|G z5$5GWzvke%AI^Izt_@dExFHF8)@gJuYq+$7a^Z)ir_xWWo>gqq#Snh+|3uvE`g!T= z_GnP2pvMbZppeVgY!#@1NqyrG0unh; z2{Lk_I%yQBzQn^oz7Mq?)QxxB2#k$!>USfN=luyho+kAE$sxj`(PgJ}r1J_S~%HaLYLo!Xrh6ikp-AbNn~9 zo^tGfZ>~=L4Py-_jiO1ws>M)fJwmUmJ~15z<-;g_Haw5cN?d{k8I_XcW3lV?Dm!l0 zvXJ%}LVip~X06ZmI(uCdhF%wjnvHxPj`fsA8TFlL&G1KRR1hBDvn)Mi#-4Dm#HnfW zq31WUp}hI0l|k;4Btv1@0wbPZ@@lD=M1;WFQ|GD{@-nF7VKMc@M6YI7s^PFZU4# z8milJf>M&iB8~8jP@(1Ax{2gysTNf`#rLYEV#LajC;8HyyYLt5-RuW6Qq`G|a@KW& zg@IMZ$KTjH!3|Qk)R@JkPcrq@*8@V zlCq0VM0_DdQt)0!IiZwg((=j?wtdT+c&C#G&b{u`f}OY33m@c-g3d0NACY9b2nm5$unh;c()4i7L>>h^Wlou7OfkBt!Ih$B^ zw+%*JBTGVqB~D(NMPf`!+CaT%=IRlKNqvtdL{zq|(8o!gg}jXR%kSBHsV(N{N~Iii zjRyDn)NZdgyifOK;gDlW`-L{}Fup@`W}_r9kz)h)A|7#VWyC2xH3OY&pBHYLf4BuSHk0 z6J-U8(YuBwO3JR&H$vs|&jFH;`*p3!yv+C63h9^awe&?wO8w`5VVV(*ugk84F zne}q|7}@;Oh}UG<1|*Vb5>;G8Bjk}~@tG3K@$ zO9d(G+-o!lLDRdF_5CsFNaaQ_4gI_*-5~F!aq_M%*8NLvl)Iwx+`h$*&8Ww?^+PRL zbM`djZ{>8eMH=$f*XV{`2!V?$q#k45so7`GcFkxrSHc?a4$Xd7GLLSl_eKd@uTQ2J zT_$qF*$%NtkXLukp~abNUI^-lI_a#EhSSDW$_?VHe);RS4+7gVZ+C+xV8dRWsC=w$HRDEK8uH~ct$XwbP$M?q2@h$l>KP?8<-eU0bYi1;E z2#X~i+FidLS&QmV(RcfE&$CgKx|Eu}+JE$a!cm#}Wh`a8rEB#5*^(q$uoCS^w%+T> z89I!TcHwK*YV&TF+Bj}Il9_n(zcJ396)iSzKm2PcTFlWL&YCk}Gt9Zst85JQYv#-f z-){b=l63Z}&2X3#-7U-Wz`=tDyGg<;acOt6sVz?jV`mJPT^XC#N(l3Jvc%Zh+e zkC?{g%uU?kL43|Dj3 z4=%Hgkmg`%IoEF3O=Gw?lxG#c7{KH5fu8n3_tC7UunQ^>ujiIacC(kJQDIe9`G!7U zc9Kk7p^WjnUq9}0M)EpE2m7~2%FaS(7e3se1c7p*`q1?mnjX={ly()b_ZLS ze)sF5dop|7U4#-Q_=o_-kR~B}Ns60b8B9uX!TUT~n~pw=^aNA)<)_dM2Sr%Ac!e9OdT+=*Od{x&)4I5GN-qh zRvf+Px&@CjKGEO``(?qT@Xx~8iKRxK0x}+pJ?V)(*iI5#%vlot4*!w6jIYQTG#n-16#d zwN+cf&vS2I)1I|@WA_N*#P*xq<=Mqg(*EWa38i%8=lXS@mw%P0=iqZkK3E(c-I8Oj zoe^pqq~(n-;!DCG+1_21z4$m`y889uj74(GF#s*I2=OXMo~dP%XBy)z44EtG%y~C$ z@3XH)ot88+R39jk23=W;*g@V4;V{~F;L)mLn)~(;e_nB8NUN)pDa}}G4Exh4yZlc#mI<FsFxakfr%oCSPQQ9B_ZG(Ab{o?ER>t8oX*^3v2&wN=vm+mz~L!x!nug(6sg z0<`9)p7&%KAFYw~93Zu{Ej8}c_bzeq{Sox$b4siKNbj$deg7l)_^e5q z6j70ck8kPy>Z|GS^~J?ByFHq>(~A0z+(Sk4CM1gQ6v!^<^!2Umi99+6eO)Omsrjgs zi!%pL6n5-Sm5JrnHNy(&?N_|L{M!HwY9!Q3i4twvwXcRWvZ_-E_-uM(PWWiH zb@bn|j5eolgjiTvVVV~+Uw4ydcau0S!#nzf-_XdYV`s-^(HY?-TbxRPW-6oQLHnLE zaqhRMUylb45xdAlogJ#lXk|lL*8f?fALNQ&R}OO8;f5uCD9u##BVgUQ=z`SrH=} z7tqoD@XLsxmF+ZTY#yd0A)yw>`Ihy#hqIb#m7lE?uBi&X3R|3=yZdB`=hx$><7tfT zCyAq@8odJp>4rs1EA2kHULGE#paFvAGy$}USp|zHjk~o0KpBJI*az#WPO~y#B&l?65J;Ic)p99CHt!L!SH&w->Tc&Z^&QYEVxnVk4crCWA2)_nV0E+rS}4G|9xgL z2=l~2Zb)ahRBxl+Us-E=UT-LWz+`!1)NoeR(a`}v29`-wvbd%?$ciJN5PA;C#dV=( z!q!x$y|WXQF*G#ZAt*Tb)4-~ohX;C3X~>Q&z7%ZMl~hxR_7qi?O#Aw#$&L(+$l|j; z?#@{=hAJQge|=M5Va&b2TiejkJ~^q&!qgV0%GkQH#EVQm$HH9G^5yfnXepJiF#`nFwPi&#wsWm$j=@PAS&92hhvVrYdneshf5T?uK7 z`i6#!8yjeaq&!caV%$$&{fPbNPem4>}P-X{?zjed@UzMaQ)VG1Oh=I{X+Z=0&$52fw=tl z8a8~z?~h(F{Bg)*W2Ld=1W75VAr$ICL}_|JXs(|`O~Lqc5t`hR`dAWJR_1s*xGa)VhBMd`%oXk5Ng zyLQIP_TJuoVd2w1?YIO4jgynr-Fv>izE`oawH-xNX50o??L^4p8CB9XO0o+rM=8q3 zgZs_q7Zbe~l0%dc8+WJ#?5>hOQmR>Yn6cqkEn1P`wHQJ?iQ{$d`S~2D>5J>IqISfi z2r3>kGL#5kw9sZnSTpVFw3dXX82%@m@dvXUdNQ?t~@mx{~ydwBTOCx(VRNY8z> z%a<=BUdYH8bj6p&^V?qbDVd1v>PeQ0;WEii>!|g^35$-d`SVtX)AP9SvQ9Z%gRj@w zanFyZo~Zn}IkE**BC0ivDM;(!GdW#>=gEH3g;d~8*>oIb8=J?Lqs2x|Ut*{Q9X_?R zypRm0u07tn&F^{4UH_4w5lYEn(Dd!QT_~^R#!QbC-CZ`e;O7B^dYmzzStboRL*wJ? zqB#t<_V!Zj7rS=XhQlmJy_lGpgMK~_fU4aT*t!4j-@m0{GzVM-)ki{_g@^82Q;W9z z)cym+H*dBSphWBU*M(H`^sy*{{6iU}cGe0|TMKcd*REZg@~70+ovb=z(J00bYi%Hv z7q0F8`P}7bKF`q55b?UiN-LJfylu1kf{L0kEbz-0e5C7w8UmY;`iYzzVGw1tcPnqM z`uZ<5qdJWZ`v1H|D5byg@9uv6NIA1+ZP*@e z%$2Fxkc+M=&y&DUpB^}sb;k14Put{r9NDco38|^6v1pcl3lArgWh8wS$J;n>m*=vr zpP!$fJ8Z$CU2!w2T_TL}tH?aHm{&YgqQ}mkkCuUffv4z1b6i5g%MYB!=`ZLa+;kh8 zXz$*=>nk0`h$&L{pSLn{@%&HK)o&G<_0vPi@hI8mhD|mn#7dV_<33NmE5Oy!(RuIZ zxBM>!PcAKNwmF29oLoX#nF78!(o&0!61|9GVq@znSZifU{GpP=wA{ZctzKf4kaG%! zwV7$a)yx)4v~)Q?bu~sI{o3d0A3gd^$|N`CASkk$AjiZckE9nA94S~!ywH^KIK_g> zzg{zFH!4!coI85@_tDWeXJ%(Feby>zDdM%8d!g-SYKSy4X!>H@5#8e&S-Jb~g|?Tg zY{Z`p zC>!OOP*EE9!eTc&9-Sw$lzCWdsG!G$>oHU8MSg9?t{nq~4a64ScCFc=Bx^wz4 zCixxBfvrYL=HYT@cEs}XGK<>IC3(@Kt3+a_H;fBnK76=p+~q(NcrG}nQFZ!!!e!R+ z7SCUQt#T(W*Bvs+FE_h(mwRml6ZjM4FcV{U*Wvy9F{W%2lvi_s_tPkzdyI^n-shK( z_t&4V4me-lkijwTwA+k=8mtW$EKgR8v8s=4sEOGxu&`-YxJXNT7duW=9LXYu(^a1j z$ne1e$kZ(RPAlS;>$VrGKRBL->fK#N7cL%*S>KoV(&3P0+?l7IB`z**bAEbs8C7<8 zczA=FdQBik^PAm#TPPCgC85)Qa&!b!Q`PXOk(h!)62@G5dOB7%5g}pIydC-9bM?PS z#~@82Scl@`FXJ}ull{Lo<$rOZ{_kE^n(8~hxTrGcrlT|2-nHwIHTqi9JE1l0$KK$v z>Sul4I5>-ct@eUW`NEIyks%HyCj+JEJo~uhr(pfK?)4A0baY((VLq5WW-pKP{{4HX zcSEy|Zdd#;wJ0@Sjr(S0Q2Tt6PW8EuyW4?Ldn5@R9SRoYzan#$zYeb5iaId8P7XE~ z*Go*M?8x9*-cY3ITrfHu%-{*Ip z^yGuayokx|^JL+T%TjIL*(eWs93xw?Rd?fGZ|^15QkzSJ0e&V(*GO0Nf*WIVX&=n< zXl_%^&8qST@~VvY?{9CEZ|0exXc4z~%*3m`JTb5Wc3^C5TU!LPTEPOHYp~<)5=XpX zg!jT-Vupvg0dM2e`|(B@Sy;lG>Ab0f8tb6NU&zU&n)Uw?Mt9snz}}aDMTUF*`V6!m z?6n)j3drr*=Gpaif>Ng6hvp$oW<_o*_}8|Y&5FKD??tJ9c4Kp+N|g!_JpDoebe<7e2h zaG}k=71;HP)N%3fj2b>ofAIGY{r;FOh!OR? z)fvZU(v##Yav~qco4_CyOr|V+FfmH(L(VL^5NBOgYgUy1uICv&J^eLY+=o4RN;%pI zY+AH)?d;WUic(fNRt=wsxlR8?S6`fM9%(xV)YmTcY}CXFITPyX>2X^OeFGe!#~UZ$ zw)?=KsRF;|$I~mO<9~TDLxz-bjeXzzq5f4Y?18Z|dn(Z}5tT`u3l~ABihz#7VdImPd-4x-^_BVJc|xN5RdCVK9dnIw9jqZ5VC4`;dGb?1uv z!a~Kx#r^4Oe{ky2+S;o0M+rBhzs(-@I1x@**G{D)z{ajPX{Ng&X99^DLG{4WOFpg(tj_01YExRJ9e12he$m!>NKk86odyuw!6;oC|Fe!)xhQ)onIeB|>nU*AS4Sp@|8l z>J&6UG^f!c5qD9^l$R0jx_^ig-0EB0AGJ1V`a%V(fSOPWi7R2h*pEJ7AI9AQY@n|{ zrr5R!sMzBu;KPRxh&gker}hUD;^F`>E+YIzk zlJ%tMm)i#~1A{qAkOvbd1tz5i&2n9dAqV(z>TsGw5Cwvo zf6KZ?k4UDip#xe>~L4rstly%R8x?4X6NghkwB_*jSyJ-!+(=c0X!xDzzs{g+AspNPqhq6`X#T~5}i z@M#1;WM;AeT=gHfV$ZMn>$v)_{6G=TJ^Jiml9Wn~#^z$%?}Vtt{b1t@t;lCM9;6f$ za)9k~N7plTs%d=yF5IA@>4fofcy_Qp=4!%>I6pMdLH?bYk;`*f=EM{a7);q}_JGA$ zY2eThgSbRL+;^(eopy>?UdxyM*U1lOL&SF0CM(^Y(yh^dL8OD z1$)K->?I~v@Wm!r2@4HhZR`Ojl5Z09(9Zwuqjlbwnx8?V=rLqso61u`KKQ~fGB^9_Nd zA3jF@go%oIy+Ly@m*YyI@Cl#AkWVD*CQM?XcZ1nlRR%|Z)rU)MNtH7qpyzLK|CTp1 zdo^(VV2E0Yjz#!mp z_*g(d;J%e#zuEmqe;8pivfAC$pjJ@eDYLozv%6S(Lp8eyV8-Qm4S`A4kGZ3Ixu$i{^ z_t^&aYiplEd*7g>lu}mSC+|Z9 zeEhi6B~-9HeqxGr`@^?7n3D!G6;4|avt{fj&FB7mnE*|mf5e|2)bXCL#i28V?*?P& zZ^Jy<{AYL7D>#IPi(NFQTlFDW+0_RV?tz~_>jSX&k5s7k5`hoe%3ggsqgMQ`ryR4W zM~ch~jDp-WcLm~e{@HOEO67#u7q;LOZ0b$1ylnh2FPmNg-r`IVz9Gpv-6`NDJ zf6J*n0W<{6B)d-j2sSuBP$BCo0pH!-U1m=K34De-Kc;?w2GM{*q0oH50%Rw=FFXO^ zzIgSDH8&pC8%e)sqev!fNxNnm=k9E+QIFOC1O~b9dXku_2M^BXWLpscl#qM-84Dj}3W4&P+_6CkS97gY)K?NOk+xnsE5r%yW` z=SP&8Y6aLnL6qz}GePyjClauffV;w*Z~H)>^d>c~BjB(BCjpc`AEo1^2g{|=Yh3)i zdS_>+Zr*NQZ2?0eWHyzK-bNVy2T%Z*cD=MYw`6RFFe5%bp8jCG#F`G#)6+vO;#SyV zNlF?fEY{rE=(_Spvy2mj3`TBlvZ(fX+&?l`m`mE19RyoJglKM#g0fz*Io>rzIYkx! zgt>|s^E?=b>M+X3fC33qJuXW7Rx3vQ;zHqLkiTp!cUi-@1~EfhTic_p(_TPxFf#Tv z=V{5vJ~ZlYpJq`i$w_PNIjZu;eJz@W~OTrQd5HVm>fBg;z2XXm$*SK>@Yl#&I zHyH33#hUDWaSn0?r`4E?+rCFUkl|mdmZG4ZfOMjqrS2B#xHi;-#()Z&GR;iYZ4Ll$ zawud7ddNV;buAD1D<#DiE<)Qy?^>n1Sm$SQ=1-qKwe$*+9$m1Ah$Pp{=jG*rs=0NF zMqSyO31a__M9RH+^Tv0SQdv&nWlD}Q6qVc5F7V*wc-7kFa5~^7hyK+>uj7XZ=#CV( zy_HPWyqWwHjVuZT%o@j)zMrtd8nfL27eK8(g2ovPq7yxRT|w8fgB{3Fu+(2_YEmzD zB^ZE+cnuE^uJ95Z1k$wL+F#OPaNu#EA;{p2R$P@^Y zd{&x)?GM`=D+yPj{0zdvUm{sG{{50RsG$*+iDc0O`Am59%uzFb)sHB0XQ$mD8st_` z0bvpYC0BRgmJ`3PItcz$2tWmh&f zR)sc8tIrMr9l7ogo470{s3Gp%zn`aD`#!@{Kpg)r7grcS^2<4m$485afU)pGLqjEy zD`nr!a}lyVJw?|~+Rtuu(p3!mQQdu(jk4F{yg zCMKkml+KOv7NvS_s)Nr#rUoeZao7T;vA6A1O?8fQm^gl;1+QYBzW+1p{xT)d;TBPe z)qk4XPvvnUKZOU6;T&RJJ)DJKWrcS^zTDl#7pajKx1x@Ti2+QejW#FV6aKI1|NliK z@ZT@{|A(OdyKetoxBs&N_un1z-yQOQcZgn=Lh|vRmEWfqd8#4Q0&bO~cj(`++#>n> zpVn^XVEHBbo$3@IH^6g!TUyLO?6z6xP=g)a0Mg%w`soLDI*JYstb^X^3G{Y;dFmHy z1t5w5t>Veb0d2-%bs(b1d@$d7(hJn~mQKD&*$idYZ8X~8c((*JW)=r;tjLy&T!7BH zMd}RGhRkKl8xgfN0g7t zftnBI52sNZ88smeP!k5A^a{z6ux4>;K-j)UM6?Lv!!OJ`V!1=>0}Nc(iw1YXMXbj7 zlaiBf0&4*E?or`65HL3{XMXB<0sD^+6;r>*$IF5cvHWkoR`>*@y52N-o&T+Vjfk@J zR+x{IWdtDnGK`TYD6Ref$^yK49M?It?o@0w-Ui=!c_@z|L~Np<#=vdb|1JguVk{=r zJbG|q0T2PE>H;;-JyxD73qI{BHHc-PQanQa-HN@UZg(=WM0q4 zJ*5m~f{gxW3Q-CI33B@zXMUiw+Aekfyj%h*Iyn%|VQjME&XmgU01>BGS7rRL_ozhN z$PiDTK2^;c5H>KuDA$|X+S)*V-@o69q9Y^w1XO2qw7lDCeuKycByaEx0bf;YH?1PB zUM*eCA6@@XbzJ&1H}^F-Kys?8H-STgWP$wg;|}0ci3AY6`_GfwsxQvvxXlN?z@>Rz zoH@tKF|leC{{o}$*RNkL#U<)lK$lUQAhF=z=KTV9$acC8%V~YYKPrmS^H?}*B2qKL zxHDFtGv*LrG6-*2Rt0ALQSc_K>a%_3Y$nhm;g0J#l>^Kqp`g%SI==kBlH(1B&B_B3 za`Hyt#!Oa#f$IZ8?tsM#*nLiB(|jHDW}wyB*4Eadhq}1a)2=!nK%LEXSk4!2->AOu zf@=qZz^EfS>e5Z_cXzThN*1OA==AG8oHb@w|Jb?B{SHy1qT|^JJV`=H>D6E7&EQ6T zV_-}m^06a4PPeavqHt6A&=pk$+9@_h0b}6c2qmNuv{}vSe4tTm@w4((XuIjZUk@)1 zo5e02Y~?;SA2{{fUpF`e*EQ!i^2-+oAk^&TT6-(~(z3D-96Wt}d7L*iKN5Kp-_d#J zxaL9xpI8^BK%?0^D^&gb@g{PVFGlw2)vNF$N}zTvz>Ny3z?%`5{A(>E=(P4gCW>tq zM15@C`L?&nbiKP$hv7Hc!_F939S9+t0OxwnsVx z)LrS%XkHuM#0(yg9O_Sx(D1n)DU^$|y-n-t^w{l@iW=XTYYhu$*E#>Z3X1Oy-m53>Fg~tlnAHNW=pqrG3Upp zuni!Y%e|BOU=I6~H`}$dZsfMLwmwv5ASERgaNW75QDQX@ra#^j$&W&aM@qk^sCti& zk0afPSROtMWUo4W4`S71?8b&yDmp-QXUK-dW)`P$2P&F^)WWgjT`1#V6WBB%%S+KRU({}LI z1jYnP0X?BVj<1jTUw^TIQa#A3igf9Q$K77Zja2b<_TQ)AZ1?8sT^T6}!6Xs- zGSx^iLcR9>-r9IMA7}^`L%F_i%ig5QQXvSbOaJnPo?1g=SURi?ZRh(sZdTHO=sZh4 zsF*D2h;&*3FU}qg6{|UeO)+4A z(a3+R6)=LzoB|3r;#X?w4oFE0!(Av;2*}%8r{~+vbnaeO@F^A-L65=0R<=5Wae>kE z!9M!{ZSOju0>U`RWr&S-b_#Z{#Q)T@p`5)y)`jOSCr<4HM|55vVS+0~gW4&eN%Z}B zi)Vv#0{RJ_rFXV~{Q{@O(Cd*x(^<8BG)k-hObm~c&t!v;3uyxdr0qG8qh9|XcD%7v z7zMDMye>RX$omztH3hJVXgi?H?ri3z|77lEk49`57sMn^*JZStkM?6T~yHCiM%3Ulv-6i(dsro?6u7Fm_V%?!|3Pq-GH1 znJ@)YMZjU{F+xE>q0oGgP)CO@Ro**eDD6Gl{N^TVD9=Ex#A@6~-kmJKs*{))5zB45 zlh}Lr?o})-;@h{|Q(uW~=Xjs3eio$$uFW8c&jiK^pr1^ok>8*ko9oy3oJV(3Kz2*V z%xGnslm5*L{A64Hcoywbuk^?aT1+esIdBIead&@y(sb_6&^Z@<{+bAaa^jevob7W$ z+=NJ7%_<(-Vja^v{arZT;t%PXSi9=QUmVEc=x~l^>wz7i9hp(d>Sylge zH;Zqx8QZHT{Nk3a?ZY*jQ1@H1>$!ULH<3QnOlJP|>D^!}p_fh0R3A>6uNG+0$cNqz z{hu=T>iD%oc~yTAAFd_k(~5*cccVPBntO!EELqK${G}&q(Xz&xqHk^8-qyvtB1k24 zBBpcsUo1KJa-#fgPR2_VMUn)y&$an0X!t7=Tu$5-e_CL*4YJDXCtM}rB-s*K3m8u6 zCONXkC16#|T+cqv;e7n~8>Hpjk!KDm)R(^69QV`zJv9|wIirw^3QQy%G?LzIEVLpC zH_-@dy;{|8bCs7pUpA_}vGJG^cZv8(ryx(OgOMEz`lb|Thz$!`6`9DT71Nig80JHJ zNi)-%W3sckWXui^!a=uf!~*XgENX&miHW~}S&nAmit8M69MrE|MS-;i?5OEo{;5EAC>O75K(2c*F z^*H8^0E3T+ZGUcT!iPhnt(6e=-cn_RS8=D(-!i5=CiZ;O(T9LqyM8S2a}nt~k)6Ki zU;AdkIcoAcPoIE|QS)9i(l78mN}UcG?|)Y4`8X&&>0kvX}RakV9~0INx7v@$@CQ z7bLfCeIB-`TANFeSRUG@6?ER{;6e#&e9mIlO#kApoTJ^jF9FfA02(cm8J73-FaX1S`>E$*q;@x`mK1A7yQS})X&+O*BeOG2$ z)SKH^_zf8^=iwnN9ViV+B8o%yha7>2hc5rZdh_7ll!aL3)nLdVrOLo6$TestM9{j< z5d#K}+k6-ZXbptsaM%<7sxL4B#}B>Bb9v2fhz-*!P~F;^zTRFQEujN29S1vNtLDl< z)ZyNVH3p7DCbo2<^V{tgE-u5Dr3eRKrYAV)Kv0FBT29+#`iMkiiKu4&cI$w_{E>?0 zJw6rw#s;2{To+BURj=}vI%HTnEiH;&%A7b(DTvWm^q0x`Q8ZqfGtX4i<@O>86Mfzo zY1tPIkUbhH-zmHjRlaC!rytby!SXT0BUbv-{Xh@w{^5IgbObEQ_55fN01vAwi!o*! z&85;fHqszk1YGi4SXg~5&xLN|XL1N&1^#)P zaT!7eobvK{I@MK$7Q-ZflSxQO005c&4AZYToOuijA7u9Ft?Bxs0ZL`%a;Nnr2t#5b zCkf6I%dS~a;!W2?@?vW+`S2(@OqzoexUJT*Pg+75WD^8C(W*Z(EC-=g0084chzRZ& zr}Ktz&6(=D?X31)PEHbt{s0-pq=_K1)sZL`0+T-6y6T9+2euxE?h|iq4_kf^NKu0y zfhlZ*WDF6YSNi%SITf6d4Gs6edZL0)4WEPPRG@R5Ij5p7&!8ETkxUR0^MOqUNCp_! z@0#>!Sbef^e4-!g(fi?uH3LNu5itcLn1W5S2I8f4uAfrV-gATr9E4#+~xeJ_WlUUh=A!KLv-)M>58K%N|xI(bqAB@3C5Qce?xC< zDE8khUco{xIWYyDpR-%2MLFnY{q&EFBmM5j+AgW?c59hx`Ipfz@*{Q;hJ?ahZVNSD zyJurROO4toP`8%=`2i=~V#sD*-tp=|Tm~SnwTa3&aGt&a^#yJGH&~+( zBK<y+=wL!ByNz%ooQS|GH` zD35$*VZj1H!4#Nd5Sj2DE?5LrL8LeR>}`&={J%^!F7OXqAP5X@aI3v&_V0X95CALA z3}{#z^(0AvS+xl53vL3tj+0Ko@E3@gM{3-H98$T**&ZK&yD-=XQR?O3=GFlMgx~^E zmU_`ne2~X_kxDw~{{VGyA<-H78SZCnqnH@KZ4S`F?cNc(NYmZO*eHP~5S(vT|=CizM>M0?iNm4LK5 z<^ct-O;#tu>s*TA&Ya|`XB|z%>3E+Jj254P6{Ej1_YiZZu!<|WBaV#-*rHai%hkjQ zUw9gBw+p+dJP^t7mfqV!uZh0>$`nax^lnl}ZEM@=JG(Kt+8bIqn>l_Pt%bOT(<}}> z$GDD4-lE9gzhg0{HKYHfq$IYqbSu)b z3n?N4K>XdrDKDz*LuqM7V*V=d2&DWGjgV8m!!k~xsXZkQAvMOr)vFVSfb^xBSA1`O zn)aq5FqxRcS?_v7PU2hYA5mg3s`pmFXZG|u-IhXqp!Po9#=$tOm<&j!cI7Rf`!bP_ z9hP1L7HovhKo>3-k6O(_?gNwA_JL4azF}*k^A6=(a>$E^SCl+AX#+n@x_H zYt#gJYc`#U_u|L@zMForigb7 z^kTK?K*yPSj>f^25Rm~tA0GsiC|#}KV_NY0OpOD-#Y-*#2+Z?7E|gUsPEF~;=yW~X zJEda;pZ%xptR(nPp_T6A7dq94`u8zRze{M-5E3V2u8Rrr!mi)Jvlc#Kym!y#GVg(i zZB~StE=XyS;3VnnKixT+yZ1iIojN|;On-dg`R{R>=Ao30cW|(Kc z$R;n(Hp!uuC2>ypKYdjc81g{6|0rjDhG6)-oon6osg}@WWX;ar-h6~g(;M*W4!RG; zh%A}c^hdg1J8wEIbW~haoA><=WzPj1jh5BdEg0UBtyET0D`TUnYHDiw2h9jk?w~O~ zzFfJ)b9>{Tb906$N`jQ0>Itj+45eU~$|%8Lu%^}Gj8{%G64`<0rM?a{>% zHh+X>FjExaw0CqZJj6rtSr{8LR-fkk%Owax%G0#_$0fNm zE_uFVuou(d81-eSueUPPx-5E)C!Bn}UrLv}CO{pA3ws7ARwwKxh}ME~ z5{zCP4>O*V>%QI%xlpsd-?i_t@D7*LI>R55eqXE@)46~DzU{`CfVO+q)>KzSY;0_r z7Ddo~6#j%nM8t`NIH*M;IrXpj#y`M)HZCA9gL!5@n6HHe6AK@F*_D3ttx@Yy#6c7f zh%<%|B?lTvNGtpzLpke(y!;~QH(+Cvt843F0*K2c=eG=jDjLBv5q-ZE{9uo4bw4NC z?v;-dSvBd1uAQp&ivhzI_U7i%H}!HS8WA^#H2Xyy(CjQm3ey`b%PC&YQv*J*ESn7$ z%6^cE=qP3=jdx9?^yDm~ei-8|r&0|FTJ-FEvM-ysNy^%pz6OOCPuLOTkGe(b!hd7+ zAv3>ky#BfU`@QgpntI>0@e`a$uM<|d6k-O+9Z-rP>*2DTqJX?BuD8EFDkU!Nih+W4 zbn(h$oy!PNW;#{00VKf-9hP_QU}Pf* z9|Okdfg}UW5%kq}AfLF-g-T)49WWK@EqDuD(WtetGI(a93rH(W8f=KhwQ`-gYzW}N zvnjxT*(-P7AbIaGrQNu7>m^w1An9UK8bE;EyX+z2>jM}2V|^0R_X-Ld_EMpt z{Vua#2hqD@pA`qTrrFwct^iYuz z-NEH2JnC^YuLAvp1eLA;67%iFMR!2oPJ#y*8X6j2m)RM)9e7>0@qRsS+f2ivQ}qS1 z<57@iCb@kZ?^_xUgsOtn1!3TZfx!P;?U|sHpXA>5h)#ANUI?|BV&{O zhV|}}!tUzef!N6;3YrCKiV0X{m833~f6Tj={TCxXznE=$mCXsm ze#2(Fts{}+(!s=Azo{qIoL$yU7S*q(_7M{gCqA62fBaxaS#vvA(M7)f!%2UO&o`a+ zse~B<#&>;76riO-;)2_1>;dXtMwFc(nxaCt_Sv)N&s~>(vI(DVJ@+~36?Aq=SRX9` z+Ve=z*~_P7(n(${G9jT;XtSfsIs4AwZ-rz`r$R7e-qj#AHI>t8joGz0C@3fy+7%PF zfR=?Qbz5(59G|r)_!Lv%k~Bb$Vr%ND*`QOkZ`H-QyLw4g*i*kTZzXTJy9=VlIaSA> zVf$~jF&o4PyIv2XsFXR{nTIGy^U`nu6U;vVtf@7DT8k*1C!k`wtmV-P@2e64cnRq= zuAjH_PNGc91XXHl#C+p67YQk;NRE-h2{!g$v0b}W+l#fG-Fw-oTK=e%Wo=Oir7+6H z*L45fC==m=Xr`d!ACrvna%Y2*QFsobG5T4?RCUmNyVzW$hSg8`#57D4>n7ye;pwSu zh)mjn!sQB2#kjz4c!~h_bu9FSuo0#$VYR;pZ)pcY=TN?vkS&26XA1{r6HmB>zg?2a&a> zprr&=TpG6Eou0M4%XM@!5-(Aom)ukAXZ_67vsITjajAc=r01H?vG~xuFUC=DQWRhb z{#SN+$dFS38n!D@OlL`=2#yNo0lDz-aQ%p7a55YmxFL_(N@=xOT^$Vt;4&W&3TIYf zoAd}QtE;b z`}G!>$kV!KrY+`wfB&rV-ui>DPFj}30DwU^qAhnSa~DuyxOeXZtTGfOLlmT&0a#NW z6Bz2H$|p(!z45~qu^+bd^z?+dHN>QVxxuqL$iY_qJQp^(%H2g7@&i{@zK%{5qoyip zRUNSlbJr9_bO)A>&r0s1uFN@Bdn0QU0W%_~{#jXK+pK3-K+spkmWNSc-gnln=JaY` z-Ne5;r+dv92BB;y)-^^IVGn`^?v){}wt50wi8=4Vp5*4wMG1M$V)Q#=jSYvD7`ybY>ZMaJ)?@k?#G$LK=zUSl*KEhW zF^#{HW3KADQ<327GVRxjCBS%_R}p(Sk~@CkyI6nUyxsKm7Y%CbHzHfORO`n|n1)C_ zZKyLo9l3C)?mq5}Ww5(a{_}GC{ADqz2fq7uspJq6BWc?}=P35|ne8y_VEo)WK)o^)unN^tdL$Y7cgF{6y44g@))3V^RwHo-51& zy)m201vBrI%OCj(PPSS){!zHg63vDC@N}nHVZr;1w49LgEZ1j-lfx@#Rgyno-tOrO zIU|pRr-yFyQNWiGgyO~DvNdmEWgI%31!tI@5I7RH zqZF`pK=v}}+_uHKq04?;d&(AtCspJbUM^NPRImVlP{Ds4ZBUv|t{HFq-t@ZKB~mi5 zeHzc4|Li7%8!Rb{PbLt%nrS60$pBMA-<@>STXr+Kz!M^WgV$&E5LN6L9gOBK`f zH`(}Uq;L4$7=2rr2mX~#lD*%!ja*Euwr-WYS-D}_HOtZYuFsi-q9De(`YeXJ+|Rjs z^nLI0FNI0z-O3!SkO|K{u8Xl7&!2_$zWkP~8EDdpYZHFIJ^pk3n=Jv>C~x{mjRO+x zJbhf_PF#lVfy&Y@<;L(MlRIoT2mIcOtsA#bFm&7=Nnqz)*KgN8$fBLjO#6FY|5&8qFDS^ktKTrV&hNQ=A{2 zT!OE47E~xGk!!oJhz^{2`6L8fRIqb&4+ab(|Au@B=bq3xGY`}`_%mN$n(nb(w~?GD zPfRk^ewIubUW$C*7nIpj_N#7FtwP(X&nbc;pjUc#QhRa#Z>WRi_$MC4#AzE%VH&9} zv<12ZS0+enV%?E}YI0RnUG#v$*Gm-hcBYGEY0qLkrm$m2#_q`g?XXC6@7hmlVb_g6 z9|KgVRgIosF8%gq%i#6Pd;*^wu5TwR8}xt2Od~IxN=yc*t;5_0;zbE?ICC|G{lw6z z+OxE$wo8|BTX{PexkR&dIUgJna|O5IZ0AJ2aJP+h-=sB$5=VEva5JsvV5O(-hkcEjQI>`c9j}US^>-(ejEgTmt+29Ri{TfQJ$68?U(Ae zsrhXqHO!QMTD(BCn#O$5I{lh<(EsP@tH==7@1MHw{IeWBacf50mX`^V}nZu zYRxzb)@uSiRu>6f!#AAyYEh#>rFah=sLDTiHlzNP^wP-Q9`ctT+??8u*0?m}c`vv; zpo?Cp*>llbZ~X!3QuB6ob=QH$LC#Lpy2jl%rh{VMVo%Z*_F8QD zRrh+WkjP_VgsAqwg~4V;eNyR&s0WJIY57GM{o6d|eJd6PgEdx#u%$Rv#kKn!9FeNI z$$947jlVf^7&#(`G+6S?*RD~BKl!HZyN5Sby-eO(0Gh}moS$Qx+5JG zGHx%HqU-WO9p^^_@x%CtatuPG&w?QX^N!LQCWONo>j0 za1-TD4)wTLtZG`p=Jf}?X2=0eDU>()k&8p^=lst!?QY#& zWz5reunuOY@=Gfa;qsnHV6tqM?BB9;)ZP8}{z?itju10Xmbr@I?N%1r zi6FBot9LBn7Ks96{+dlv_5%fLAq<6C8m;jq7F4%Wz57DFvnPHo&hebu?-4S%7dMO+ z;a^$EWIBC%nIkaW;oR)L$@98&o#8kmhRJEk!z;(KC&=5=M5>%gltpds3wh=n-PsOi zN?#NAUmy-&Gql|Z{<0uuX-u*FS2lka zdqcc=c12f1SFLe6hDO=$Z?K$B_SAS}k-b0`>M!qNmRrQ~{+`)CuFnEGZEJI{{s`dh z7bf{0L}>mI@SAjZ>ZkUMJWoHzSHq?ypx;4H^oln#*{>XHEnNIfTskC^(=6*e)j6;~ zmYm?T<8|{39aXU9A5q`7Y9Hy_b!K|_O3KhS{`8|B5=^*by(cj-FS zP;|}bDbs1_8xl){*_SL=m7k@A_nxDTPVJ^x!n}uCyTVjDkCJ8;bG_X06RI>@{kyNF zW^wtiS-xfVX)j5BAvgH5y=7*r@pU1U8vgPSnZk!l_Ix&XcdN>bdoHrDT`g8d3K^rU zr8w3`FY@PGux@#9@(rGcOjtD}EV)ozI7M^u)lrohaw(gU6J*R~PI;TOse4Vh#}3~< z$X}ikSb57SZA#u8TvokiGV9eV5YT+DJ5QmAq#)yLvHfs%sJep7kySFeWlHYVjjO(~ z=Nl|%v)6)(sb|V*noR}Fh}+K}H%jPK&hnpc$PHC6PV6UC;c^b(6R z#wVibvPS!uxBu6M=6k6#=kIXDXC?C zRN!s^YP>=!;N#m%xo>OM?{)v|Lx7JT;zeQ`q`g5*u z$K1|-rh|Kn&lzlrOS-}KgWN6^4*l~HKH&JNX~kTw7hSr;`Kqi;m&9JBIa;|RSrc%RZ4gB73E!H z5Y!EgsrX&j2|Xt>WuASG%y3Q)lz(_A>ZN9g3cLPbQQab-$YXVqJ8MC{cN*`S_qUp9 z2?pHrJ%o^)_VhaT+nfCbN@0_9l{;fQZ!gU+bkQ4hf|z=?Uad zKC+M}N4wK&*ecnJCx4QAz|Wm2EQq)}vXK7P{=>W5b3K=+g}uY3I&p4DgbF@i$bHv- zS6t!Od9yv${<=3F|DV9>3xdWp3o6C~>yYwf8m(9*lP3X^!m=;9gfc|4R$mu?AxMrq zSAM4!n6ADdCOd-`wY>Q+9d{$xY1dRMz&c=${=Nu96gqQmzHRP&JspO6rM;L0BkAFM zjha*9-;WczhJ$PJ=^8yj=j)JaQ+s7Eno_5vK`If}doml?)f3%7Hb!k}s+}x+z3fZk z0kTfrpcbXGmsSzLia^XcnB`W4Id0#E;@~^g z#^y1TVmk-x@6H{`6#)eToeSw#OjR2Lv{}uzpT-?);_>w>Bb$OL^;EoWex?6;K*yPH zBJ-Cw{b~Ip(Rg(Z(@Rn20NGe}WsE63~ z+Dsk_i`ZRaot*Kmm}h?#KG&Ob5Vb#Or8a&HK|WNuf|8rkrt}gJzZyyH5ubnawMCo(TT!-vf~} ziSAuZp4=H5sBD46Zljq;P6>aT*1oz^^%q18Z_^y{g=1Zad~4qKMf1LH9gQ%hbJQJ? zqA4Y%k&k8T6@IqYTKDSkuK=gP6DecDwGS|Nr>b$TRVI>#og0he<4{D;4R4CcCXMrl zY3u7b@vEBCCOq#7Vf!4NRw5jth4m`5wdMN|%FZbbs)6I_Em zx4%4?9noxTS)g*Gt0FjXi$T*-U_AF7xNa^>uA;%wO_KJ05eH_leajAtpJ2 zjdImyCmi^a3@YC7Ei3EI3K`*R@p~MPQsUhrD%1p0iFC5h!wBwo%O9w-bv_I>ll#sV z=wihGjM!0JA=0;M=Po{Z4!I1Elvgt6XLHt<7N)^>t|{%?%{w_zk9?UqSSA0EKG_si zaCiD%>H>w~rz4S1B566>=N*ZF?e3gDJ+~b%FcDfT(eCIOxUN8kwoJPA-ls@X;-%Y$ zFA=*6PSR{xCr@*o#h~f~y!be#YnQdz2w_S_)6}&fSz`opNh7VlHVwS_D$6)0u$fkr zd~eMyHoyN-it8;2-dlM072-_tPda!eSbtr-VI;K^P=nbvq1%BjD_y&Gd^0iM=rcvWSdR#zEWl~E?le1qeR_(>ZBgN``K0hJepV|`En(ae30DQG(IIEVeN0$j) z2*0~c=ptgKs!Q_Y#hWpv_Nh-rJ*^c@o6@`3S6XB8emyb>a!^LR@44Jq6!~rGL(is; zc)%|Ym_;{*3`@*@e0nt8h)Q}8E2JUwo?DCY1Vx^;to*IueSGlDsmo5S8#R=IKO-r4 zkKgpK>^}#r!A}wjEDrC)1S)OD+h;};{yB+Q4#N=WRM{+nDRVQgbSvARN#{|B(C;)y zWdsc)OWON1E|JOKjn1>jv5Q!Ojz>wK;w9`?M#eQgGuht{HtAiu#@XFA)AIP9fnH(b zv%+UqN|!H7s!>oq8%a*#r;?Dp6+&JYoU{37w!LKZ#t!~dKHh4Zl-yhDKOaksNKg(vVo+~i|Fa< z!Ry9yi@Ye4O2P`>SI;2P8Cd6%mBjM`ev$cKmPN`ud-iO`ak0!_X|*rCbGQIS8IAc; z68{U#s{`No&E@_N%Fa8U%m4rPNF^$ptjG?@UKx>1X7=8jvNsXR-g|`XO~{r#LXy3* z_bz*!=lgrk?~ijk=iGj`^Vg@3-sHNj*Y(`b`-7UATKYkBdvs(ZJ*VVD_}i@C3Y%o{ z)zz&_7^s}Y?ZH_NTeMT(%6Mm1-%IOoMYk5P{pUb@Gwm z11nejwEf!)yVm`C->)nbpO>LWd=ORqjrKO%EQQ#$ZgOq%L^US(ueEaaMEz$PsRAeU z2PB${TSd@ISN}SdN<3!QlJoY+lvbxe1xXt)@6h58ZsSj~+FEurX87E7gsaU7aNBHNxa?36if*b`C_t&ZC!oywB zWYuf=t1r(U6nbR7>5&>SWwY854%cJpOgMb!qTf|s`_}0zYv(QW5ChMB=gPlz5wpz} zG~$ipvE()B3kf=euC+Q3&YcQFrbMJnvIo{kUDYX$# zZt11ol+R&WU9s@&mXTTZ6JC{WmzFfc?)mY<)D)#BM$?NCi8c1*-OMwYdU`o$#a)-4gARS zw6)2~J*5htqD%P7$~GW(o+r3gG>(47NjbR=5n*oc-Wg?%WsZ9-;^J~Uj6@5E+>Sy} z&~7_htG2SdI&Qc$%_MWhxTvsk@-vE%olyS_`9p&O#Y$HZH6%WcGSQfqR8{&|=!eY&{}NRx^}sS+#!Q8K>v0^Eot) z=2ipuANz@0&6<~lYHe9=wK}h7QmxB>(I@dX3Q$tAtL_;cHOn+Aj?a@eGzDj17@c#{ z@$*GJ?RRnDW_Yhi&XMisGRL!tUPqcE65b{9DW-|$>c#lVdfl`q{}s1wVE2JW25pZq z$|z&3$?v-ZA46Xo^c~J#9@+8C&KCyEaNUG`roAHBs17N?wLi6`n)BVyDqcQVs3Pqck)s~>V*7~WBO?5ykl>9DfqL~5l%He`EHp{I^aH?2cw)` zv&2Pi92RQ6awl$eKs0t$EspyT^)2Ts=leBdyzg(4$BuJUX)woZg!(bHUJny2#r(2h zH|F$13O|m&JY6HQR5|?YY$DHA`IjEwUi`tsKBJ3Z$hKo8ez3}J5nZLOw7|I=i> zK((3aPIgp&&`kq+{|)2z72Ss$#{vlxAwuHOzfYK-hAn?>TZ(Ryl+J1A^VSY(@}g|= zn6C8kaZjf;NZ}ge;p>Ay#r6H)vJa~rqAjlNv3Z(jmBuDSiR|^a!ku&JQzt7bQH4Ll z7e8j1JF6nyT&BFxbt;jj4XfX(b?5_+m?Ts~g*-PH@!KLaq7QXXVsyva>^9cpINaFM zLLUudHli)lV^%v{RAkJAw(7ZEQQG~B_x+C6x=Bv#7oSH>Dot)^ns1iw3+{$f=d8Q( zN1BStvc-An{Ftx0c#dQ%mWVQ`VS)b8{!}=R?_0x!AKJ66GdPXdjA6kSti9HA7tiCa zv_Hyt{>#F^5p&ouoIf=g`w?>m=PrIO{%XEDXUlZvoo9jcA`x_3_Zw_b}1$Y!cd6TkWU&S3E5?&QVL z>%Iw#368Z}NP{{dpZBJ#&Bu9Kt>usScqwmjw;NT|DvnsF4_i*jR~j#|##{4?`_{5& z3z~ObkZqQqbiAfC#Cf{5n#O3OAz`(M6Y^YipSmGpmSsG>@Vr5(C7JLfD`vvGt|lmMbieLP-T&f|~8_HnV9-n~)Ru=H&GLrGp$rJn*A5P4>4D zV!qmZkr4OmH;j7mpZv9Aa=71eG7$%~IfgR%M}f=u>&>_pbiOwK7HT!C;k%M1LS~x3 zkIYuSJocQZPUju?gyC}PdT#efEGkFO8R|+&L4IPQGif&Wh_7pSuL4M-M7wC&cZHs* zA2?xh4Y-k$pQOqS3Uu4)7pSsYtf#ovPYrK`F>GrJ{H1&zTZ85An@kRYDM%rT*?i&VI z-Y3D78tzf=FlyKxTs`7tS$IG7Oc>{uP1!N4p++k?g=&@ii!HstizB46{g)ij&haU!#F5s#wCH#cH&&bxwD1vPv^L21AJRg%xMZ z?Gv-j;3m?Rw|70XI5BY#k4wJAR?t4-6&P|1=H`zg}yJ(?_eR6O}KgwCW1|jbHR3-6U`Jm{?)RwW? zqR+xk&n;CQsh)EB8?D*l9(>k!+Pb9QGJjQ#Zo=!xx1IFmvo5tI#%=eegX$`oEXVzu zDFZ1<$yjFT9s0}nRnR9g_@smBWTxklHkt*11M00v9 zH7qUyA3;`kQ~RPFbo05KO`v>ir7yd(LL$%W_>TilbXJ(?!)QyndxnHqVCje2#$U~S zG4&-8=q_fr)8ekeRIHE+#hlalY$(^g8h7^91(!KUT(Kzn?uFdk^5K9voXQU)3GHwI zNt%S0dnQ@@#z>idJrMjFa-O%86pt0eOsrjL#)kT6m# zufPAYuJRboFH)v%t?hyGvkGzF7be>rLth4!u^tq843|oYK@FOtWJN|+gn=*Zu}oOB z*j9uz-1a)x**6Z-HZecjdY=t(S(PCb_o=uR+Ivqq6JX@{*_IR;Se2~i*_a{QKV5C) zb;Y;3;ZdP<7Lw}lrxsQ0XweRTWSJv@qcv_P)RQw96Bf~MOXbqu_}id%*dJkSbY(%? zpcLf=FL#5JrNjz%A%|w64zQvhM3TcHBH?4isI`H?vS3 zaEptT4$84-3JH^s^E`RFLmE}|?489SSE-%j)5_xYZ+Kbcv_~3ywA4A~0}CD)%0Ju) z(3QTj5{pq9#cW(SQ-s~}%7=I;Ch+SMDw!d0;6uf5Cn^psR?Rb54+@Is-O@8$QmJSK zRp9o!hK?(9=Dp!#s++>e^yQ^6vE<5W^Od4!viaDeP)>Zf1ab2N-zz!?z5_x#{=knt z!Jh=wS!!@kjG~dzFTbOoV^^t|9x8wB9X!~4#ctf%JtP5zoOOTTU><}o*+PhZTbq6VVFx`|%+yok(BKAN@5RqYB) zTO(q(n`XS{pkw)p`r`QUd-~w~Gyw(vWTwLLTx_2Ow0CBhMn4IdNe_71FSs%tLJA$p zuauebN$53M*DQKezdl97h(p1Mql|bk$sfWuG(rJ~zHv8pO729f#WTeB<5V>%TMoKW zV0h?-LZh3v1w+$a@Z-0z)VKWc9B6k{o0uFJG%_tgjiFD^X?-vJ%*cd{oM#XTV@#^b-TfU=2Zj){LOHHghb??7D#H_ga5gz!AWN~XVbvWj?8g;5_&^OJ)| z87PA(50VZ#ww9!R(?#dYQwwLjj266?t=};?8BV=M{maf$QKHC!6Vqy}_>;fC048}C zkbyroHIZSGuYNFqg&A0A;DV93tWis3@R=NTbE&m+mO(*5u!qn8GOxd>v1@WN3078M zK>6v&#E*c7TuGYJaW^VK(>=&>3lplJE zl^`*4)MtNF+mxATG7e7-e~E<}%JqQ7@>L|!VZ?l_MZ%|=*L=3N-qhVRF*!pb^c1uO zA3rK(b_@?hY1!BsxJ~1PET`tD!;t(c(5$svy!~OQ{{UtM-(J=CN+F18$hQPVXk!lc z4M<^EUaa5^0u;NwvjfY$V%ft#i`3*z2k)~9p#ieh2!@B(|GC5Dy~Xc*Y#2H=>W$8E z+qN26eT`ViN*D03w<*(U;PN{EYYOYTt36oq{@K~Mz<3a&Lxt;oFK#5Ipzu?foDKnQ zla!Wbj;fT79v^15va%AqxpaX25ujLz;)yXaF#$o&1cs(pJq|Qj#3rWMiVm0VR>vEAo%&sf9W7+FRM1yi7*u_4#Br2Y;rP){9v zr|#_Rtlj83e0es*tNbAtj>j;-^h)(wgn^PjumQuR;r{-&U{n$T&sW#bsIZ&^v(_rud<&COhw!<=8sy&GwX=J zqDQuP*y{IN%ElUSGZ1UMfDRn^ktD1QEa0R*y&7vbspJchrxl8Au##iM@`#AlkOwx1 zMF4wM&!M=}-ur_2(qleI+Jq{xu87czHqLCmz*zM-EuhSZiO%*eRy@{A8!L=oUwI!6 z=O5lVbWyKI*EIGEJ^kjYoVY|u*&LE6@`U6z6?~QF0WPhlFpNt_^%?^LL4kw#0b5ci za0DE-C*CdF6TzzoyCPLgI?2lHl@%3tSjKZ&IKP0V*ASG&fV z2mphW&vqtF`rta-fYu8H^zU6=fnUFJaM{lETwmQq$_J_(>}|v_-X#077F)(XKU&Tu2Tc7ScD56XqD&*Ie^vw^ynwD`7Q%1;M@0 ztd{L=cG@C5nO24CTj-p913B5;64!>P!_vjHaMm~(4alg zfaTHYa*X^_ts16VckcfI?wzrTNhQcOgo@wFmWY5Q==Wl}McYuHn)wWiIIy^c7a;N; z_T7NK$GO)6TYYeukM7@r4J??_4%DFi2KbiLdz{cj{OgN3)r(>qQ*@gr-A}pS# z<#~N{45U($wKQzKQ5!ln`y;2+&bBuJ^{Q0|PN6G?AGou9$iLqeNU7LN@EJDYA5+Vv zS9hlGXU5P84FCQ0&97f0lCR~T{eAvSAPoN3k%+HyTUPGi^k8X~#2l6aS8Jz1&H_f2 z>8-}S5o>CPq#om?v#@$p<$6$yxOkX%|Fgc{1LONhXlVJqx@Bgqz7eoXAu#XL5)ZS% z23A%_+E+NlVSzCD?r^Xu2Foh2Rbt%giwx#8Q>ozeu>W3M?z~DPJ4vq*cM}iA5n5DRwX^`lPpzb^3`rJZqi=NyA<9ysn$oR-4CXcs);{kM z5)#6>Qp%IFf$9GQE+R;YO5BRK%qMFUqWRy2ADx+_X0 znw)SAXFw~!c-F4Zf`y9G9Cvt%8j~c!}5?*Reo8 zLZrp}Dx*mL35aT3#tXszsL=K4t!J8z-@)T3(&GWiFlPU4Oe8?j(_v}nu5U+&=$yx% z7pidU_wVTdc2=&oRDoUBuJ^a@{_wvy`8opL`GY^gp>^%BTGnC)HxXbeSU5P*{kgDN zj0-S9fMp=@_+0bD*&AzYDX*+d67oR?hC8QT3v8wnByltJ;qAIX7(gmu8T@kk+dC@2 zW4FUMhkPyabn}5do1OrS++AN_8vV*wY}Z}`k9U7@aS=pSn7}-Vg6})sZQz8J+;WFC zxf;89he+e_GMl}KWH2)9Kpogcv2O~YINK=vY! zK293;^X?)6Sn{W3HH0B8JyvlD?;<73#8bKbcY|G0N=mq-29zueU@)MBqz-#0S+E+)q>gpzNK~~bY=NU8DTzJd@|X7N>Otx^vew848Ij4E z!U>scSIlvfUzhHjkT0W-;@-cl=P1^Q;+6YYm|4L(g9ho2@*FG&{Hopa0Pyo;MZ7a0 z(Bvy*@{4Cj0eb0RfctEm772X(r;Lo}u#obEni@4syd8M7i7X2kg6HN)Z~}VEFbGgn z?22I}nDyPF8e#(!gD^PnS-!&Z)jcXI2XW$m?gE-61fV|h*IfXbd};WtZ~+4kWlB_! z{*B{;zzQd482RX5^kmtsKY#Xnc4t~@GcxoZ2bow|^@C*|n0MkMBO>B`p3&CVw|cN@ z1_WtoP!(UAS?+55q4RxtWN&o1*a1aU|b*1h7xgDgcaK6kTjDk0G zh}}^SPo&F6v_F-EopLzITPU2G_th)QK&ig1?UlR5$;0v7ByQ|~`e#Kua|Qae-XaOT zPNb>t<5M_ve8|`ztCp#dNG4-!{N+p{{NqRPCT+L1ygVB}g?X7b!!p}5Iyq9r!Ymvz zkyq`m0JCK!cCh91|NfgiX1)oFz!@x*=AXqySy@@RH$UMiN5#d(6^XBIZYDeM`T2@x z!zOn$954zrky18(0f8SDFC5o>!GRYODNLYm4Z5u>;4~Pliv;q zVOLjmnO9KGSyxX_2)^q<;vFk6v%H`y##@MoanXXiK#mZe%)eJkalH~un>oeaD*m)U|l6DEQSWkKu zn?%i`zw+8uP~}mbI;}lmIFB>9@_VRm5v$KZF{0~J$-_RDIYv*3r;l10d}f9!_5o!} z!HQY0xeXT8u*IT4d7}!@1)09}9Gy9TEQA`Ujh@*gif&nqSSMiV7$^sJEfmTUuI**uSpp zdo3&5_Wk>N29-jJgnqzRpupZ7$BDxO0O*6GY8!Y~hB^)Y_o?38ZJ~jw>ir>;Be*-(}C9=c<%1U+rqFie6YW-KUPcuYjzsOb?`U&`Sif2 zdI>yY(6Q1#-qrw1*1gIB-~xPbVX$O+wpFHc77xQH;H4cme}96lZUv@^foKBg(={zK9D+|Q&+MT%kjx`J-->`6Y7 z!0qv`sIqEQWbhSkFKBXQaR=oSqtuymGp7 zKkjce9s-vJTnIKjAAu;)K!G67Qd?VleIySP)~`FwIS`Sf1N-*7_~&}>A>x4i3$~i( z_+7F5$Py&f1`jKv3v+V6r~w?T+iSFJSE=eBdTj^D{@e5W-{DJVX!-FK>XzcSs2^==*=$u)t2L;Eg9g z=$rI%iX`Z4 zBYNEQS>{LIW?4efYM;yy#;pvjR7?tOyKL8SL^ z{rhV1138J*D3awNPv!_JG?d4WA4A%Y$5SviKOYeq`U55J7QYmD)^Bxn4sam(i!jDY zb=m<6rtx)MD>W_cQ`msso3`QMC@AT8N>JNaTVsi_&eK93sIIQQ?9O}7PhU_~(f_t( zHF1uT#vlHw%RWGRP$3Y`@)^ym7BpwCuUv^=q>nLIYlh|I1fHJe>AC7DOftj;b6Pbo z0ruiYM$6})Y@6d{-5`P!DxE{gb^Jt8F$$uyw`YeY0DUx;Q=73;QR*?S)W(%xv9CKz z_q=qFI+zl*!opJQu<6v-!OXUyLQP_ucf8|8P~U;u6B9wWQH->Fhj-AY;j_EGuzd-2 zWop$S*N3prp>GU5<{ma+y)X`pPT6@9Y#0?z&$JDdG9vN}h2pz;6lS-1$vV#zC%&k_ zgv{?RVv0Xpcm#zU`E)Wl53>6D9v67VHx3!8DPCmMY{P2fNOq8vx(h_8XD0ofu*c2o zaZC!V>Rbdlo`(mE?8+C+6@Fq~Ia~q%S)0d~!Kx9&KJ{d9fOM~Z~} zJ@I2CcDSquZqoHePQIuj^$1tYn-;vUD~{_nvO8X4!8ii~oMW}t3N#7V`)m*<(Lx+J zvvA(x8xq0}NluPoiPk#=3<5SUmw#rq4{aMCE%_X13Jh9pAZA*q4_^gmQvSCM30Ip{ z1A*`_$?%p%k(Z5ry#oWiFapCuJxYrBQ`T>ag4ITm(NxIOQxY_dZ+cgPJrjO6(vPP8 zhe?kRV*eC5;TQWewco%N{D|~Bj-!?gUrjl}S6AnIv1;VzOMz@%Sc8SD{ z=iJ=fw6dpufBxJC3S%HZL$tM1u~FZHUjYaod)dTcv;=f-X2KKllW*njcPT0kueQ1k zF$O1#+l7Ih#`_V6g367CkJ@KWTT(Y!BB#A zK`gO;R-gxeM1)Y;0Z|-=H;S}E(};JuV zASDy9Wy6pF0Dh|n_HerA#%QNzk5ESiV*#^fo0&j2C0WdLP>RM97( z76I+^4MJcI(p5yU1_^8^HNZ{5uT}u6@pw;2|KY0fV|9kvvzm05c>2PAG@i0X{` zVhf&&aY@1NuYXu#U{bU~AZ}oh`}*PzL`-aKY~Q>txGbxap=?RX!h*#z&{m?H_fR?~ z8V)!LLQe`#1A1b7v9HA)hZ;+^mvC1gi;Vb{pU#jblG)nTMckw-Z)ivfr~s%F;h_hd zd5DNmLK?jfS>=<2eng-Ne+M3FCHhf9WTY$S@>V%Wcp}Qe=s$ipdwBqHv)%JVC0_xV zgoNa)<})ZOEP$Am;Zm0#()vWjEhI2oFj52Ls)~(TwTApH8eE|tn^=GzbX7t{lw#9hH)b#rIZJ9$a{)- z1qzucfRtDUr4dqo*GOEtL%lNkC(vB(sSV5-wM>HF4+xKaDkGLaFahNj3Le)dL_|bq z1c|e6WaZ_Dss%uzp+q$#E$!LM#~ZdKW3h9PXEp9XE)9ib2qUH7fx}4xCfO>l>AMkp zM4g@mTn(&%51Vs<`bii>8LR-%Fk_I11F=kBKBAL10?ap0@dz#fnA%sUG7Y0_@7AvW z``oU1G8t@CV(r=aIh$d}TewdhQ`Pfec$t}*q0s8cM+TpV6M_Uh9jkD2eU?Xc-dB83 zbh-Tp3UG$5PBC)(Ns5m8c6BgBDV*5F;Sp3{Ci5xkho7!233zmb=Lg~t&CIgk?IdRpJSiiOiy zjmL{AlQ)8m#}RTH!!HDXi2=6iK`tg3s4c+wM8K`!<$xoZyoBm?G{6BFUwL&kg5d;_ z5H>DuJMd_ZVqIYE-+`&1yj*LQ!c+dv5~E!GqUiDrz%mk`z&1CR4zK$!Fne&iLkL#p z&FB!%+%>b17w$~#Gp%?~8}&>JkfqHQ2|%BL&nAg5wn#$J3^Iu|=r4dwW{af*T%YTJ zaWnjf8vT`~44j+)zo`L2oYp-z);=5T(d$RgJcT#Re_4%n`|mQd={#b4)mFr%2;DjS zea+XT_+l*Tw++i}0%c3vM54q3b?-$;{Rj~ks9av^85yM5_x!bsm{ABB&y}JN)~APN zn3oj?0SXtv#wCnA{A&{NCCy;y!F#lm9Ho-`VsXo;8QOd@f9f(^A-RBz()8iIqvA)! zD6Ez!h?dql=9&@S?dyjnZ71ZVnQk^I+7`Ekk*c}xY~2xyp9TZr>DhQ>?Xwid4VCRf z_Q^t}0`(f}4fZvk#|S>)hkJUBf0qb4w=BnR5Cu*G1}_*8 z$aw;}9$-sB{D?~a_x$DhR5eD1Pdc~y_mI^(GF4E_%FN7!L=q)V`k$=HBa<5V{VCBR z6Ky+lF6QWs#kV;&WO?`Tt5J&0)mBi*oy$ay+|zw~Er@K0^B@~{2ob6TJ zf8WE1#63H;aCbp=rv`)Z0W^E0J-RcQw(EjD#<`TMMTkguUjNeflYKwT_L*94Az)#B z{jY3hGL5c0`2Dxe&dhIHz$Dt*n#f#!yE&8hf&K=x1QsE-0Nu=?it=)OfcM>Ah3*IF z0)71O!S8Ot8wPyDCvE4O2LN*0;foAhSQvxVPlvt`%G*D!-_7__%KF(LKsH(&s6-;ehYHK<1%74SR`FBkX z#p@JY(Vx(pNq;_fp2(X0&c#KdY+MewMX70w=xjEvNeXY0=e(mYU-NVK%Hp!#^alJJ_8=PeQ=BUF3T2O+Vwm?(b& zfiO4}@aWjs*vJa`WQfQXaDSkl%k=D-8x(h&)QW3eZ*`T%q z5m=`zV7!A#hQ^V4)A~A9~*9VP)ku=-~-L`i+Gk`#A|h zN$T=+N&d_d6>x5pz#dEDwBph)>;<32fy%0 z&~rk01s6Y@`pYy<(sIvVX01~TPn;LEHzGPklZeO9+Lkih67k1BeL($Rf6F@CecmMe zheI~C)zuH6T8@NJ(1yJHCp4@1oHo%~p#TnHstF{t5QAU>N{2`78Xi6r?8HFR97Mc6 zL;22eXDUwUW~OUn#0>#4qQU#R}czNbMjiQwp z`yPggzk+@VqQq0Ib0Gj`1T_Sp;S9Bo~ZyLWk=6Xiot zM*9(S1Mw0-Z$^JhT&!O%+w%rtl7reUjXZk^;FfM5lX;zEh1t&GSEEvU$X#N3iRlBIL>e1LMl+)%BDw6Blv?hc#++)72`jhl}TN)^Z1X0|>KevwL0`7$&zD$p9I zE*pb79>i}N)s~!ea;f@@9iO0yb{ig9{Iix!NZ-baiI6}lerc}B10ZE97byhBJ_g61 zvU;GaQC?MLG+CJgtxb?rx|NtUh0@X4nF4e*S63d*l6ZjMfgciq@;o5q7GR768hn9p zJ%GrBPCKjK)B5crt6yI}ooUWAc@UPU_QOmuZ z0*;Dj*=sJ4gMV~CPidhk8*Ue2j-L`3^C}dXStkX+KIWDy}qfI7j4wKQgLP zULi_tn2+#GyW!zE=tOLD`$$dT6A_tQrzR$TjETY3-_(A1ueWZDFD)EFU>ko2K+Sg0 zSAOT@WY8HL=T@qvcuZ)b2lpEkL=j>oK!Dq*%UYP4o_1IgAGCw08Bt~E?xvHULde+~ z8Ci^%K7+8a4SvDm4Yxn7$dDbbL#+%%^eCYB2#*KynG*il=aArc_4a-O6aHDXNRi>S zzX4R&fU>kD*y3{|2-h!+^`phi*=lKbcAuZi^h8mpAoyP;J!{Y?h|nVf31}xBd7Yxa z>iHICzF~I#IBH$CghA43%@1G1+jCOV=foZhgo~ZZ_fg(G< z{?2vEWcu6-WRV9=jAY2d3NP`t`$9f8x#)_ms0@$mzC>ospLmglLP;SRH77zx9XaRB zJ?&!FEJT}REJYW*>TzdH7by($JsJ%vLYP1K=Cvn@Q*Owly{DkP^-}UZrHr?ZhJXN8u-Alsp zD=j;(er5ckA?38B25lHVDwEq3d=XD%t|wh9`wdxN6n2FbUo25)JQI@4`${k9z9HiG znlIAxWB9FqHBBBTk3nIgJCtY~7eqwCMk=mKc8-#df61!ciIY;42KtKSRUn_ucf%*a~r~_bYHut~g zpg{6z6B7kdv;yqh7dZ7m9wl>a(tSuSI77{Qjb68D2)`V3_v2-rHvtC?4*-YrGcNN@ zo4h5m#t1Q9&J7!73(4lmD)P>Sw{HRS3-8+RFKwUIJs~oP8&H1Kx!UA0tj>nAjxHPbbWLb6`+b>c(B+B35S1zu6q=~cA?w?Xh6^!jN!7; zWCuN62+;>2BiiKmc^nZmR#Mc(rD`XiH*x@Ch^(eR&X8u@x1J%c>7QOC?N4hAMu!UHk63?J=yV~i>vQD zV0NklEGkfZc}O4r6V_~U=Y(fr&=tC60l6^-0n;B4Ie!is7SDl2jfVsdAGC2&;5k>W zV5*jC_d+=Z0a*qzWn&}%s02b}8-_oufZF%jdvp?x_Pozc6QATha93yEb?;cZ>`j{8 zgfR8^hsPDXCOUBh|s9%y2XJ5$9epC)de@hTRSXjX(+Pjsf~n~SV3?h z-}A0Xa{ zNQ)T9jcT@sI$6fJf0e#hOf0@HwG<>*<$;xaY0=U3cDhBQntAve&JA0y@2)!XS!r_= zjZV?iJn6S@l17d#HPf-b@N9M`kL~I^FzX*xn9gG?f*y1Q3~U02@9d91X3ETJ22IA$ zTG2SRp2hd{=F+-8^jNEEm%V09{Fg>?Dmv4qrs?Ji8px0rl8A|k!JAz*c3gN9Z*nG2 zR+jTAJls2LVPNo~A5zvDp5GEy<@iICo=UXnyWh2Z_2)yn8t;T1A^GjErG4=8LxF!< zjcUtLrfcgTNQOWu_b&6e9y{K$b@niQQWH$^7zy3T`Bn|V=RlFv*ktrF`c&;OVgu(6 z8WzRNSC>ZhACOT{(SBkf2jEk@^d<1;Vqj=qD1k3w{ULwZ+J+9F3VHIm9Pt^$Qwie% zx5WyL&1D&<8S%~u5cmwFKwo!sul})iv~cA1GCGp_liFI#6*sxCFB0fHTG1%7qrG=3A7_bP zP*C!S%@_;L3?&m2UPx!(!4jQ%%e9MKda+lfi}INSJ(KXyd;<-bK-&6uID4W86BYAV zgxKNzYfB;WLT#E#t*zf*#qK{tL#ssP@WONQMY<{C|NFBEhSGk&V3;$kI9!ey;wqR0 z;fQw&0fdnW2@$|586XR&TMT55aV z=kr``kX+tULEdA4a5jt;;5~@T%dJ@~ZLnQx!+5SgkUT%Q{u-Z*Y#^04LZ3^E$7ypr zym@@X5kT}Th#dFpn|nIZky!Ex%p0kEaZ4u+I1pR+M73k13YXl9OiXNrKX1%7&{fKY zS@3Ucq!9^u-v>L8-PovI^5WfMze8(*q)?DQ**g$f+^gv5qWv7x^x=b8G#=S&Q$;~H-aN@dw8A{pRV(ecSw&^d zsb9a=;NjsNj>t1^&B$dBV?BN>uC6{o6gQO0n+Ej{kh6Uqv+8_Cl~JKFr(IgNiVjI5 z7}0O_yKti@o<5C&1jv3^Y)Mk`qgg)zjghpaCA!O;8zXJZC!L1l{D0sa+e{L4{JNLE zFCD;yn?3+o+q1-^i_3xW>oDimUanpYrElmbwVGvk^@2vzWVrz@#8D#d?q+Oko0#ON zeOK(}KkLAjo!!3K0@)&fdehO-B|u|pm;0v7%%?@axJr~_B_*(hy{7SYwtu*I~sQOQ2{`ARZ|Ik@@cUzXy;z z47J^E4JT_zodf)BOC}Or0=?)D3Rmy=zc4O72w7I*mkuj$fyA8&&Eh z-fbMpHr{k6zrm82cXhMtoWvYxu>^$JgbBW?S_Sus!)XggEk|cQKz*oK&43e{FIdid zbM2KTLh0{FIy-6L9oiOBEbJO-aFGX+eARrtYKan$v#g@%)2F?pf}W_paI@`)1Y8u9 zlr*Wdesz3Wf}F%;cV-P4dUwPSM~cGG-9L9CE^8L(7MU!xxd3enh9VL5R~QeFfA@}+ zh9(Dcwpu92HM1ny;Pj1!~N(3>r z0FM(x5KJybrq3lobRSV!d47v%Fp)J3B=+p>57*(YLh@sHeHrjE>rPDX8?)F+RwHq^ z4$Q+tbe5!0*$nRopmxBkp+UDbtLJnFQ;_iUBsvCOj??AoJs4j84%M-x0K(Nm6Y$R# zO7+c8UfsbaChpsw#4HNz9+4L+jkn?;zP{SK8)-tMhzGkESn%WA1fGoz5iu59mDWYW z#a9`;+99$Ud|~$pK-a5HCxYhXC4J97_)$=xQ$ERDaNPKr9-HrKO#QVo<+085Tly1f z=R9y#AwzkmrNr#Go*f?zpaKG_((SQN34wE8B94NF&h~EJ%LPgdLDW(psuiR+8wf6c zvuG%L)N*6Gmb=OQ-=ETk$NGQQqqJQY)S;9KabvZW&l13l;oez%wae%#)=(il>7^s5 z;^vMJ3z=KVNl0IrbxDBPNn040{*AU^g(Im(&!ar!|nD+H67yrdJg2v2dzx)VZSoQaQo%>yO@7?jTgxN^Am}T{$qx1WJK7*&!fDr-SDStc98z$WvEtKj+P+~*vWjEz>j_~Qic`kJbR4`ka**PUSB_~HUOd< zxcs_a{~nBHVB;BQd0jXgo2hA#5)s{n(@0JITL>2pQvAU}P{yefjB96uIda;H%}>h7 zF#$!u(LV3Bw9Z2Of?@MWlec{M0pMubzbyto1qWaXqoXs9F*xFr)-~mC7hYJRW%hk` zWL8sol(bcrA-*>!0Kba?q+_qw|D6Z(Y-Z^Zl0aFzac+rk8j&_yjFhgP9>~J+hwdtx zQ$fEyYL0}Wwzl8UTKm!gMX+IKIaNme;Er?AlW>t&TZ4kLj|SBZK&2EsN)Yt8&YqTJ zzPcNeKKBXiUCZ$I3&!TNCuo$FOv>>dvCyxmdN;&8V@gtbXz%>^MY#B_)o8;;T}<5w z%#5LsH}cy|3bvt%iRQ4s@PVlx)*Djc_|sqDqb@Ej!Qwp!unrLrI`dKDC|U!neODf|N3s81#*=`?D#>5w3|fe{5Fo-}4qKD19yyPMO%1wl>VeWDLT zYeqxqUYs>hq~<^D@t2I=J~1tG+*IpIFAFj1X0s}mk&-IKj_I?kF8IXV*Y~5)uK^yW zWb~KwMMUQT&7A|jqmD-U4s=-b8awE3v?MyZOXzu)JXd`RH4xROB%!el&K1c~9Y(xS_AS}B~z5qJGFk7G=sJW^Ui z9}ESDv_chokfYJ=JrmZ6+5#OdAl2oYvN$_sKgN-FP7OiUcE&!~t5 z&iOgLR23qnUjK$ETd*f&(bN@=1wNRI5kfV{ef^E){Ag|oxu1Z$)2r}Cc^ z9qY#K5#O+s)lvP#LzZJE>WuD6uvgJnB_6nL)|N9I&F;)LWQ2zLTTgvC{oEDyBIEKh z`D|RXwp1EzO2O?_C^4rWcpw;4po8*;7bF1WEifG6BVIPn4yVn}PuBD1>X6t53WzzH z?r~83`dMQ`0-{S%CX++S(ywi9zcE>}KvykNaY_e8<63KgTw<~onU#QppV*?3ia7OqsR=bK~fTCUztOeBf}g~x#EVNlFkx<^vb zujx#wO!djb9oz*=)VSPA0$9 zx1H~Tz(EKzagb^e6pYV}IEW|fl-(LKJa&;_1gIU{a%6^{0gwu!V_;CKc7_D`PHFSGJvv6n$MEnhm%VgS zp3k9V@JQ1(yNd@;4~**0R!N}e1vA(9ig+qHg5H9+2F}X0I1HTy}rH%;W9%c(M%t4}gT(H&;2ZOplaL# z2=LL?q>nsoGS+V8@uLPiPhdZ{g#GY)t^aU1$Z3gB%8DTh4=;4uu@(!kE|sMaD8ZlP z`+y5n z76cS4@#NGjzj*9td^jAdA^@AZg*tBv)Yq@TM6n+CQy~Ou&*^|&O9TBT1BH-KQc1}% z3Hpjgl+i^F#6|-|K|Q)QaQNYck$|QamzTq&RUVVS{0n;cZz$$hLNLV>`um{(puwIP zO!c|C#LIti5C~NXsj8Cw=l%i}nm{mT^gH9&-HVVJhYs)>n3+DOz(fb432nut&B{4v zl=3DYA6YVoNn~q!h=o-7^H#JZEFM=Ocf=P7cVBQ;qv^R#Rnk%G66EJ4XX{yHgW>*fd5)BYpK-XB52}jT2hI@WTVNP zvxPAKCV_lLAY5AF>Lu9u*D&pA|BOW#J{%;!CwOuz1L_|7y){4k4 z;|~8PXleX-5Uu+ih)e#0h5=NtK0!8OHIlQJDt7*FE&#b4;em1vkP%mBt8*i$@jsDH zD7ydoD&#j>p6{sbY; zX>|j&N&5oqEfd$QXalk>k^QXP#WoLmqy4R02$#wf-&d#D9kvGpG@xrWkqDMh$;B@5Xdw89sxm> z@~g#}ZS?<2vao&MEx@k&epjYl$jm1@zgHRa^%v0^aT20;zVwTS)|uL4FfwQjNlxni ztr2Z|1wFwyU#M<#jd$HZ#^%y(#hQ2Tzbw|8pRa=J>{cCnMWZ{f|A}dni~UO?^V9Z^ zuMgtA>d&HG@+OO8)a#6u>uBIA^QO^``O`BdLg4vEIkq9=RGU_yEKhrr!oRXjL}v4zZ!X#io(&8VwX@fAI^fHl(4c7CnG9=& z)AcInEHuo)>C?hcPPoet6s=V56#G&IFBAyUuZ^FD|NU6lbXREf_2G>g-+Y^v~ndjez=$sO?(H-#Gg1oSK7qC2SA{y@C z_C@p69i#Urss^6NNn7K$m8Zuc{Hm2=vL-HjAztVQyS`pV4(8+RSiEtD?G!}+&;K5B zC?Bt4uz|OX;1pbi`m;gmS&@BkZxQmh{GgswJzmFR>)#b*=)K)&x^T|pWf;CIfxWUW z*7_=?!>cNFm^>9MPYg7@d>Uq#ylA}AWQ}Nyj0DoZ4@z22{B8ZD=cHVWp+C8{R2-{y zOYhxvg7kWZInL+Ye6JT;uBrB$%`ub*e9Ps{fpXB-k(C6BaT>jQc3wm+{aEBNzUq2v zkRg3dohhK}3KsaZ^s|1+5J)6!Goy=yipO)kJh8Suxej%;zn>z<)qXbFou!arPp&%` zw96ww;Z3ynNrpjTw_1+0C9nR3J6aEQ3d?%kb^|(@YZXRq-TTt@R}EctcO#hJumz4$BR03E>ET3F^~&>I$6l1jBeZTRl&2n3F|oYVQp(t$~NiGU?M90Q;?JOB#|?j4y+*G z-8&*x6B|QS?dp!{#tb}K>M|2fqb^e`YC?gqkD4KJY1x2^5yE3Fx_)gV2L;`CVEe9u8u{MJglY}gQ1Qxe0MB>Wn%vwGi_db=0kA#TePH}{sehZJ1UONZpeUj+sQF;#Y{y_=h&Y7J>G<=!6Zj# zF5VvJ?x%lG4~tHxCa?#0_FNI9q4va=$1ILQ&O9MG%?|y;_2dY#8Y8rXf_s%a6Q~ zIO+VglZUR$uIG=LJzmZBPP@%R{RlwYcF62#G?f5g7y5En?RX~cd$?JRj@Z?S2h7I2 zTa#Sy0||z2TZV%Fik9`8w0XzS$%m=aM76O)D<9v>L@mUc@3glhXWGok=Ei0L)|%{n8vs3#sFba zcP{Kg?*)^g1v5!Wp?-M~)bw&(<=W&k4{p2H$xefUO$uibI{OK$r>YLf-G~~hs*Lm4orpSxB65Mf0s07+l zyI>Z7n6;VPJ7wXl6%y3IBs$R_!H5sf?N*?-z4;2J2{ zyytAQlYUr$Yqen#ZfnsDE+32?IT%QMRPP3(Ny(+33)-C24Vbw-nn+u)33tuwin#vlJVmj{oH69xz9b7q-!}yk)QqzdTH+{4 zhy#1aApQKVR&n-x8M(tINZWUAo`=`Gij`i@SS=xbN<2XQ8y@^DXUAIL%tC61_gQE< z!be)6IeQt__NC>k@W02@KK~;>6kf8~W+OeD{aE8AnbD7#w|Vgf`YP~FPrPY_Xj?}( zf*jEgebx&D69>M8o+}76ZRfw7d0f0sQsy;O^5@(=fBEl*scFwRD`UXvf1PWf{$%S% z=KnsjwGb>v-E!PYPSdpJS0H9KbirAGcNWI(L5>-v#!`m@~f*yscP!|jf$34 z{Q=n_|EgZJR?bTDm&L9&il7>LzOruR{z51(>ZOPk=dyL}RHr`bv-N!;>v5~c1iHz) zWAdDU?X(5^F8-L|j->UKYH`=GpevK@a|sYjYWpfr^5j#Yd<1-w@K?#=mZx{8PmA52 zn|wJ0?rrhMHV+w)>24-_%2nbEUwfK7b?4sB$XHW zZEJ(r%_G}ju@DxM=O4YOB=O`KDlZMokJH*@wZY}+C&?vhaU5{1Moe0~ES9Tae1Y0H z<1B>woesg{b$=ywVsKYOWPk=DDP50XN900&(L?bkJncMT3tg;2b(Ny`e@MS%e$r2YOZL+vJ2^hl`&Fj3|Sg!ong3=5os41F%LJlI4 zmXt|9?u>3ySBFEd`YBSj>rdf|*1=jAU_0Akhcc0ZJG(nKoV5vYa-h3}6{fEOS?!9L zE$*~M3Pq{85@mk4U^$-cd~k%2tGf|SxLiH?j92(mM6I5PrJC{)P} zDGht-cwWsxi@Qb<>k*dc3zvzO#2kzji@Go=(`)F>m8b7(`=z=o}cFpWvmUCP#E#gA7@GGN(}K++!^bF=LT;tmCT_yM}ESDCR!Bja&-KR#|q~G zcnP(yen zVrn1@hd)SfT_3Q0UjL<$2-_hD2fAiflNC=W$*}F4XNMG8=5i7hqf5`u zDy>G5D|Eczf0qWz-Ys8IG zN0%sRY5w*C-Ue|~^Q0>1hLI(9G;jY~@g;MUm#D05cO82&qkB^GB;uFnWbjUz6>OKo zQ>r#vy6n*=%L^Xb5}8uf($o%0y-isEtJ#Gs6A+Tl#yDZ+*oBAj)!(N%Ko9j9b(SYK zse@ImjrPj3BDRa!7V;MCLNq}6jl2Dbs7Hyobp+qFH2j8(e`(aF%G;Y9M5f}w78hPj zrQBZZV6>{F%Ype6=EU8s<@g*n7&?8AM=t85?DehL=sT{U^0gQS{v;)v0AxX`55)ZR zag$id;6GPSs^4{UP{Kk;U&!*rJVeO$v%wpi7>f+ZaeZ>Ybkxql04|Km#OR)y4zM0+ zEt_Z8k5sF28bZjPhN<~uhYkjh9EnC*-ex2Wowb&{m8AljY+gFluGMT*a0}IoU%qrj z$VR9q=aMPu*$kZA6KTA1U?%^*lTko7hC>udHTBVB{33ZX$5J~aV`&FF;k4(&RpmC; z7N~9ajn$B`Ny(@1I7rA+o_TLTJ&-i$s+BJpleQaQr4?2t0b56EUNR(b%%@PIs8HQ`GD24q(ZU+CSYmg9(Dr;))^!APo(3UDca1FY@d~6D*34yF46Bjw}u?htFntkb^8PwUUW%5oU*on3g>3 zUI<2`#GWm5{&cvN=l!`X$lZK_iy*GA+D;`?N7l38OO8}nNAC(V6fSa;Q4k1Va4A1i zHKGUotKw>gk2)b_F`{iy^Qlgr!nxzBMsR_K_oaYWY)LSU&_jJ`I2(15Ckh6++?uhW4a>osm8bCH%PS_GyK z5*rClPN|6S!rLj{vIm5MctvyFBTOJkAoB%dN#{}^5sZf}!H84j$IJmEA2XzmC3o4q znTlRj=d01|c7zqWsDn%R=JzX`eA}8tRkVdXQdt$`FA3%GP|_nQKXU5}sDX~NNxxn^ zZ{BuTJx-q7aWQ6K+Hq~0K4vE?Ei(YF9X;bsw4ToHEAH_3od%v0i7ylp5~!zx2PFS7 ztwx;0hc`_H&KgOk_9&TE*8QM)piuFk%c~3iQ6-Myqepm!pF}lI-J@p)>?uYJOr)a* z^o@$C8q&&Mv`(y`=`Yw!p&4`6?G7Dl?5l@~A`{&&n!OAR|Uzty(&sqVBvQu~CGz(j^A z{9)4p1#-{(qijJ@;%zNr)LVz4&QC|sF{-d1y21yl$CG0p0#6iE0ypK)Mtk+lM5n?V zk2f;6t3*bkMjexvrw)_7i!U_=3hE6#_yxYj?NJ|e3@cxOD&mK>2DOP5HVW`$w}cyy zRuRIMW0}W-o0bBHj(&f5@lz!O8Cn(iHY@EVs#JR-pEo(e`Ro&lh1 zA$dR9fW8iCk>QgPX`(wcKz0nx-<;?)5=CE8MZP?MB`TZV8~9q&vn&KKmAwZicI}M; zY;aMtM|?Za<642Yh92ac2<~klj}c^Xc=*bbRz=1NAR_dSGBd*mi22zxUP4)AuYXq#mUgPBksm7Tefxor7*HXZ&qV247`+o&C5He!UPhjYW|R0jcb~U<_6Eu7t$q8hH=;4Mw{ACkO0*~ z5}m9k6jW3&9d8#>t-q07{p_b#;>idTbw3;+gwcfdqn~#JiGB$M85he}1`F-nQ(B1$ zg8ya^g^w)uY3m=z#qarNOrtt1Z9{|@H3NyZTsjuF+EBt43w)wo ze}74o^&H%7Iksk*&VLKM6tqNdvG@)|up2@q*I%zf?ZUpl7rVrLM2&od+%o+yNjLC+ zBia8KfBFA&yI=qw4;?8SCbrrgH*GOu-PO%JAqb^$eCM*gg#MnlhK-7YNN!62ycdEp0G72C=Kc^fA`7JYck|2yh07H3RcRsIA`>Sk zw5}Bf`1yvlfNHV7`$ll=$avU=dWgp5u-+N)Vd5DQrR;|=QQtL0E~Hro6;UUg%JirD z{dqzSNdIVMKvc6HGDBfQkekHsRto0-(H{`(mcb%0Ga0*##fsqp-^s^ykz`jZ8c$oe zq~8(){}0(h!D2O0jE94P=8OXd}`mIli>CZTN+1R-Q>Mwwo#U6))k9y#68dg zzBf3fdd0;{k+P8zI>?I~_8sX=CQ_xhCd{VXf-Ma`%TB=Y`b4HiVcv!+ z>M(nr((|^;^l>Dk$#Y@FhOQOp!UK=E$&pxcQ?p<3*Vih$Xz=nBJan`B*%)_C-h2+o zijVQW3eb_b9L_1qa-oASK%7~8eyPpZ0CY3Fym5Z=lFw1i%4e;_4dmIEyiUzpSpPMF zbQmhqzgd_WPbT!j`6b_%yQ7-BY@fwjOW5lir`OM~;4_*f!(lYxQPJ~tKK-7lR?w4~ zwN@Z4%Di((0jy5mqkFrCMv=Rj67G=HUXwpOqC;rAbv7W4z)>wR*$|gIG*&secS88! zG=C=T>kw})*c6~1Km;Vj)9*sX8aUi%R z@_V^JBD9K(izeCpgFmiWK%yace_Imam=Kt0*{>k3opQb^xJCMMc0-R z{4kxzandj$e|EgOgFD&`MZoNoFqEgBaQa#(vD>v+vmMxT28+mA@j^w@baj5P>T$Zf z2RPyCoxb$zJac1(DmklW{(ZcJ)P_xfFEfZ_T)pKJSR^vt+jXX4dG+!v`&8<($b0c$KGzb%horRCG9@RduD?ljX>w3~`&yN-~%7PET>AWxa@z;>&gKS!~u$RD!rT zb}->y3q3%Z-%0xBReCx6vnU)PZoj*%8^WaNeb;dv%g;_{!H!QtR+9w;_a!w6X5NGc zUlLG>KRj4Bl<=p zG~{SaTfssqhqqIE>?QsTM(}#<kIgNCoRr%Zt(N_v%ezI zKyJ3;GX#>LM_Dc>Vn^dG)hu}L^x%dOOQXbfH6|+ft;t-FeyO<5@KRD3Ib%?-5iHc} zlhdi}CCciR{UPvsfuW1)+aVkeA48mzfUH+d?i#KzQtQ(e4k}tX zPTdtgC1=x#6d@n2@Q0{@344?cB#KmOM1MN2@evTtUc8~zw)oL%sT6RPMCt}W2q*M# zk!i(D-+YDi6uVrDrZ5&uS%HF$uj2JP%PG2@_S0?+MPbT{o`1uo<`*?{*SwtB#CMSHQ zH5UOZ956-os^6WbP4|>TB=A4-?kp33ezfUn0@et`+{igS_%9WSA$E7wf+!~Ws{njjhoPNJ$0^SlYVaA@eB2t~eM3lb|Lr~a z59y4?(5jEZ?0|TgL(`LY@$Co)r9)KD3ff&)h&Hs_Gm0ojVZI>_>d^-^14j5$4CZr~ zi^=XEx26r;MFrem+&KOIbxydws@^;(_QG-p{dTdPn)!O0P`%54x6n)J+GLHhr`=Z% zpBJsovDV=IDbT+tvzf%J`kJ@@yF;S>Jt>Q;eajGH{`m3ou9BxB-*EnEi88BEhO% zt?VDKts{vwqhXBMlQBa=L5&>U?>D@^@LQ3t(&ebZReb3J&WEvW)*K5l{=j+?T7Y(u@%c~uyDfM3wq5Sag9iyo5EpQ{k z-SE<45|uq;RaO@XB|z2;Ny5aHUrLE5hlH@msO z(%qY>KN9!7rc|zy>K<>*{Go>rFmO7LW22eX0TL_rY{4qho7_xU5nU?Y``qmxX2`RY z4~5oc9welJ5PSQ6{^w*Aac7aUN2WUyHoc-TV{P_yv!(YpNwue{%s?!RYLe4<$~yda zT{_0Q`!@}}wX8rRT>YA*xaH&BW0~j6<0Q--8h2%Ft=gput^?ZSqi4a`2FoE>l$}10 z+d*P>IwHmFUEdkhPw8M214ll zvt|jp(vrd3wvVY#PD$V__20%kR|FEn2yHMi2!LXk4sQ?-EKq>O2`yOg=lTM z7`(KbZ$-${Z7$;xa9oT?)Xp;*TM3@GcIIub&RH{KHU8%zL^u|luDM6fI2~BnwVM%11TE+rmXL)yTdmrF_xkrGt?;J&4?aeEioUpbW9)De7it{&GSZzo z(`A`OA?GylwnJ86nHsuB^X~U1pzuDN!Rl-_(aCxMB-MI?K{#!vT?uTkT?i>NzMRGn zwdPcGH75Rg0i!(n1*%9W=*RB-`1%d=o9AVt`5CueAE+C8t*G%$HP4DvKxsoSw{v&k zrw4kXgTH%gS4$|}A5Un^a)Ce3UF%4A;ksV@1SJm)Z(5ySomMtk;G+fxi-%YtEYJyi zCb}p+w+GmZ5%Y#@jZ-g=J3#g9l^=J(5+N)*DZ~Ja!CTVe)JKoP5#Qxcz3istwkj1X zRhOfM$ahOAJboovu+zKmaPT4p$}=EKtU@ZM zf)(ev$?6Uhr+EhaEWmdav2ei(6xo_HAeVBoQu@S0&*RIqZ?()&_D!+qo8qhhd1`d7 zR5mT!RK=nWT&KB!E%aD^YgOi0z?tQO>|~$6exH4qsn_F{vB1vzfkwTZHGwGMGt{rO z&rfSNuQcj4ALEw5o~a51c&=7>b1^48^Q~vTPf=Ze zm&4~vY8>P4^13ZcRFl6;oN~oH{b8UNh96 zej5wb$gpBX|uIpH0UJF&@q==juRefxgHTZNqaTywZ zlJ&pCAaR+tdt#LsBNe#I!=jM`u@($S|4_wxE={O8d4o>f;E1Zir_;=m0gydF)>LxO z=;Jg>)pA-$We7Ba0CzC$`}^P&aSpdbRl1I|fXQCFZkji_RN`OQ)4sL+i>5!GUw{5XW~Vv1DZ_7!D~y~Bg}lG%O| zv*xygy4K=~Fu_BIM|l+Ar~DBx9Tuz4uoDwRv=^ad&At~9YtPY`2Gws)qN@TVIIC%V zW5dGuiZGB`MSvv0$l{N}A0E*JzPeCWF_{&K(v+hh<)T7RMe0GRtr!y2g6}ni;bKTp z-Rdl)Xb_V+Rt{*(7PSzh?I#(a&7Lvq&x;3%+@7?y(qrt!= z)hTZdN7nFArD=!q!W1s-x7jwVgSYyba130?_!VM=U$FN62ePBQ>cKU4CW*6~E~6SP z{<9q|CjIz1;dUfhMwvrxnM`Z}I4?s&4$2*Qj8)sGA>VjP`}0+46u&~pFJE|BSyxvr zyA0c%-0~Un^P2Lj4M4+%plAPObRPL>qY9JaCeTaxkW*NEx_#ZH7WHF<)=JmJs|U1> zWo>0SEA95E*Wf599DvjAo|-nlb4HQLxo_iIDLR|ZG-pN5`;fgW>(^GfbJzy?x!OMW zxc>Uiu_iwdb8}-DHwn7lZ#sxh|D{s@38(jJwq$LJBlbtv#GW`;{IrT0-@EAt_ek`> zoaU}KP4obo+I|xMJFEN~TS7sQHtS20?PH;4yjVo!jj5iNGfmXbG>Tj-d8dcm{Khq^ zG*fdy45)w#qadBv3uI$K7p|oF~o? zYjBh>>xBog?+l96N#>tpd%uGd1%hIG?ZVZGB(lil99rROb!BZU7en(@vWN;RR$%Z- z%p)!B_4P~;Y!vqY+}oYm5L9d(B!%d0lK-h=j#_GVqO(mZ%;0|FFq3Uh0oDRIf~NSy zS7qM2lz-W$C(TW}F35y_s{P@9)N9!*k!2Dahja4MlNiPo9K5DM(nVQO;>*h@p&K-d zFKKTFb?H{r{3_AP)$NbO6|-HjrbfOl(h0u)ZZ?9u*U@XD*ZZm+9{eTdGP-WVcqWBb zcLU?7=K9Ab)d1WFMznt@)Uaupiq?5g__7p>D&<@4n-1Z;shX-9*4{nMUVFGYE+PGU zga!qi!EU^~&04CYjSE#)x1g-6R*FsWLtqy;$MH#DdSI}whx2k`RMcl*M#^a(ZD;2e;&hVMU}gu~ zq)TyQ-||2mnXL9Jw($6)O7)?)Dcal>a% zD&7G2#J)P=keGck!`?XSwPwsPz0;YzirG*H` z!d#*^QC6-J5Il(2p`-TG#IQmCdEG{pbv);)veL%bc{g8q_+cl$J zSKJg*^{l|LB{z%%@ag~|ZkM-Aqju9tA`^|ska+`WokcFIC1>q(F1YSXNQ!LcbIfMw za%i3Nq|`=wLxxn`rpUQF>Z9L-quUv;9Qbx&BEWYOb(EUnu4V*s?c?^_a~Wla$H?dG zP51wX&3L}P=Z-y@P=>`~T+j7^zW2Awef8b%;%#7+BXN24 zEB}Su;!dWC`DZ2O<|{uZ^OkAuzH}7(3JD%=hL^?))AYK&huYYk>Q~(Mh`~9ul9B z+TXHzjg_1rBJ?YA9h}`=?B3+`lL67ZY^Fo9aP+Q{9Jjj;=zRHHYVsy$zEv>RXl!2W zELelZHmP=JYFZ>OXdaVHsn?|3@c48*y8T8XmtZ|=S6vB@TS?Z&TAGdFR%=JLlDMl??~Ie=xfKUZEn)8hK+NvS#>uhwb9ZAWF&^~`W165mt~Gy37`XEDS*DJmBso+6*;C4ikf~{+pUsRYs%Qw zvv<;0$Fw_H4gD^z)_FbQeyYnl@jD>0P^_hgb-DhSx!pasOfn4$A~u)G><>TTb5&kZ zP6ndi*h&auJbP=Av*MfIC11w+0rELxl=U(e&0*Pn zc{|#C1|9yklUaQ2eQgN?3X*FlmroZvF3H_v%@_RVMqJzaCBiPZRo*-dOgM!WGV^k- zn?|QQz6C{e8jBZ`i8mNL*`={$I|p{1o;u1bHNGMPSX1{!tb%!(xVWr&y93`-6|3e| zwOxcbU!9gY>mxfH0b*KC1O|4&;k4MiulDnGeuU(z6^V37AYeiO#JjZsYJ29%n!|T5 zuSn?bPQ_4%Os6^|X>+|it5qs(7AZo3C{m;`Wt3$a^Z1@$h{(U^g+<407wW-Lm^Ku& z@&Z#IC}4iIdkX5y>Dn%rBZi3RrRvqF&m#pwva`j&-W~UpC zBXHM(kRGWx%1Z6ey;A_aXe=kxb-j_jevNW(TW5?+Tm-!a)R*2zUcW?D(&OF{N6viM zfFPgvpIEg5F5YcnX7$^H41;(9&d&7L{g$-k7UH&>kV<=lF*2`-M`7-LpsVhYKK7-|aA*WeQLddW@5Lt`kCfKg+ z^Z@?D4koh^BgL79`C9V?;TK~8TyF{O1kZ;{ux&F24Z>C;$5{01L;G_Vd6QaCG>vDH zQbDl=e4?6{u4+=}bi<4P-1FtIkw|L70`^@573&v`P{_DZQFG}+b&iIz8>!Df9K-Re z--a;+{FwlU*`)a=fI%7{<>GPcbh%gs=q#BnXNqMe%GACpS+g60RJ~uds?URV<9>1h{M-y1}FT!dpDO#&=FovqPEWbSYfd?(o1_uYRrKf^mb2-5%$m53LtjLM;-OQt#l?lW_nu0e>cl^p zvniEmi;phQYh7=d_lFK}jUvqGdmfVN@BBd?6u;fc0p#)k<-lF`pTCuesTe{-pNa$p zYP;@nfTmrh?;~1Iuuk#;^db05Ak*(*2!9W_f$BC(F(ng#`!-D#)BX&6O8y@;Uk0x` z1Hdq7!It)bK04th*y2I0NX?FAy~i)@X0-*b%{bEbGSWs6 zhh`L+Gz(`w(JwMXDk}4VZFD;Q#_0HRrrsSADnWhd#9(oze$W6sS1tn6{ zt7xT~Ue82l&J|D~Tn;&BM;yZNC6?TYyzL& a2V-}{4C0z=ZVm+SPfA=~tVYBj@c#hOupQ9= literal 55931 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 aKk*a)u|hL$*^__)KjOkNLX`r#{{IK6hziF5 diff --git a/tests/__tests__/index.test.ts b/tests/__tests__/index.test.ts index 373dbb0ac..6a663805c 100644 --- a/tests/__tests__/index.test.ts +++ b/tests/__tests__/index.test.ts @@ -50,7 +50,7 @@ it('should load successfully', async () => { (el) => el.innerHTML ); const tab = await page.$eval( - 'div[role="tab"]', + 'div[role="tab"] .label-name', (el: HTMLElement) => el.innerText ); expect(tab).toBe('[Preview] README.md'); From 4aa0950d5e1856e843762f9238efbe46c282c706 Mon Sep 17 00:00:00 2001 From: netcon Date: Mon, 6 Sep 2021 01:49:19 +0800 Subject: [PATCH 10/13] feat: update test snapshots --- ...dex-test-ts-should-show-pr-list-1-snap.png | Bin 51757 -> 52025 bytes ...dex-test-ts-should-show-pr-list-2-snap.png | Bin 55247 -> 55444 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/__tests__/__image_snapshots__/index-test-ts-should-show-pr-list-1-snap.png b/tests/__tests__/__image_snapshots__/index-test-ts-should-show-pr-list-1-snap.png index 935ee7a2eb8eea9835858fcc8bbf0487a83c319c..61e2766616cb631951266cce3eb40d04d7b0332b 100644 GIT binary patch literal 52025 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 MP?E}*eDmr50HGeLJpcdz literal 51757 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 X;(Os8!4G?A@Jr!|s%)8zY0&=xZM`#> diff --git a/tests/__tests__/__image_snapshots__/index-test-ts-should-show-pr-list-2-snap.png b/tests/__tests__/__image_snapshots__/index-test-ts-should-show-pr-list-2-snap.png index 1930315414148b13eec4e5b25c9113346391f000..9d84d54833757b752e63879cd78c8971b68cbede 100644 GIT binary patch literal 55444 zcmeFYbx_q|xGqYFC@Cr>2#N|wcS$G+2q;KMcZzg(iGT=*f|S5QKm??vbD^}fbmyYG zb8+6a_dRpx+_`tpIrs1FjN{A_e(U#r-y6^SJkJ;UQc;$e;1&TE78bGGv!^OpSlDb> zSU6QzF2g5*KaI-ZA8aQTSxKz?F4|=*tUFk8PoJo{C#_AmxvRaJZQkDevWLJ*y&7=; z&V%>nV(tNMV0gTpYq#C+$rv^1MlLm5H!H-DTD&vdR`yCPQdn7}gH zl;`lU#ahOg;Oe`e>Qi4t$YMfA?O~ErNP=6JnA4_M?C`M2Wd;UD!`e~eYh(}E@nYY{ z2jeI_eJ&O7fZ<1K{dKawmxiJ5Etw0SHuBxnWH7!(z(&SR{J;K~LlaKBd9iYaJo%cd z*XQ=y+S=@wsefXA(is>SFfcH1R3{Y{a-E%@hw0H#Q9Uy>oHiSBdYErM!Jr}4Yw4J< zQCp6`K33kc>}*^PM1-sbTrfDp!D$Y@J1g~=IT{b_`9y#W;iW& zh2K6+%B)!#$l>+t%`n~nY1sstqiGxl8GN4!A?sfx)WM7Q{^+1c6UsjBg_^$wC*!8;a($u z70rZjf9vm$h4rtmFX53Joopl>-t>Tmh5b^`-G#2?#fMIS;>b^3to-stje({Q;_bEwqZcKQ& zA5ORxX|jp#^+*xX2z*&Y(8!vbGh*$p4rOW;|2R8YrT=YIq}kfhF~8lCf@RqAEnt3O z;g@Nf4rMNGqM+Tvdim5{QPCvy`6;*imSOY9+d3;%(rB8P)4N8drVp?b5u#V?XBt90 z_6LT9{LrGmfB#l1&`;JXHjj>q`d~zrt5qBeyV(cp7aMYt+M5~Q zC2BBii+W&cVKE26^2_vUuu;$Vwg`mdM_S=O4Wts@S|K)aa&l+8DLGe2NN|{4CKxUv z{)!dO&XGE9j0-a=AsTNei7F-vZ3^{Rd6s#fz^ebVzN zynTGGl92rHI^3wx<$$M4K7UR$GBR@i!2^#$exg7;LW)nHK23XU%!JUVDW!xg_bnQY zmf7fJoh>bm(u#TBY&e>m47TV>GU`gIqzZllzYXEngmUzVt%m2_exzt^ox51+hjt{W`&e=-rbnu@zWvTThH7nx8!a(y1K zi12Z}*)1kmrn|y+C?y%!-t_J&CuV!T!sc}&#Fl&0@i}YvcqS(&@g(o0^es1eM1X?BJ@;fM>%P?&03cAiC{UYQ>I#YRU5wxje5vZSOqIXROQEsDmxJVx3&JK4=8 ztnmIh^Mr1RWcQ1r1BJ+ge)<57tJ^@^$8sFDmiX4Gr&zi;G)N z)+BT$3eKTWP4G^ZBflOb3fTOCmDSfj?!HS?zdtmDI&yF$Wfl{|H87aMF$)e3rdU#* zk2D&{QV#4*PeJW1_hGF~A?cwGLHQvJM~%Cin7|==qS0eh;w%nCtMviyA}%cM?^ovL z;8n)!7djJ#?e8GEk{^+e=F3E^9xWu=5sJnoC3VQs`#gm`5q4R*+14f(RK_Zgrcxiu z_sf9%OcHS!?JN5?$nN;y1q4NpQ#9iXj=k~z?4Y4)HI(l&DjJ%0LeA&k9L)~nm0!PR z7D$Zf%T#iLP=bhQ-!0;ck4ZINhigc3pE% zt@=nO_P5UGbg3_s6e~0|^!xYkT+T~<2vssT>c>-cJ_gSObbk~9?U-CAxv;#G6DqrhkD zjXPGpY54a`b~vr@TWa1PbB>kvmAW zSA1wk86WSUM7Qd3b2W>8^}8IdpHlgpiZ2{Ly3mj#<1N;0RazU4Q|cM%s`=wij7sD-+@9-)WGa|9OKLn z$#yGW6T0RXK|KZL|LrdNzuRo3aofAQ3mQ>%b#;`<%g6HNsU>L9XeH(Lg1x#gjc-aJ z8C?ceD36tx59OG#HY(Ct52yT)7KnNX)a^fnoKZ0`c#k9L#E#kxL~h)?`K}$sz`e}| zEp-Nx0c+BGmzb#Go8JYtznABs+mxO>6p)4x2`TuErO9&+B_AkXYa_)WL;8uKMpO`B zn7RU~xZlBDVcEwB9TC6&XnQU+BI04sLLfdVkI^5(paawedh>~G^|}D$;f0t{wwD1d ziEQ=(DngLLq)5~KWH}X18>{ejujJ0oj{Dg*Q@n&9!oo3}aDB2iu`N1ttC=Q@@ST~X zBadCpHsd3=jZ5Dg=9>35ry>Dbuu%|NT3WIh)Fs8RUML$Hw1iW)Z_fo;&|T+_X7JL? zNYJjWaQV~F;J)=6zi7nTdZH@k%a@yP`m=t|MUr0r1}Qu4Wk>qh9%*yK$8TJ)T}PwvG_N#W{n2P0h_6SNb2qGAsvksbPIMhV!jtjZOTG#zh!J zfTdk-+v$&ej(vrIpwYHG8i7!R_AA)=C)vp-b|zshy}0}?6G5=qa*${GfhmIo7` zn_&e7oY>gdc;d&^R_p8EuAR=!?OJ91m;2ERQC94@nAo$@*K z`Ajq6d%E7(*vJJ@uINz(UpOpuS@^|mAvkK z+Y~mnWi8=zLPSC*s;Rp@?(0Q~1t3GJ4t-(;ITl9A$-u)C1{K#>0K9hsKwsFAvsu>{4<65!0ATkr36ZItv19Bf5JDJp#oY>e}$ICIzQ{ z<4l7rrrt`N@7=(PVR`k3i%9%5T))vKr8Nj$^YHEOP7hLG+&=$b+D$_0gH;n)uTieEba3Rvn7w4=4<&vxZmVsSo}`| z{Zf-3xfOZtzrj*bRUIj}qX%@=#6`sN>gPOld69PB^JI}AN&_~bEc8x$K~K4z#L2;W z3sZ`>%4-8iroyrH#^z>Egx5;;-HxyP(OX-ED(eb$n{}rEr(CZ=L7dPpn-YP6VRxbP z@LezTWb8vD!TP-Nvi;n|i=+9rXtSSEjYRTi^Fp*F`d&7S0JSmO0(f=KSww-Y5Z)fs zR-rd<0rI_0{)*7v@96jW@AZ*lCP)wS^OOB|A+kML%Cw4^(SY@_?Dv+GjZI7vxJ^Wm z=&B$cTT9$}JLEdYOAX0C4zV0QaTM&@FJXwWtu1ATuzKu$_QcpY4R9}`#Cgf*A1@Ly zV-lowInLPO+DKpDy$_L*7EK?>@nQ?~s$;!2DnlIR5OX2)zIS+j@i;gTLk+qA@L{Fe zsblJLp9L2{Zs>9f-ozIjD90k-b58)R%VUS!bY5%RzQ<;~tQz^>0UwmuO(CGm(URZ` zPOXWH>ce*yomN?NZy2{QN#~nUijlU%IOVZ(6ZT|5x`DuOe`R28yfUn(=OsksiyU?K zw!eRk53JpkR>L^!Od&$CO00%HLRPlI=d+EW2!rMyipkCJN?E#9ioX}U z^!JPmvg_9+7rT<*M@qB;6lm+}`T?g~VmU{05GjFvYesq8rOe#l$#;r*8w&;Jh&;XfY09M^a2>AYVe zKr8^TN2jMVtE*w1<}k>ThBQ1eH>ZH+Y-(nv=PCv)M5U>EPR!pJ)*H06YOfREr|#VG z$BgM+DN1uNk5%aAE95J|{>3%6v?RV6_&Kw_uJ?04FfedyfB){?y8&x!NeVwzO*9!) z%++&BpBu$=kB!}SRA0@Ij$~(Gm<>`G{YA@fJ09<~x&A~~_nxDZ6Q;fuTX)2BKb0Ps zH@Fz}AlG4Lp!}&_N&s)$#8IG}ei_=ZG)M7>HQ*wk3)*!zUy0o>(a!5geiQ;g1#*WX zEC}ih;BECEN-5ZnAx@wZXcQ+fIATjkNW6VZ5UB+)b|mWaJz3-85qpv3a2mmnVqOO~ zwK?zKfA{4}KM!f6!OmSH42x2*yH?x{DbNgEdZt&Fe(tj@of$ll&+^|p^*n9;H+@g% z30U$i%!)LrM4Xu=F3xz}CR`}J4%Uod5oR2j_v6MJZt=ao1|S|)y;;ZUcnk$g5r#~_ z(+|tSq0PdJ3izHZGj%(KQ6ir}qt4PP=b#a+N+G>^)x0+?=n_7DbWBVWBncplM_4dD zEH=~7n3Rt}jWGobZawlVh~&0NPiA+++Hg@IiWjsK$9nSQ$@6$F#Lrhb zQSj+#sg>nW{%u~1F5}g~JlH|T=Tu5+YB#YUwP%_r4H}o7uhY?WRXB7jL+v4Im|p5l zui5$gl!u3hV;^;sJHp>TEs&9gg#b3P+roD+SF2`!Q0EdJ-e*AQroxcVtf~{R;;({s zbg+^%sgQ%9SeNA;%3J&&Otxp6nru@fwhr1k6A9R9c+J`Dkmny4H=)56+D?c-1r9f& zBBJKGqG$JKj<#I6h61Gd@0ky?mn9OAxE5sEAg?IjhkHNFlMv z8`rOky1dF!j{s8W8U;nL5f$QF6<6U-brO&gNlCQc-rm`2+1Ig{6qB}c-Hd2pnV0Kr z$|q#1UDpY|P*YK1>bm>Eh_dK*fiBNa_;oCwKay86ksF*%gf6b z*$x4xSPLXB7VE1Co4JfE8VUbr;|Fpg6Zl0y5vOTJcrcy5>sy{L8yh9p7O?#Hl+JtW zcUUa9VLcWOE-tl%FHWtOL@TfeYCi>1gdA|-+<+<&>vmcG*R+d46;#2$fgOCdIZ67j z`Y>>BWgt<%))VH3uFxAym;nheg$X z1dGteN*w|1_M0XrCiQGdjk6fL$AR>YjixI|`Z@l|R4~WoXI($^*k} z?aIfnpxE^1Xhg!X#Z+xTj|*^JAKhNb;RW6RxTJ0#;D;cRFyQq5{rmPOdzQgO9#LCc z_JDm`Vdl24+=&~Np~>v7B78ssMPI95{|Y&cm%@}KSQR&eAuq5 zD3`zDp_$^nbCry2ro?vQE8`2>OXD-U2V-`{Rzr4(eYCf3(q^(-?9RB8NdliGL$Hzk z(UuWZ@*pFsCR^N%MM`$>~=j8g&APp?%-^94)Y85WItk!PYewi zxLurV1H*=2Vu1*1kX0GGSg}dbq;H9eJlr4c_xGEorV8qvjwPj}9E50vXg~6lYc+NNX{M~q-|lTm@>o%k1nOGl_pomT31KOu zbfWHUWBPv$525g5wz$N4S^UX>ZFw=EbjjapDt9uzfB#Zj#BhP3vaepfYF3BfVqyw` zsYId9q=CP$q3Tvz+M9nRmb~yCkKE8yMPrESo^wt%bxM6NMghS7(c{j!o793zUxE|!Wx#nR;% zBF`%@Ymdc{rZ8qSfkKFp?S>5e#6a3eyt>Z|l-7ob22eNGP?vsncMVq56Ez5t;tXKZX7URuS&5mbB+s3OYq8?F;o4_rAxY^d9-SwO|MXy;iIEW) zO*m>En^EVDy6Q)fqW?mM3{srh_WN_SZd6am$Ym;5>T>q4 z?!A|9mUji!Mgi402bweRi_PKG#E)OTyyjY6TVGU+L?RdMK>ULV=gE_xcGCYK!RKJ| zwyxeO#~1QF6N1x)nMdFE_yHCU&bW(kvLcXjusz%Necj!u0J7ZyskpyiO)*7W3Lfio zvX=@tIOC0<9BRrzRs$nV!qQ*{!pM)n^Ype#v~2BdGo5rT5A2>g<;*8$sD zxm`NgT_yNB*^ji9OP&DC z7(_+WhEdW7g_ntMHG(3GnT*25mjIl?_5}+&eNY+)+E*r=O3u{uKCrWFUnVt1m-{lQ zVR8h$6u{`%)2BDR$p-WF+W%#2Qn+t?e6&&jrqmHMg65AtB>ukx@q6L98P{+!6OD9*a0sQCETo(F58o#tjR-kt6BDPegZ&ES8}%;Ys~RYln3XcSzo zC*-VorlN8k=+K29iC>jdC4-E;5*aA_zRRhiw$f#@`8d~bn85TqW*;g_nME(C+E-p}BLLs6nRiAQC2MVeQx zT$%onX!{3}I5}C*&?Ah3{rv|=gIMRIt-Bb8aLIg_wi=KQThlNcxq);7{6l?`aDmg#{6p7`@ix%+p2^E|s8&Da zP%D_+uem^TcIDamz-rmyCNY0aU+fr@Io^RNoC2*7_G2pU-o&x0I zO@cgdbM$5@-vioPT2WCklsH#C?-oXJU}nDJ4@swQ8uwQN;=^ONQxMBd6ZnlxyjXlZ zyqUQo~I_~E^at(CLmUBv#5pE3I?mbWshK(h!35(7Ad(D(1ZNd^&MLZ)WBInn#V zr?+;*8?q@C@`TT3^d0Q1N}l#B5M=AKl)D{w=G%BmU)-O95jjlkX3eK|R8?+(8_ZIm zulxb!A_4Sg(C!J@+%DvW{NXvj>WjiPb;z(=`|;tB(; z-@o67QKK1Hl%qun4eU<|%Ow6lgn50m^nt2aiysSh)*{762J~PMI)GuO(5&;^Uy%&4 z-rnAZ@(`qBXQL2AKsN4kI04c%LH!Ma3>!aXl;GUUTD&Sl-K1H5%~(F zmA<-OLIO3|OnA&YsGwDJBE-Ce+%}RHMRS3v1D@DC)a=UekM;1&U&X}< z{8p~n|ER`IG=boKxOWCQ{yrkYXu2L79{;jHU#zC4hTy!P8mORXCGq9s(@w#uJ<$yy z*I|sq0!^m6wWzG4<9Xfbh8IS4(AA{{na&t?Qmh^HtLHC2ozmQ6WsQEIFlmhX8-tlV zL1n*j>y|w9fo!mqU;*LHrg|F2g48Lu<$H5eHdFETNR0 zta{bx7|@`M%Ey4g|4i?97O=l6sLN--;i(-6M-GW#W^3pm_5)J|mX=wXn ztM@r+ih5v2M(_6t20$MBX)KWbRKC@~H-E`KmySU~Pt^C`#)HNul`P_d7nsm2L6w?%M1F*_!2OjLsaa=bsp9;YS? z@&h%G=@o_88kBI}jEd6diZ>QjI(h1#a|k=kzRN6kX2)piP%0Z6pYHly9Qr{*33_ig z#UW5}eQ01@K%adA(j-Yp`tvav8JX+Xum6GKk$+@%a|d}>NGKkCKCyT;U%T|f`6(&Z zwHr62LP%}{wQB?itsr*O`L3UzUvmUa3s}TBMb?yWRq@F_#d`hkdmA!DN)p6b261r& zkQ|@=&Q}fM_E4|O$EbxJFF}HMgZhm6Cj%BYT{2vJ5~$flhQHrBvZ|KHk$rZgq@{hX zj|hX{VHt89XaIj)&%`b8#yLM@X3)^f)22jrUF(OBZzyAIbGl9;?=GtoZL(CHtr#Em zV~rsCRMYtxHEw~}IgUe|AonqkPu6 zLiokX?ei!zxq`;~x@>_Wa+9k&E>qGBou8Z0jpwwZ-tRl?c&;96Tv5*yK`;z4=sbPe zNT^XwwzXOK)1LI8p84lH1XC+h^w5S6VKslGSZ01hJ&tCfrZts5IhXevLkHS=<1gNo zj}h#VPI}$fPfV`}PPy`yGFZ)^Hl-16bR2e+ljupc{Fe#x`>dbUHfa}mx@WxVNpn(r zt{*F1B_w1Y@QgdpCL$s-1+Ej}C80-v%j)slhPx)GCu@|9&Z_cOoY9P~%(d>x(y&tz z8N>2(hb;3VO|F`I4tP_+0eMG`#DTlS-8Z%#WA*N*wekECN^*%0)WR1|a;d1FW4jl& zk^jiIK@FJm}w>LO@?9caIun&`|cIX##)Up{Ss;8vg-76M_a|ZtAl~4YKwzM>u zm$*nmNC{y_7AbbX3_d}YZN>ngr~$N5`uh6fA?X$ZF77Lg9yr!+ z{ki11x8(3@g`=%>FyCW$fuf4)!jT`UDHMI9V)Bb)5Qz@%8hLt(;FHiAF7;$8xR@Z* zsPtpDNkW^02s7J*+Y6^RlRKApQ#;0b626kFEPM2s(*{hmc5IuYB15nVIgqb&wfKun zDShx8l0MP?5;0TBkhkedd8CxjOGzjlsZ34fK2rNW>-z8Ciul_S^O4=h5|ZvvGp$GW z2)z!`U0_K#K3+^2sXlbW0>_~eRCgng(7g_5SBDBP2nkqgGN^&@j3~hf6d@Uz%V0Tpv{?gX_xKB{J&y8?0nqbM=S^Ea`Z+B1&)BE z$K7X0!y#u;V;-oI3K5S;Ns)lw#^EF;o&6s&$s%Xntluzf7Z8Z>Lum2EI0iPha1cpy z)mNpNIN9YePy`Avkh3>X!&S2}?GD}GNCG5)56|qukVag74AnXbN(o0iFgVgH#pvT9; zdt$Uoe{5VZ-EjdD)vu+)8t?Pww;BBcT4`^Afghd6yfVhFmFzaDyfCyWkpVOuG~eSl zf>QZ+$;ik*h&ooN{I%)vLH+gn6t_4FnWcPOm;qz!}3g8)dhEDRjqoz{h(Zo+O=yl{*8K-H|%)3NK2DlJ*w-05tU3)ZI1Wl z%M@XFaZN$@1PBEh;M;&M+{r5$Fg~ZK||rPn-o>j zIxa@fAN~L$5N5iX#h#I=DP+B){Zx4^;F=8Ii4Qz>le(}e?>~G1IQ2d}oJjm^OG;@o z2SB>$e*d-qPH~m)Dz8yV8@2>vJO70rk8R6{{m!FmSYeLv*uv zwv7176~mc7cwp&?ps{lv^4Xex0|$OOzOn^+~5eZkOZwmNw4f$`>fssNwWU^p=I7;|t`RFnt$ z*a0+NUfXdekZO5-&n`_zT5cfx&>kf8;*uDb)Zn@zEC^WNn#0LcX+>f|)7EQ{KYtoS zqp5i2Un|9;wcSzUDT??rm4Tqn3ZK zJx4vy7$!H^;7`A7UX#vGkFX>ukeWY>n;=@EtB*Apd^vPzvLb_+Zo%ExI%_xKt4YOM z^?Pw=rh~qgKCH7~*w{(R(ZTf5v+ie1_jm*MI`*z#n3?)*>8ZEmmh;e z4D5lBytmo%Vp{#CZW5^UB&&jFPr_pIzReO3EjSP}Pl$Qk$5051UvBaas-KrxO4PNUeOn{H*OU{Pzc z!0((DX6zoXU0_AbcNYu*+CNnNv2%#@Q#BoHSFKDLG^CPAz@MI|rEl%npJ^f|?W>fd zxXplM`0^^j2RAI ze|tc~ptsOS3N-BFm7D^3Hjv;Wc`dGkbKwV+H`p&8US2sx#qC@tFv9`Fl7;y|%mi4H zI0>_%Y}HKBsU4`@Cg2r&J+z^IurU!fVQVqlD2MSh`>*EbD8kr|4O9QjZ~O~VU@J5= znNxgE9unW;`vzg>eQ|z>xGD^m7C|f#=hxjZ)oB(P<6(g$i!rvR!+f_kR$lNp5v1I% z-gH?luyA96h&{Jneo+yH{QhgF_GHCsZL*feUWq44LP=k4Y+)+wqMZ|I3d1y3$(w;F zm~eN{r<-vK)%qT03^3Qt4H=YUGS7KqJXCN>R}$i5%J(#HG4Skk6WN!Wa9XNgd-BM0 z-xFgp`1R}8`;YnS+3CzV8h(qF*!sH*f-x&SqDV@5z=zN%IcwF9+D(^wQZbHW0OO7M zdK(u*-Qqfm@S2z!rde)#8*^m=YSg`Z_tNXj;1zZ+S);vXom?~Z@4)=*N-8^@1q+5Y$8R5+0=pvgE@Z+Ep&n{6#rX~)`X-i$&gU##sT zZ%b&Cd1`-x8TQWjn7*Hnp68+Or{Q5L5Y02<^ce&MF2eu{DqNU1?mP`x14^xi!0||l z$v5c!U=9f6Hj&vKHu1p-@^Cj}5pEtF)}+dYy9bN=oD|xOxhg5;_lS?IKR^@P!&QZD zlgvIj5YnKu*TXdqs$iyEEHM7fUu6U9HNwxA7L;d4`db&LKWv(kpVLrKT&}RFt9!XV zT1tqgZf|cNAV&m#(17eAc^1~GppXJU5m1INgRA>`c_(S^4JLHF7W0D#O}kQ39wn>e z!iS=s|F_PoUCII=xqj9D?8u>eW~Y40SD_nmxI2WL1ZwFz=D%*+T&&HvNuZU$z`bax zA@`A9qU&$W#W#}{5+L<%gf#pHWI-_gyg)9R1{;c1B{`z^c`V_!cwu~XV~p9$wZ-^1@Ub_T6fx2%_++7y&Ua8Bey2XZQG(;VJ{kj~X|er` zr0@*YLf) zJ>zy(MKAyaESIBcO<`O%TmF~PpRbn)qO>F2HrbtvTor2vi)!1ayHfEW<$}cmbsPoH z<|h^HiME~C05ixAFx6iwZ8Rh+!;M^)dJsS`=&5L8Yx4ND*q=M#WCg^CWxhFklsjIA zb`3@r2tTV`y22P)5yTRM!=thf{VIqIg?Shp;K6;%rqDrwot267 zjRh;>%W7AfU=p8O{!mcKSvc?A3k24t$_*I?lm87mIvHSam%zuarKN?3Qv&M(#O;GI zkHFc3RbC6}iwlJUu0-+JjtixwTlMAZRpazUE=Fp>v`bfB;ww!TuuyH4S5H zo~la*y1}!#5-7`7FqFWA5F@!hRcb}a&Am~So|W|#gYIBZ_HtXKfxbItQEdx7dii z5tAN^$zTvH9+oo$Bo4GJJgArVK+wG7^~vGp;pRH#T0k3YDG1v;;6ortZqTHNn`j^) zBARceNz?@ssiu?C^xyFivX}H>8B0Vjgi|`hA0Um3>J4l|(_HtjDbh`T9B`-@cC1yc zy?QMC#fiN8t>E&~32T&kmo^qrI>;Lb|}*smV)seiKDTjGYH=`%25 zjl0dyfzKbWSR~Ai`}FB?xviTcT!O&RBXD_1Osp1jFX461V|@=4Iq3NS?b2=a4r!La zSCe5grb8tva&?rD1=E}}z0Ps_g|aHO1dOLbiL9zJZ_)s8K(G5mHqGP+|R#$rokO8s}a8`J_FV&xW4%%Mf^=9WT@ghU7AaZ~j*xsPTYT-+G9Zy?@- zyAv2=)(_x9!MOtLa>shP+YB&Lv+(y17)gzr2mme)H2)8EasC>3vd&L&-6+V3N+`1}1e3r)QTZt1($9!WNd&$Rpa-0qOO zeM};@m+XnX!*ceLOh^AX3ER3zGYd#zs4x!?zK_CW_BlEE#hW*8vj6Vw?>_)V3MfMg zg7Wf7?LUy<@nWYgEb6(Muj?AU$;imyVj!h(B}ViJHoEEY-nd9}YkT|Q7Rt0pQ`AMz zT2dF99*~qDk}b2cer?q3l3@I=aAIPaF*nIq%q(T0hdH(%92}UpMG217O-!^`(t;y# zetzEFm#Xp;SQ!}@(uNK0gkkPkfis*+^k_RQe--o=Fq;J%f%To6s9{%R#9E-cEt^uj z?xp2sh)bvLnRQdZ`M9I*-F5q8xaa1ne5BJK)0Lu>z}2*u9DKqioXJI0KZ{4fO65V- z<;?c6VfdebvBCvj&S#(A9Z^&j+Yw^BX|qtGOpR5D{S)q>GwURi&y`WKr$^mnmuN}3 z&ZWDdUyf9{Bc+v}Vmw#C4=-{^i8ZkKo{k4q^)W z#KmV31+VR0ekUODE~=lq{l`Bfw^`6F#e@l`N3u`RnVRv13L)uQk5k#^iG;X)&IRyvqv9l&dRHKDG2e--vWq$UZ)$^W<)5;ukzMz>#E8A+@ucQ+#@+JmNE}_)*LpVsP^g`IjVt&v`pXub-1TEu{yf?g6+TES zc*u7aT{uw^_MYX{UoI;}AvwYIKSHl?6$a^fW7ufXSSc43ff3atJbs!=;-^N{Ooepo zj=WBYD$<;RKiiF_;%Bym;`*+xoVR6Bg?GA=yYH6-($CRvNDgrmY9Vvs^Y?q{hJw2)W{W?DE&HT2ORUta%$!)bsN!B3gfyGALwjoiXBJi zXrDd%-kx=ga6#M6{!@u_b2?{c+&gB?OYx3*EJ1(k>8qJ^zmR`SR^{B4eu6mXK1;kF z)Dm6P&2=W3oU2<~QMfsh&#)|1!|I6TwFa@bobY;cMm(c<1BXAqZ0EK5*luZd+T~s~ zp#N+@=SD(Nb7YVF;Wdp+oQsolHg&e6TfgUDIvb*1jfMDi(($%joW0FXbA4LpgnOK+s{8>D+b5sRh?ci_ zaGJ~AOdhdgx$3S+F%n$doTfk1w&h$~rAR%;F;3yaN$T@!eixRMgh*|J`5mLf37IfY zWznsFW0dUe?d0{rfy5k^gS4D+e%p8&kAmB0tG;VFWw{cOl+44MRc0vjspkX<${sNG zbmPN!{p%&&ZL6{w&ZR&gb{|fiozdV=rc6I%Wow-!#4Ux~q9i9{<1oe|tMJgG#<%QgMOJ)GS=_RHxkZin zMOJH9vfleM*RJ7IKboRv4ZB2fjr;HMLLEnbSaQN)f`z$7ipT0M>&s}Gu}ossi#{?| zLUJu(5%qJ=aHYD@-^;IVT;1Vc5R@OO>`_yo?Jwdk4smX3>-ySQ@?2a88C`HlL1$mC zNdG)D7@K*Xr)x5trO>ZwxO{2o2i=>PDEvs(C2kk?q0J`l5(Qq0k4wKJLpZhy4v4WU zXpj8`=3=9gP1cZniy?s#U%e!}yEgiUmiw8pGIYBt3zX~o7eSxLPOnz3kg}b7@FL^i4K|(wsKP8uun?JC%lQ&^|-8R1W&2vZ zbrPi^@9Z~?jIrtU?+0h<&*~*!E}Czc+>5U&YeXepI#Ka@c13wx?)lmfiB2hAAF@q# zFhQ(>)$%Lbg55}DTo^90iw>=ej`gG)tk;_ALE8ApINK>3PAyI5Ee~_~|K1gh>A7l_ z{mRKS?YQRE<-`(|oCPZD@XojNqz2Q9xeom2Q8po=;T}Zw|JFl}XQqXlIi|X*^q2^f zyilC7a?d*NSkLjPM{ahvp>AwBIvCpC^|=S{IJ3UcdPKf(BO~ULmzBck!0uxGaUxOD zKCwe+HXF@E+#LhAehPWluG;~U944?Mxo0Tm0>Rck=UmO-u_J-iJB$0(dkJ+2iGnFJ z>l6Vs*PQxKc!}>l+IADEP_ z8;SZtv@SuHi&!WXc{Q@Pd`D3~;=9w_*XJu!lY1KdSpe6|#=YX7eN zchYCN_$j-SQ8shYR+qu{qpP`1%sUnQ-2Uh66XIGgkOKQVczL8=C26V+Sf0LRA3JiR zem#!E@e+?vjRt(jhGc11?A)w7R*BzyQ~A3r>hVD0%mJ}HwPt>}y!yk@ zA=GlXhC9GEC3i-}ov&Enmg+%So=$R(o3UJHe_H3?nO2lNpO$dVP$^#86)6ha1(hRQ z)lTD=naz0KE4^tX8k>zgEA1D*&X*qCLL#}Q(7)~YP_Q%Yz9N4rb(F*P>WHlr$Y0>> zs&66rO>n0+CECx}Pe(kLaEPs_GD_rUTmI0K{6c-({+d1;y)?>~)p520?}$t~3M)6a ztv9?zJ((x`_RhGZbfY&C;rCa$|P`H9ieLPr~E#H!;JG zTjRXGeP&_u*^e1-6sqeOTEtuwWMzkLw=KI1jp1I~6~a?uI`uvkOIiz+;}YN9AYXg0 zLbXoJ(iI)l2`!$2TySEv?D%qAD7rSL?YYTFT9uaoClrNSU|8aGKg-Xf7Yx1j>_jSPx9zPqE3^vW`8W#zr8iq%*N^gF| zYS+=t&o7Zlf6j5+Q6Vv?@JZo#@dn4xCYy)fDExzPhjy$Dkd!U^UNXPGm`Tu^FFdm2`nhN& z>YfySryfr8!gmaajTS{N*U0e?s($z5A(U z;WxgY!orTbS`0y&c3IbTSO#eC4$=_f3v)-R*3;WgL^2(;CC;AI3fan#b2P*#tg|4V zHZg54x|ocHLt2hS>KdyR4844a`hkuMy65RAAs(76-JjnTLT%-Edu3?4Bf{&)x*eau zmeu0UyHQ5f!4|))u{LAfhR3~pf=Z%NdCL>p#Q47x!+{_*J|DP@hndQ?{VeHed;KfqcUBV?F&vQNeS_UtvcC$}%R=hsu4|RvY|*9fs7I~!Q%c^_sSb%d72@;| zWK$tNFh6+J$^D)|JK?y$aHnGBibGj*bBMgx_U8!N^S0@he)0kB*YVp`6e5sUg zTJkyGO|LsENGQG~e4rsDPR`2Z^U^{zY0ab9gFV>U^6%UiBGtlMJ^AoI!#uW4O46h9 zibGq|4g}Ho&eOHFo!j=mEFM>%cnkmJv`o-CerrK&C-{SO<+&m1!3Ik7*Gnhy zCmn;~n@TJB((qf{w~K8SUc#q6YzEm>7wD8gxi|sk-qgPay1D_oQwuG(b6&YE9I{(`IY>Yww;tth1cf-i(=~GK7?GC+xl`C8KSRZz7?h}yX{PkZlV}ZUOUe6^I{}j z!lF72)lc~{6i!5azzESa>{I1FFwVHiIoto?>O0?_#2!*l+%2I8fwAekgx-_ko~;$) zHVLBNa7AhZJQ5ER-*{|xT_9X;;M+SdYZ6`l43V2~ViIdB(SaNlG@WR~_IJQxokuO| z7oxD(t&WS_exKF|yRdt8j~k+6&%;;y25%mHM3Z;TUZ9oh4^zVgRMUUa6km2T8l2`B zk5ITTm1uJ-)zhy{-FqTAp7%SeQ;2JW;We$ZDT$pIuWN4K?xqim*jXc`%j|K8QsyjT zmY}uiSIVEsj!S)S>Dj(}WM=!}x$VeMGsg_9#~R&{W&0(+Ev?03^?A#>gxiheNq zxoRH^f>OL5w$`|owtRnw6@^cck3I^h_y3%gfw6Hk!=T zLqnu{;mWe=ifB~HFg>jKob|==)?il0*Q>ZkrW1D79D%-78s?TC4L=zb?8-dQrVu`_ z&-!Ze!oB0(b@Ib&W=))(y?C@Tn||p}e+uvDU^Cm6a1>`i3%oYH-ke-eUIE8!OCE4^p%*Hp6ZPR^%x$Vxmk=fi4AnOP{567=^3FQeonA);aax7_6gcfNcMIo9TJy@#0L3 z)>qs+e~G>`Zq4AsL=>uf{78j8cg& zf(Or9i**RY2i;Y%K!YE_Lo=poUuM+iL!=bJhA&g!=ZC~k2Tt-6^&X3-jShdg$tQ3nlJ#z6!N+e8 zr)W$(RZXK#umWUr9D_a-}JZ$kFoJA|zBy1&2QIoCPY zb*}4N*Xb`A_x-s)pZELqe$B^IwOD;=Rigx@L?%jJL_{Q=F7rzUG^4Cyq7grdgITzr z1p^Lu^8iW`cC?3_=xzO+t2hRB_yKBGT+lsQYzSlqr}1wYtv@X8Og{# zZi)`AUQSgdoQqbw`T`qW*ETn`}wz z{UsbvVb|}!4;?lrG`WvG%mpQ)^(@p}a^wQ0TE4gUHJ4( z;lYUt&^w-RBs7qY%L!%KT{v?Ixc^rCL#=KSR*}I;kYuGdb>1H5x=WMh?BpW2F|lJ( zPigQ;^`u~^Qr6_3Q(=^Cy&erMFGrE=C~r(Kfw32EgQDe~6tt=-;<=2BqxJcofln8w zPN--aiti4OZyp;y&Kh>m?p{r}Hs3;XZHnfu{8^zeJb90-D#$U!4*8Uf$r4{_sa?_L zR;;*@cAkw1P3qWM$s2X8yT-=&&5^SmQtj0&b8ADB?{qB}0{j(QmNT)QvP`zm5-<1M z#P2uDE^E#~K*Po{**E>}b5z`y^DIw(@_6=qJR8~S4$qgkho1O#QRF(;4lXtdeyleZ zE!@ojqiBrVm?-12b+LS(3+v1`}muXvJ^x!pn>%^-YU-egsOpxYcWU{d2k3A(Hnpqu=zz z=f-$l!Kjv*=@#)w1?Asr3%07s9Rcqs0xdb@gY%0LrO7s2;rj>g%AUYWX3r8$dM`)? zHW#$Qca|?h$|G3fT+19S6#T3&ZXjA-T)ws^l8Wnnnide?YuaBZA@eKhtNQbH8Dryn z&dzMS&Ws``STgzayJTw17fI_HXZ;3+zocT{Y$CsmQ{{a7Xs50E%7@kA#2W$(Pu@x< zeJl(H!Og&!tROeCdu1krG!`laUB|c&|0HEd7m&)h))VlBYOlk6%GI}RAJPq}B|Qw6 zi`!k)6eYjn9dDVPB($uGtj*wiLd9k_i(LKid#fe(rA+Pgt%C1ti@U0#?KJF0WBW6~ zZwzOAG!={NTllvyYss@jLZ?ImEBpxj>bMuq{Q16oyTYrv{^u7J7+uyOzlMW=4T=iMJw#1N(Gc!m+IHwYd}FC%6(aDq|Khs$4oT ztkv#FG^mRzthBV@!#YD6s*ZS!fwHI&rk5bMTK;KuIU`jZ`z~}5W|x}IXGv=s8aY*( z8};uu6QwYC3FDUo(WL?j8=f0UJZm7<8X?+4U-kJmMvGhs} zo<8*|ocG6ljB8=LBBjmfaeb)dwKAy+Ot!xWF=cg|0=RmATh&y`r}mHFDpygt`+fM` zc~g(sd&97E!~Vr(&Pw7Xfm*`&Atfb^->)y}N0E&ZJtjYR-4uiUUa?(WOxqpkn|^p| z5O9y{1y45#SD|s>af$!>s%W!kulmzm3o(29V@Be6G+GZM!hsoW4LC*NUDD|idC}8u$kVBX!clEceSCOU_DUm3C}*Mj!1yL1J8VakieAF&hco zhUeCJsK{~?=~Z)k9n^Xl#cQaZf_^8;KLL~8%H!Q{u&7vh?Px|Sg?is`NHLGBiQcw(EzsIB9%+*iq&9lZ*IV;V|2!5?xn!sH`%UG_yv|m| z%`fZp<*2+BU7qgmm{9f;=I(6R8_?%ZXOjv%aN!uJqbS1@)uNN^?Xfuyt29jv2}4W8TvrIQROx9b_HBOB!4fvt9?vYkR zT2$Eoc45PU4Ae35aj%}o`?%!cz|NXozepn5n8>?VGR7^7(df91tmVV~x0w^` zPr3ySEu->z^LX1j)y5d}XPkfB%YN7W&xx@v9T!+0(VG2v!4nk1Hwe${`J3%C{pZ9l zoEPuu-5BmT;EDZdztU#?I3if_!P{m7`*ylv|9VWE>pA1R{m8M8R9){nDTU{BeBUMyWJxH*4yaZB`06`CR9SnS+yZuQB$^(GbG%n-Ix*; zx3{Ek*1eqR>%~w^U?m~d&-h$t(VTC}>Y>IY&4h7fO_?aF;^-0Yb8wquW%dT<@M_M^ z7gXSgz-FIs?QY3`$zGZs#dPNx37Th*iejGXWc-+t2fJH0^MFn;*RF$ICD-)i?v8%@ zGSN&8N2!C(%r|R{*)vbygaz?wij{Bb>vHPg;nygx7ER z*!K|oxDa1eJSxUdJh3g{Dv>?&^(#1Nz$RHYc(BrpwKhr7}sj~=+ole=_YWF7cUhhH8 zz;0>jVfy0)wHoFxL9*4TZ~`w@;ATbox<{yM(hY55m3-5CupL{m z)YmtZXpDF61ls%ImjVf+2V3z6fb8hFCI0hUGZg>VA6^ckGG36LglpvLRg=+V7b-jH zR`Z7aym=aFF%T?L{3FfOXol~&vwq#9>lcgKTtQ}ZO#VQy{CWhwH8u6vH=_4WCO-5| zZs`71hv=3{dGz#J=#>d0v?)>H@C$#!l^uHSUu?Bx>#L9odXxw_<=2mzwTh2cgR#DU zLFXSP;*zM+hp^tT1lKKG8J#R$?H7)%i|0ZS3zEl!Gbr1MK4UbPT;Q>A*S}Zo|KOa& zNIHHBhBmwxb?L##`P)NTB~$;A{G(_>$zky&bGRrrDuFHMra=wKu%VxEmjTuL#>An{ zs;C!aD#8sjJBQ##Eo>f85jYf%NhwS5JYshKXv5#JrbF~*+LNE*x#ceM!2IWIuc$5M zq7~)B$Gt+El2tvjg*WFMdY&%$=vva_GTXPJb(3-`C4#sf)Jo*@n0y{7MtM|nI#|QB z*g9+$DJ$SbgBik=DEQFAVN(_BiVrO+W3*ylnK=EkM*BBy@&1dLpZG@i^0J-2Jew|c7bYIE*sc>8?3oGLBG!usmZunXp+c`xypgpVsSYaw2K`7z(#Iae~r z@X9Hm{;O5!?oSTpHj=4rq81|yY(?Dd&zMeH>7{)od~el?2m^_5ju<6#!jhX`ZHsp} zw)OjYy>MY7Rp8)i>wC7g5=mB={FEDs7>i0{lJ^(k+L#Fvy^7<@`yV}f1mbK+ECZ_w zJmgz+b?BWQIdJ5yzUf@Mep_z;R$(IUEYq=4^P#E*jWqYeIK+cK%+Fhko_?CN6MeWFqtCQF`iqle7`=>~s2Oy)1s# zU!-!>)i!f(U*(c$i5}y;Mk!e7ewS4LsK4zahv}D{&-D(&UhcR!5589HQQU13>?>!Y zm5><_jf!cD73eU{j4Kd`7``Jm6@GTp4ks4*Zjnqr4@;CiNvX0dLD|V2M#q$qxjVI4 z1jYUHKX$9QgR2PQ!o_Enl?8X^zeRI|JoB*-uBr!h5FsX6zfh-%6}1hUwaS z<=jzUi&xocrR6k-k#3wTIg@rPw~^50)}5AErtML1Bfu_IxEgXl`k90B^{TbcE3lTH z-T&Ft3gP+l6`}`9Z1E?;uVZDs@v=s8ud%{2*q@sp$|4+hxy^R7wrRYSuLi0~odX?_ za4bkW&icGotc>U~IggE!xiq8=&q+8Mlj~6JSeqq^FMZo7E$N_RqXaY7kNxO^)azW+ zUD-60bGj)GM-(0mJQgl_rukyYTpY(r_H>+clk>XXlb%by!Em4=yx^_Ty}L0ecVp7u zH$*1AqT);S(4IC@kRhMTH);uZZVrKMFB`O}%#<9DnuNnVPX@!d;q(s`Ro zC(F97LAMtYts?WBK7@C$g5uefM8j6}^m`h9b9wW}b3V*`uLtHS*?2$P@|k14UbwMq zn(-vpA^Am3L#>Oy%B3GeU|Dl@UasS6GGyBLH9PyGsD=VF-z>u1`B43rMQd{idmtqt zA#tfB!TEpKzmgfcw9i-ytD(ZXVQ&|)|Im_%I>m=S43TlTOUXbQe_++NpH3IK8~#ST zAIl!499KIe_-nf>?kYCH_(Y)sO~D@~o7nJh*DBX6lvw1u$A6hx=|CnQos$?X% zt#FT?GnYQK2J_{R=*ynRU7~Ngcj&P)f5{4Opm<{!$oFTFR>yXTwVF?H*a+42Csnv~ z&BO#=>HY0;RBTrgSyB<*TUp^)HsM2-^Nn#}!RHeE&X;Lu8PUBYNG9KPJoCBW<7Xrc z3}14E%`a~kLsGF{-w#fnERNfj-1tKrfU|2pl6|Mirird7dPBt>i~bfp0|7x2!xHI+ zl;KO1JMnkaKNUm-Dh@@4yN9~+IAZMzG+g%WyT{;ob6wEei<3J zfG~TXocs#_jKdzUXBpTzIiNKL?AiDyJ@cEw#0^ zH^vHRVH$|b)YVhoHG2@c4ToS7066}CtX&)&5QCsI&}JIH&-XGz9Q*uiISeMp{I=j2$VaE1yd7U{(ZHxt}R$KPvOC%WbcbI^NKWC z%yKlT&x*h!Y!(d_%R^Qb6gQPDj4rIkHV z;{b`mJ#~YKgt)Pz#?wy@|Bgv)<{H`ozI}EyC{*hXrCGC1SWi(8?PdSX92E za@^a|@d;X~m)F(&fygAP@Uykm_xRWm=2ooS38np5Z%LkiomGD7r4AfFVSMcD)R?Fv ztGnT1RYF&!my(LvOmUCTmbNd$S(BKJhPuBy()jMFs4gE)Jt2IkxV$hGtT~o+zCCV) z8vnpg1>4vZMYYa{*ItN+q?;s@Y$W(f5moqQ_?@n+mCTDABReh@{mJQRhx0!sqc=p% z#O%rl&J~P$*&nSjS^PTSemI}6!a)A;VLagc;#l-Lrlt~N7}TEYzx07ItWd?g6+aw7 z3VQmWFrj2$x*#AJ1R$oV5NN&1N;MX-vif>H3#ap8?@PUwk&#FOhFAnm@Vniz+u6`p zjd8dWpbKy`X_mt3VuJxg&NCrazat%AQnyr21$t?Yt=i%(aEN}76sv>L9VS10z?_tcRLa}_{+6cH2?jOPw9=_@6t35+d1+WDKSunI9g|+;N`88pGTk*-@SWoU;FLg z-~i>Kf6@X5Is9%n_QT3Tko1vG_hyX%mzurar>$XWX{lPG+wOmtC{Js`bq`=~03Lkn z{tSOLP9#kqKyN^ZM|yXe+2-p3_MZg|Lz$>Sk% z8yh=}(!Ea1qUoGdm*#i-leviulN2?ZyVVZs%&)jQI2 z9=0!FJglX=I}m1SZpk;gbAkbZj|k&jZ#=I~ZbR#QAW-HUPNZ|kETE;n9Zr!u*w{d~ zi>G|`X<>IaL@H}3N-mossvG8^Xke~a_T4+(rz)^upkscpNXvjx`}=2@O$7rTR8YVG zt8NKCG}soH?eqi_j_4VOPW;uOv^GYqYI1*(mO_mbqOFNkVcXGE;af1l*jjGVTUJpq zsHVlx6B`plnx!ZS6IUAb&P*_m(AL=*AP3Ch-{oxaSpFiyNxW6?lZVY$)wh7TS?98^ zOVtcm)6lRm90VzRxnuwEFs~2R#p+Qnj2LH0$Jwv;5Fnro0A4`;%HwcbC12S9_C=vy zGcp+&8T_p{3?RdpV5Rl+xMMOPg&u~8D^aK;!)!<}SdDvXYHA`PYl_X@0`P%5VL0UN zWH}m0z5M9u3Bn{G4{lVey_lVuIom2Yxdi(2@87=-t*w)6o1>!ef(gA4JOOx>$AyK3 zFwR4{xQGi=MjeiqLT}>bEW50=ge*yryZXxX*OF`88k0Xc+cYbToj-crYQbi9tFh>F02ydmDiQT9x z=Xv=gU-cvdCc|OzA|~gg*i4U(4-Q_Y$uBG~zXC-F_r?#nPv*dqk%00+>iU+_=ip%W z##I*W?_Ds@^lE#U7J|-HFS!w8d=!_NeB8hcT{CMq;849-v_&*4a{_v(FFksN>Vx$1LN`^EtG6MG)pr*OMJz{#{ z=}F3RrD!<+-Qj^TUITOUmRyAl^=c~;m;E^yb_fK3G?1QJ;mqiZ^-+j6{{d!@2?#Kz zhf70d^t2o7!Zv6a+95;fU3JpiHaz5YD#3%N4eiTVw5YI=#Yxx0J1rjx_mUu{T%7ZA9 z9xQ8NI1((X62yWDSxtI60Y~*QliFxOr{Tq~V|^x#^5{Gzp)8oT(XLZwvljMGUr-~) zi{c*19o>Xa3uDF^qnr1|hVcuLsGjV9MTyPIqDk@MB7iXiqtP?TH-j_Any+7X(t5Ao zGy&Z}kwPCd8bBW5&8S(CsLs=&((YFi?3~=;(i;9Y}Ro2Z@hVdTh)t))Axq_U1 zVTBd0IBh2) znqLKV1bxLf`|;9MnN81gCSgKLd98wm_WPq`jL#T6cBZ@ePYQ=_zZLGTKr19S((o5C zz+_})WzA;c0Tc~7P7tBh378@v%DllT6wg@vl@|r@EHtoTuCAzHj63zaJT{KqjeKMb z21P_gslfs67#s6HJ8LLRg`q|`lxX!r`asEM-yRjYO7jhjslXBwgAkspq2bRzqTcv4bqN+M!Z0v>#NXi(pg&WdUY7 zj5F=tXTf0Ah9fVW`Vl79*1@W{^gUp^pqygd8~YfL2d~Q}&NymKyu1qDfiTsN7wXHP z;sWRO(5B-@fB)fhvAZy^|J~8UqsL5n(!|t+9e=N63qP+LoR!f6K!ietgOI zDR`84T1$HtA#aB$N57^p7~$FYQE4LIrpWo|b6Z}Nq4ZA8;?|fYOpD+t;Ky@pK7kkY zrwfuvzAVeTV-O06iRHC5Dc}+1$+tv+?>y4v<$>7Bn~rc)V}*#f!Dl=?KK?m68U+Zo z)X`0u{;(Y2#Gu~x`vBpEQjN`X068IiPv98YUpQY|@%DH~3RCvv;LRbsF7c@>N2-UJDAw#B**RdD?D9{!Rd7?^uBvLhuU4hkK4kTnUAe z+gbct5b_xSDa!_@7y>CaTU`vG0zDfqZqcWJF(Me-1JM5~1TPMNQm!{w5!puG=c{Vk zIy#3ZCnkf*js8>6@CGO`II=t73K60f5Ms5=&!@l|RBUv20>7fOC#K*}$UtJfnn{23 zv&SIgCI92hFrJ$QHD2aZn4C$|nV~{c#8LS|t))5_7uT;Mt&(3Ym@i}T{3zM6hI#J` z)A4_Lnqyk__KF7;nYa2lEhtW)%!P$=G+{zgDJ!@1X7mGUTxTkZ%=%6!#`laeKAfJVJ=6Mz_5?f+nX5i3AM)Uf*BftWjRm9A8#FG%A{6ubtL@99}@2e9v;3}W( zROIy~a;Jc|x45;{13V65fbzkr0T=RXf`MFx#h3+*Vi7-26#^BcbvOqrHJQ@iS~Rrym*;w@ zd>xdty|}oZ8FZWW_e{CEx_ZL`axI!*-HoiRLqLw{(W6Ia=jQ?w+06PUHXP3b8B3Sl~Ab3x82R6>LkDW35)9C)l3wX$SA`3}%YOrr!R_ zr3B8OXqMt3u*d-jRa#cI3gHCI3XeHzOYW;^P)2qCdBY#myP9qGXY-~vNX_)H0*fi= zW6Ja2H65wNpD2_>KDa4SX%@xS*Vt0Y@gSOI!naqylRJo=4Eg@5d$#g@1>XvT>?KLY z&%JbkzXpH1j!n3yU*WeK-ck@1UBuJtkNEmkIsI{Htv;ID!*+j#UzsWj_;-J0iYYKU zzG!-mFvOgPOIE9)%CXryM`tQC*Jf3KA$M^<<-*)9)@x2HH9QA82;=&oUMeVNAcz*P zU%y^jdV~<}t1t^FdVo1rYR~$aP4uoU))rFffh(IkM!K$F_`_fs z2Rw~&9n=bytX8lBR`pgR1(|7inPO&^R{IPi(YgCthIr<|^i`KRaR|8~J3G7VdlP_w z*3kjQFlHjlSt%)S@A4GdQrZH-qItUrJ8qU5-4oQ95v?u~Utjg4QT=bdF2b1V|CdG> zSCch^RjRx-#2+ljV5&!2ghFGC0;Jm!Uy0TVEB3nu=JNo`o}Hnf_3z@ItKO(CBL z5l#Yhg^Q-Q?5CPKV^+gjEBPpwH!4n8qQmAl3ZKECCpr9b7fXFjii1frDV-2<)! ziGcf;&C}Jry#X-Qc%*e-50`1fVM4s1;I1!4sonDFH}HUIJaqrU9hN(k%U^rX+GuBG z_3fG6+)8vW02zzzjuM5Lj{^hYya-Eak z8=eidV(oUoOr1m6Ay0>oFq1&ZIozxF3s#PP)>i|>_Jzeo14Ui8gmkMnU!On1!NGCl zO?u|B23UDeKC&(|30A6pHUQ@+i{QVv55RE)Swx^QN-7EF1Lkjeb2E?v<9lr_h$wUb zo6@4E|JqRlqW0bCMT8_01OuP$J?w#KTqa&m2v9)2z7}kTKP9dQ;7I@c`7@*sNPZQO z$$&Td0;Kc6mjb3C34#X?goz4BX?!7JCw&jj>I2Zo1452ENGGA=TpLKe8m)J+MQ9B` ztQzE%y|cRuSIg<_?EIF46rq^V9vrs;cLajY0nk#B=`7Z&i3OhQ;rxva!?=w(LJ*IR z$s6*@bVPLEH8)s2hFTr9)JG0ymjCybSVZ17ciS1+@rlnJ+lt%uh0ZdihHxuvP;h|> zZ?K>)kUjK!wP!pLqDfD#y<_AY@ znF!kJSZ19dNUQ*6BUhP_Mv$4>7=*2GA=4Ob(%Z!NYahYh2OnS*Cimyux0#})XrSNz z=Gx1&@9TM3*HhTqUvq{?Rf{!k6!4w;AcBX7grIM@?9CvuXq2yR!>+?3Hd{ofb3tMT zP-aMo>1o(*s9&U2f4uPHQR5^@H5=5W!w;hE%uU{W;V<%`s0bUb5;!(6CL7Va3dh;# zdS<3Ez4ANII{8NgsU#T8288dIni?0uKszXa#=S~I2G0o>WPHZ0(g1951dvq1x)Q({ z{GOUhAAUJ4bM}7~k5E3FE4V^Y$S)(8!*b1>4oSWb^=|hY@s5@Ql=3QxX zm7tL#<*p5B01zWJ{gpeMjg|p!y8(QK*cjmd-MSCpA@DU2TwYlH&lIDTMMRcT(uSTc z0>NCkWX2jnb!DrZ|-KIE%h$=lS$z@tB21<;LBPFz#!4G~ra)q^b7ouv+_779bOWfl4(` z1OYP0F{}X;((3mCXFA=|)>aS%lbS_@!uJs?1ZjORh1-NH$m~JV0jvzW^A7RWI5u;VFnn;fj4pF**b?o*ugoE@01g=jMO zk&zMf0DAB1H2G9{y5H6Po>M`QkJQM)b4Sz=;3~4TYKkEffbo3%K9s3+ncD~2Ml7n} z2O#D$^kDUSPj~kspz3HiIb*=P7_D_MV`O3i|2q7c+|YW;AP|00;Fjz9Tsh6m&H_=& zY$P)b^LM@5QS7rgC>vxxyE8u@br`eqJ<@oEABdRe(;Mc;y)p<~EeZ zVo&gr` zlW7X21oxs+5LRY2vI!?Y|4B$2Xa6XOJ*ykPJ;3NYsv+(|0<6Yw`CP=8y z8UI=F?Z(vQ7<^a?g`7J$IA%M)!S?1WPTr3pP?)?(izXW)Ss@lhW>6u-QF^FuXGjr~ zq_i<{z}PtLF;p9a$?;F~`mIX*0Z?%750mzSEj0~s7JB`qnAnEY~z+1O13I3%N+Y&HbOKLtOh z#$Rc7G*qLxZF!ULFy^Yvk{}6Z|I}B>U}RqOhd@9(U%CH5$y0C%zJLGzb#{MmFSOpH zolR&T+$NDCRd%p%;-Q`?VS))?z_EffF{c)yK;n7!9Kauak1`bVT-TF?XKEb+T;?D4 zg;R=qKs3dnm2EpOh;(__nWm`wX7gEv>?uf4&0YmMh(sM8I4+E#s(hTP2o`8 z&=Mv73mXoDl^+S(b&om&O1$JaC)Do+py9?WN%!|iJ&3d)Ww=Wm?cdCqj93oKkff5$ z$@s5y3PRHdY#4HBb+zeQABn50YwE-{=;*39{Q)b2sI+)^ct8do4sC$b#R>b(WrMNC z@cq#dGG7LKlBNrrCjcozgs$I`l0XG+4VdpBLS8IC4{nES*dyC?)dI-zut~$60Tp2}g@~(>A!9i$JAeP=2z|%Mu5d z--h5Q8oe=vt!Xt?84pzoTww1)77ei6!$3w!jLyY00@xIM*e1XY3I5AHSknSj3K;p4 zCQTgTqxmGbZa6&>tH^+r2LA&8^u}AFZ0}&)}IrG^DPn$p+GhAj$RJeiaiI59A)< zK6F5e>h3p()gBcn*MA0`Q&7W}6BR|hx*#iAhx8h7t|5upk*n|+A^4qo3Gar8;(RH- z7RxcmIRMNZa(b8?qx8zT`qldoawS4R>kvfbi8R{&938#F7lXz8X1cZ2CPSXC5AzNm zFE2184aV1kGy7;mgVN9X9v;+2@UnOM#(T_}p6Y!-{jQys-zyOMam;w2=|;Xr_ep3{ z@Y?vpBkmhF$Q^qA>COQ?qgdDk9U#D9K9)}a(~FCXE%1yct1P)8j(`*g*`Jt)tcKL! zO|Er>B$5kxF9mMNsvr=iVPWVCkX-|;q+)^Ueb`vAA$>vN0ffI^f$l@vl@;h&h~KOoX7s-YOh+VY5`>U zm?9nnFbIL>f;7ni$m%9|8=EXnKrGw?MN&Z3FaR+$UHDc;gC-CZ1A~GLcc+{X)EZzY zmIG!FJeJ9(D_Yp9Al;3cicsBX_JO$Ki%7GQ!!^-r3M|%S0d%lqaO8Z@EinU3=6lux zrk8N=Z{Fm<3yNe61G2v#{IM>Ov4j%TOub7O6N zMsyL3q@nr|J`BvyL50=WxxG^2oxl^#|+(zH7agLb^nZhwr;oRPZXJwGPu^?JX)eR zPddv2Q44}~1&XS~6_a0DQty2N9Zg4GogWU~kj6T8Z{+=>YbV5@Mb;T=G9F%59`(zm28nF@5$%iSo2BuT5YaFZM`{mYU@B7mF6q9Rx z@bNxXnamxL{dUPEmcQ?LV(AXJ$cw)ZQU1dF0hJKAfKyFT{qs=r04^^N&sOkQ_8ZJZ z?wflrK{L3@^YG9PPU{40GOmMv+qMhN^={imFYgxel8{(rZYSE*@%*6A3u$QZjEqES zwjUm59oyL2%fTKxyB>7vmPuQHclvNAQp1ypBAyU+C z(Z2W&G_2)|3g1s!t^Ewdt6D4JZ#EyzUOGBIJDJc!K>MG7Ok1Mubx!Ol5T5fnU-W30 z<$X|E8^rl$=yr2;T4vBz0#$qYX|;1Z$X&nx>v_60MwT+DW+_xTxc*8Zy4i|ivy$Tu zl$F|`-YqMsfs8S5i_U%wRUR$kcqSUtB&*!oR*=D)S41;__))XR3&}%O{K>ElsgjyK zL>2*n*{1z8Z<1c{6jF993Q2}u%;Q_BzERq^lDbLNN`SJDy zLI}_f(CNwyYCQDx03C}LxZv$Gt%%i?mw!)z0SWMX!R@Ueop5+@#Se)e1dR8QKwX7# zx8WntgAb(Tw!cdsWej)Cx(ucPGqx|miD`IPLGvG2Twwjp*mdp#Mwu0wsOH?v;>RDO zK8G)F<2;gyW7he;Tdf7J3O?fFH<8PO;RVcy{Qw^D_k-5EfSq0YfPM{{qb}wXm2BbN zfW@m!t$CA0dA`=~aUZ~@K->=OHXiZC^s_jGcP<)uhLV-Vm7bmsjCV4~aX^v|aaRU} zd`Lk@lmBet*2c*{UIOdY^AJd@?M}PAy|{qx0#L{3{di{?c=bl(g_h>Cbyb9vTdj9l zj9Yv=|D&}C^?~B*#^cERRA|m>9m$g394jCKG9wnaRa6234?(egXR<=_jdgEV#1lkY z9T}HZ?$N()v{qketCAM>{xcg1+;rK8!egyzUNUH3rHT85q33$7c| zi7zNL93`BfZpA(4;n7es1=DVF{^u0g^=$DRpz0{rxh}A#pnnHl476~qoI!kLDD4#p z#bVqGxE0r%)hJ;(UTDzqB^Z1lO~|HorHcih?fcyH>bT6d8-)pAzO=JrEot~;fj!A> zdz}OuhZS6FXv+xeT&CpaR@;68X%+MoufIHCW`@O`V5M|I2SU-C2mC-gu9Z;qy8GmOE37|&2|_TBU(DW&}j1H z5fc+bN@(4M8}4_-?$oW9;z^{(?*}>(kGx$4+uLbC-e+Cgao8V=`1yM{HcRbS>9gg8 zQgV{rBcVv0-oe@oj%l5fw9#Axx*J@Wp~`)qgJU zJ-YM*=jZ?yqvZvl3U5JDvJc_~g#LCpV+DxA?q*EayRbm_pcX5swuqgbik|JN38D(V z_-+U^+94Q{khMVw#e(i8DvrRht@UwLIZhcfm~`Ol=1Xcd3Z@LchJ^|xHCpJ|Ne5@N zKS9}>%_orppUw2LjL4TYO*RWnpKVJb=-WHKGO=4uui;#2mb#4l)d&z zNgXj5zAqv34t#2-H7EpSWM+y+@d1pVMw;*lA&>+adn&5dTaT8a1`Am2zul`%P;`MN zfb87-BhV!R8G+i(?8HRn_034RoYAz=&8?m32dKzV-S`LJ;FXn?jgwAO%Mf+yYHLhb zg#`vW$umMKkE>SSys?&6P_PSmMo-Ib`12hC&t2SneVfVlJY^=oFGAIvUwChE$9lOo-r3+EIPd)chZc|EvcD%rw>c2 zt_Tylcu8W4pX6^Z9NDn087y% zo9?qK@1EY?$tEwpM}wR7sy;NlNu-k(fLg}cn7?DcHd$>=W>b^c*O%}l(C4X7;!}fg z3SnQ4pYz$0#MBbu6xg`R>cYOL=ByhT8F-`v1c>kX-0~$EkU9K0J-1)5 zBzQ|YD?vm`iVXa25$Hz3z`<#=aRGsQ*71^?nB`7Oy`5R*>!+B~0qGJ`{>Qy+dR|vF zd@h%=_R9ET_iz%qF25`}v6;@eqAG~ee*PSU#o_I28%}Yv4SZZ3kdYeaW028gawxBcClM6>$8s2Z^Z0PNO6(b)+KHtLrtgLB_GJQ&3SmXWv=TB7T z@A{{d-tFJHL>6zH8&1cW7zhC|Jv4<--00EqDBXRVg40e9>_=jnQ z!_v?ABrn_N#9z7hy@56@D;c;|N6iZ8q1llac2s-|E;P`y2o(@23}4mT6wjVTz}F)+ zwzl~Gq`j^qBXw+Ue^5dGOISlAUe$T)mjj4EZJ4|L@Iz%Y>7fQOS;V?2HFyG^E*j|1 z`KlC*zn%Vg$4I>*JDX^tj+o;u(k=AA>%jWX^0{dO4G=yJjm`*@`0=7B*Uc<3nRqr5 z$;gD=v;BPogFqBIlprh=wnt_p)`sbU7{S0Hx`Q1|@$6|r1{&JRS~3OWuOK=Mg3xn7 z^uKE-h#P_h`{(HH+4Y5r)7t2!qp0XdAR2p1Z33*Gn&VdwSh<IpC$nF_bjm z7jS-rIMm`|K;V>Ivr5Vknuou+%uz!&;dg^Z$X7(R2(+2Mv>O_%56o)T;y(Fg2cZ3h zqw|CFORUF&(GZJQ7zb`K?4$>0vqLBOjx)M=Mg;T^91g!uDRNRFIbd4eQB+^KM zvIN#c-mfbwsw?Y6pk3e&-k*U%THiM}f?&c%g>}-l%1UO(?buJ$l2*S<%UU?U(z3fA zXpjqfe!RTQj^QH_Q*d30pp|&@CQUA7ZpLxc3KJ94?PQF89}Do-wvJvQE@v6n3V)0b+Gp~=I^`R7a?SzT%HilYG=nK~# z{8xfQqim^OsTc^*UoZ9&T}ZPm_@Pp^HlfFjwqrT^H2%qJWwGdQGYLZ1FHjKNYl8FV$~R0{KHHZ1^+rl8NQh3ldgCI`GE~4wty^qkcfUy9Pna3rJbW zDJbB=2`rN$m<0xijI0fuOL(r7?CjD?>hMU~VU&Q5k#T9KLTLl~N8r}p`vL0~BqxYy zWsQMyO>b_l<92mYL&sD!AF)`dF>xPY+0M?)h!z{m31%Qz8;U9fv>WD)_U?e&1UiaD zwYBH!jHado4UwQ|{>(?EwEPiX_hVu>P?vjI)DDhE?^afVlgjx_ zdmgR?16;egh6_%)dQkick1d8al!@j&VFi3>y!u^A33Z0flV9pWIfbRg4S(1mEzk)$ z&I}(U2u6H={i+6W48D;362FNB&Lc@()IYT70Z(LN$mnY8{%J-W z4YlM;1yW}peyCQ!h(?WXi0Q8-RAEDlVU}!M#ZCX;|^Xpg>F6(~+saCHx$3Vz2 z2O61=_vhmTz1;0Cc2B`QCLR!Qp%Tx)O&RQ*s%kzsU)N)|9OndTc55i~ z9FI^11qBgvSz!?AI6@y8I$*lVBB_DiEDHjEC93E3E^@DOM$5b#w^l*aE)cOV0fD}> zWGE@UEd|nzWo4|D7BN4!#)QgDdb#GjFLaWPAw(@dw^MZu``(77QjJDgV2|gj=g9nOLKfu+6vjiy2_3E{MUZ4_;&JBlf-$touAi2c9zaDqaMEgN+E&eCb3KXs zPFQDKzKSJeTo<5ewkW6i6VIxfx^!Gq=X+!?Xk>U7QmK&f=|AONkNr0BF&YY0Yv0fH z4PTZu0=l~gI~Lz5C~Jxb>RkP+ow2!$BuW_!ramVdvmzDr#5g}kySzN&rIs`t$-JXE z^^FIi2ha=mxE-+L(EoIW(!&KalW}^wU#KO?U%U&4uVg@MWHdXecd_j?)CZkHANA|c zd}san^Cxs8n6|dHna}GweT@D3^`)aDKGYwDbKmYkWfGnfXgSiFRs@>#&Ka%tJl=$~ z*MzQzlfP$81X%1iz2b$&Q$cD*#^_oH6`c5dA=_JlfpI0K59x7fG_Zu8RakLQklFia^BD)stWTVq_Etx&$R;3Vmog)bxrLW?h6Z-gq$ekt98a{(qW+HtkrH^nluoJ@9pD}botmiVM; zMTP4jS;E~ksT{{gaxrA_mL-j!phFQxJuqyV&ToGaH}Ze%#F`q2eV>FxVc#vu93k$= zIicM$oIwJwWB{);r5d-2VG*333kaD=h#+9xl3H?V4URDP#)ROE($cyNIqpwNs_Nj; zi3QK4La!#Wl;zn$8vOm@$;7;k?~%9gG`>b!;Rfn7&LiXPYp*V57Mq-?o1JgxJa(oSSE zc>uK|;Ye!d{W+~CVK7wk0ew#_Hs(Exhe?ii*8X|j3;WFM&dHUPaZXP~9`aSqg^&@& z#OwvcIx*H5|F>er#fR{M)O0l<3g5>iwVKlY*mgY+bN$_%-@8NutRHO0OW~7 zp>*Z2F8hM~9;)yH^u}pkZzWa3o;u0q{@8826v}rknaE|~P&7hXc$`~j)G7P#MClfE zS578*U0D2`fDFt%F$EM}dIr5qsdM^^IHc>dS0O~8$Mf1+Z*?P)u@{DJWU{9&=wzPa zMP|-%L$5CTI#)k^?ZqD7+lk_>Q;@lu(O)+=U9;P(+xEt~eM?Qpi6lw7RR<*C;yO4u%4Ur7$f|=$@0|%l-|BR z!^<;P$QNneO(A$-IE>=-IlZfDLN|o5mr?K0Z(s1rir)WYWuc=RDQtuENhAq7^TJ-e zEqZEdDu~v6Z8nzAVn&!07!-nGlJ!5kHA1MOocUp2z8E2{CNfi2nvEC>4g(!&BC!bA zxWLUn#(aEQpFm?)q0-Q~yjnFemoAs0i`Z)++_6cK<$v58qobosZ3kt+8orDmI2ONE z&KY#Caj=7!)SqhOzWfU)_y@3uD#&XqFH`cz_qe*ixZM+hD!3EnZMk5`wtcG^rCgUu>R+ zdkmz$M!?wtYfcyRK>rP#R>=A3M;vGYZD~%)T8xDK>EYCp9tKz5LR^VO<8PT_M8(AH zCv<8aJTCdKB1P!?;xTkA;EMs3({1f`eD^fmZ zd~m1ER-y*G`};@#>Uo_IKx;w;Sbgs^1E-L>o5L^$*2MmX^R*GuL0u=ypZY_~M|qoW zZfN{ReZdI#rs1HK0W^cn-wf3~PwfBrQCZAB|GMR(;&-(*x}Ntrww+xWwpp=$+o$<= zwKIq{0dX2XWT2KH2e*EGanlduL_E%nQQ&uWLN7+Z=;p}3*K#qVhEeYPk957=SW6oJ zjz6nyJGr<*6kl!x&tKft^ZuZ7@t5*5?|rmO-_W64)EV8!vNbqS-J+_pkMz7xpUhu< zzn4?6r_l9xSBc@1^1RvkADk*{MCg!P45#r^S@PF|$+MsV{zOgJEl;(n+)Yi*{graU zWl;Kka7p{Q^&W@oDl5wV&C$Bm)T?c(~|B@>;)87JuLxgo8sRA0oOq|>Q>{OogAGSc;^-(+eZ z)IpaJORlicCawokk5koe7Gt$+;GxGuz1MW`8vXtFO5<*Iq6Fjy;UH|a;uB&o%Cz&|$+q|3Nk3?3ehhkS61uv`ss$<) zyeIAtAzNi|@iz&|5Ul^Bu(u3~qm8;nv5?^I?hq`vyGyVHcXtTx5D4z>FgOHvx8UyX z?(PhB`aSo%KkltMbttOn8K!1>x}Rt7wQa4OjZvly5gQvsppOhLNjbjsGfNh?10i)n z91sbi6A=|^wgFn`MCv*YaGyQ}0ckU!hr<5hQvDDakZBV+9V`c=%`sZ82Ts4?M**9P zNEwr(P|)K>{Gv_qyx0anJ$@fvOn|rou#4XwCk=Z7Yrc1yCE2Vtiq+W>^yZ350aKo; z{{>Fe31L7#H=E@QjJWdFn$x7=d?`n&yd;3s!|gktqsPX|eL)y2o7bDTEZ_(B17N7xFw%g2|N-Dqtk z%%Jk}-E>F2njJo%&$S0oxdR4w06qIU$NiJ=TM&?p#^V6*ER;W|Y1UP4150druk36Q z$Uo8#4_irBG}``c8bXuHHNw#e-P2}I0%Ut->U!ccJcV5J@*b= ztyMuAK67T#lAEi>Ph7PyR}%ftpxfXZ`wK3Rav)L295MsC?#4@t(aYw;mu)IJz~6lU zJBD$#-lq6ttoXlrT2PP#pv6|E(D99Zc&4P!h7$;7t?Su=VK3FP|4JX%?xnE#7aflZ zz^Fol=TTacJ2ZTYuCGB#FL3gZ5)5|Ei}j|Kt>Agbt{$Z7+UIU&U$J=AZ)W_8OR zuh+#H-WRs3ML_9)xuBqans+sZXcYX>lsv`!d@YAg3bghqW8!Hl|MGav92%!+tA>dg z1cH;rb{^XB0Lszkj$)c_QJ?Rb0|kqNf5i(dOA${ZZ@@3N_`M+{zA7vttb}dr8)sl3 z`;+1Q4uGbA22*w3&r;)pzNW#1mIwcDFMyEAkCN}(?8&WpU+KbCjMG$s@T|6cZh4ay z$oIuPrjI!1;>^f&_T`iC{)B)HKsN{HLQG}TX09H}Y z^LYLT^4O{hfS}BWT`0Gw7F7KQ**vQTEM+BrUwFmG)M}WL1jAdxf|C7=bQ!@Mnyt*Itf6|{YSpT1lr&xr# z24FHvN=kT}rlt-&xXUL1R^*=b#mI6FMmo;ONl;s`gSiW@?H~gBUR9p@Ate+3W<+8^ zdfnC}-bzr!z++w<8I}UQUqm6#c&`43@0!!4fD6#H)S2}uhN*<@?WasQ!fw)MrY(JD zUpa6b)SSUQydzOIsunq!8FZ7bU?fgT)!?z+J8wTJV+h*Y>TIP8`?;3X_1vl|Sr>18 znBl9z{OkaZ^}|-mL^(zec2zZ}{mNJ*f_Y|~@td(;Qix31vT*afe2Ik1O0xFeRzO?& zq2|`5UVHXEtrIwg)>trB91ksb;0fCsuC&j$;t8>z6_Y`jU*6aGT1Bzd23Zk zje*_olAUm;1n@c(DBmmuua$FcHWG%}Mi;I(c2jC@4UmQGc>4lYe+nre*ztw*4o0-x zUr#=R3#~P;z%k{ko{6DKY?GUONt|JE(zRocrzqbXEO3Z@U8uZ}_iu*T)axA7sm<@@ zMXE5kW0kw1nSEj^!s7gk1gG8sG7f9*20bo{V)m^E|mT9~hJx8dZyKrdmO39U4}Rit&Pc zSaanwKYzNaZ@V4FwE$r-1vs@i`|cjU?=*BwnJGfANjRIU-Ai@6MpLI>SO})V$YDF8 z{nryb%$BtTpL}U_SNolgc}o2rPnmFs3Ji5MJC0FraVq-M4i5e;8_U=h3NnykLksXy z-@H|QPV2Iug6$aUX*o1zKk~S1AbGayg``G09Z5QTuw7`d#Uh#5F7F9ugMIb`YOt9@ zb<@lhSP;grE)XJHN(cIn^7ZZrr|t_5f*S84QE&4d`kcviUWL^k7J>+y>b+ubjck7| z^;#+=1ycs4z-aSc`~M^e7kI{ z^UTMeGrG$`Mm*0L*-_+VeJGzGocOx;?B)l#wMaDhbdjVfkG~M4F0}HcJ6o(JJ=6Tr z>QBGT-ey%fWpVd}fBrM#Q(cio||^%2(WD{p1OxwO-s|9~BCR)S^3HtDIhDcd!;T%|ZQdAL-iWV1Rtz z!{nVJs&v$fB~JV2eE|5CmDqlksD-M()bNbWsSJwtRe4mMj;-nI%&(ep8Bu3k2<2_; z2g1^u%Zn6~5gk3=`oHkVN+xAirT0fAu*2>*6HX02KogMTB9R#*dtV*!_ieAz(ucxo( z4emkrF9(|~cRQ`nVng45MQLkjDO^s-dNG!ek(N-nrtvgL#quN;wvuE!Jn|(j5gaZop5E5|dWMCU9c9V5 z%VeuZP&OpQ}$ZRC&FcKjtZKJ=P$*om_&!+haEM1ns>XA4mDD?;`=|_omsbtWiR& z2o9Mh)K#zNq=$&-BY;f|D5r&lFCpVR7aVBmZF6|u6MSvm#RV)FVu!-u$fgwvM2)37 zwXe)h&`Z(vQ9KD85)11k*nv<`uWx;_yrdy=kw#gmw3W%#>(#r4`rDADqbQ6Q3fE+U zRBW>Rywk@z_zm%FI{42Z{MWUF4;K~SdYZBlghj+u)pW5I>51JPrApU|Mfo?`ouU!D zA8Rw=t|ojdODj&P+<%}Cwv;Vvy{S!VS$>m3{^M1AqjGxmn+^p+v7;lIVlV7&A*NO;1V8UfXW`VGt^0rw#)3AM$r-CTJK1xZ;Qstaf7!48_ireyW`4ng z&MTr@`|R#A6g>!GLzxy%+^L^;ym3>g7{JmMY6i|+WGDa@{t||9vPWpVtg$tJWeWaHExcn1z&xoD)#C5 zR(;;PX1y z`^}?v@KUiDiz*&;wBID2enH=x%<0$G7?(&cyStBuUe@u@6YBK5CUI}~WiX?VXmnI7 zU)MH&PQX&73aJZkF|+cML^^^f`9bWvnXpW`pHIt9CzLb3YlUn{gidQ`qOTE4Y99aL zfpBV)*TWczHy8J0LGOifSm*mP4N8DquXb2qmGx*R*Za1w*nLERV+Mn_$!JUBk7mu*?2pP_`RP_E`0(=B4(2k+ zbSnP91p$@n!_^_7pR+tUq+jZV%Gi8?K~`-PE^z8JU5$7{`1aKRbn#E~Q(`)e9t14;+e$40rf1xpbcmTtwi=LvK`xmq@<@<$oB_cmg*gAh@E_upaWAtcpK7GMV zO^V4>ZEB1(Tp1BbK_UKI)2O?5oJ@&DWr4U?bUbZjj+5rMBBZ?4<_!o!u&rOhsr=bW zy7HnTM9!54G1Z{<#7UqlG+zMeFXvklzY~Xe-i9LG{??_)bE#j+iEn=g%OcFQHT?P` zfXeP?Cs%ZgWa-cvv$cP;)=s&Ve&j2SHT>?f&yH0ZoE4&I924vZ6Kz757v$^7^VZH`D)>cY;O z?;jfYMUDA2d8ZsI_`?|SIx8L(22xvr?sP*VYV@K&wTTn4#flO%=7aNlXki+$%?vS@ z#n3&=PT@=-dafJ4E8+A@6teNs7>hWiWZn=w&4cOns+V=#8*82(5X5qJsNgvtE3r12 zPuUrKrtIpAi~79$K7V;n-1V*QxBiC4_!hk+YBnyeu7o}7l-mj^a-|{-gCL=DRhhEy z(R_Z*e$vfg)yuKKUr?i8U%7*LW4Kv=fMP6Fn(rY0~zsDDtB?%>spStDK!V7{3s)T+e zPzt3Wb!Ny-c4B}wBlK_PHDjiY3MS_uP0o1-N>kKg8%}Z8Y3}|JTB&8I$BU|HS#vVH zg;nU=kT>e`|ApoQ`hj#MT`3Cf`5r1)hSU3n461R_kUS|tBofL~c+P?SQcBJYF(B*@ zVM|vuu`1&4&a#9Vf;yAT_Q1?N%eRAM86cJ_!KgPV4^S}JbJ+zplMv&(f7YgLzDo?} z6Tb^cE{a#&pXG!9vvQU3`Dxh_xL*>TmulK=L>N=zuR68}GZd7egJHSm9W<~Dr{B+* zG>m&r1m0s1y82IVb{@gkAj;F6h>$JU=B1nCs)nLsGkKpC%Gjp4kLTTTYf&0Hz3KGg+!jKDlx0r06ohg{STGE*o zeeHPvM27}Szv>AIb%F&#IM0e_tL+Nzto7rVVwV~?+B#P!z)gz=$ZWH>nZC5)qViUR z9g_so6Yn-^9d}4P$AdCQGw>ZEo8^zBuJk-FiV#z!)~s+u3Ea(gBw@Po!y75X8>)Pe zPsbL536~ksRe8M&hYyC6%%-!SPaAfF`a|k=GZ+b1Jz*dgRcLxE@uE1W5r>(#>3;Yq zNl*=vKfk`Vn-s37|AHt-Q&RyqLX%Q{O-$uvfjo?FIMpy9s>qL{N(1R@%Xq}CEUG)U zfAI;50fSBAe5?dcH{anDTQYhmJo?PlyYs5!EaIBRU&%^7Pccbz;?omH`uHwtKM4ul|~j63DauushA6I1}09y`|^?P(%w0M^62*#vK9`Kyi zIEjFlSpUKc*|jL;5hf=0d1x(7q>Pv@FfgS0KH@va#osE?gON9+`LsC>JQ2*LyJ=Y9 zO#)PuiG{cKqz3kXsbs2#>M*iaM+EC85@&ixO%bN6Wjxtr7==t_Z4SHNZ;Hzx2_OB|0xb_)2RVE>X!(ed zM2PfzRxg^0buY5>G3f|ve=Zu`rPxl!?O|kD%9Jp{ zCdyGY@mdq4>ECZ@?$~!3!C9v!{xjU&$joUxN+)7JH|=&p>TSndOKCjGTw&2#vOg*} zdi_F$DN)2-hWe?n)J`O)y#O(#H!N?6+jjqVc_E*zg6ysAx77O;!HD^Afi6sKJ-Fm* z)U)S8fUw2VmBsXv>z&!XHEhmon3m^4C1S0s=^Qr+XtZpfZkR5wygT}zQMb0?d1|?t zc*jx>16f?ImOv6W{CP9|gl+E(xHvK~C0RXEZRBWNat#>=HX+(~7S_@OIG@Qmf19^E zt~+Xh${9znJYGp*3f9Uomo4hC&}Cuyl%%*3rf*Y9JS&bZxWLgu%(I(CfJyQ97}7i* zep$BhO38&*t3X%cgjierqZDTvA9PjKtQv4KUz(|FDU}mdfpj$1;$UH6+0Bv?W?BFR z52dSR)I>?|Ct#U&<30>_iPVrrQ8O^a1YZp$M-Pv!jA z{w#}A4WeeFhK(LjcK$$*hT^kp!;pYfxAX{-Q1M_73ZU=^q>g})AYaOmh$(Dx~E}qLZMsmWQWp=~Bz}vMz8ZG=8*e(P6340DQ zWJpcfX_z*bLib zkdIsPIT4|u?ix`Wj#e3ZRY2JnN z%|IMi@<~oyngc;XWbX98Td1HJ4?SZlBWXWlJW2oW@}A;E0=QyNYl8fyOn21K zdMP-X@n53g#O$Yjq-)DNsO5V4Fi@`{r?~n6UxBprQ8bxS)=BoNgKW zYB}`AwfG;&9XuHZtZDey3E?;g5_;ZGtE z{;-GASwFw{4-hHNg+abi7YC4*=7%)+PGpddey|$WYy%J$I5$*rCf&j`H(A6WIxg*@|dCwP!H@ZVK9X;M@%RiC*k zl=36k)ip(+4;NuH14?LJA}JSwHtBO`PebKZr0gWJ04W7-ImI_I<`Z#Saj;()wk?pL zb}X90yZ;g}Rqhfj83C6i60(;9`0Mdnt4|_Np!#s_dLWrSlqPz^>DQUNxbHuUd2#Kh ztSK_pA^%_dF6#fZ@BZI%-T%K-czttNJ`_~kLbKS1MHd|Xb;m=}Q!4$b5?CE$`+>4FWv5dd@NMx%dMEw#j4GU+0*Dc~(C9fWmdjq1~@^VqJ;?Nmk6K(m6i0FN>;a&OCG>L?xK`Al~L>=>DMhCOSiUI`{LvYd8p!$!_0=Y z>DA(aN-JON(*fXo^&|~^dfS+UM-BdXKcU$_e5}%S6sOcr02E_tYmJn*XGJ9@$!*<8 z!WuKgUNgObC=T;;lUHNw#?yqb{f5U9lnOC#8p|+$skAk@W4}om`Gt$k(8PSqOsw0t zX;O20Lan6c*cp~#KneIomo8t z@v@?M(?v_>`$DSph9ht1P_>mSjHc9|8c>FC2%^d96A78~*xPWWa*6&dhyJsH`DscX z3RSq=zvL)OOJAQqds=_j8X8^W`2PI%4ZpAZ(?&o}>#KtYEswJJa2Ppo;Th1#(zSPD zrRi%atyx<}*HX*Bd#ME@%kS?GG8sJg&`+s~!?EHzuYF9iFzCB~N>RL2-^J$$rg`T` zle$P-G7$W;{5y}9BfHF$aFvEOpHY3g#8tXJ=Dz+JwxXsS0eBaOYDEW1`S7V8 z$09znI{d`R_H<*T;!HWft3|hV##MZ^X1!*~^?n{T6nyrk_pJg|Fa1Kq8d1NI!FrE3 z0Tw+F&tj4=!^|DXYuIq}b|7me6U^)Iv>+>2&93GBK0&Q4AIjxyfXTJf6qVP=@4ey` zNG+$v`~+CX%)))h!3=)tC`$~lsV;R^lB%V!&BH-u0}6I(L|qPRrMa+DP!arTRV@#< zl{-zRo;Oy@C*+v{p<+$3jqnojO~#I7L+BsJ&Jz)sCMjD?PJmn3@Vs`Mz*~t6{Z;20 z*%R-$@#;?h;k%=KCn-R$-xW@rWhFWNcS7jU=O4l4U%Lh$JLUr=r-}>j@@c~rjyZyR zT6jcRxvdBZ^-{EuGrK%(soi_<^Ygl9K|@UMVFE1!-QZGRTr+SoO&@w}&*C;M^j7+bY8{2Iq3iQmKwky$RVa!i!b|m^$m3R&A zx6urYF#uC$oej1RH9tXY@eRU{=f`mrE(`+OPdU077O;1Az1xwZjpxeHygvoo^GXiX zJ6QjE-!I5hN1g>t(p=wGg*=C-`X*l3;u3Pz=iR^%FpX}F`@huVUEbdKN%V5l04Y-9bVf721$o@3WDnwy%IVF|;{o%aj%BA{6U=uVL zNM+0^0vB%hGh8uwAl-PC*a9sY<#RKxuu?33`!;EHHFM%m3#Ihs>Ov+6rB1f%D$K!< z-}R9DBK-p^2b}pC^()~fU|vM?enwdK*J?)Mt>rG5?{1t*k&du___|_|csGS~hTL%M zv+cHTB=QK9YxzmHg%C9TY!PV;)Q+WUS)lHqg~yeL^(F>+3NT1krf%Sfpf+E>D?T}o zi$s!91IY)V>ZM}jHvQI~LMNyfsz5W-Va{6SClDyG89b4*5z_kF{Opa+b_qu9>hh)6 zRL|w!57+RAAX8S;sm*(~;M2urD3#cE@`yw7Y^bWimIFIGoVGJBKS~iJY=Rpk(|s@f zbG&Pxpg{r)kN3 zfpNM(Yr{59`&e{GsrKTap3Zpx4{-HakX)LNDKoL>gY_$o2l&ZiT9xwt1*J25N)L&r zRK=vF$GD)h9e^Mxoz<{_r3I~ymir+ZZ~r;GnJ?{F>)O%=V(NNciH_1t9oJ%fh}>>P zlhbZ#PHi{yI`B*BldWe0WN`(dV#~?#oU#QCIT`DfDJ&v2bO5cvWCPg?mG|$79GZe1 z3G91b#G-C$M^hom{oXRJ6Ce#ab7u5?_^HG94$DzJ<&!W|BD4trDW&{%qa1f1jB3-r zX^sOi87@6b&QZ|YwQteEG=7ZJA`_A|J>+Y@8I z&`(&Q)sIGueiIL7b=NQ-K)g^ot#df%=yl)Ey=~rY-R8eOuq=syfWU>75f}M+quBmF ztu|j<_t!^_ZQ^wNT8FQWKYQTP2Awqh>r_d8FeES^)wKmm+z%EGFwacI~JokAIaQ`_dh<6h1n z*#h*f>Zi1mjv}r4(qi;G0(Lq+ws+`!hBWv>$~oNPx^4}#K|)B@KT8^saF?RrtS<|l z7sX5}S|ZLWZkum<-m#{A=0ZFdO#g5{&8{b2WXJ4w8}oasZev?ujM7h1iB^xRMiUx>G( zikXYrn-Npi!={bM0h6_Ps{VGMu7MW9HWxF{G-`&1PY_(Z7Bz~!^vb~O`s=!YSonN$ z;83XOcJ;yd=$;oaqXCS?;VA)0d*GFY9JK+D!!N)@T!VJ|m| zz(g*|rP21Ega+1@RT87V-;EH2t53|VzMUB@i%7*5kKPc$NH&AhNp4qrUDOzOSUvw8 zo&+3gJugWk(Cf7jzPwA#9~zwUzdy(1YJvS-9&4QL3CD8H0K^E3bkPkwvCUuq`$h;m zw!?)u1+>{T(DG9&B;AqiXsLaN6W(pIYI?lJ`kv6S@hxNJ>8_!y;jq$Rv3Jitb99^J za%b5O6w;Z8K-S`d*?1@Aahn#wQ+**g@}be)bgA>XnR(+B0d`cPb1Jg&dlgPO|sv(39dN@sj6L=zB`po zow}5}zpNBt+sBIds6eGF~2y|L*&Djv4HRLJRwQETro^diJ5qtxQv6HdkdQ8 zwBBzQtG16le&Di_VkOK+PTLfePbmQ5F%?ZZ>TbnOuKUII-#u*Zr8=R{5yRabi!la0 z(j3IPI+3bgN+w->j}etQZd&x5mqRE+fk+T;5Hds1LioV&je!!E1_G&B{ekej-Cr#LdE7z zafR~O5J<8VjJ$DIA2YXN-;~IK(_8ifI|~ zBaR=78)?B(swO_KZeEJKUeeM~fw6(8%Wjmo$wPUh8HRBsq2y5HOn<--l@!qdJwr_4 z-$KjDzaZyupQWPp;0u!qYoLE2qd&IEa(?W%49Q?Wb}pV}xJ2xnnufgXIL683bu? zXn#mYo5(TSN1?uy;hdIm$i@@vjQ1PrPn;h}`tWM_)F64vA~6tVm_#f~;rmW7T)j2% zSX8-ae01^lajx;i3p5~#qYm-vy;gEavsgB!)YFw5lj|U+uTZ?UxAfQg$-S-Ssp^jf zwprPMuF*Yl{yPNqOm~pHf|qFxA2lHPaqc;H2MH5^E>Oa$sezf1tev9juO?I ziRfW+)@w%1D4jM7%KP?{e3g|;Gs-M!8v5ecS-LdNQ|}-ZfAildqxa>n>9*i~b|Ua( z{$eVYcPBquY(wRV5-p6Vn74G7vhb#PO5D{7FKlOfIDzM)Z2~(&`(Y1i!A+=y=lj zv`LZ4pc4f%naxOPTQ2OfHJc?S!Qzpo|ng_@sDhq;>!(Wb{Yp`(E(SCX~5atfQj%DYip(pkcz7!P3jbt47S6 zxE%Qi(9$QLJASRePg46ndStNED&Z(FD(wC^dGvUvl762hr{K%-=cS>*P)uLX+nkMN za`f)1chGMzwTY|NMG;_=c$At0w9d>1ZZ9d+zhUB6;Nu9(4}M!)XMb%! z%7#59aUT(xlrj*fO$Q!RJ;;{HIPXV^*lZCAP$+HJ{`=MRVd`Y#2mEI$^ z+Lx9Lg(%tFMwW#S*CYI{v(~_-req!xfpC!E6qDatC{>{AJ3+8${+YZ5>n`3_ls&ZH z>b)3HHY&>Q(+juC)HB)AMyC$$| zxte47Ku;###4!L~1biC*wxBz77pYB2+!>%%Q6Lh_MfZ1^|9y0h&FNt0?U}Qw0#SKxel{Gy%AyP8(yNy z$t%|xa$KBIWecGiGLrvwkmR+mjU8kieznPprYYw#x5=j+{7qK&`!3SEZ0*x$cNL9) zQco{6WqSvkfSxYb!=akU-za%z?F?}lOP=u_(~!$?K84+jqFgyX4^4rV9`W1b9sySu z3)HBDIVe_f|2Is|o;LUW=A*h}8e;ahQ+zH*Ld>%5ru}c~SwG7#g-&W919wV?=(8fdPyS z8s0|F^0Rp`0%eE2B2(>44!qHdXScW0`X~{$eHCm0WAe~r+<_vH;`JmJ^AtUGkKLgR zy2MS@VV)ZO@F;zap?NZ8Sl$lnnzPl-jFW|CO*`&d6%}9#>aEQwn31HaOy-}MAcLdy zhc}QgEQ#@k+K*${+*XV!LBj^!NBetbd#XzMa0|noR@zRpwa?%T8_B!qgSd(9cEQ>X zRlec2Dp2)HdCl4VdvX5#^7-jjk^=B`2 zew#oqJ|!rDt5_=#9Ph@sXckf)FaNWmv%|yaT&|=1UOGMyxTRAD_G8!x&(DqgUpVMs zWef8L-YcSaUdhAZW%nMw?ze`TA#9fO_J#ZavpOniyPka~7cY9@b(YCT` z3S_EW5cJa(KQK<~wuy?nr6y09C}e?dycn{q`ci>>g=lc-#0`h5OT z6WXMi#+Zj!SD2|{OxH`}jnExjg>H3j5=&Fr_JEqAW4`|EvgrY}>Mebi5TV(~8RnP} zWC*=-^@sw?Gmb-KSwxjmny-sst;|EF}`f^Chhei#u@)x%wV>jl~Y&llyt9w zeTFr_|Ih{hl0+$^Q~u4{@0O^`Q9$^+K{7H_d%Lltx;s?sCFFF|HiS2(L^%IMy9H4Tp%p2!6zl1$> zRL20`{popWHO8mi88c<&pKhDNeWXD$qwMzvspiO??9-&e3Y|UN{<9p5yx0< zj9%E`iw5X4sjf4#+Z~OL9lsqfa|HC#%%t8;P`4s$K?olIp$CgnFn2aU zilACx8}b=kgxJgl>py}%8=U>fs#ugoq(Z!;R}4jzKQ%q8j959@Q5nGmk->#1cdK98@DY)Kv)Exr;ZA8wk4=t? z>8i?psKD2%ayi8eE)I#7vuuibE#oBW9sOb65W}m543*jO3((pKJD-8cQm}2KM7)~4 zU4K<}O*3O&mb$?k)L#NtOwsu3vT3i4tu()PkRr~7(F%P`{Oc(uGNta$Rt>x7AZG*e znYq5Ml!D%PDMNQE*TO6f=g7bhV$!!OzN7Vq`eU|1Fvpu>x6;o6Yhz;%Q+Y1zO6k3| zeg-{1Wmo^D*4y&gcHmA*2?z-kPnfdqge?Gj&}P{I|F<7WhiFVC8UsimpwK$r0*gre z6+%1T?^TYzijzjbl0&J)RW^ zC*VSA2X7o`tv;pv7t2{GYUs7cIR*YkO*6Esra?vza29pM`~z4;CY zvk~&UCea^zINRZjbdpfleoRq;on!Jme)>%4jydvbWQm|tMFy*wF)j5U<(_*O>$v@g zr+@K;DF0bS$2{tPM6O3v2QOkVyh@R8juDG!Pzb5n^B$-Wn*+N*5Nt%VIZo0);lf-4 zz-CN%|6^X<0y1$QxeRa z!BNK4Yz33CxvMavXBVH96OCn4G`k=;dchuPu zM|Kg}5aK_8yjk4ks?{~(itM{hVx#%ae+{jr{dxXx9T%=njhEUFK`FcCYvzi*m2J24 ziP()Wn>8eH)vSTCTP|6j`q~duT@1vf_Q{4dIr%nIvY(hG^K((A`n1%6mgqXvUgKx1zTz;_n zGf0|)b}C_MV*9mKC!TA(+aE3syi z@qz{KACkUs=%__Z<%Z_i58TTHB_Uvy*53Mdf|@sLm5Jbk+8H{uD@r+=+bjVPqneMP zsLFk+udXyX`KP|%c&*uzG%w>es(~-AZ6zCSEnz?#3y_HWhr*nYrfSi2?#GNOaookL z>F<3zBJ zrCKSUeS5$kk#~_$=@M&g2i4BwWbF7@vwFu80C*Kw-Z66}12L?P*EYyB;3$O%aSRCE zelx2ZS}a4UeJ@^FkGV)$d$Zs2*GFH-MRq9>qauES@CE)7ohXI1!j%C}^@3nsFw}s@ zAwo#+&XSM33z?rYIHZ)mSgh64&dZMNoAJ34#zOzIyyuOjw62Fy2jFJjOlfs01JIYU z+Hk8kQuzmipR}AufukId9jLLGCNKU3XbJ#?pcd=ki4J=}X7WE_u?udH!ns1ra_IEW zvnzAXRh0M-n4kC@vQfLuPnBDf6Y2Rs>8|0fr7jQs2XrGsx@ZK+d^sPRUyiQf9+D_h zJx{KXAEMC9 z>ib4q){xoabO`YO?BUOT5)r;U1mqV01+*7{@flos>fNP0oSyG6o1?^=>;R}Rr0Dw& z1H@`!5edB{{ey#bmb28!%=*a9f(O=CU9)iXfaDh-!hk=UpP&Ey{&EQrc%lOYo(*a{ zzB^sx=}ukO<|gBRk-10&NaOrE0*Gi^a4tI5q%tm~ZcpU6Eas?` z(GIouS48sjEam;?NH0;T$dj3+E`JB}1$6u=H*I^_@H(O}-_2o-j5zAyiwO-SWo4}$ za4wV#%4sITKM;Dm{!c764dBe{Wmng5dcR5OngYZ_fuaBL7N;AJ31B7_S{ZX0;I1Q@ zFD!c4ypOL2$om-d+EdHR8Q9a?Ucv!laX-6jg&Y+tTDqnf1G?CXBB*=*uD1&xJPVm8 zw9It98X8tULP^sC^kVd<{La#Olupp_P}1nZW7_5V4cRXAi#tGEs2EDpWViQ+GWRiw zqd^ zp!1fE7JZ{K1`cwXfm4LPlKiWz92{l{*XwZWC{?Js8id)3@pHfu2gW}QG})tLCc0ZB zf=QL(sH(-0>{#a_Tvl(zKwUSgEM_J8zvTjbGFj9$od5=3fYsIP!RC2STw3}|0O>cs qckhSGlxGqhqFXkzv0v_Qeh|@tl#W|?(e)6(kBo$Zc%`U8!2be4=?+x@ literal 55247 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 a2V-}{4C0z=ZVm+SPfA=~tVYBj@c#hOupQ9= From b730376bcc3fe5bddc8f0f21c20fc27b945980e3 Mon Sep 17 00:00:00 2001 From: netcon Date: Mon, 6 Sep 2021 04:04:56 +0800 Subject: [PATCH 11/13] feat: update test snapshots --- .github/workflows/build.yml | 2 +- .github/workflows/test-wtih-vscode-build.yml | 2 +- ...dex-test-ts-should-show-pr-list-1-snap.png | Bin 52025 -> 51708 bytes ...dex-test-ts-should-show-pr-list-2-snap.png | Bin 55444 -> 54504 bytes tests/__tests__/index.test.ts | 19 ++++++++++++++---- 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3ba06aca4..610e76de6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,4 +39,4 @@ jobs: - run: yarn eslint - run: yarn build - uses: microsoft/playwright-github-action@v1 - - run: yarn test:ci + - run: GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} yarn test:ci diff --git a/.github/workflows/test-wtih-vscode-build.yml b/.github/workflows/test-wtih-vscode-build.yml index 8fa811d6b..2dc9acd3b 100644 --- a/.github/workflows/test-wtih-vscode-build.yml +++ b/.github/workflows/test-wtih-vscode-build.yml @@ -39,4 +39,4 @@ jobs: - run: yarn build:vscode - run: yarn yalc && yarn build - uses: microsoft/playwright-github-action@v1 - - run: yarn test:ci + - run: GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} yarn test:ci diff --git a/tests/__tests__/__image_snapshots__/index-test-ts-should-show-pr-list-1-snap.png b/tests/__tests__/__image_snapshots__/index-test-ts-should-show-pr-list-1-snap.png index 61e2766616cb631951266cce3eb40d04d7b0332b..3996fe0f254fca1c58e432f75914e01705bf5d88 100644 GIT binary patch literal 51708 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